[tex-live] cslatex not working / pdfcslatex working ?

Petr Olsak petr at olsak.net
Fri Dec 16 22:49:26 CET 2005


sorry, I am not connected to tex-live at tug.org list. The following text
was reported me by my colleague:

> However, the real culprit is the cslatex.ini file in TL2005. It ends
> with the following bit of code:
> \ifx\pdfoutput\undefined \else % added in Feb. 2005
>     \catcode`\{=1  \catcode`\}=2
>     \def\tmpa{\pdfcslatex}
>     \expandafter\def\expandafter\tmpb\expandafter{\csname\jobname\endcsname}
>     \ifx\tmpa\tmpb %% PDFTeX with PDF output
>        \message {jobname=pdfcslatex, PDF output initialised.}
>        \openin0=pdftexconfig.tex
>        \ifeof0 \message{WARNING: pdftexconfig.tex does not exist.
>                         I set \string\pdfoutput=1 only.}%
>        \else \closein0 \input pdftexconfig.tex
>        \fi
>        \pdfoutput=1
>     \else
>        \message {jobname=cslatex with pdftex, DVI output initialised.}
>        \pdfoutput=0
>        \let\oripdfoutput=\pdfoutput \let\pdfoutput=\undefined
>     \fi
>     \let\tmpa=\undefined \let\tmpb=\undefined
>     \catcode`\{=12
> \fi
> I don't see why this
>    \let\oripdfoutput=\pdfoutput \let\pdfoutput=\undefined
> is needed.

I am the author of this code. If you decide to use the cslatex with only
dvi output, then you can do it by standard TeX engine or by pdftex with
\pdfoutput=0. The result have to be identical. I decided that the behavior
of the user-macros has to be the same as if standard TeX engine is used.
This is a reason of "\let\pdfoutput=\undefined". May be the
user-macros can include the following code:

\ifx\pdfoutoput\undefined .. dvi output \else .. pdftex setting \fi

This code must work.

> \Gm at checkdrivers is from geometry.sty, which contains the following test:
> \def\Gm at checkdrivers{%
>    \ifx\pdfpagewidth\@undefined\else
>      \ifnum\pdfoutput=\@ne
>        \Gm at setdriver{pdftex}%
>      \fi
>    \fi
>   ...}
> I contacted Hideo Umeki in late October and he agreed to change the
> pdftests to use the ifpdf package instead.

This is evident mistake of an author of the package from which this code
is mentioned. The command "\ifnum\pdfoutput=\@ne" cannot work if standard
TeX engine (non-pdftex engine) is used. Please report the bug to the
author of this package.

Petr Olsak

More information about the tex-live mailing list