[OS X TeX] MacTeX inputs
Louis S VanSlyck
lsv at pce-co.com
Mon Nov 13 16:12:16 CET 2006
Bruno,
You said:
> Here the above works if you load graphicx.tex before color.tex.
Not so for me, typeset fails at "\input color", when the graphic
commands are written first.
Using
> \input miniltx
> \input color.sty
> \input graphicx.sty
Doesn't work either, maybe because I'm in plainTex.
Lou
On Nov 13, 2006, at 9:48 AM, Bruno Voisin wrote:
> Le 13 nov. 06 à 15:03, Louis S VanSlyck a écrit :
>
>> One can use pen color by:
>>
>> \input color
>> {\color{red} This line is red.}
>>
>> Or one can insert a picture by:
>>
>> \input graphicx
>> \includegraphics[scale=0.5]{Logo}
>>
>> But the two inputs seem to be mutually exclusive.
>> Whichever \input command appears first causes an error at the second,
>> and typeset fails.
>
> Here the above works if you load graphicx.tex before color.tex.
>
> This seems to be caused by the handling of the "@" character in
> miniltx.tex, graphicx.tex and color.tex, apparently deficient:
> miniltx.tex (called by graphicx.tex and color.tex) defines
> \makeatletter and \makeatother, then uses \makeatletter immediately
> but neglects to reset \makeatother before closing. There may be some
> reasoning behind this, but I fail to see it for now.
>
> \makeatletter is the standard LaTeX way of making "@" behave as a
> letter, such that it can be used in command names, and \makeatother is
> what makes the opposite, i.e. prohibit "@" to appear in command names.
> The LaTeX format and the LaTeX packages start with \makeatletter, use
> "@" in their internal command names, then end up with \makeatother. In
> this way a LaTeX user won't be able to define commands with an "@" in
> their names, and hence won't be able to interfere inadvertently with
> the LaTeX internals.
>
> However, miniltx.tex omits the final \makeatother. graphicx.tex is
> apparently meant to be called first, as it uses @ in a command name,
> immediately after calling miniltx.tex, and ends with \makeatother (or,
> equivalently, \resetatcatcode):
>
>> \input miniltx
>> \def\Gin at driver{dvips.def}
>> \input graphicx.sty
>> \resetatcatcode
>
> color.tex, by contrast, does use \makeatletter immediately after
> calling miniltx.tex:
>
>> \input miniltx
>> \makeatletter
>> \def\Gin at driver{dvips.def}
>> \input color.sty
>> \resetatcatcode
>
> Hence it looks like graphicx.tex must be called before color.tex.
>
> Actually I would advise to include the code from graphicx.tex and
> color.tex directly in your TeX input file, and to modify it so as to
> make it more efficient: nowadays TeX includes a way to determine
> automagically in which form it is called (pdfTeX, TeX + dvips, or
> XeTeX), such that you can simply write in your TeX input file:
>
> \input miniltx
> \input color.sty
> \input graphicx.sty
>
> or
>
> \input miniltx
> \input color.sty
> \input graphicx.sty
>
> and the appropriate driver file (pdftex.def, dvips.def or xetex.def)
> will be selected on-the-fly and the proper graphics file format (.pdf,
> .eps, .jpg, .tiff, etc.) selected as well. In modern TeX, there is no
> need to write \def\Gin at driver{[...].def} for selecting the driver file
> any longer.
>
> Hope this helps,
>
> Bruno Voisin------------------------- Info --------------------------
> Mac-TeX Website: http://www.esm.psu.edu/mac-tex/
> & FAQ: http://latex.yauh.de/faq/
> TeX FAQ: http://www.tex.ac.uk/faq
> List Archive: http://tug.org/pipermail/macostex-archives/
>
>
------------------------- Info --------------------------
Mac-TeX Website: http://www.esm.psu.edu/mac-tex/
& FAQ: http://latex.yauh.de/faq/
TeX FAQ: http://www.tex.ac.uk/faq
List Archive: http://tug.org/pipermail/macostex-archives/
More information about the macostex-archives
mailing list