[cstex] Dirty trick s countery

Jaroslav Hajtmar hajtmar at gyza.cz
Mon Sep 17 11:32:04 CEST 2012


Dobrý den.
Díky za reakci a za čistý trik :-) , ale bohužel potřebuju tento test
a tuto věc udělat uvnitř makra.

tj. něco takového

\def\mymacro#1{
\ifx#1\undefined \newcount#1 #1=1
  \else \advance#1 by1
\fi
}

takže po volání makra by to mělo vracet výsledky takto :

\newcount\ahoj

\mymacro{ahoj}
\the\ahoj % -----> 1
\mymacro{ahoj}
\the\ahoj % -----> 2
\mymacro{ahoj}
\the\ahoj % -----> 3
\mymacro{ahoj}
\the\ahoj % -----> 4


Díky Jarda Hajtmar



Dne 17. září 2012 9:16 Tomas Hala <thala at pef.mendelu.cz> napsal(a):
>
> Ahoj,
>
> nastačil by Ti čistý trik?:-)
>
> \newcount\abc \abc=66
> %\newcount\xyz
>
> \ifx\xyz\undefined \newcount\xyz \xyz=1
>   \else  \advance\abc by 1 N
> \fi
>
> Tom H.
>
> -------
>
> Mon, Sep 17, 2012 ve 06:54:48AM +0200 Jaroslav Hajtmar 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 :-)
> #
> # 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
>
>                                          Tomáš Hála
> --------------------------------------------------------------------
> Mendelova univerzita, Provozně ekonomická fakulta, ústav informatiky
> Zemědělská 1, CZ-613 00 Brno,  tel. +420 545 13 22 28
> --------------------------------------------------------------------
> http://akela.mendelu.cz/~thala
> _______________________________________________
> csTeX mailing list
> csTeX at cs.felk.cvut.cz
> http://lists.felk.cvut.cz/mailman/listinfo/cstex




More information about the csTeX mailing list