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
Hello, i just playing a little bit with macros. For adding points to a total sum i use this macros \global\newcount\summeP \summeP=0 % ad the points of each question \def\getPunkte[#1]{\global\advance\summeP by \number#1} % show the points on the right side \def\showP[#1]{\inright{\hskip 10mm \framed{#1} }} % handle the points \def\pkt[#1]% {\showP[#1]% \getPunkte[#1] } this is working well but my problem is I want to use \summeP on the first page to show the total amount of points for the whole exam. I know that this needs a second run of texexec, but I don't know how to store the value at the end of the file and reread this stored value in a second run the get the right value. Any hints are welcome! Thanks and a Happy New Year! Thomas
On Sat, 30 Dec 2006, Thomas Engel wrote:
Hello,
i just playing a little bit with macros. For adding points to a total sum i use this macros
\global\newcount\summeP \summeP=0 % ad the points of each question \def\getPunkte[#1]{\global\advance\summeP by \number#1} % show the points on the right side \def\showP[#1]{\inright{\hskip 10mm \framed{#1} }} % handle the points \def\pkt[#1]% {\showP[#1]% \getPunkte[#1] }
this is working well but my problem is I want to use \summeP on the first page to show the total amount of points for the whole exam.
I know that this needs a second run of texexec, but I don't know how to store the value at the end of the file and reread this stored value in a second run the get the right value.
Here is how to do the second run. I also use ConTeXt macros (\makecounter etc) instead of plain TeX. Be careful of spurious linebreaks. % It may be better to use \setcounter series of macros for managing counters. % First let us define a general macro for adding arbitrary number to a counter \unprotect \def\addtocounter#1#2% #1 name #2 value {\@EA\xdef\csname#1\endcsname{\the\numexpr\csname#1\endcsname+#2\relax}} \protect % To Hans and Taco: Should the above macro be added to syst-ext? % Now lets define everything in terms of ConTeXt's counter macros % \global\newcount\summeP \makecounter{Points} % I changed summeP to Points just to be consistent % \summeP=0 % \makecounter sets the value of counter to 0. % % ad the points of each question % \def\getPunkte[#1]{\global\advance\summeP by \number#1} % This macro is already been defined using numexpr above. % % show the points on the right side \def\showP[#1]{\inright{\hskip 10mm \framed{#1} }} % % handle the points \def\pkt[#1]% {\showP[#1]% % \getPunkte[#1] } \addtocounter{Points}{#1}} % % Now lets set up the two pass mechanism \def\nofPoints{0} % Number of points from previous run \definetwopasslist {Points} % variable where two pass data is stored % Need to execute this at the start of each file \def\checkPoints {\gettwopassdata{Points} % Retreive the two pass data \iftwopassdatafound \xdef \nofPoints {\twopassdata} \fi \global\let\checkproblems\relax} % An example usage \starttext \checkPoints \title{This exam is of \nofPoints\ Points} % Lets set 10 problems with different points \dorecurse{10} {\pkt[\recurselevel] \input tufte \endgraf} % Now the rest of the magic to take care of the two pass run % Basically this says that rerun if \nofPoints != % \countervalue{Points}. In the next run we set \nofPoints to the % previous value of \countervalue{Points} (the \checkPoints macro in % the beginning), so things should be stable after two runs. \savetwopassdata {Points} {\nofPoints} {\countervalue{Points}} \stoptext HTH, Aditya
On Sat, 30 Dec 2006, Aditya Mahajan wrote:
% Now the rest of the magic to take care of the two pass run % Basically this says that rerun if \nofPoints != % \countervalue{Points}. In the next run we set \nofPoints to the % previous value of \countervalue{Points} (the \checkPoints macro in % the beginning), so things should be stable after two runs. \savetwopassdata {Points} {\nofPoints} {\countervalue{Points}}
Hello Aditya, with the following example, I get always 2 runs: \definetwopasslist{test} \starttext bla \savetwopassdata{test}{1}{2} \stoptext Is this normal or a bug? Cheers, Peter -- http://pmrb.free.fr/contact/
On Sat, 30 Dec 2006, Peter Münster wrote:
On Sat, 30 Dec 2006, Aditya Mahajan wrote:
% Now the rest of the magic to take care of the two pass run % Basically this says that rerun if \nofPoints != % \countervalue{Points}. In the next run we set \nofPoints to the % previous value of \countervalue{Points} (the \checkPoints macro in % the beginning), so things should be stable after two runs. \savetwopassdata {Points} {\nofPoints} {\countervalue{Points}}
Hello Aditya,
with the following example, I get always 2 runs:
\definetwopasslist{test} \starttext bla \savetwopassdata{test}{1}{2} \stoptext
Is this normal or a bug?
Hmm... I would have guessed that you will keep on getting infinite runs, but apparently texexec decides that two are enough. I need to look deeper to see if this is the intended behaviour. I would call it a bug, since there can be cases which need more than two runs to converge. Aditya
Aditya Mahajan wrote:
On Sat, 30 Dec 2006, Peter M�nster wrote:
On Sat, 30 Dec 2006, Aditya Mahajan wrote:
% Now the rest of the magic to take care of the two pass run % Basically this says that rerun if \nofPoints != % \countervalue{Points}. In the next run we set \nofPoints to the % previous value of \countervalue{Points} (the \checkPoints macro in % the beginning), so things should be stable after two runs. \savetwopassdata {Points} {\nofPoints} {\countervalue{Points}}
Hello Aditya,
with the following example, I get always 2 runs:
\definetwopasslist{test} \starttext bla \savetwopassdata{test}{1}{2} \stoptext
Is this normal or a bug?
Hmm... I would have guessed that you will keep on getting infinite runs, but apparently texexec decides that two are enough. I need to look deeper to see if this is the intended behaviour. I would call it a bug, since there can be cases which need more than two runs to converge.
how about \savecurrentvalue\SomeVar{someval} -- ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On Sat, 30 Dec 2006, Hans Hagen wrote:
Aditya Mahajan wrote:
On Sat, 30 Dec 2006, Peter M???nster wrote:
On Sat, 30 Dec 2006, Aditya Mahajan wrote:
% Now the rest of the magic to take care of the two pass run % Basically this says that rerun if \nofPoints != % \countervalue{Points}. In the next run we set \nofPoints to the % previous value of \countervalue{Points} (the \checkPoints macro in % the beginning), so things should be stable after two runs. \savetwopassdata {Points} {\nofPoints} {\countervalue{Points}}
Hello Aditya,
with the following example, I get always 2 runs:
\definetwopasslist{test} \starttext bla \savetwopassdata{test}{1}{2} \stoptext
Is this normal or a bug?
Hmm... I would have guessed that you will keep on getting infinite runs, but apparently texexec decides that two are enough. I need to look deeper to see if this is the intended behaviour. I would call it a bug, since there can be cases which need more than two runs to converge.
how about
\savecurrentvalue\SomeVar{someval}
I was just copying the way it is done with other macros \lastpage, etc. I will look at \savecurrentvalue also. However, something seems to be wrong in tex.rb Change def processfile .... while ! stoprunning && (texruns < nofruns) && ok do .... end ... end to def processfile .... while ! stoprunning && (texruns < nofruns) && ok do .... report("stoprunning #{stoprunning}") report("texruns=#{texruns}, nofruns=#{nofruns}") report("ok=#{ok}") report("while=#{! stoprunning && (texruns < nofruns) && ok}") end ... end so that we can see what takes us out of the while loop. Take Petar's test file and run it through texexec. I get TeXExec | stoprunning true TeXExec | texruns=2, nofruns=8 TeXExec | ok=counter.tex TeXExec | while=counter.tex Notice that ok=\jobname. Shouldn't ok be a boolean. And the condition for while is a string rather than a boolean. I am not too sure on what ruby does for non boolean conditionals, but the present implementation can break (under some crazy conditions, maybe). How about if in def runtexutil(...) there is a return ok in the end, for example begin logger = Logger.new('TeXUtil') if tu = TeXUtil::Converter.new(logger) and tu.loaded(fname) then ok = tu.processed && tu.saved && tu.finalized end rescue Kpse.runscript('texutil',fname,options) else return ok #<--------- added. end Back to Peter's question, I gave a wrong explaination earlier. texexec just checks if the tui file has changed. If the file did not change from the last run, then it stops processing. So with \savetwopassdata{test}{1}{2} you will get two runs the first time you process the file, and a single run if you reprocess the file. By default, the maximum number of runs that you can have is 8, but you can change this by passing --runs= to texexec Aditya
On Sat, 30 Dec 2006, Aditya Mahajan wrote:
On Sat, 30 Dec 2006, Hans Hagen wrote:
how about
\savecurrentvalue\SomeVar{someval}
I was just copying the way it is done with other macros \lastpage, etc. I will look at \savecurrentvalue also.
Ahh, \lastpage uses \savecurrentvalue. I was pretty sure that I copied the twopass some time back from \lastpage. Maybe I was dreaming, maybe you are changing the internals too fast for me to keep up. Anyways, to make ammends, here is the solution using \savecurrentvalue % It may be better to use \setcounter series of macros. % First let us define a general macro for adding arbitrary number to a counter \unprotect \def\addtocounter#1#2% #1 name #2 value {\@EA\xdef\csname#1\endcsname{\the\numexpr\csname#1\endcsname+#2\relax}} \protect % To Hans and Taco: Should the above macro be added to syst-ext? % Now lets define everything in terms of ConTeXt's counter macros \makecounter{Points} % % show the points on the right side \def\showP[#1]{\inright{\hskip 10mm \framed{#1} }} \def\pkt[#1]% {\showP[#1]% \addtocounter{Points}{#1}} % \def\nofPoints{0} % Number of points from previous run \def\savenofPoints {\savecurrentvalue\nofPoints{\countervalue{Points}}} % It is a bit boring to type \savenofPoints everytime \appendtoks \savenofPoints \to \everystoptext % An example usage \starttext \title{This exam is of \nofPoints\ Points} % Lets set 10 problems with different points \dorecurse{10} {\pkt[\recurselevel] \input tufte \endgraf} \stoptext The whole things is much shorter :) Hans, I just noticed that \everystarttext is executed at the start of components and products, while \everystoptext is not. Does it make sense to define \stopcomponet and \stopproduct so that \everystoptext is executed? Aditya
Aditya Mahajan wrote:
\unprotect \def\addtocounter#1#2% #1 name #2 value
{\@EA\xdef\csname#1\endcsname{\the\numexpr\csname#1\endcsname+#2\relax}}
\protect
% To Hans and Taco: Should the above macro be added to syst-ext?
% Now lets define everything in terms of ConTeXt's counter macros
\makecounter{Points}
% % show the points on the right side \def\showP[#1]{\inright{\hskip 10mm \framed{#1} }}
\def\pkt[#1]% {\showP[#1]% \addtocounter{Points}{#1}} %
\def\nofPoints{0} % Number of points from previous run
\def\savenofPoints {\savecurrentvalue\nofPoints{\countervalue{Points}}}
% It is a bit boring to type \savenofPoints everytime
\appendtoks \savenofPoints \to \everystoptext
Thanks for your help. It's great! What I recognized is when I put this on layer for better placement of the header it doesn't work. Here is an example: \def\Schulaufgabekopf% {\bf \tfa \setupTABLE[option=stretch] \setupTABLE[frame=off] \setupTABLE[column][1][width=0.7\textwidth] \setupTABLE[column][2][width=0.3\textwidth] \setupTABLE[row][2,3,4][background=color,backgroundcolor=gray,frame=off] \setupTABLE[row][5][height=1cm] \bTABLE \bTR \bTD \strut \eTD \bTD \strut \eTD \eTR \bTR \bTD \AAnr \eTD \bTD Date: \eTD \eTR \bTR \bTD Name: \eTD \bTD Points: \hfill of \nofPoints \eTD\eTR \bTR \bTD Form: \Klnr \eTD \bTD Mark: \eTD \eTR \bTR \bTD [nc=3, align=low] \tfxx Unterschrift eines Erziehungsberechtigten: \thinrule \eTD \eTR \eTABLE} \definelayer[kopf][width=\paperwidth, height=\paperheight] %Klassenarbeiten Kopf \def\AAnr{2. Schulaufgabe Englisch 2006/2007} \def\Klnr{10 \hfill} %\definelogo[SAK] [top][left][command=\Schulaufgabekopf] %\placelogos[SAK] \setlayer[kopf][x=1.9cm, y=1cm]{\Schulaufgabekopf} \setupbackgrounds[page][background=kopf] \starttext % Lets set 10 problems with different points \dorecurse{10} {\pkt[\recurselevel] \input tufte \endgraf} \stoptext What's going wrong? Thomas
On Sun, 31 Dec 2006, Thomas Engel wrote:
Aditya Mahajan wrote:
\unprotect \def\addtocounter#1#2% #1 name #2 value
{\@EA\xdef\csname#1\endcsname{\the\numexpr\csname#1\endcsname+#2\relax}}
\protect
% To Hans and Taco: Should the above macro be added to syst-ext?
% Now lets define everything in terms of ConTeXt's counter macros
\makecounter{Points}
% % show the points on the right side \def\showP[#1]{\inright{\hskip 10mm \framed{#1} }}
\def\pkt[#1]% {\showP[#1]% \addtocounter{Points}{#1}} %
\def\nofPoints{0} % Number of points from previous run
\def\savenofPoints {\savecurrentvalue\nofPoints{\countervalue{Points}}}
% It is a bit boring to type \savenofPoints everytime
\appendtoks \savenofPoints \to \everystoptext
Thanks for your help. It's great!
What I recognized is when I put this on layer for better placement of the header it doesn't work. Here is an example:
\def\Schulaufgabekopf% {\bf \tfa \setupTABLE[option=stretch] \setupTABLE[frame=off] \setupTABLE[column][1][width=0.7\textwidth] \setupTABLE[column][2][width=0.3\textwidth]
\setupTABLE[row][2,3,4][background=color,backgroundcolor=gray,frame=off] \setupTABLE[row][5][height=1cm] \bTABLE \bTR \bTD \strut \eTD \bTD \strut \eTD \eTR \bTR \bTD \AAnr \eTD \bTD Date: \eTD \eTR \bTR \bTD Name: \eTD \bTD Points: \hfill of \nofPoints \eTD\eTR \bTR \bTD Form: \Klnr \eTD \bTD Mark: \eTD \eTR \bTR \bTD [nc=3, align=low] \tfxx Unterschrift eines Erziehungsberechtigten: \thinrule \eTD \eTR \eTABLE}
\definelayer[kopf][width=\paperwidth, height=\paperheight]
%Klassenarbeiten Kopf \def\AAnr{2. Schulaufgabe Englisch 2006/2007} \def\Klnr{10 \hfill} %\definelogo[SAK] [top][left][command=\Schulaufgabekopf] %\placelogos[SAK]
\setlayer[kopf][x=1.9cm, y=1cm]{\Schulaufgabekopf}
Change this line to \appendtoks \setlayer[kopf][x=1.9cm, y=1cm]{\Schulaufgabekopf} \to \everystarttext or \appendtoks \setlayer[kopf][x=1.9cm, y=1cm]{\Schulaufgabekopf} \to \everyafterutilityread
\setupbackgrounds[page][background=kopf] \starttext
% Lets set 10 problems with different points \dorecurse{10} {\pkt[\recurselevel] \input tufte \endgraf}
\stoptext
What's going wrong?
The layer kopf is being set before the tui file is read. So, the value of \nofPoints is still 0. You need to set this layer after the utility file is read by appending the code to \everyafterutilityread or to \everystarttext (which happens after reading utility file). Aditya
Aditya Mahajan wrote:
Ahh, \lastpage uses \savecurrentvalue. I was pretty sure that I copied the twopass some time back from \lastpage. Maybe I was dreaming, maybe you are changing the internals too fast for me to keep up. Anyways, to make ammends, here is the solution using \savecurrentvalue
you probably have subpage numbers in the back of your mind since they use two pass lists
% It may be better to use \setcounter series of macros. % First let us define a general macro for adding arbitrary number to a counter
\unprotect \def\addtocounter#1#2% #1 name #2 value {\@EA\xdef\csname#1\endcsname{\the\numexpr\csname#1\endcsname+#2\relax}} \protect
% To Hans and Taco: Should the above macro be added to syst-ext?
i've added: \def\incrementcounter#1#2% #1 name #2 value {\setxvalue{#1}{\the\numexpr\csname#1\endcsname+#2\relax}} \def\decrementcounter#1#2% #1 name #2 value {\setxvalue{#1}{\the\numexpr\csname#1\endcsname-#2\relax}} (increment is used elsewere too)
% Now lets define everything in terms of ConTeXt's counter macros
\makecounter{Points}
% % show the points on the right side \def\showP[#1]{\inright{\hskip 10mm \framed{#1} }}
\def\pkt[#1]% {\showP[#1]% \addtocounter{Points}{#1}} %
\def\nofPoints{0} % Number of points from previous run
\def\savenofPoints {\savecurrentvalue\nofPoints{\countervalue{Points}}}
% It is a bit boring to type \savenofPoints everytime
\appendtoks \savenofPoints \to \everystoptext
% An example usage
\starttext
\title{This exam is of \nofPoints\ Points}
% Lets set 10 problems with different points \dorecurse{10} {\pkt[\recurselevel] \input tufte \endgraf}
\stoptext
The whole things is much shorter :)
Hans, I just noticed that \everystarttext is executed at the start of components and products, while \everystoptext is not. Does it make sense to define \stopcomponet and \stopproduct so that \everystoptext is executed?
everystoptext is more tricky and cannot be handled in the nested case; starttext is less tricky ; both are only expanded once Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On Sat, 30 Dec 2006, Aditya Mahajan wrote:
you will get two runs the first time you process the file, and a single run if you reprocess the file. By default, the maximum number of runs that you can have is 8, but you can change this by passing --runs= to texexec
Hello, is it also possible to specify the maximum number of runs in the TeX-file, for example "\maxruns{11}" ? Cheers, Peter -- http://pmrb.free.fr/contact/
On Mon, 1 Jan 2007, Peter Münster wrote:
On Sat, 30 Dec 2006, Aditya Mahajan wrote:
you will get two runs the first time you process the file, and a single run if you reprocess the file. By default, the maximum number of runs that you can have is 8, but you can change this by passing --runs= to texexec
Hello, is it also possible to specify the maximum number of runs in the TeX-file, for example "\maxruns{11}" ?
AFAIU, no. I have not checked if runs=11 on top of the file is read. Aditya
On Mon, 1 Jan 2007, Aditya Mahajan wrote:
is it also possible to specify the maximum number of runs in the TeX-file, for example "\maxruns{11}" ?
AFAIU, no. I have not checked if runs=11 on top of the file is read.
No, runs=11 is not read. But anyway, I would need something like "\maxruns{11}", because I would like to put it in a module, that needs a lot of runs to converge (vertical spacing adjustment to get a letter where the last page is filled at least to 30%). Cheers, Peter -- http://pmrb.free.fr/contact/
On Mon, 1 Jan 2007, Aditya Mahajan wrote:
is it also possible to specify the maximum number of runs in the TeX-file, for example "\maxruns{11}" ?
AFAIU, no. I have not checked if runs=11 on top of the file is read.
No, runs=11 is not read. But anyway, I would need something like "\maxruns{11}", because I would like to put it in a module, that needs a lot of runs to converge (vertical spacing adjustment to get a letter where the last page is filled at least to 30%). Cheers, Peter
hm, long long ago i played with strategies for this ... the attached file shows some of this ... food for thought Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On Mon, 1 Jan 2007, Hans Hagen wrote:
hm, long long ago i played with strategies for this ... the attached file shows some of this ... food for thought
Thanks Hans, it's quite similar to my old LaTeX letter class option file, that I would like to port to ConTeXt. What is the difference between \savecurrentvalue ... and \setstrategyvariable ... ? It seems, that both are doing what I'm looking for. Is there somewhere some documentation about - texexec --optimize - strategies - twopassentries and so on? Cheers, Peter -- http://pmrb.free.fr/contact/
� wrote:
On Mon, 1 Jan 2007, Hans Hagen wrote:
hm, long long ago i played with strategies for this ... the attached file shows some of this ... food for thought
Thanks Hans, it's quite similar to my old LaTeX letter class option file, that I would like to port to ConTeXt.
What is the difference between \savecurrentvalue ...
just saves a value
and \setstrategyvariable ... ?
this is a prelude to multi pass optimizations (till criterium met)
It seems, that both are doing what I'm looking for.
Is there somewhere some documentation about - texexec --optimize - strategies - twopassentries
collections of saved data
and so on?
yes ; btw, when you run context mkiv, all that data is no longer in the tuo file but in a lua table structure, and it's all loaded at the same time; this drastically speeds up some of the tuo related stuff Hans -- ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On Sat, 30 Dec 2006, Taco Hoekwater wrote:
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.
[...]
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.
If you are still bored, how about adding this to ConTeXt, so that one can say Today is \currentdate[weekday] of the \currentdate[week] week of \currentday[year] I do not know if someone will find it useful or not, but it seems like a nice feature to have :) Aditya
Aditya Mahajan wrote:
On Sat, 30 Dec 2006, Taco Hoekwater wrote:
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.
[...]
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.
If you are still bored, how about adding this to ConTeXt, so that one can say
Today is \currentdate[weekday] of the \currentdate[week] week of \currentday[year]
I do not know if someone will find it useful or not, but it seems like a nice feature to have :)
see core-con.tex, such things have been there for years now -) (not sure if it does the same as what taco code does) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
participants (5)
-
Aditya Mahajan
-
Hans Hagen
-
Peter Münster
-
Taco Hoekwater
-
Thomas Engel