prepinac latex/pdflatex

Petr Olsak petr at olsak.net
Fri Mar 10 17:58:00 CET 2006



On Fri, 10 Mar 2006, Zdenek Wagner wrote:

> On Fri, 10 Mar 2006, Petr Olsak wrote:
>
> > Problem je v tom, ze uz nejakou dobu jede v novych distribucich vsechno na
> > pdf*texu at se to jmenuje latex nebo pdflatex. Pro potrebu odliseni
> > cslatexu od pdfcslatexu a csplainu od pdfcsplainu jsem pak musel do
> > cslatex.ini a csplain.ini pridat dodatecny kod (oznaceny poznamkou
> > % added in Feb. 2005) a v nem jsem mimo jine (po zjisteni, ze se
> > jedna o non-pdf format) psal:
> >
> > \let\pdfoutput=\undefined
> >
> Ani to neni stoprocentni reseni. LaTeXistum je existence \ifx zamlcena a k
> testovani existence maker se doporucuje \@ifundefined{pdfoutput}, coz je
> ekvivalentni zapisu \expandafter\ifx\csname pdfoutput\endcsname\relax
> Obvykle vsak \undefined je neco jineho nez \relax, takze se podminka vzdy
> vyhodnoti, jako by se pouzival pdflatex.

Nemate pravdu. \undefined je ekvivalent nedefinovane kontrolni sekvenci a
\expandafter\ifx\csname pdfoutput\endcsname pracuje tak, ze pokud je
\pdfoutput v dane chvili ekvivalentem nedefinovane kontrolni sekvence,
prideli tomu vyznam \relax. Takze:

\let\pdfoutput=\undefined % od teto chvile je \pdfoutput nedefinovana
                          % to se stalo v cslatex.ini souboru.
                          % nyni mantry v dokumentu:
\expandafter\ifx\csname pdfoutput\endcsname % nyni ma \pdfoutput vyznam \relax
                                 \relax     % ifx vrati true, tj. podminka
                                            % je vyhodnocena dle ocekavani

Zdravim

Petr Olsak





More information about the csTeX mailing list