[cstex] Dirty trick s countery

Jaroslav Hajtmar hajtmar at gyza.cz
Mon Sep 17 06:54:48 CEST 2012


Dobrý den.
Nějak v poslední době nezaznamenávám v této konfeře život, a tak 
přicházím s nabídkou konečně veskrze kvalitního problému :-) ....

Rád bych se zeptal, zda lze pomocí nějakého špinavého triku v TeXu 
vytvořit makro, které bude testovat existenci nějakého counteru, a které 
v případě jeho neexistence jej vytvoří a přiřadí mu jedničku, zatímco  v 
případě jeho existence jej zvýší o jedničku?

Mám na mysli něco takového  (zapsáno symbolicky a naprosto šíleně):

\def\createorincrementcounter#1{
\if#1\isdefined\newcount#1 #1=1\else\advance#1 by1\fi
}

Nouzově připouštím i o něco méně šílenou variantu, která bude spočívat v 
tom, že předem vytvořím sadu několika counterů a následně bych je rád 
makrem incrementoval v tomto duchu:

\newcount\myfirstcounter
\newcount\mysecondcounter
\newcount\mythirdcounter

\def\advancecounter#1{\advance#1 by1}

Tato konstrukce by měla umožnit makrem \advancecounter incrementovat 
hodnotu některého z čítačů tj. volání
makra \advancecounter{myfirstcounter} zvýší čítač \myfirstcounter o 
jedničku, zatímco \advancecounter{mysecondcounter} incrementuje counter 
´\mysecondcounter atd.

Pokud by něco takového šlo, napsal bych následně k čemu to potřebuju :-)...

Díky za případný zájem expertů typu pana Wagnera či pana Šustka ;-) ... 
ale i dalších abych někoho neurazil :-)

Pěkný den s mým červíkem v hlavě přeje
Jarda Hajtmar











More information about the csTeX mailing list