Portál AbcLinuxu, 7. května 2025 23:56
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.