[cstex] Dirty trick s countery

Tomas Hala thala at pef.mendelu.cz
Mon Sep 17 11:41:53 CEST 2012


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



More information about the csTeX mailing list