Zusätzliche Variante des Example-Befehls zur Anzeige eines anderen Datei.

This commit is contained in:
Kremitzl 2020-11-22 22:08:16 +01:00
parent 09d11f617a
commit 98dc03f803
30 changed files with 124 additions and 37 deletions

View File

@ -1,4 +1,4 @@
default:
pdflatex --output-directory content/grundstruktur/ content/grundstruktur/hallowelt.tex
pdflatex --output-directory content/grundstruktur/ content/grundstruktur/titelei.tex
default: listings
./compile_listings
pdflatex --shell-escape main.tex

20
compile_listings Executable file
View File

@ -0,0 +1,20 @@
#!/bin/bash
for D in listings/*; do
if [ -d "${D}" ]; then
for F in ${D}/*_page.tex; do
if [ -f "${F}" ]; then
echo "###### Compiling ${F} ######"
pdflatex --output-directory "${D}" "${F}"
fi
done
for F in ${D}/*_crop.tex; do
if [ -f "${F}" ]; then
echo "###### Compiling and cropping ${F} ######"
pdflatex --output-directory "${D}" "${F}"
pdfcrop "${D}/$(basename -s .tex ${F}).pdf" \
"${D}/$(basename -s .tex ${F}).pdf"
fi
done
fi
done

View File

@ -1,5 +0,0 @@
public class Test {
public static void main(/*…*/) {
System.out.println("Welcome, fellow LaTeX learners!");
}
}

View File

@ -1 +0,0 @@
\inputminted{java}{content/code/Test.java}

View File

@ -33,7 +33,7 @@ Ein interessanter Aspekt des What-you-see-is-what-you-mean-Paradigmas ist die Ar
\begin{table}[h!]
\center
\begin{tabular}{ll}
\begin{tabular}{cl}
\toprule
Kürzel & Position \\
\midrule

View File

@ -5,9 +5,7 @@ Im Kern besteht es immer aus zwei Teilen: einer Präambel zu Beginn sowie der un
Als \emph{Präambel} bezeichnen wir die ersten Befehle eines \LaTeX-Dokumentes, mit denen globale Einstellungen wie die Dokumentklasse, die Zeichenkodierung, die Sprache und das Seitenformat festgelegt werden.
Die \emph{Dokumentumgebung} hingegen enthält den Inhalt, der später in der fertigen \acro{PDF}-Datei erscheinen soll.
\example{lst:grundaufbau-latex-dokument}{grundstruktur/hallowelt}{Beispielhafter Aufbau eines einfachen \LaTeX-Dokuments mit Präambel und Dokumentumgebung}
\todo{Wirklich? :D \\ Vielleicht lieber auf \cref{lst:titelei} verweisen?}
\Example{lst:grundaufbau-latex-dokument}{grundstruktur/hallowelt}{grundstruktur/hallowelt_crop}{Beispielhafter Aufbau eines einfachen \LaTeX-Dokuments mit Präambel und Dokumentumgebung}
\subsection{Präambel}
Beginnen wir mit der Präambel.
@ -101,7 +99,7 @@ Für den Backslash muss der Befehl \mintinline{latex}{\textbackslash} verwendet
\subsubsection{Abschnitte und Kapitel}
Texte werden durch Überschriften in Abschnitte und Kapitel unterteilt.
Immer nutzbar sind die in \cref{lst:ueberschriften} dargestellten Befehle.\todo{So gehts natürlich nicht, das zerschießt uns alle Counter …}
\example{lst:ueberschriften}{grundstruktur/ueberschriften}{Überschriftenebenen}
\Example{lst:ueberschriften}{grundstruktur/ueberschriften}{grundstruktur/ueberschriften_crop}{Überschriftenebenen}
Je nach Dokumentenklasse sind außerdem \mintinline{latex}{\chapter{Kapitel}} und \mintinline{latex}{\part{Teil}} verfügbar -- beispielsweise in Büchern.
Mit Sternchen fallen bei allen diesen Befehlen die Nummerierung und der Eintrag im Inhaltsverzeichnis\footnote{Vgl. \cref{subsubsec:inhaltsverzeichnis}} weg:
@ -122,7 +120,7 @@ Mehrere Autoren werden dabei mit \mintinline{latex}{\and} verbunden.
Wird kein Datum angegeben, wird per default das aktuelle Datum gesetzt.
Die genaue Gestaltung hängt ab von der verwendeten Dokumentklasse.
\example{lst:titelei}{grundstruktur/titelei}{Die Titelei}
\Example{lst:titelei}{grundstruktur/titelei}{grundstruktur/titelei_crop}{Die Titelei}
\subsubsection{Verzeichnisse}\label{subsubsec:inhaltsverzeichnis}

Binary file not shown.

View File

@ -22,7 +22,7 @@ Wenn ihr den zusätzlichen Weißraum entfernen möchtet, der standardmäßig die
Die komplette Tabelle kann dann beispielsweise so aussehen wie in \cref{lst:tabelle} abgebildet.
\example{lst:tabelle}{tabellen/beispieltabelle}{Eine komplette Tabelle}
\Example{lst:tabelle}{tabellen/beispieltabelle}{tabellen/beispieltabelle_renderbar}{Eine komplette Tabelle}
\paragraph{Überlänge}
Für Tabellen, die über eine Seite hinausgehen, oder die Zeilenumbrüche innerhalb einzelner Tabellenzellen erfordern, kann zusätzlich das Paket \texttt{longtable} eingebunden werden, mit dem \texttt{booktabs} ebenfalls kompatibel ist.

View File

