Ich bastele seit heute morgen 8 Uhr an diesem Problem:
Ich möchte eine Header-Datei haben, in der meine Standard-Präambel, mein Standard-Code rund um \begin{document}, und mein Standard-Code rund um \end{document} übersichtlich zusammen sind.
Hier ein abgespecktes Code-Beispiel, welches den Fehler zeigt, der mich gerade in die Verzweiflung treibt:
\begin{filecontents*}{myTest.tex} \ifdefined\aHeader% \let\aHeader\undefined% \documentclass{scrartcl} \usepackage{xinttools} \makeatletter \newcommand\myCheck[2]{% \xintFor*##1 in{#1}: {% \in@{##1}{#2}% \unless\ifin@\expandafter\xintBreakFor\fi }% \ifin@\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi } \makeatother \fi \end{filecontents*} \def\aHeader{} \input{myTest.tex} \input{myTest.tex} % Führt zu Fehler Too many }'s \begin{document} Hallo, Welt! \end{document}
Wenn ich die viertletzte Zeile (das doppelte \input...) lösche, funktioniert es wie beabsichtigt.
Mit dem doppelten \input gibt es einen Fehler "Too many }'s" in meinem \myCheck.
1. Da sind nicht zu viele { oder } - die sind sauber gepaart …
2. Wieso wird das überhaupt ein zweites Mal ausgeführt???
Hilfe …
Gruß vom Rolli
Edit: Wenn ich den Code in myTest.tex in die Hauptdatei packe, anstatt es auszulagern, klappt alles wunderbar ...