[cstex] Dirty trick s countery

Jaroslav Hajtmar hajtmar at gyza.cz
Mon Sep 17 12:03:47 CEST 2012


Díky Tome...
Vypadá, že to dělá co má... Původně jsem to chtěl bez těch backslashů,
ale takhle mi to bude taky stačit.

Navíc jsem asi někde dělal chybu, protože mi to nefungovalo ani když
jsem to zkoušel s těmi backslashi via tvé řešení ...
(protože se mi to v principu zase nazdálo být tak těžké ... )

Díky ještě jednou, z tohoto místa už se mohu odrazit ... :-)


Pěkný den Tomovi i ostatním přeje
Jarda Hajtmar



Dne 17. září 2012 11:41 Tomas Hala <thala at pef.mendelu.cz> napsal(a):
>
> Ahoj,
>
> právě takto to funguje (vyzkoušeno):
>
> \def\zkusme#1{
> \ifx#1\undefined
>    \newcount#1 #1=1
> \else
>  \advance#1 by 1
> \fi
>   \the\abc % pro kontrolu
> }
> \zkusme{\abc}
> \zkusme{\abc}
> \zkusme{\abc}
>
> Lišíme se akorát v lomítku (\abc vs. abc).
> Je to lomítko problém, nebo ne?
>
> Tom
>
> ------------------------
>
> Mon, Sep 17, 2012 ve 11:32:04AM +0200 Jaroslav Hajtmar napsal(a):
> # 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
> #
> # _______________________________________________
> # 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