<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Název" content="">
<meta name="Klíčová slova" content="">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Apple Color Emoji";
        panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.Style-mailu18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.msoIns
        {mso-style-type:export-only;
        mso-style-name:"";
        text-decoration:underline;
        color:teal;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:595.0pt 842.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body bgcolor="white" lang="CS" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Ahoj Honzo.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Díky mnohokrát za rozšíření obzorů, … hned jdu do své knihovničky pro TBN a projdu si to, ať jsem aspoň do té doby než to zapomenu
</span><span style="font-family:"Apple Color Emoji";mso-fareast-language:EN-US">☺</span><span style="mso-fareast-language:EN-US">…. v obraze …<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Ještě jednou hezký den všem v konferenci.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Jarda Hajtmar<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">Od: </span></b><span style="font-size:12.0pt;color:black">csTeX <cstex-bounces@cs.felk.cvut.cz> za uživatele Jan Sustek <Jan.Sustek@seznam.cz><br>
<b>Příjemce odpovědi: </b>Czech and Slovak list <cstex@cs.felk.cvut.cz><br>
<b>Datum: </b>středa 28. června 2017 7:49<br>
<b>Komu: </b>Czech and Slovak list <cstex@cs.felk.cvut.cz><br>
<b>Předmět: </b>Re: [cstex] Plainovská makra s volitelnými parametry<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal">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>
---------- 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 <br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p>Dobrý den.<o:p></o:p></p>
<p>Rád bych zase po čase  "provětral" tuto konferenci dotazem na možnost definice plainových maker s volitelným(i) parametrem(y).<o:p></o:p></p>
<p>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.<o:p></o:p></p>
<p>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ů.<o:p></o:p></p>
<p> <o:p></o:p></p>
<p>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>].<o:p></o:p></p>
<p> <o:p></o:p></p>
<p>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?
<o:p></o:p></p>
<p>Na internetu jsem našel nějaké podobné věci dělané v LaTeXu, to je pro mne však nepoužitelné...
<o:p></o:p></p>
<p> <o:p></o:p></p>
<p>Rád přijmu i to, že mi někdo rozmluví můj problém řešit zrovna takto .... :-).<o:p></o:p></p>
<p> <o:p></o:p></p>
<p> <o:p></o:p></p>
<p>Díky za případné tipy a rady<o:p></o:p></p>
<p> <o:p></o:p></p>
<p>Zdraví<o:p></o:p></p>
<p>Jarda Hajtmar<o:p></o:p></p>
<p> <o:p></o:p></p>
<p> <o:p></o:p></p>
</div>
</div>
<p class="MsoNormal">_______________________________________________ <br>
csTeX mailing list <br>
csTeX@cs.felk.cvut.cz <br>
https://lists.felk.cvut.cz/mailman/listinfo/cstex <o:p></o:p></p>
</blockquote>
</div>
</body>
</html>