<html><body>Ahoj Jardo,<br><br>lze použít primitiv \futurelet. Ten je popsaný v TBN, mrkni na to a pak čti dál tento mail. :-) V makru \pocetradku se nejprve uloží do \mujtoken token, který je použitý za \pocetradku. Pak se provede \pocetradkutest, přičemž onen token se vrátí do čtecí fronty přímo za token \pocetradkutest. V makru \pocetradkutest se provede test, jestli onen token je hranatá závorka, nebo ne. Podle toho se makro větví. Na primitiv \else si TeX šáhne přes \expandafter, aby ve čtecí frontě potom bylo \pocetradkusparametrem[ a ne \pocetradkusparametrem\else. Řešení následuje.<br><br>\def\pocetradku{\futurelet\mujtoken\pocetradkutest}<br>\def\pocetradkutest{\ifx\mujtoken[\expandafter\pocetradkusparametrem\else\pocetradkubezparametru\fi}<br>\def\pocetradkusparametrem[#1]{\message{Makro volano s parametrem "#1".}}<br>\def\pocetradkubezparametru{\message{Makro volano bez parametru.}}<br><br>\pocetradku bla \pocetradku[neco] bla \pocetradku<br>\bye<br><br>Příjemné TeXování přeje<br>Honza<br><br><aside>
---------- Původní e-mail ----------<br>
Od: Jaroslav Hajtmar <hajtmar@gyza.cz><br>
Komu: Czech and Slovak list <csTeX@cs.felk.cvut.cz><br>
Datum: 28. 6. 2017 5:05:31<br>
Předmět: [cstex] Plainovská makra s volitelnými parametry
</aside><br><blockquote data-email="hajtmar@gyza.cz">
<div lang="CS">
<div>
<p><span style="font-size:11pt">Dobrý den.</span></p>
<p><span style="font-size:11pt">Rád bych zase po čase  "provětral" tuto konferenci dotazem na možnost definice plainových maker s volitelným(i) parametrem(y).</span></p>
<p><span style="font-size:11pt">Ačkoliv plaintex prakticky nepoužívám (s výjimkou kompilace starých věcí z archívu), tak mám většinu maker v ConTeXtu plainových.</span></p>
<p><span style="font-size:11pt">ConTeXt řeší možnost maker s volitelnými parametry, rád bych se však zeptal v této konferenci, zda lze, popř. jak lze v plainu definovat makro s volitelným (více volitelnými) parametry. Koukal jsem do TBN
 a na podobnou věc jsem nenarazil. Dále bych rád upozornil, že ačkoliv jsem schopen svůj problém řešit makry různých názvů (některé bez parametru jiné s parametry), tak mne jisté důvody (kompatibilita se staršími verzemi mých dokumentů) vedou k tomu, abych
 se pokusil hledat řešení právě pomocí volitelných parametrů.</span></p>
<p><span style="font-size:11pt"> </span></p>
<p><span style="font-size:11pt">Rád bych měl tedy makro s názvem např.: \pocetradku, které by vracelo něco jíného než makro \pocetradku{<jmenosouboru>} resp. možná lépe pro mne \pocetradku[<jmenosouboru>].</span></p>
<p><span style="font-size:11pt"> </span></p>
<p><span style="font-size:11pt">Makro \pocetradku by vracelo počet řádků jakéhosi defaultního - v paměti aktuálního souboru, tzn. bylo by ekvivalentní s makrem \pocetradku[], zatímco \pocetradku[<jmenosouboru>] by vracelo počet řádků nějakého
 jiného souboru. Při experimentování jsem narazil meze svých znalostí plainu, a proto bych se rád obrátil na konferenci. Může mne někdo odkázat na nějaký relevantní zdroj popř. mi nějak poradit?
</span></p>
<p><span style="font-size:11pt">Na internetu jsem našel nějaké podobné věci dělané v LaTeXu, to je pro mne však nepoužitelné...
</span></p>
<p><span style="font-size:11pt"> </span></p>
<p><span style="font-size:11pt">Rád přijmu i to, že mi někdo rozmluví můj problém řešit zrovna takto .... :-).</span></p>
<p><span style="font-size:11pt"> </span></p>
<p><span style="font-size:11pt"> </span></p>
<p><span style="font-size:11pt">Díky za případné tipy a rady</span></p>
<p><span style="font-size:11pt"> </span></p>
<p><span style="font-size:11pt">Zdraví</span></p>
<p><span style="font-size:11pt">Jarda Hajtmar</span></p>
<p><span style="font-size:11pt"> </span></p>
<p><span style="font-size:11pt"> </span></p>
</div>


</div>_______________________________________________
<br>csTeX mailing list
<br>csTeX@cs.felk.cvut.cz
<br>https://lists.felk.cvut.cz/mailman/listinfo/cstex
<br></blockquote></body></html>