LaTeX: sber hodnot s pouzitim vysledku vyse?

Cejka Rudolf xcejka00 at fee.vutbr.cz
Wed Mar 4 11:39:45 CET 1998


Petr Prikryl (prikryl at dcse.fee.vutbr.cz) wrote:
: Pred nedavnem jsem se dotazoval, jak vytvorit makro, ktere na zaklade
: \b{1}, \b{2} atd. vygeneruje "1 bod", "2 body" atd. Navrzeny vysledek
: uspesne pouzivam k tisku maximalniho dosazitelneho hodnoceni otazky
: v pisemce. Nektere veci ale jeste delam rucne, coz je urcite zbytecne
: a otravne:
:  - potreboval bych secist vsechna uvedena bodova hodnoceni v makru \b{}
:  - potreboval bych zjistit pocet zadanych otazek (pocet vyskytu \b{})

Trochu ocekavano :-) Moznost pouziti vice citacu radsi doplnuji rovnou,
kdo vi... Zkuste tedy pozit ukazku nize. Bezpecnost souctu je zajistena
mechanizmem \ref, \pageref a \label. Pokud tedy po zmenach v bodovem
ohodnoceni nesouhlasi soucty, vypise se upozorneni, ze odkazy
nemusi souhlasit.

----------------------------------------------------------------------
% BEZ ZARUKY - reklamace studentu necht nejdou na mou hlavu...
% Nutno doplnit o cestinu, hlavne u -> uring
\documentclass{article}\usepackage{czech}

\makeatletter
\def\b#1{\eb{b}{#1}\relax}
\def\eb#1#2{#2 bod\ifnum#2>4 u\else\ifcase#2 u\or\or y\or y\or y\fi\fi
  \@ifundefined{c at s#1}{\newcounter{s#1}\newcounter{n#1}%
  \AtEndDocument{\protected at write\@auxout{}{\string\newlabel{#1}%
  {{\the\value{s#1}}{\the\value{n#1}}}}}}{}%
  \addtocounter{s#1}{#2}\addtocounter{n#1}{1}\relax}
\let\sref\ref\let\nref\pageref
\makeatother

\begin{document}
Suma B: \sref{b} (pocet B je \nref{b})\par
Suma C: \sref{c} (pocet C je \nref{c})\par
B: \b{4}\par
C: \eb{c}{1}\par
B: \b{6}\par
B: \b{5}\par
C: \eb{c}{3}\par
C: \eb{c}{1}\par
B: \b{5}\par
\end{document}
----------------------------------------------------------------------
                          Rudolf Cejka, VUT Brno (Fakulta Informatiky)
                  E-mail: xcejka00 at stud.fee.vutbr.cz
                     WWW: http://www.stud.fee.vutbr.cz/~xcejka00



More information about the csTeX mailing list