Nazev TeX souboru

Richard Kralovic kralovicjr at ksp.sk
Mon Apr 10 15:34:50 CEST 2000


Dobry den,

> mam takovy problem: potreboval bych, aby se LaTeX menil svoje chovani
> podle nazvu souboru, ktery zpracovava. Konkretne napr. ve
Na to sluzi TeXovska primitiva \jobname, ktora sa expanduje na meno prave
spracovavaneho suboru. Treba teda porovnat slovo, na ktore sa expanduje
\jobname s nejakym inym slovom. Da sa to vyriesit napr. takto (je to na urovni
TeXovskych primitiv, takze by to malo fungovat v plaine aj LaTeXu):

\def\testnameno#1#2#3{{\escapechar=256%
  \xdef\chcenemeno{\expandafter\string\csname #1\endcsname}%
  \xdef\aktualnemeno{\jobname}}%
  \ifx\chcenemeno\aktualnemeno #2\else #3\fi}

\testnameno{subor}{ano}{nie}

Makro \testnameno definuje pomocne makra \aktualnemeno - to je meno
spracovavaneho suboru a makro \chcenemeno - to je meno, s ktorym sa meno
spracovavaneho suboru porovnava. Potom sa zhodnost tychto makier testuje
pomocou \ifx. Pretoze \jobname sa expanduje na znaky s category code 12, treba
skonvertovat aj znaky v \chcenemeno na category code 12, co sa urobi tak, ze sa
slovo prevedie na nazov makra a pomocou \string naspat na povodne slovo.

S pozdravom
	Richard Kralovic



More information about the csTeX mailing list