@ -20,17 +20,19 @@ Die in Quelltext verwendeten Befehle folgen einem allgemeinen Aufbau:
Ein Befehl kann mehrere optionale und/oder obligatorische Parameter verwenden. Manche Befehle besitzen keine obligatorischen Parameter. Einige werden in \cref{tbl:latex-commands} dargestellt.
\begin{table}[h!]
\begin{tabular}{@{}ll@{}}
\toprule
Befehl & Effekt \\
\midrule
\mintinline{tex}|\newpage| & fügt eine neue Seite ein \\
\mintinline{tex}|\textbf{Text}| & schreibt den übergebenen Text fett \\
\mintinline{tex}|\usepackage[utf8]{inputenc}| & setzt die Textkodierung auf \acro{UTF-8} \\
\mintinline{tex}|\documentclass[a4paper,12pt]{article}| & setzt die Dokumentenklasse \\
\mintinline{tex}|\frac{3}{4}| & fügt den mathematischen Bruch ein \\
\bottomrule
\end{tabular}
\widebox{
\begin{tabular}{@{}p{\widefigurewidth}p{\widefigurewidth}@{}}
\toprule
Befehl & Effekt \\
\midrule
\mintinline{tex}|\newpage| & fügt eine neue Seite ein \\
\mintinline{tex}|\textbf{Text}| & schreibt den übergebenen Text fett \\
\mintinline{tex}|\usepackage[utf8]{inputenc}| & setzt die Textkodierung auf \acro{UTF-8} \\
\mintinline{tex}|\documentclass[a4paper,12pt]{article}| & setzt die Dokumentenklasse \\
\mintinline{tex}|\frac{3}{4}| & fügt den mathematischen Bruch ein \\
\bottomrule
\end{tabular}
}
\caption{Beispiele für \LaTeX-Befehle}
\label{tbl:latex-commands}
\end{table}

6
listings/code/Test.java Normal file
View File

@ -0,0 +1,6 @@
public class Test {
public static void main(/*…*/) {
System.out.println("Welcome, " +
"fellow LaTeX learners!");
}
}

View File

@ -3,4 +3,4 @@
\inputminted[
breaklines=true,
bgcolor=bg
]{java}{content/code/Test.java}
]{java}{listings/code/Test.java}

View File

@ -0,0 +1 @@
\inputminted{java}{listings/code/Test.java}

Binary file not shown.

View File

@ -0,0 +1,9 @@
\documentclass[ngerman]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\begin{document}
\thispagestyle{empty}
Hallo, Welt!
\end{document}

View File

@ -0,0 +1,14 @@
\documentclass[ngerman]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\title{Die Welt der Trüffel}
\author{Fooboar Rüssel \and Fachschaft WIAI}
\date{\today}
\begin{document}
\pagenumbering{gobble}
\maketitle
\end{document}

Binary file not shown.

View File

@ -0,0 +1,20 @@
\documentclass[ngerman]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\begin{document}
\thispagestyle{empty}
\section{Ebene 1}
Lorem ipsum dolor sit amet, consectetur adipisici elit.
\subsection{Ebene 2}
Lorem ipsum dolor sit amet, consectetur adipisici elit.
\subsubsection{Ebene 3}
Lorem ipsum dolor sit amet, consectetur adipisici elit.
\paragraph{Ebene 4}
Lorem ipsum dolor sit amet, consectetur adipisici elit.
\subparagraph{Ebene 5}
Lorem ipsum dolor sit amet, consectetur adipisici elit.
\end{document}

View File

@ -1,4 +1,4 @@
% \begin{table}[h]
\begin{table}[h]
\centering
\begin{tabular}{llr}
\toprule
@ -10,5 +10,5 @@
\bottomrule
\end{tabular}
\caption{Bekannte Programmiersprachen}
% \end{table}
\end{table}

View File

@ -0,0 +1,11 @@
\centering
\begin{tabular}{llr}
\toprule
Sprache & Autor & Jahr \\
\midrule
C++ & Bjarne Stroustrup & 1985 \\
Java & James Gosling & 1998 \\
Python & Guido van Rossum & 1991 \\
\bottomrule
\end{tabular}
\caption*{Bekannte Programmiersprachen}

View File

@ -53,26 +53,37 @@
% Box for example code next to the rendered example.
% Arguments:
% 1. Label
% 1. Label.
% 2. Content path without extension. If a corresponding PDF file exists, it gets included as an image. Otherwise, the LaTeX code gets rendered directly.
% 3. Caption
% 3. Caption.
\newcommand\example[3]{
\Example{#1}{#2}{#2}{#3}
}
% Box for example code next to the rendered example.
% Arguments:
% 1. Label.
% 2. Content path without extension. If a corresponding PDF file exists, it gets included as an image. Otherwise, the LaTeX code gets rendered directly.
% 3. Alternative path for Rendering (c.f. 2.)
% 4. Caption.
\newcommand\Example[4]{
\begin{figure}[htp]
\widebox{
% Top rules:
\colrules
% Left content: code listing:
\begin{subfigure}{\widefigurewidth}
\inputminted[breaklines]{tex}{content/#2.tex}
\inputminted[breaklines]{tex}{listings/#2.tex}
\end{subfigure}
\hspace{\widefiguregap}
% Right content: image or rendered example:
\begin{subfigure}{\widefigurewidth}
\IfFileExists{content/#2.pdf}{
\includegraphics[width=\linewidth]{content/#2.pdf}
\IfFileExists{listings/#3.pdf}{
\includegraphics[width=\linewidth]{listings/#3.pdf}
}{
\medskip
\input{content/#2}
\input{listings/#3}
\medskip
}
\end{subfigure}
@ -91,8 +102,9 @@
\end{subfigure}
}
% General caption:
\caption{#3}
\caption{#4}
\label{#1}
\end{figure}
}