Rotes LaTeX

je länger ich mit LaTeX beschäftige, desto lieber gewinne ich das Textsatzsystem. Manche Dinge allerdings lassen sich nicht mal eben erledigen, sondern dauern dann schon etwas länger. Aber fangen wir, wie so oft, von vorne an. Da ich derzeit für einen Kunden an einer CSS-Dokumentation arbeite, wollte ich mich vom Aufbau an der von Yaml orientieren. Ob die tatsächlich ebenfalls mit LaTeX erstellt wurde, weiß ich nicht. Was mir sehr gut in Bezug auf die Gestaltung der Dokumentation gefällt (auch wenn ich noch nicht mit Sicherheit sagen kann, ob ich sie brauchen werde), sind die farblich abgesetzten Boxen. Das besondere daran: sie haben einen farbigen Hintergrund und jeweils oben und unten eine dünne Linie.

Das sieht dann so aus:

Yaml Boxen


In LaTeX gibt es verschiedene Arten von Boxen, die, zumindest jene, die ich gefunden habe, alle eins gemeinsam haben. Wenn man einen Rahmen einstellt, dann wird die gesamte Box gerahmt. Eine Option, die Linien pro Seite extra einzustellen, ist mir bisher nicht aufgefallen.

Wie dem auch sei, ich kann bei solchen Problemen grundsätzlich nicht stillsitzen und schraube so lange herum, bis ich eine Lösung gefunden habe. Herausgekommen ist dann dabei ein ganzer Wust an Befehlen, um zum gleichen Ergebnis zu kommen. Nicht sehr elegant, wenn man eine Box mehrfach benötigt. Zum Glück gibt es LaTeX den Befehl \newcommand, mit dem sich eigene Befehlssequenzen definieren lassen.

Das ergibt dann folgendes:
\newcommand{\myanobox}[2]{
\vspace{10pt}\\
\begin{minipage}[H]{\textwidth}
\noindent
\setlength\fboxsep{0.5em}%
\setlength\fboxrule{0em}%
\rule{\textwidth}{0.5pt}\\[-1pt]
\fcolorbox{white}{#1}{%
\parbox{\dimexpr\textwidth-2\fboxsep}{%
#2}}
\\[-1pt]
\noindent\rule{\textwidth}{0.5pt}
\end{minipage}\vspace{10pt}\\
}

Mit dem neuen Befehl \myanobox{FARBE}{TEXT} können dann die Boxen innerhalb des Dokumentes erzeugt werden:

Hallo
\myanobox{red}{Lorem ipsum dolorlore magna aliquam erat volutpat. Ut wisi enim ad minimullamcorper suscipit}
Welt

Wobei die Color-Umgebung auf jeden Fall auch eingebunden sein sollte. Das Ergebnis für obigen Code sieht dann so aus:

Red Box


Kommentar verfassen