Da das konkrete Problem in deinem Fall ohne vollständiges Minimalbeispiel schwerlich zu ermitteln ist, werde ich hier das Problem allgemein im Stil einer Archiv-Frage angehen. LaTeX besteht bei Befehlen in Unterdateien im allgemeinen darauf, dass die Argumente zu dem Befehl in der Unterdatei vollständig angegeben sind. Es ist also nicht erlaubt, dass in einer Unterdatei das Argument eines Befehls beginnt, aber erst in der Datei endet, in der die Unterdatei gelesen wird. Während also \begin{filecontents}[force]{EA3_Aufgabe.tex} \makeatletter \MT@temp{Das ist ein Test} \makeatother \end{filecontents} \documentclass{article} \makeatletter \newcommand*{\MT@temp}[1]{#1} \makeatother \begin{document} Wir lesen die Datei: \input{EA3_Aufgabe.tex} \end{document} korrekt ist und natürlich funktioniert, wäre \begin{filecontents}[force]{EA3_Aufgabe.tex} \makeatletter \MT@temp{Das ist ein Test \end{filecontents} \documentclass{article} \makeatletter \newcommand*{\MT@temp}[1]{#1} \makeatother \begin{document} Wir lesen die defekte Datei: \input{EA3_Aufgabe.tex} \end{document} nicht korrekt und erzeugt die Fehlermeldung: Runaway argument? {Das ist ein Test ! File ended while scanning use of \MT@temp. <inserted text> \par l.11 \input{EA3_Aufgabe.tex} ? Übrigens: Wenn man bei einem interaktiven LaTeX-Lauf hier hinter dem Prompt (das Fragezeichen) ein ? h
I suspect you have forgotten a `}', causing me
to read past where you wanted me to stop.
I'll try to recover; but if the error is serious,
you'd better type `E' or `X' now and fix your file.
?
Schaut man sich den Inhalt von Natürlich kann \documentclass{article} \makeatletter \newcommand{\MT@temp}[1]{#1} \newcommand*{\MT}{\MT@temp} \makeatother \begin{document} \MT{Das ist ein Test \end{document} Falls in diesem Beispiel die Hauptdatei Runaway argument? {Das ist ein Test \end {document} \par ! File ended while scanning use of \MT@temp. <inserted text> \par <*> EA3_Aufgabe.tex Natürlich wird man in der Regel solchen Code nicht direkt produzieren. Der Befehlsname Ähnliche Probleme gibt es auch häufig mit Hilfsdateien wie der Ein verwandter »Runaway argument?«-Fehler ist übrigens, wenn man im Argument eines Befehls einen Absatz einbaut, der Befehl aber keine Absätze in seinen Argumenten erlaubt. Der Fehler kann sich ebenfalls in einer Hilfsdatei verbergen. Das wäre beispielsweise hier der Fall: \documentclass{article} \begin{document} \tableofcontents \section{Test^^J^^J^^J} \end{document} Der erste LaTeX-Lauf (nach dem Löschen aller Hilfsdateien) funktioniert noch. Der zweite führt jedoch zu den Fehlermeldungen: (./test.toc Runaway argument? {\numberline {1}Test ! Paragraph ended before \contentsline was complete. <to be read again> \par l.1 ...entsline {section}{\numberline {1}Test \par \par }{1}{}% ? ! Extra }, or forgotten \endgroup. l.1 ...e {section}{\numberline {1}Test \par \par } {1}{}% ? ) beantwortet 16 Dez '21, 10:09 gast3 |