Files
T2000/kapitel1.tex
2023-07-10 20:46:24 +02:00

305 lines
13 KiB
TeX

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Descr: Vorlage für Berichte der DHBW-Karlsruhe, Ein Kapitel
%% Author: Prof. Dr. Jürgen Vollmer, vollmer@dhbw-karlsruhe.de
%% $Id: kapitel1.tex,v 1.24 2020/03/13 16:02:34 vollmer Exp $
%% -*- coding: utf-8 -*-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Einleitung}
\section{Dateien}
Diese Vorlage umfasst folgende Dateien:
\begin{description}
\item[bericht.tex] Die Haupt-\TeX-Datei. Hier werden die Einstellungen für das
Deckblatt vorgenommen.
\item[bericht.sty] Die benötigten \LaTeX-Pakete werden hier aufgelistet. Eigene Macros definiert.
\item[bericht.bib] Die Bib\TeX\ "`Datenbank"' für die Literaturreferenzen.
\item[abk.tex] \LaTeX-Datei, welche Abkürzungen definiert.
\item[kapitel1.tex] \LaTeX-Datei für das 1. Kapitel.
\item[kapitel2.tex] \LaTeX-Datei für das 2. Kapitel.
\item[dhbw-logo.png] Das Logo der DHBW-Karlsruhe.
\item[lowe.png] Das \LaTeX-Maskottchen.
\item[Makefile] Zum Erzeugen der PDF-Ausgabe.
\item[Pakete] Das Verzeichnis enthält einige Pakete, die u.\,U.\,unter \emph{Unix} nicht installiert
sind. Wenn \LaTeX\ also darüber beklagt, daß Pakete fehlen, folgen Sie den Installationsanweisungen
der Pakete. Prüfen Sie, ob es neuere Versionen der Pakte gibt. In der Datei
\texttt{bericht.sty} sind entsprechende Links auf die Quellen im Internet angegeben.
Wenn Sie unter \emph{Microsoft Windows} bei der Installation
\enquote{Install missing packages on the fly $\longrightarrow$ YES} ausgewählt haben,
werden fehlende Pakete automatisch installiert.
\item[README.txt] Siehe Listing~\ref{fig-readme}.
\end{description}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Erzeugen der PDF-Dateien}
\subsection{Unix + Kommandozeile}
Die Programmaufrufe zum Erzeugen der \Def{PDF-Datei} unter \emph{Unix}
sind im \texttt{Makefile} angegeben. Im Wsentlichen ruft man in der Konsole das Kommando
\texttt{pdflatex bericht}. Damit alle Referenzen innerhalb des Textes, die Seitennummern,
die Literaturreferenzen etc.\,korrekt ausgegeben werden, muss man \LaTeX mindestens dreimal hintereinander aufrufen.
\begin{verbatim}
pdflatex bericht
bibtex bericht
makeindex -s bericht.ist bericht
pdflatex bericht
pdflatex bericht
\end{verbatim}
Dieser vollständgige Zyklus ist aber für's \enquote{Probelesen} nicht nötig.
\texttt{bibtex} erzeugt die Lieteraturreferenzen, \texttt{makeindex} erstellt den Index.
\subsection{Andere}
Unter \emph{Microsoft Windows} öffnen Sie die Datei \emph{bericht.tex} im \emph{TexnicCenter}.
In vielen Betriebsystemen gibt es auch graphische Oberflächen zur Erstellung von Texten mit \LaTeX,
diese erzeugen dann die PDF-Dateien -- ebenfalls durch Aufruf eines entsprechenden
Konsolenprogrammes, allerdings \enquote{unsichtbar} für den Benutzer.
\subsection{Geht's nicht etwas fixer? Eigene Formatdatei}
Das Einlesen aller eingebundenen Pakete pro Aufruf von \texttt{pdflatex} kann mitunter
\enquote{etwas dauern}. Dies lässt sich beschleunigen, indem man eine eigene \enquote{Formatdatei}
\index{Formatdatei} \texttt{bericht.fmt} erzeugt, diese enthält ein vorkomplierte \enquote{Version}
der Pakete. Damit \texttt{pdflatex} diese vorkompilierte Datei benutzt, muss in der ersten Zeile der
\texttt{bericht.tex} Datei folgende Zeile stehen:
\begin{verbatim}
%&bericht
\end{verbatim}
gefolgt von einer Leerzeile. Existiert die Datei \texttt{bericht.fmt} nicht, werden die Pakete
\enquote{wie üblich} einzeln eingebunden.
Damit \texttt{pdflatex} \enquote{weiss} was alles vorübersetzt werden soll, muss in
\texttt{bericht.tex} folgende Zeile stehen
\begin{verbatim}
\csname endofdump\endcsname
\end{verbatim}
ACHTUNG, wenn man eine eigene Formatdatei benutzt, werden Änderungen an \texttt{bericht.sty}
erst wirksam, wenn die Format-Datei neu erzeugt wurde!
Genauer alle Änderungen, die textuell vor der Zeile \texttt{$\dots$ endofdump $\dots$} stehen,
werden erst wirksam, wenn die Formatdatei neu erzeugt wurde
Das Kommando zum Erzeugen der Formatdatei lautet:
\begin{verbatim}
pdflatex -ini -jobname=bericht "&pdflatex" mylatexformat.ltx bericht.tex
\end{verbatim}
Weitere Infos finden Sie auf den hier\footnote{
\url{https://tex.stackexchange.com/questions/79493/ultrafast-pdflatex-with-precompiling} und\\
\url{https://ctan.org/pkg/mylatexformat}}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Einfügen von Bildern und Querverweise im Text}
\index{Bilder}
Abb.~\ref{fig-loewe} auf Seite~\pageref{fig-loewe} zeigt das \LaTeX-Maskottchen.
\begin{figure}[htbp]
\centering
\caption{\label{fig-loewe}Der \LaTeX-Löwe}
\end{figure}
Die Benutzung des \texttt{varioref}-Paketes macht das Benutzen von Referenzen einfacher.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Literaturreferenzen}
\LaTeX\ \cite{lamport.1995a} basiert auf \TeX \cite{knuth.1984a}.
Die Literaturreferenzen werden von Bib\TeX verwaltet.
Hier ein Beispiel des Zitierens von Web-Seiten
\cite{dante.2010a} ist der Anlaufpunkt für \LaTeX\ in Deutschland.
URLs zitieren kann man so \cite{dante.2010a} machen.
\section{Literaturreferenzen mit dem Bib\LaTeX-Paket}
\index{Literaturreferenz}
Das Bib\LaTeX-Paket erlaubt eine deutlich komfortableren Zugriff auf Einträge der
BiB\TeX-"`Datenbank"' als die einfachen Bib\TeX-Stile. Allerdings ist das \texttt{bibtex}-Paket
nicht standard mässig installiert. Es muß zusammen mit dem \texttt{etoolbox}-Paket installiert
werden, s.\
\url{http://dante.ctan.org/tex-archive/help/Catalogue/entries/etoolbox.html} und\\
\url{http://dante.ctan.org/tex-archive/help/Catalogue/entries/biblatex.html}.
% Nur mit BIBLATEX
Ein Beispiel was man mit Bib\LaTeX\ machen kann (siehe auch \texttt{bericht.s}).
\citefullauthor{knuth.1984a} hat in seinem wegeweisenden Buch
\citetitle{knuth.1984a} aus dem Jahr \citeyear{knuth.1984a}
die Grundlagen von \TeX\ gelegt.
% nur mit BIBLATEX:
Nur die URL angeben: \citeurl{dante.2010a} oder URL mit Referenz:
\citeurlref{dante.2010a}, oder eben "`einfach"' wie oben gezeigt.
Tabelle~\ref{bibtex-macros} zeigt die wichtigsten Macros.
\begin{table}
\begin{center}
\small
\begin{tabular}{|l|l|l|}\hline
\multicolumn{1}{|c}{Macro} & \multicolumn{1}{|c}{Bedeutung} & \multicolumn{1}{|c|}{Beispiel} \\\hline\hline
\verb+\cite{referenz}+ & Ausgabe der Referenz & \cite{knuth.1984a} \\
\verb+\citetitle{referenz}+ & Ausgabe der Titels & \citetitle{knuth.1984a} \\
\verb+\citefullauthor{referenz}+ & Ausgabe der Autors & \citefullauthor{knuth.1984a} \\
\verb+\citeyear{referenz}+ & Ausgabe der Jahres & \citeyear{knuth.1984a} \\\hline
\multicolumn{3}{|c|}{Internet-Resourcen referenezieren} \\\hline
\verb+\citeurl{referenz}+ & Referenz auf eine URL & \citeurl{dante.2010a} \\
\verb+\citeurlref{referenz}+ & URL mit Referenz & \citeurlref{dante.2010a} \\\hline
\end{tabular}
\end{center}
\caption{\label{bibtex-macros}Macros für die Literaturrefrenzen}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Quellcodelistings}
\Def[Quellcodelisting]{Quellcodelistings} können mit dem \texttt{listings}-Paket gesetzt werden.
Es können Dateien direkt inkludiert werden, wie das \texttt{Makefile} aus
Listing~\ref{algo-makefile}, oder in der \LaTeX-Datei angegeben werden (siehe
Listing~\ref{algo-quicksort}).
\newpage
% Inkludiere eine Programmdatei
\lstinputlisting[language=make, % Welche Sprache, see listings-Dokumentation
style=algoBericht, % Benutze oben definierten Stil
label={algo-makefile}, % Label für \ref{..}
basicstyle=\tiny\sffamily,
captionpos=b,
caption={Das Makefile}]{Makefile} % Überschrift, Dateiname der zu inkludieren Datei
% ACHTUNG: ProTeXT / Windows hat hier ein Bug: "Makefile" ohne Punkt am Ende wird nicht gefunden.
% ($%&/ DOS-Legacy :-(
% Daher muss für Linux eine Datei "Makefile." (mit Punkt am Ende) als Symlink auf "Makefile"
% angelegt werden und hier "Makefile." angegeben werden. Das ist nur notwendig,
% wenn der Dateiname keinen Suffix hat....
% Setze Programm direkt
\begin{lstlisting}[language=c,
frame=single, % Ein Rahmen um den Code
framexleftmargin=15pt, % Rahmen link von den Zahlen
style=algoBericht,
label={algo-quicksort},
captionpos=b, % Caption unter den Code setzen
caption={quicksort in C}]
void quicksort (int *a, int links, int rechts)
/* sortiert die Elemente a[links] .. a[rechts] */
{
/* partitioniere a[links] .. a[rechts] */
int m = (links + rechts) / 2 ;
int x = a[m];
int l = links, r = rechts;
while (l <= r) {
while (a[l] < x) l++;
printf ("von links: l=%d\n", l);
while (a[r] > x) r--;
printf ("von rechts: r=%d\n", r);
if (l <= r) {
int t = a[l]; a[l] = a[r]; a[r] = t;
/* a[l] <-> a[r] */
l++; r--; /* "verschiebe Pfeile" */
}
}
/* Sortiere linken und rechten Teilarray */
if (links < r) quicksort (a, links, r);
if (l < rechts) quicksort (a, l, rechts);
}
\end{lstlisting}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Benutzen von Abkürzungen}
\acp{Abk} % Plural der Abkürzung
werden mit dem \verb+acronym+-Paket veraltet.
Jede
\ac{Abk} % Singular
wird in der Datei \texttt{abk.tex} definiert.
Eine \ac{Abk} wird mit dem \verb+\ac{Abk}+ Macro benutzt. Beim ersten Auftreten
wird der Langtext und in Klammern die zugehörige \Def{Abkürzung} ausgegeben. Bei allen
folgenden Benutzungen wird nur die Abkürzung ausgegeben.
Tabelle~\ref{acronym-macros} zeigt die wichtigsten Macros.
\begin{table}[ht]
\begin{center}
\begin{tabular}{|ll|}\hline
\verb+\acs{NAME}+ & immer die Kurzform: \acs{Abk} \\
\verb+\acl{NAME}+ & immer die Langform: \acl{Abk} \\
\verb+\acp{NAME}+ & Kurzform des Plurals: \acp{Abk} \\
\verb+\aclp{NAME}+ & immer Langform des Plurals: \aclp{Abk} \\\hline
\end{tabular}
\end{center}
\caption{\label{acronym-macros}Macros für Abkürzungen}
\end{table}
Ein Beispiel, welches zeigt, daß auch Formeln als \acp{Abk} benutzt werden können:\\
\ac{H2O} ist ein wahrlich gefährlicher Stoff. \ac{H2O} verursacht in gasförmigem
Zustand schwerste Verbrennungen der menschlichen Haut und der Atemorgane.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{TODO Markierungen}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Das Paket\todo{Was waren nochmal Pakete?} \texttt{todonotes} stellt das Makro\todo{Was sind \LaTeX\ Macros?}
\verb+\todo{...text....}+ zur Verfügung.
Das Macro \verb+\missingfigure{Da fehlt noch ein Bild}+ erzeugt
\missingfigure{Da fehlt noch ein Bild}.
\todo[color=red,inline]{Das Handbuch \texttt{todonotes} lesen!}
Am Ende des Dokuments wird die Liste aller ToDo's mit \verb+\listoftodos+ ausgegeben\\
(siehe \texttt{bericht.tex}).
\noindent
Das Paket kennt folgende Optionen:
\begin{description}
\item[\texttt{disable}] ToDo's nicht anzeigen
\end{description}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Indices}
Mit dem Paket \verb+makeinx+ und dem Macro \verb+\index+ können leicht Indices erstellt werden.
Das Macro \verb+\Def{..}+ kann für definitinen benutzt werden.
z.\,B.\, Mit demm optionalen Argument wie in \verb+\Def[Definition]{Definitionen}+
(\Def[Definition]{Definitionen}) können verschiedene Schreibweisen im text und Index angegeben
werden.
Weitere interessante Möglichkeiten sind:
\begin{itemize}
\item \verb+\index{Punkt!Unterpunkt}+ \index{Punkt!Unterpunkt}
\item \verb+\index{Verweis|see{Punkt}}+ \index{Verweis|see{Punkt}}
\end{itemize}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Sachen, die mir Anwender geschickt haben}
\subsection{Erstellen eines Formelverzeichnises}
\textsc{Andy Nöltner} \url{ANoeltner@lstelcom.com}
Gleichung~\ref{eq-hx-angle} ist eine schöne Gleichung, die im \emph{Formelverzeichnis}
erscheint.
\begin{equation}
hx = x \cdot \tan \alpha
\eqlabel{eq-hx-angle}{Berechnung Höhenunterschied Tx zu Rx}
\end{equation}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Installationsanleitung}
\hrule
%% ACHTUNG: Es macht Probleme, wenn die inkludierte Datei UTF8 Kodiert ist
%% ggf. hilft: https://www.ctan.org/pkg/listingsutf8
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%