[cstex] Dirty trick s countery

Zdenek Wagner zdenek.wagner at gmail.com
Mon Sep 17 11:23:51 CEST 2012


Dne 17. září 2012 6:54 Jaroslav Hajtmar <hajtmar at gyza.cz> napsal(a):
> 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 :-)
>
Já jsem kdysi něco podobného dělal, ale nevím, kde bych to teď našel.
Napíšu tedy jenom ideu. Testovat, zda řídící sekvence existuje, je
snadné. Pokud existuje, je nutno ještě zjistit, jestli je to counter.
Musel bych zapátrat v primitivech, jak se to přesně dělá, \show vypíše
informace do logu, ale nějak jsem to dokázal dostat do TeXu. A
rozborem textu jsem zjišťoval, jestli je to counter.

BTW: asi by to šlo zjistit pomocí lua.

> Pěkný den s mým červíkem v hlavě přeje
> Jarda Hajtmar
>
>
>
>
>
>
>
>
> _______________________________________________
> csTeX mailing list
> csTeX at cs.felk.cvut.cz
> http://lists.felk.cvut.cz/mailman/listinfo/cstex



-- 
Zdeněk Wagner
http://hroch486.icpf.cas.cz/wagner/
http://icebearsoft.euweb.cz




More information about the csTeX mailing list