[cstex] Velikonoce

Zdenek Wagner zdenek.wagner at gmail.com
Fri Feb 6 15:04:15 CET 2009


Dne 6. únor 2009 14:56 Va'clav Studeny' <Vclv at centrum.cz> napsal(a):
> Zrovna jsme se zaèal probírat svou pozùstalostí z roku 1995. Budou
> velikonoce a napadlo mne, že by se nìkomu mohlo hodit, nebo líbit makro,
> kterému se pøedá jeden argument: rok, a ono vysází datum hodu Božího
> velikonoèního (první nedìle po prvním jarním úplòku na Jeruzalémském
> poledníku). Algoritmus je od známeho pøedknutovského uživatele TeXu
> Fridricha Gause,  a tady to je implementován (pro obecné použití asi trochu
> nešikovnì) tak, že èíslo roku gregoriánkého kalendáøe se dosadí do promìnné
> \rok a datum Božího hodu je pak v promìnných \den \mìsíc, ale pøepat to na
> makro s parametrem je už malikost.
>
\def\Velikonoce#1{\Rok=#1
atd.

> Zdravím s blížícím  svátkem lampiónù svátku lampiónù (9. 2., 15. den, tj.
> (pøibl.) první úplnìk v novém, roce)
>
> Václav Studený
>
> % Master: Kalendarkun(19).TeX
> \newcount\i
> \newcount\j
> \newcount\k
> \newcount\l
> \newcount\m\m=24
> \newcount\n\n=5% do roku 2099(vcetne)
> \newcount\Den
> \newcount\Mesic
> \newcount\Rok
> \newcount\pom
>
> \def\mod#1#2#3{\pom=#1\divide\pom by #2 \multiply \pom by #2 \advance\pom by
> -#1\multiply
> \pom by -1\relax #3=\pom}
>
>
> \def\Velikonoce{%
> \ifnum \Rok>1899  \m=24\n=5   \fi%\fi \ifnum\Rok<2200
> \ifnum \Rok>2199  \m=25\n=0   \fi%\fi \ifnum\Rok<2300
> \ifnum \Rok>2299  \m=26\n=1   \fi%\fi \ifnum\Rok<2400
> \ifnum \Rok>2399 \ifnum\Rok<2500 \m=25\n=1   \fi\fi
> \mod\Rok {19}\i\relax
> \mod\Rok {4}\j\relax
> \mod\Rok {7}\k\relax
> \multiply\i by 19\relax% 19*\i
> \multiply\j by 2\relax
> \multiply \k by 4\relax
> \advance\m by \i\relax  %\m=19*\i+\m
> \mod\m{30}\m%\m=(19*\i+m) mod 30
> \l=\m
> \multiply\l by 6\relax
> \advance\n by\l\relax%\n=\n+6*\m
> \advance\n by\j\relax%\n=\n+6*\m+2*\j
> \advance\n by\k\relax%\n=\n+2*\j+4*\k+6*\m
> \mod\n 7\n%\n=(\n+2*\j+\4*\k+6*\m) mod 7
> \divide\l by 6\relax
> \advance\l by \n\relax
> \ifnum \l<10\relax \advance\l by 22\relax  \Den=\l \Mesic=3\relax
>        \else
>                \advance\l by -9 \relax\ifnum\l>25 \advance\l by -7\fi
>  \Den=\l \Mesic=4\relax
> \fi
> \ifnum\m=28 \ifnum\n=6 \ifnum\i>10 \Den=18\relax \Mesic=4\relax \fi\fi\fi
> %vyjimky
> \ifnum\m=29 \ifnum\n=6             \Den=19\relax \Mesic=4\relax \fi\fi
> %vyjimky
> }
>
>
> \Rok=2008
>
> \Velikonoce
> \number\Den. \number\Mesic. \number\Rok
>
> \end
>
>
> _______________________________________________
> csTeX mailing list
> csTeX at cs.felk.cvut.cz
> http://lists.felk.cvut.cz/mailman/listinfo/cstex
>



-- 
Zdeněk Wagner
http://hroch486.icpf.cas.cz/wagner/
http://icebearsoft.euweb.cz



More information about the csTeX mailing list