%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % % TeX algorithm to compute an Easter date % % ========================================= % % % % File: Easter2.tex v 2.5 02-10-16 23:22:50 % % Author: (c) 1995, 2002 Stanislav Brabec utx@penguin.cz % % % % Copyright: Easter2.tex is freely distributable as a sample of % % compact astronomic computations in plain TeX % % % % Usage: % % virtex [&fmt] [\year[=]year] \input Easter2 % % (writes result to Easter2.dvi, not console, sorry) % % % % Years available: 1900-2099 % % % % Based on Easter algorithm of Carl Friedrich Gauss. % % Warning: Trying to understand the algorithm can take a very % % long time and can cause a headache! Don't try it. % % ... (And if you find a shorter algorithm, let me know!) % % Note: I have also multi language version. % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def~#1{\catcode`#113}~:\let:\let~+:+\advance~`:`\year~$ :$\newcount~^:^\def~[:[\ifnum~?:?\the~]:]\fi~*:*\multiply ~/~'~(~)~;$($'$)$;^/#1#2{(#1\divide(#2*(-#2+#1(}'`/'{19}*'19 +'24/'{30})5;`/;4*;2+);;`/;7*;4+);;'*;6+);/)7+)'+)21 [)>55+)-7](31^:{; }^'{+)1 [)>(+)-(^:{/ }]}'^*{}[)=(^*{:}]^~{?)} ^;{March}^/{April}:~\ and '*~, ?` \end