Allee - liebeslakritze on Flickr, license CC-BY

Eigene Umgebungen in LaTeX verwenden

Was ist besser: einen Text kursiv zu machen oder ihn beispielsweise als besonderen Eigennamen kennzeichnen und dann alle Eigennamen als kursiv kennzeichnen lassen? Zweiteres ist flexibler, weil Sie damit auch später noch die Darstellung leicht ändern können. Gleiches gilt für Umgebungen in LaTeX, wie beispielweise Aufzählungen oder längere Zitate. Lesen Sie einen Auszug aus meinem LaTeX-Buch:

Auch bei der Textausrichtung beispielsweise ist logisches Markup dem direkten physischen prinzipiell vorzuziehen. Anstatt also bestimmte Textpassagen zum Beispiel direkt zu zentrieren, legen Sie sich mit dem Befehl \newenvironment besser eine eigene Umgebung an und gestalten diese entsprechend. Dies hat wieder den Vorteil, dass Sie nur eine Änderung vornehmen, falls Sie die Textpassagen später vielleicht doch lieber linksbündig ausrichten möchten.

Die Definition einer neuen Umgebung (hier neueumgebung) funktioniert etwa so:

\newenvironment{neueumgebung}{%
\begin{center}
}{%
\end{center}
}

Die neue Umgebung verwenden Sie dann wie gehabt mit

\begin{neueumgebung}
Der Text.
\end{neueumgebung}

Der Befehl hat folgende Syntax:

\newenvironment{Name}[Zahl][Vorbelegung]{Startbefehle}{Endbefehle}

Name ist der Name der neuen Umgebung. Wollen Sie beim Start der Umgebung noch einen Parameter mitgeben, dann benötigen Sie die Zahl der Argumente. Darauf folgen die Befehle, die Sie am Beginn Ihrer neuen Umgebung ausgeführt haben wollen – in unserem Beispiel das \begin{center} -, in gleicher Weise folgen die Endbefehle.

Sie könnten nun auch eigene Umgebungen verwenden, um Befehle temporär mittels \renewcommand einer anderen Funktion zu belegen. Soll beispielsweise in einer Umgebung stadt eine logische Formatierung namens \ortsname anders formatiert werden als im Rest des Dokuments, dann könnte dies in etwa so aussehen:

\documentclass{scrartcl}
\newcommand{\ortsname}[1]{\textbf{#1}}      %% logisches Markup
\newenvironment{stadt}{%                    %% neue Umgebung
  \let\ortsnamesav=\ortsname                %% Befehl sichern
  \renewcommand{\ortsname}[1]{\textsc{##1}} %% neu definieren
}{%
  \let\ortsname=\ortsnamesav                %% sichern
}
\begin{document}
\ortsname{Hamburg}
\begin{stadt}
  \ortsname{Berlin}
\end{stadt}
\ortsname{Augsburg}
\end{document}

In Zeile 2 wird die logische Formatierung für \ortsname festgelegt. Nun soll diese in der ab Zeile 3 definierten Umgebung stadt anders aussehen, weil etwa in dieser Umgebung eine Zusammenfassung der Stadteigenschaften steht (habe ich im Beispiel nicht ausgeführt). Um nun nach der Umgebung wieder die ursprüngliche Formatierung zu bekommen, sichern Sie in Zeile 4 den Inhalt von \ortsname mit dem LaTeX-Befehl \let nach \ortsnamesav. Es steht \let, dann der Name des Zielbefehls, ein =, dann der Name des Quellbefehls, alles ohne Argumente. Nun definieren Sie in Zeile 5 \ortsname neu. In der Definition des Umgebungsendes in Zeile 7 schreiben Sie die gespeicherte Fassung wieder in den Originalbefehl zurück. Der eigentliche Dokumenttext zeigt das Verhalten in einem kurzen Beispiel, die Ausgabe sieht dann etwa so aus:

Hamburg

Berlin

Augsburg

Seien Sie nicht erschrocken! Sie brauchen ja nicht gleich alles auf einmal zu verwenden, es ist nur gut zu wissen, wie Sie sich das Leben auf Dauer einfacher machen können, indem Sie eigene Umgebungen definieren.

[latexbuchamz]

Diese Einführung in eigene Umgebungen stammt aus meinem LaTeX-Buch »Wissenschaftliche Arbeiten schreiben mit LaTeX«. Lernen Sie Textsatz in LaTeX mit dem Buch und empfehlen Sie diesen Artikel weiter!

(Foto: liebeslakritze via Compfight License CC-BY)

Teilen & Verweilen

Kommentare

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert