Parametrisierte Einbindung von Unterdateien

Parametrisierte Einbindung von Unterdateien

Ich bereite einen Lebenslauf mit LaTeX vor, hauptsächlich um ihn einfach anpassen zu können. Insbesondere möchte ich durch Ändern einiger Parameter unterschiedliche Ausgaben aus derselben Eingabedatei generieren können.

Eine solche Anforderung ist: Bestimmte Textblöcke müssen entsprechend einem der Eingabeparameter („dev“/„training“/„generic“) ausgewählt werden. Ich kann die für jeden Parameter geeigneten Textblöcke in einer separaten .tex-Datei („dev_summary.tex“, „training_summary.tex“ usw.) haben und \inputsie entsprechend dem Parameter auswählen. Ich habe dies derzeit mit folgendem implementiert:

  \newcommand{\whoami}[1]{trainer#1}

und später

 \input{\whoami{_summary.tex}}

Jetzt muss ich nur noch die Zeichenfolge „trainer“ in der neuen Befehlszeile ändern, wenn ich den ersten Parameter ändern möchte. Gibt es jedoch eine bessere Möglichkeit, diese Datei unverändert zu lassen und diese Änderung stattdessen als Befehlszeilenargument zu übergeben?

Antwort1

Es gibt mehrere Möglichkeiten, solche Dinge in der Befehlszeile einzustellen. Die einfachste ist vielleicht, die Eingabe leicht zu ändern, sodass dev_summary.texSie stattdessen Unterverzeichnisse/Ordner usw. haben devund trainerdanndev/summary.tex

Dann muss Ihre Hauptdatei nur noch

\input{summary}

und es wird das erste summary.texin Ihrem Eingabepfad eingeben, also eine Befehlszeile von

TEXINPUTS=dev: pdflatex mainfile

wird eingeben dev/summary.texund

TEXINPUTS=trainer: pdflatex mainfile

wird eingebentrainer/summary.tex

(Dies setzt eine Unix-ähnliche Befehlszeile voraus. Unter Windows müssen Sie die Umgebungsvariable möglicherweise mit einem separaten Befehl festlegen, ich bin nicht sicher.)

verwandte Informationen