Changes

Jump to navigation Jump to search
406 bytes added ,  13:55, 10 August 2004
now with \getparameters
< [[Sample documents]]
At my work, we have to add some sort of revision history to certain documents. This is also an example for the use of \getparameters (see also [[Commands with KeyVal arguments]]).
A downloadable version of the macro is available [[media:Changes.tex|here]], and a PDF example of the output [[media:Changes.pdf|here]].
\setupscreens[screen=0.85]
\setupcolors[state=start]
\setupheadertexts[RévRv.: \the\RevC]
\def\Vfil{\vskip0pt plus3fil\relax}
\def\In[#1,#2]{\ifx#1\empty\else\in[#1]\fi\if\relax#2\else, \In[#2]\fi}
\def\BigTitle{\centerline{\framed[width=\BigWidth,offset=2mm,
background=screen]{\bfb\setupinterlinespace\cbox{Title}}}}
\def\Auteur{Peter}
\def\startChanges{\hbox to \hsize\bgroup\hss\SetTableToWidth{\BigWidth}%
\starttable[s1 | c | c | p(95mm) | p(17mm) | p(37mm) |]
\HL\BL[5]\AR\VL RévRv.\VL Date\VL Origine de la mise à jour\VL§ modifiéVL modifi\VL
Auteur\VL\AR\HL}
\def\stopChanges{\stoptable\hss\egroup}\newcount\RevC
\def\Changes[#1]{% \getgparameters[Changes][Date=,Labels=,#2#3#41]% Auteur, Modif, Labels, Date \doifundefined{ChangesAuteur}{\gdef\ChangesAuteur{\Auteur}}% \doifundefined{ChangesModif}{\gdef\ChangesModif{First version}}% \ifnum\RevC=0\BigTitle\vskip0.5ex\Vfil\startChanges\fi \global\advance\RevC by 1\VL\the\RevC\VL#1\ChangesDate \VL#2 \ChangesModif \VL\expandafter\In\expandafter[#3\ChangesLabels,\relax]\VL #4\ChangesAuteur \VL\AR\HL}
\def\Destinataires#1{\stopChanges\Vfil
\def\temp{#1}\ifx\temp\empty\else\noindenting Destinataires:\crlf#1\blank\fi
\starttext
\Changes{[Date=1/2/2004}{First version}{}{Peter}]\Changes{[Date=3/4/2004}{,Modif=Some modifications},Labels={sec:S1,sec:S2}{Peter Münster}, Auteur=Jrme]\Changes{[Date=5/6/2004}{,Modif=Some other modifications}{,Labels=sec:S2}{Peter}]
%
\Destinataires{Peter, Olivier}
Anonymous user

Navigation menu