[cstex] Verbatim v definici

Zdenek Wagner zdenek.wagner at gmail.com
Mon Oct 18 14:53:43 CEST 2010


2010/10/18 Jirka Zelinka <j.zelinka at centrum.cz>:
> Přeji hezký den všem.
>
> Patrně se ptám na obehrané téma, ale už jsem strávil hledáním řešení
> několik hodin a marně, tak vznáším dotaz
>
> Potřeboval bych použít prostředí verbatim nebo něco podobného v
> definici vlastního makra. Už jsem se dočetl, že to nejde, proč to
> nejde, taky nějaké rady, který balík mám použít (verbatim, fancyvrb,
> erbdef, alltt, ...), ale nic nefunguje tak, jak bych potřeboval -
> totiž napsat
> \zdrojak{
> Zdrojový kód nějakého programu
> na více řádcích
> }

\zdrojak musí být makro bez parametrů, které otevře skupinu pomocí
\begingroup, změní kategorie speciálních znaků, přepne font, použije
\obeylines, aby se aktivovaly konce řádků a definuje ^^M. Pak zavolá
jiné makro, které bude očekávat jeden parametr. Ten vysází a nakonec
uzavře skupinu primitivem \endgroup. Zdrojový kód samozřejmě nesmí
obsahovat znaky {}, protože jejich kategorie musí zůstat nastavena na
1 a 2, jinak by nefungovaly jako oddělovač parametru. A samozřejmě to
makro, které se bude volat z makra \zdrojak, musí být deklarováno jako
\long.

> a na výstupu se objeví příslušný zdroják včetně mezer apod.
> Funkční řešení by asi bylo tahat zdrojáky z jednotlivých souborů, ale
> bude jich možná i několik set a to by byl v těch souborech pěkný
> chaos.
> Zkoušel jsem i různé postupy podle TBN, ale problémy mám s přenesením
> konců řádků, které se asi při předání parametrů makra ztratí.
>
> Budu vděčný za jakoukoliv radu.
>
> Jiří Zelinka
> _______________________________________________
> csTeX mailing list
> csTeX at cs.felk.cvut.cz
> http://lists.felk.cvut.cz/mailman/listinfo/cstex
>



-- 
Zdeněk Wagner
http://hroch486.icpf.cas.cz/wagner/
http://icebearsoft.euweb.cz




More information about the csTeX mailing list