%%%
%%% source file of the GNU LilyPond music typesetter
%%%
-%%% (c) 1998--2004 Jan Nieuwenhuizen <janneke@gnu.org>
+%%% (c) 1998--2007 Jan Nieuwenhuizen <janneke@gnu.org>
%%% Han-Wen Nienhuys <hanwen@cs.uu.nl>
%%% Mats Bengtsson <mats.bengtsson@s3.kth.se>
%%%
%% As a safety guard, don't produce auxiliary files.
\nofiles
- \usepackage[\lilypondpaperinputencoding]{inputenc}
+ %% FIXME: workaround non-existent TeX.def.
+ \def\TeXdef{TeX}\ifx\TeXdef\lilypondpaperinputencoding
+ \usepackage[latin1]{inputenc}
+ \else
+ \usepackage[\lilypondpaperinputencoding]{inputenc}
+ \fi
\pagestyle{empty}
+ \usepackage{color}
+
\lilypondifundefined{lilypondclassic}
{%% If not in `classic' mode, undo LaTeX's page layout settings
%% since LilyPond does the layout by itself.
%%
%% (Don't remove the spaces after the arguments to \input!)
%%
-\lilypondifundefined{lilypondpostscript}
- {\lilypondifundefined{pdfoutput}
- {\input lily-ps-defs }
- {\pdfoutput = 1
- \input lily-pdf-defs }}
- {}
-
+%
+%% In teTeX-3.0, latex is actually pdfetex, and we need
+%% ifpdf.sty to determinine if we are really *tex or pdf*tex.
+%
+%% \input ifpdf.sty
+%
+%% However, ifpfd.sty is too smart for LilyPond, so we copy the
+%% logic here. Using \input ifpdf.sty is a no-op when using latex,
+%% and the \ifpdf switch is needed before \documentclass, using
+%% \usepackage{ifpdf} is not an option.
+%
+\input lily-ps-defs
+
+% barfs with texi
+% Runaway argument?
+%{
+%! Forbidden control sequence found while scanning use of \lilypondfirst.
+%<inserted text>
+% \par
+%<to be read again>
+% \newif
+%l.330 {\newif
+% \ifpdf
+%?
+%
+%%
+%\lilypondifundefined{lilypondpostscript}
+% {\newif\ifpdf
+% \ifx\pdfoutput\undefined
+% \else
+% \ifx\pdfoutput\relax
+% \else
+% \ifcase\pdfoutput
+% \else
+% \pdftrue
+% \fi
+% \fi
+% \fi
+% \ifpdf
+% {\input lily-pdf-defs }
+% \else
+% {\input lily-ps-defs }
+% \fi}
+% {}
+%
%% Restore newline functionality (disabled to avoid \par).
%%
\endlinechar \lilyponddefsELC