[cstex] Vnoření makra \uv

Petr Olsak petr at olsak.net
Sun Mar 8 19:59:25 CET 2015



> Dne 4. března 2015 3:51 Alkor <mirekkluci at gmail.com> napsal(a):
>       Omlouvám se, pokud jiné příspěvky již implicitně obsahují odpověď, že to
>       nelze, ale nejsem natolik zdatný odborník, abych zcela pochopil vše, co se
>       zde v diskusi píše. Na uvozovky používám zásadně makro \uv (pdflatex verze:
>       pdfTeX 3.1415926-2.5-1.40.13 v linuxové distribuci Fedora 18), balíček
>       babel. Potřeboval jsem využít vnoření uvozeného textu, což \uv zvládá, ovšem
>       s tím, že na obou úrovních použije \clqq, \crqq, zatímco pravidla českého
>       pravopisu předepisují pro druhou úroveň \clq, \crq a pro třetí \frqq, \flqq.
>       Prosím, mohl by někdo (já na to nemám) buď vytvořit obdobná makra (např.
>       \uv2 , \uv3), která by použila uvozovky podle odpovídající úrovně vnoření?
>       Nebo ještě lépe upravit makro \uv tak, např. při použití nepovinného
>       parametru v hodnotě 1,2 nebo 3 vložilo uvozovky zadané úrovně a bez
>       parametru úroveň vnoření hlídalo samo? Abych předešel zbytečným diskusím o
>       vhodnosti vnořování uvozeného textu, nejsem autorem obsahu, takže myslet si
>       můžu co chci, vysázet to prostě musím. Díky moc.

Dobrý den,

je možné použít například takové makro:

--------------------------------------

\newcount\uvnum
\def\sdef#1{\expandafter\def\csname#1\endcsname}
\long\def\uv#1{\uvA#1\uvB}
\def\uvA{\bgroup \advance\uvnum by1 \csname uvA:\the\uvnum\endcsname}
\def\uvB{\csname uvB:\the\uvnum\endcsname\egroup}
\def\uvdef#1#2#3#4#5#6{\sdef{uvA:1}{#1}\sdef{uvB:1}{#2}%
                        \sdef{uvA:2}{#3}\sdef{uvB:2}{#4}%
                        \sdef{uvA:3}{#5}\sdef{uvB:3}{#6}}

\uvdef \clqq\crqq ,` \frqq\flqq

\uv{Aha, \uv{tady je \uv{uvozený} text}, a to je vše.}

\bye

--------------------------------------

Šest parametrů za \uvdef si můžete zvolit podle své vlastní představy.

Zdravím

Petr Olšák


More information about the csTeX mailing list