LaTeX: template pro pisemku - help...

Stepan Kasal kasal at matsrv.math.cas.cz
Sat May 2 21:54:32 CEST 1998


Dobry den.

On 21 Apr 1998 13:54:11 (nebo spise o nekolik dni drive), Petr Prikryl wrote:
> \addtocounter{otazky}{-1} \refstepcounter{otazky} \label{otazky}
> \addtocounter{soucet}{-1} \refstepcounter{soucet} \label{soucet}

coz mne natolik zdesilo, ze jsem se ja, zaryty plainista, ponoril
do hlubin souboru latex.* (kteryzto soubor je obrovsky, automaticky vytvoreny
a temer prost komentaru), abych vystaral toto:

Uvazme nasledujici priklad:
\documentclass{report}
  \newcounter{xyz}
  \makeatletter
  \AtEndDocument{\write\@auxout{\string\setcounter{xyz}{\the\value{xyz}}}}
  \makeatother
\begin{document}
  Hodnnota xyz \arabic{xyz}
  \setcounter{xyz}{15}
\end{document}

Timto mechanismem docilim toho, ze:
-- v prvnim pruchodu:
   definuji xyz, jeho hodnota je tudiz 0.
   v prubehu zpracovani se "zjisti", ze ma byt xyz=15
   na konci se toto zjisteni zapise do aux souboru
-- ve druhem pruchodu:
   definuji xyz, jeho hodnota je 0.
   pri provadeni \begin{document} se nastavi xyz=15
   a jede se ....

To tedy muzete aplikovat na sve dva countery.
Nemuzete ovsem pouzit \ref, musite \ifnum\n<\value{otazky}
a tisknout Celkem \arabic{soucet} bodu.

Abyste docilil varovani podobneho jako "Cross-References has changed",
mel byste udelat zhruba toto:
- \newcounter{otazky_old}
- do makra \Body dat na zacatek \setcounter{otazky_old}{\value{otazky}}
  a pridat
  \AtEndDocument{\ifnum\value{otazky_old}=\value{otazky}\else
     \PackageWarningNoLine{pisemka}{Pocet otazek se zmenil. Doporucuji
         prekompilovat jeste jednou.}\fi}
Nezkousel jsem to, mohou tedy nastat problemy, ozvete se, bude-li potreba.

Jak se naucit programovat v plainu?
  Precist si TeXbook, TeXbook a TeXbook.  (Pri prvnich dvou pruchodech
  se zpracovava pouze cast textu -- viz tzv. "dangerous bend".)
  Pri kazde prilezitosti se divat do souboru plain.tex.

Jak se naucit programovat v LaTeXu?
  Precist si knihy The TeXbook, knihu TeXbook a knihu The TeXbook.
  Pri kazde prilezitosti si najit v souboru latex.ltx (nebo lepe v prislusnych
  kometovanych zdrojacich) veci tykajici se meho problemu (v tomto pripade
  counteru).

  Poznamenejme, ze soubor latex.* prochazi zmenami.  Pred par lety to znamenalo
soubor latex.tex, ten byl horsi, nez soucasne zdrojaky, ale mel pouhych 300 KB
i skomentari.  Dnesni (tri roky stary) latex.ltx pro latex 2\epsilon ma 250KB
po odstraneni komentaru!  Az za par let vznikne latex 3, bude to asi jeste vetsi
obr, ale predpokladal bych, ze zustane jaks taks kompatibilni.

  Ale zpet k pisemkam.  Pokud bude mit Ing. Prikryl cas hrat si se svymi makry,
mohly by me komentare prispet k odstraneni tech dvou radek citovanych nahore,
o pragmatickem \wd\box pana Strejce ani nemluvim.  (Dovedu si zive predstavit,
jak se tu za par mesicu/let objevi otazka, proc nejde balik pisemka pouzit pro
tisteni folii!)

  Kazdopadne jsem zvedavy, prosim ing. Prikryla, aby mi napsal, jak to dopadlo
(pokud si vzpomenete, tak e-mailem, konferenci ctu nepravidelne). Omlovam se za
patlani druhe a treti osoby.
						Stepan Kasal



More information about the csTeX mailing list