Portál AbcLinuxu, 28. října 2025 13:04
podpis, který mi vypíše text kurzívou zarovnanou doprava.
\def\podpis#1{\begin{flushright}\textit{#1}\end{flushright}}
Když chci poté tento příkaz použít, musím komplikovaně zadat
\podpis{Jenda Novák \\ ředitel zeměkoule}
Lze to udělat tak, abych pro stejný výsledek mohl zadat následující? A pokud ano, tak jak?
\podpis Jenda Novák \\ ředitel zeměkoule
Řešení dotazu:
\def\podpis{\flushright\itshape}
Samozřejmě je vhodné modifikovaný text uzavřít do skupiny {} nebo ho použít uvnitř nějakého prostředí i pokud bude použit na konci dokumentu.
{\podpis Jenda Novák \\ ředitel zeměkoule}
eoldef):
\chyph
\input opmac
\eoldef\podpis #1{{\hfill\it #1}}
\sec Jeden nadpis
\secc Menší nadpis
\begitems
* odrážka
* další odrážka
\enditems
\secc Další malý nadpis
hromada textu
\podpis Pepa z Depa
A zase další text
\bye
eoldef je definované v opmac, čekal bych, že půjde vytáhnout a použít.
\def\eoldef#1{\def#1{\begingroup \catcode`\^^M=12 \eoldefA#1}%
\expandafter\def\csname\string#1:M\endcsname}
{\catcode`\^^M=12 \gdef\eoldefA#1#2^^M{\endgroup\csname\string#1:M\endcsname{#2}}}
Poku to dobře čtu, nepracuje se s koncem odstavce, ale koncem řádku, což nemusí být totéž. Konec řádku se pomocí catcode předefinuje na běžný znak a pak se používá jako argument v makru.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.