
Wenn ich mathematische Ergebnisse schreibe, mache ich mir oft mehrere Quasi-Beweise, bevor ich mich für die eigentliche Struktur entscheide. Trotzdem behalte ich diese alternativen Skizzen gerne als Referenz, falls ich ein Problem mit meinem Hauptbeweis entdecke, aber auf eine Weise, die meine Datei oder mein Verzeichnis nicht überfüllt.
Der einfachste Weg, dies innerhalb eines einzelnen Dokuments zu erreichen, besteht darin, dieses Zeug einfach unter die Zeile \end{document} zu verschieben, wo LaTeX es stillschweigend ignoriert. Da ich jetzt jedoch an einem größeren Projekt arbeite, verwende ich \include{}-Befehle für jeden Abschnitt und kann diesen Workaround nun nicht mehr verwenden. Ich bin mir bewusst, dass ich dieses zusätzliche Zeug auskommentieren könnte (d. h. jeder Zeile das Symbol %) voranstellen könnte, aber das würde die gesamte Datei überladen. Ich weiß, dass ich es auch alles in eine andere Datei verschieben könnte, aber das ist zu viel Aufwand, da ich dieses Zeug normalerweise nicht mehr brauche (und wenn doch, suche ich lieber einfach am Ende des aktuellen Dokuments).
Kennt jemand einen Befehl ähnlich „\end{include}“, der dem Compiler sagt, dass er alles, was in der aktuellen Datei übrig bleibt, stillschweigend ignorieren soll?
Beispiel.In einer Datei sieht mein Workflow etwa so aus: Zunächst schreibe ich mehrere Alternativen auf, die mir in den Sinn kommen, z. B.
\begin{document}
sketchA
sketchB
sketchC
\end{document}
Auf diese Weise kann ich jede Skizze immer mit der vollständigen LaTeX-Formatierung lesen. Nehmen wir dann an, ich entscheide mich für Option C, tippe das hier ordentlich ein und verschiebe den Rest unter den Befehl \end{document}:
\begin{document}
niceC
\end{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
sketchA
sketchB
Wenn ich jetzt einmal einen großen Fehler in niceC entdecke, habe ich weder meine vorherigen Ideen verloren, noch kostet mich dieser Vorgang zusätzlichen Aufwand.
Wenn all dies in einer Datei geschieht, dieEingangin einem anderen Dokument habe ich jedoch derzeit keine ähnlich einfache, übersichtliche Alternative, bei der ich nicht zwischen Dateien wechseln muss. Und die Alternative zum „Auskommentieren“ gefällt mir nicht so gut, da SkizzeA möglicherweise bereits einige kommentierte Zeilen enthält und wenn ich Kommentare auskommentiere, besteht immer das Risiko, dass ich sie versehentlich zu oft auskommentiere, wenn ich altes Material wiederherstellen möchte.
Meine Frage ist also, gibt es einen Befehl \X, der den Skizzenteil ignoriert, wenn meine Eingabedatei wie folgt aussieht
niceC
\X
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
sketchA
sketchB
?
Antwort1
Verwenden Sie den Befehl `\endinput', um das explizite Ende einer Datei anzuzeigen. Der LaTeX-Compiler liest nach diesem Befehl nichts mehr. Der Übersichtlichkeit halber empfehle ich, ihn wie folgt zu verwenden
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput %%%%%%%%%%%%%%%%% Every thing ignored after this line
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Antwort2
Wenn Sie Ihre verschiedenen Skizzen in separaten Dateien ablegen, können Sie sie bei Bedarf eingeben:
\documentclass{article}
\usepackage{tikz}
\newcommand{\MultInput}[2]{%
\foreach \i in {#1} {%
\pgfmathparse{{#2}[\i-1]}%
\input{\pgfmathresult}}%
}
\begin{document}
% inputs sketchB.tex
\MultInput{2}{"sketchA","sketchB","sketchC"}
% inputs sketchC.tex then sketchA.tex
\MultInput{3,1}{"sketchA","sketchB","sketchC"}
\end{document}