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:
|
default: listings
|
||||||
pdflatex --output-directory content/grundstruktur/ content/grundstruktur/hallowelt.tex
|
./compile_listings
|
||||||
pdflatex --output-directory content/grundstruktur/ content/grundstruktur/titelei.tex
|
|
||||||
pdflatex --shell-escape main.tex
|
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!]
|
\begin{table}[h!]
|
||||||
\center
|
\center
|
||||||
\begin{tabular}{ll}
|
\begin{tabular}{cl}
|
||||||
\toprule
|
\toprule
|
||||||
Kürzel & Position \\
|
Kürzel & Position \\
|
||||||
\midrule
|
\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.
|
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.
|
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}
|
\Example{lst:grundaufbau-latex-dokument}{grundstruktur/hallowelt}{grundstruktur/hallowelt_crop}{Beispielhafter Aufbau eines einfachen \LaTeX-Dokuments mit Präambel und Dokumentumgebung}
|
||||||
|
|
||||||
\todo{Wirklich? :D \\ Vielleicht lieber auf \cref{lst:titelei} verweisen?}
|
|
||||||
|
|
||||||
\subsection{Präambel}
|
\subsection{Präambel}
|
||||||
Beginnen wir mit der 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}
|
\subsubsection{Abschnitte und Kapitel}
|
||||||
Texte werden durch Überschriften in Abschnitte und Kapitel unterteilt.
|
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 …}
|
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.
|
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:
|
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.
|
Wird kein Datum angegeben, wird per default das aktuelle Datum gesetzt.
|
||||||
Die genaue Gestaltung hängt ab von der verwendeten Dokumentklasse.
|
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}
|
\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.
|
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}
|
\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.
|
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.
|
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{table}[h!]
|
||||||
\begin{tabular}{@{}ll@{}}
|
\widebox{
|
||||||
\toprule
|
\begin{tabular}{@{}p{\widefigurewidth}p{\widefigurewidth}@{}}
|
||||||
Befehl & Effekt \\
|
\toprule
|
||||||
\midrule
|
Befehl & Effekt \\
|
||||||
\mintinline{tex}|\newpage| & fügt eine neue Seite ein \\
|
\midrule
|
||||||
\mintinline{tex}|\textbf{Text}| & schreibt den übergebenen Text fett \\
|
\mintinline{tex}|\newpage| & fügt eine neue Seite ein \\
|
||||||
\mintinline{tex}|\usepackage[utf8]{inputenc}| & setzt die Textkodierung auf \acro{UTF-8} \\
|
\mintinline{tex}|\textbf{Text}| & schreibt den übergebenen Text fett \\
|
||||||
\mintinline{tex}|\documentclass[a4paper,12pt]{article}| & setzt die Dokumentenklasse \\
|
\mintinline{tex}|\usepackage[utf8]{inputenc}| & setzt die Textkodierung auf \acro{UTF-8} \\
|
||||||
\mintinline{tex}|\frac{3}{4}| & fügt den mathematischen Bruch ein \\
|
\mintinline{tex}|\documentclass[a4paper,12pt]{article}| & setzt die Dokumentenklasse \\
|
||||||
\bottomrule
|
\mintinline{tex}|\frac{3}{4}| & fügt den mathematischen Bruch ein \\
|
||||||
\end{tabular}
|
\bottomrule
|
||||||
|
\end{tabular}
|
||||||
|
}
|
||||||
\caption{Beispiele für \LaTeX-Befehle}
|
\caption{Beispiele für \LaTeX-Befehle}
|
||||||
\label{tbl:latex-commands}
|
\label{tbl:latex-commands}
|
||||||
\end{table}
|
\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[
|
\inputminted[
|
||||||
breaklines=true,
|
breaklines=true,
|
||||||
bgcolor=bg
|
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
|
\centering
|
||||||
\begin{tabular}{llr}
|
\begin{tabular}{llr}
|
||||||
\toprule
|
\toprule
|
||||||
@ -10,5 +10,5 @@
|
|||||||
\bottomrule
|
\bottomrule
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\caption{Bekannte Programmiersprachen}
|
\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.
|
% Box for example code next to the rendered example.
|
||||||
% Arguments:
|
% 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.
|
% 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]{
|
\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]
|
\begin{figure}[htp]
|
||||||
\widebox{
|
\widebox{
|
||||||
% Top rules:
|
% Top rules:
|
||||||
\colrules
|
\colrules
|
||||||
% Left content: code listing:
|
% Left content: code listing:
|
||||||
\begin{subfigure}{\widefigurewidth}
|
\begin{subfigure}{\widefigurewidth}
|
||||||
\inputminted[breaklines]{tex}{content/#2.tex}
|
\inputminted[breaklines]{tex}{listings/#2.tex}
|
||||||
\end{subfigure}
|
\end{subfigure}
|
||||||
\hspace{\widefiguregap}
|
\hspace{\widefiguregap}
|
||||||
% Right content: image or rendered example:
|
% Right content: image or rendered example:
|
||||||
\begin{subfigure}{\widefigurewidth}
|
\begin{subfigure}{\widefigurewidth}
|
||||||
\IfFileExists{content/#2.pdf}{
|
\IfFileExists{listings/#3.pdf}{
|
||||||
\includegraphics[width=\linewidth]{content/#2.pdf}
|
\includegraphics[width=\linewidth]{listings/#3.pdf}
|
||||||
}{
|
}{
|
||||||
\medskip
|
\medskip
|
||||||
\input{content/#2}
|
\input{listings/#3}
|
||||||
\medskip
|
\medskip
|
||||||
}
|
}
|
||||||
\end{subfigure}
|
\end{subfigure}
|
||||||
@ -91,8 +102,9 @@
|
|||||||
\end{subfigure}
|
\end{subfigure}
|
||||||
}
|
}
|
||||||
% General caption:
|
% General caption:
|
||||||
\caption{#3}
|
\caption{#4}
|
||||||
\label{#1}
|
\label{#1}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user