Hi all, I just posted this (the result of a rainy morning in Dordrecht, NL) to comp.text.tex. Someone here might be interested as well. Best, Taco ------------- Mads Munch Hansen wrote:
Hi all, and merry Christmas :)
Is there a way to have LaTeX print the current week number, like the \date command?
I was feeling a bit bored today, so I came up with this. It is a plain e-TeX input file instead of a LaTeX package, but it should run without problems. Watch out: Dec 29 can be week 1 of the next year; and Jan 3 can be week 53 of the previous year. Best wishes, Taco %% calendarweek.tex %% 2006 (C) Taco Hoekwater, public domain %% %% Usage: %% \calendarweek{30}{12}{2006} %% \def\Expr#1{\the\numexpr #1\relax} \def\Modulonumber#1#2{\Expr{#2-((((#2+(#1/2))/#1)-1)*#1)}} \def\Divisionnumber#1#2{\Expr{(2*#2-#1)/(2*#1)}} \def\Mod#1#2{\Modulonumber{\Expr{#2}}{\Expr{#1}}} \def\Div#1#2{\Divisionnumber{\Expr{#2}}{\Expr{#1}}} \def\Jday#1#2#3% {\Expr{#1+\Div{((153*(\Expr{#2+(12*(\Div{14-#2}{12}))-3}))+2)} {5}+365*(\Expr{#3+4800-(\Div{14-#2}{12})})+ (\Div{\Expr{#3+4800-(\Div{14-#2}{12})}}{4})- (\Div{\Expr{#3+4800-(\Div{14-#2}{12})}}{100})+ (\Div{\Expr{#3+4800-(\Div{14-#2}{12})}}{400})-32045 }} \def\cwhlp#1#2#3% {\Expr{\Mod {\Mod {\Mod {\Expr {\Jday{#1}{#2}{#3}+31741-\Mod{\Jday{#1}{#2}{#3}}{7}}}% {146097}}{36524}}{1461}}} \def\calendarweek#1#2#3% {\Expr{\Expr{\Div{\Expr{\Mod{\cwhlp{#1}{#2}{#3}- \Expr{\Div{\cwhlp{#1}{#2}{#3}}{1460}}}{365}+ \Expr{\Div{\cwhlp{#1}{#2}{#3}}{1460}}}}{7} +1}}} \endinput