Zusätzliche Variante des Example-Befehls zur Anzeige eines anderen Datei.
This commit is contained in:
parent
09d11f617a
commit
98dc03f803
6
Makefile
6
Makefile
@ -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
20
compile_listings
Executable 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
|
||||
|
||||
@ -1,5 +0,0 @@
|
||||
public class Test {
|
||||
public static void main(/*…*/) {
|
||||
System.out.println("Welcome, fellow LaTeX learners!");
|
||||
}
|
||||
}
|
||||
@ -1 +0,0 @@
|
||||
\inputminted{java}{content/code/Test.java}
|
||||
@ -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
|
||||
|
||||
@ -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.
@ -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.
|
||||
|
||||
@ -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
6
listings/code/Test.java
Normal file
@ -0,0 +1,6 @@
|
||||
public class Test {
|
||||
public static void main(/*…*/) {
|
||||
System.out.println("Welcome, " +
|
||||
"fellow LaTeX learners!");
|
||||
}
|
||||
}
|
||||
@ -3,4 +3,4 @@
|
||||
\inputminted[
|
||||
breaklines=true,
|
||||
bgcolor=bg
|
||||
]{java}{content/code/Test.java}
|
||||
]{java}{listings/code/Test.java}
|
||||
1
listings/code/minted-import.tex
Normal file
1
listings/code/minted-import.tex
Normal file
@ -0,0 +1 @@
|
||||
\inputminted{java}{listings/code/Test.java}
|
||||
BIN
listings/grundstruktur/hallowelt_crop.pdf
Normal file
BIN
listings/grundstruktur/hallowelt_crop.pdf
Normal file
Binary file not shown.
9
listings/grundstruktur/hallowelt_crop.tex
Normal file
9
listings/grundstruktur/hallowelt_crop.tex
Normal 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}
|
||||
Binary file not shown.
14
listings/grundstruktur/titelei_crop.tex
Normal file
14
listings/grundstruktur/titelei_crop.tex
Normal 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}
|
||||
|
||||
BIN
listings/grundstruktur/ueberschriften_crop.pdf
Normal file
BIN
listings/grundstruktur/ueberschriften_crop.pdf
Normal file
Binary file not shown.
20
listings/grundstruktur/ueberschriften_crop.tex
Normal file
20
listings/grundstruktur/ueberschriften_crop.tex
Normal 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}
|
||||
|
||||
|
||||
@ -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}
|
||||
|
||||
11
listings/tabellen/beispieltabelle_renderbar.tex
Normal file
11
listings/tabellen/beispieltabelle_renderbar.tex
Normal 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}
|
||||
@ -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}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user