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. 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. Zu jedem dieser Typen existieren eigene Umgebungen, die aber grundsätzlich gleich aufgebaut sind.
\begin{figure}[H] \example{lst:UnorderedList}{aufzaehlungen/verschachtelt.tex}{Beispielhafte ungeordnete Aufzählung}
\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(?).}
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. 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. 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. 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. Außerdem erhalten die Elemente in eckigen Klammern den zu definierenden Begriff.
\begin{figure}[H] \example{lst:DefinitionList}{aufzaehlungen/definition.tex}{Beispielhafte Definitionsliste}
\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(?).}
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. 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}. 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. 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. 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} \usepackage{graphicx}
\graphicspath{graphics/} \graphicspath{graphics/}
\usepackage{subcaption}
\usepackage{paralist} % kompakte Listen \usepackage{paralist} % kompakte Listen
@ -29,3 +30,30 @@
\newcommand\acro[1]{\textsc{\lowercase{#1}}} \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}
}