Befehl für Beispiele mit Quelltext und LaTeX-Output.

This commit is contained in:
Kremitzl 2020-11-10 13:16:58 +01:00
parent 4afbb0c596
commit 4020342c0d
4 changed files with 45 additions and 29 deletions

View File

@ -3,44 +3,19 @@
Von Haus aus unterstützt \LaTeX\ drei Aufzählungstypen: ungeordnete und geordnete Listen sowie Definitionslisten.
Zu jedem dieser Typen existieren eigene Umgebungen, die aber grundsätzlich gleich aufgebaut sind.
\begin{figure}[H]
\begin{minted}{latex}
\begin{itemize}
\item Nudelplatten
\item Passierte Tomaten
\item Kräuter \begin{enumerate}
\item Oregano
\item Basilikum
\item Rosmarin
\end{enumerate}
\end{itemize}
\end{minted}
\caption{Beispielhafte ungeordnete Aufzählung}
\label{lst:UnorderedList}
\end{figure}
\todo{Show result, but without using minipages(?).}
\example{lst:UnorderedList}{aufzaehlungen/verschachtelt.tex}{Beispielhafte ungeordnete Aufzählung}
In \cref{lst:UnorderedList} werden verschiedene Listenelemente (\mintinline{latex}{\item}) von einer \mintinline{latex}{itemize}-Umgebung eingerahmt.
In \cref{lst:UnorderedList-code} werden verschiedene Listenelemente (\mintinline{latex}{\item}) von einer \mintinline{latex}{itemize}-Umgebung eingerahmt.
Innerhalb eines Listenelements kann eine neue Listenumgebung eröffnet werden, um eine verschachtelte Liste zu erhalten.
Ersetzt man \mintinline{latex}{itemize} durch \mintinline{latex}{enumerate}, erhält man bei sonst gleichem Quelltext eine geordnete Liste.
Für etwas weniger gebräuchliche Definitionslisten muss die Umgebung \mintinline{latex}{description} verwendet werden.
Außerdem erhalten die Elemente in eckigen Klammern den zu definierenden Begriff.
\begin{figure}[H]
\begin{minted}{latex}
\begin{description}
\item [Béchamelsauce] Béchamel %
\item [Lasagne] Als Lasagne %
\end{description}
\end{minted}
\caption{Beispielhafte Definitionsliste}
\label{lst:UnorderedList}
\end{figure}
\todo{Show result, but without using minipages(?).}
\example{lst:DefinitionList}{aufzaehlungen/definition.tex}{Beispielhafte Definitionsliste}
Die sehr großen Abstände zwischen einzelnen Listenelementen können durch das Paket \mintinline{latex}{paralist}\footnote{\url{https://www.ctan.org/pkg/paralist}} verringert werden.
Hierzu wird nur der Umgebungsname ersetzt: \mintinline{latex}{compactitem} statt \mintinline{latex}{itemize}, \mintinline{latex}{compactenum} statt \mintinline{latex}{enumerate} und \mintinline{latex}{compactdesc} statt \mintinline{latex}{description}.
Soll die Aufzählung im Fließtext erscheinen, bringt \mintinline{latex}{paralist} dafür die Umgebungen \mintinline{latex}{inparaenum} und \mintinline{latex}{inparaitem} mit.
Um das Aufzählungszeichen oder die Nummerierung anzupassen, kann das Paket \mintinline{latex}{enumitem}\footnote{\url{https://www.ctan.org/pkg/enumitem}} verwendet werden.
\mintinline{latex}{\begin{enumerate}[label=\roman*]} erzeugt eine Liste mit römischen Zahlen. Für alphabetische Nummerierung sorgt der Parameter \mintinline{latex}{[label=\alph*]}.
\mintinline{latex}{\begin{enumerate}[label=\roman*]} erzeugt eine Liste mit römischen Zahlen. Für alphabetische Nummerierung sorgt der Parameter \mintinline{latex}{[label=\alph*]}.

View File

@ -0,0 +1,4 @@
\begin{description}
\item [Béchamelsauce] Béchamel %
\item [Lasagne] Als Lasagne %
\end{description}

View File

@ -0,0 +1,9 @@
\begin{itemize}
\item Nudelplatten
\item Passierte Tomaten
\item Kräuter \begin{enumerate}
\item Oregano
\item Basilikum
\item Rosmarin
\end{enumerate}
\end{itemize}

View File

@ -16,6 +16,7 @@
\usepackage{graphicx}
\graphicspath{graphics/}
\usepackage{subcaption}
\usepackage{paralist} % kompakte Listen
@ -29,3 +30,30 @@
\newcommand\acro[1]{\textsc{\lowercase{#1}}}
% arguments:
% 1. label
% 2. content path
% 3. caption
\newcommand\example[3]{
\begin{figure}[H]
\begin{subfigure}[b]{.48\textwidth}
\hrule\medskip
\inputminted[breaklines]{tex}{content/#2}
\hrule\medskip
\caption{\LaTeX-Code}
\label{#1-code}
\end{subfigure}
\hfill
\begin{subfigure}[b]{.48\textwidth}
\hrule\medskip
\input{content/#2}
\hrule\medskip
\caption{Ergebnis}
\label{#1-result}
\end{subfigure}
\caption{#3}
\label{#1}
\end{figure}
}