eingabefile.tex 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373
  1. %!TEX root = l2kurz.tex
  2. % Siehe https://github.com/texdoc/l2kurz
  3. \section{Eingabefile}
  4. Das Eingabefile für \LaTeX{} ist ein Textfile mit der Endung \lstinline+.tex+.
  5. Es wird mit einem Editor erstellt und enthält sowohl den Text, der gedruckt
  6. werden soll, als auch die Befehle, aus denen \LaTeX\ erfährt, wie der Text
  7. gesetzt werden soll. Als Editor bietet sich ein spezieller \LaTeX-Editor an
  8. wie beispielsweise Texmaker (\href{http://www.xm1math.net/texmaker}{\nolinkurl
  9. {www.xm1math.net/texmaker}}). Diese Editoren bieten neben Syntaxhervorhebung
  10. und "=überprüfung auch vordefinierte Arbeitsabläufe, so dass der Benutzer sich
  11. auf die Erstellung des Texts konzentrieren kann. Es ist aber auch möglich und
  12. gängige Praxis, \emph{normale} Texteditoren wie emacs, vim oder notepad++ zu
  13. benutzen.
  14. \subsection{Leerstellen}
  15. "`Unsichtbare"' Zeichen wie das Leerzeichen, Tabulatoren und das Zeilenende
  16. werden von \LaTeX{} einheitlich als Leerzeichen behandelt. \emph{Mehrere}
  17. Leerzeichen werden wie \emph{ein} Leerzeichen behandelt. Wenn man andere als
  18. die normalen Wort- und Zeilenabstände will, kann man dies also nicht durch die
  19. Eingabe von zusätzlichen Leerzeichen oder Leerzeilen erreichen, sondern nur mit
  20. entsprechenden \LaTeX-Befehlen.
  21. Eine Leerzeile zwischen Textzeilen bedeutet das Ende eines Absatzes.
  22. \emph{Mehrere} Leerzeilen werden wie \emph{eine} Leerzeile behandelt.
  23. \subsection{\LaTeX-Befehle und Gruppen}
  24. Die meisten \LaTeX-Befehle haben eines der beiden folgenden Formate: Entweder
  25. sie beginnen mit einem Backslash~(\lstinline|\|) und haben dann einen nur aus
  26. Buchstaben bestehenden Namen, der durch ein oder mehrere Leerzeichen oder
  27. durch ein nachfolgendes Sonderzeichen beendet wird; oder sie bestehen aus
  28. einem Backslash und genau einem Sonderzeichen. Groß- und Kleinbuchstaben haben
  29. auch in Befehlsnamen \emph{verschiedene} Bedeutung. Wenn man nach einem
  30. Befehlsnamen eine Leerstelle erhalten will, muss man~\lstinline|{}| zur
  31. Beendigung des Befehlsnamens oder einen eigenen Befehl für die Leerstelle
  32. verwenden.
  33. % PG: würde ich drin lassen
  34. %\renewcommand{\today}{31.~Mai 2012} % to make sure that the
  35. % line breaks look good, regardless of the date of printing.
  36. %MD: obeylines zu besseren Darstellung eingefuegt
  37. %MD: Redefinition von \today lokal halten
  38. \begin{LTXexample}[firstline=4]
  39. \renewcommand*\today{%
  40. \the\numexpr\year-1978\relax.~Mai \the\year}
  41. \obeylines
  42. Heute ist der \today.
  43. Oder: Heute ist der \today .
  44. Falsch ist:
  45. Am \today regnet es.
  46. Richtig ist:
  47. Am \today{} scheint die Sonne.
  48. Oder: Am \today\ schneit es.
  49. \end{LTXexample}
  50. Manche Befehle haben Parameter, die zwischen geschwungenen Klammern angegeben
  51. werden müssen. Manche Befehle haben Parameter, die weggelassen oder zwischen
  52. eckigen Klammern angegeben werden können. Manche Befehle haben Varianten, die
  53. durch das Hinzufügen eines Sterns an den Befehlsnamen unterschieden werden.
  54. Geschwungene Klammern können auch dazu verwendet werden, Gruppen (\emph{groups})
  55. zu bilden. Die Wirkung von Befehlen, die innerhalb von Gruppen oder Umgebungen
  56. (\emph{environments}) angegeben werden, endet immer mit dem Ende der Gruppe
  57. bzw.\ der Umgebung. Im obigen Beispiel ist~\lstinline|{}| eine leere Gruppe, die
  58. außer der Beendigung des Befehlsnamens \texttt{today} keine Wirkung hat.
  59. \subsection{Kommentare}
  60. Alles, was hinter einem Prozentzeichen (\lstinline|%|) steht (bis zum Ende der
  61. Eingabezeile), wird von \LaTeX{} ignoriert. Dies kann für Notizen des Autors
  62. verwendet werden, die nicht oder noch nicht ausgedruckt werden sollen.
  63. \begin{LTXexample}
  64. Das ist ein % dummes
  65. % Besser: ein lehrreiches <----
  66. Beispiel.
  67. \end{LTXexample}
  68. \subsection{Aufbau}
  69. Der erste Befehl in einem \LaTeX-Eingabefile muss der Befehl
  70. \begin{lstlisting}
  71. \documentclass
  72. \end{lstlisting}
  73. sein. Er legt fest, welche Art von Schriftstück überhaupt erzeugt werden soll
  74. (Bericht, Buch, Brief usw.). Danach können weitere Befehle folgen bzw.
  75. deklariert werden, die für das gesamte Dokument gelten sollen. Dieser Teil des
  76. Dokuments wird auch als \emph{Vorspann} oder \emph{Präambel} bezeichnet. Mit dem
  77. Befehl
  78. \begin{lstlisting}
  79. \begin{document}
  80. \end{lstlisting}
  81. endet der Vorspann, und es beginnt das Setzen des Schriftstücks. Nun folgen der
  82. Text und alle \LaTeX-Befehle, die das Ausdrucken des Schriftstücks bewirken.
  83. Die Eingabe muss mit dem Befehl
  84. \begin{lstlisting}
  85. \end{document}
  86. \end{lstlisting}
  87. beendet werden. Falls nach diesem Befehl noch Eingaben folgen, werden sie von
  88. \LaTeX{} ignoriert.
  89. Listing~\ref{mini} zeigt ein \emph{minimales} \LaTeX-File. Ein etwas
  90. komplizierteres File ist in Listing~\ref{dokument} skizziert.
  91. \begin{example}[caption={Ein minimales \LaTeX-File},label={mini}]
  92. \documentclass{article}
  93. \begin{document}
  94. Small is beautiful.
  95. \end{document}
  96. \end{example}
  97. \begin{example}[caption={Aufbau eines Artikels},label={dokument}]
  98. \documentclass[11pt,a4paper,ngerman]{article}
  99. \usepackage[utf8]{inputenc}
  100. \usepackage[T1]{fontenc}
  101. \usepackage{babel}
  102. \date{29. Februar 1998}
  103. \author{H.~Partl}
  104. \title{Über kurz oder lang}
  105. \begin{document}
  106. \maketitle
  107. \tableofcontents
  108. \section{Start}
  109. Hier beginnt mein schönes Werk ...
  110. \section{Ende}
  111. ... und hier endet es.
  112. \end{document}
  113. \end{example}
  114. \subsection{Dokumentklassen}\label{docsty}
  115. Die am Beginn des Eingabefiles mit
  116. \begin{lstlisting}
  117. \documentclass[<optionen>]{<klasse>}
  118. \end{lstlisting}
  119. definierte "`Klasse"' eines Dokumentes enthält Vereinbarungen über das Layout
  120. und die logischen Strukturen, z.\,B.\ die Gliederungseinheiten (Kapitel etc.\@),
  121. die für alle Dokumente dieses Typs gemeinsam sind.
  122. Zwischen den geschwungenen Klammern \emph{muss} genau eine Dokumentklasse
  123. angegeben werden. Tabelle~\vref{docstyles} führt
  124. Klassen auf, die in jeder vollständigen \LaTeX-Installation existieren.
  125. Zwischen den eckigen Klammern \emph{können}, durch Kommas getrennt, eine oder
  126. mehrere Optionen für das Klassenlayout angegeben werden. Die wichtigsten
  127. Optionen für die Standardklassen sind in der Tabelle~\vref{options} angeführt.
  128. Das Eingabefile für diese Beschreibung beginnt z.\,B.\ mit:
  129. \begin{lstlisting}
  130. \documentclass[11pt,a4paper]{article}
  131. \end{lstlisting}
  132. \begin{longtable}[c]{@{}>{\raggedright\arraybackslash\ttfamily}p{2.2cm}%
  133. p{\dimexpr 0.95\linewidth-2.2cm-2\tabcolsep\relax}@{}}
  134. \caption{Dokumentklassen}\label{docstyles} \\\toprule
  135. \endfirsthead
  136. \caption[]{Dokumentklassen}\\\toprule
  137. \endhead
  138. \multicolumn{2}{r}{\small Forsetzung nächste Seite}\\
  139. \endfoot
  140. \endlastfoot
  141. article &
  142. für Artikel in wissenschaftlichen Zeitschriften, kürzere Berichte u.\,v.\,a.
  143. \\
  144. report &
  145. für längere Berichte, die aus mehreren Kapiteln bestehen, Diplomarbeiten,
  146. Dissertationen u.\,ä.
  147. \\
  148. book &
  149. für Bücher
  150. \\
  151. scrartcl, scrreprt, scrbook &
  152. Die sog. KOMA-Klassen sind Varianten der o.\,g. Klassen mit besserer Anpassung
  153. an DIN-Papierformate und "`europäische"' Typographie. Zudem erlauben sie
  154. mittels Optionen die Anpassung des Layouts. Entgegen den Standardklassen
  155. existiert eine deutsche und englische Dokumenation (siehe \cite{scrguide})
  156. \\
  157. beamer &
  158. für Präsentationen
  159. \\
  160. \bottomrule
  161. \end{longtable}
  162. \begin{longtable}[c]{@{}>{\raggedright\arraybackslash\ttfamily}p{2.2cm}%
  163. p{\dimexpr 0.95\linewidth-2.2cm-2\tabcolsep\relax}@{}}
  164. \caption[Klassenoptionen]{Klassenoptionen für die Standardklassen}\label{options} \\\toprule
  165. \endfirsthead
  166. \caption[]{Klassenoptionen für die Standardklassen}\\\toprule
  167. \endhead
  168. \multicolumn{2}{r}{\small Forsetzung nächste Seite}\\
  169. \endfoot
  170. \endlastfoot
  171. 10pt 11pt 12pt &
  172. wählt die normale Schriftgröße des Dokuments aus. 10\,pt hohe Schrift ist die
  173. Voreinstellung; diese Beschreibung benutzt 11\,pt.
  174. \\
  175. a4paper &
  176. für Papier im DIN\,A4-Format. Ohne diese Option nehmen die Standardklassen das
  177. amerikanisches Papierformat.
  178. \\
  179. fleqn &
  180. für linksbündige statt zentrierte mathematische Gleichungen
  181. \\
  182. leqno &
  183. für Gleichungsnummern links statt rechts von jeder nummerierten Gleichung
  184. \\
  185. titlepage notitlepage &
  186. legt fest, ob Titel und Zusammenfassung auf einer eigenen Seite erscheinen
  187. sollen. \texttt{titlepage} ist die Voreinstellung für die Klassen
  188. \texttt{report} und \texttt{book}.
  189. \\
  190. onecolumn twocolumn &
  191. für ein- oder zweispaltigen Satz. Die Voreinstellung ist immer
  192. \texttt{onecolumn}.
  193. \\
  194. oneside twoside &
  195. legt fest, ob die Seiten für ein- oder zweiseitigen Druck gestaltet werden
  196. sollen. \texttt{oneside} ist die Voreinstellung für alle Klassen außer
  197. \texttt{book}.
  198. \\\bottomrule
  199. \end{longtable}
  200. \subsection{Pakete}\label{packages}
  201. Mit dem Befehl
  202. \begin{lstlisting}
  203. \usepackage[<optionen>]{<paket>}
  204. \end{lstlisting}
  205. können im Vorspann ergänzende Makropakete (\emph{packages}) geladen werden, die das
  206. Layout der Dokumentklasse modifizieren oder zusätzliche Funktionalität
  207. bereitstellen. Eine Auswahl von Paketen findet sich in der Tabelle~\vref{pack}. Der Befehl \lstinline+\usepackage+ erlaubt das Laden
  208. mehrerer Pakete, wobei eine Optionenübergabe nicht möglich ist, bzw. die Optionen für alle Pakete gelten.
  209. \begin{longtable}[c]{@{}>{\raggedright\arraybackslash\ttfamily}p{2.2cm}%
  210. p{\dimexpr 0.95\linewidth-2.2cm-2\tabcolsep\relax}@{}}
  211. \caption{Pakete (eine Auswahl)}\label{pack} \\\toprule
  212. \endfirsthead
  213. \caption[]{Pakete (eine Auswahl)}\\\toprule
  214. \endhead
  215. \multicolumn{2}{r}{\small Fortsetzung nächste Seite}\\
  216. \endfoot
  217. \endlastfoot
  218. amsmath, amssymb &
  219. Mathematischer Formelsatz mit erweiterten Fähigkeiten, zusätzliche
  220. mathematische Schriften und Symbole; Beschreibung siehe \cite{mathmode}.
  221. \\
  222. array &
  223. Verbesserte und erweiterte Versionen der Umgebungen \texttt{array},
  224. \texttt{tabular} und \texttt{tabular*}.
  225. \\
  226. babel &
  227. Anpassungen für viele verschiedene Sprachen. Die gewählten Sprachen werden
  228. als Optionen angegeben.
  229. \\
  230. csquotes & Mächtiges Paket zum korrekten Setzen (fremdsprachlicher) Anführungszeichen \\
  231. fontenc &
  232. Erlaubt die Verwendung von Schriften mit unterschiedlicher Kodierung
  233. (Zeichenvorrat, Anordnung).
  234. \\
  235. geometry &
  236. Manipulation des Seitenlayouts.\\
  237. graphicx &
  238. Einbindung von extern erzeugten Graphiken. Die umfangreichen Möglichkeiten
  239. dieses Pakets werden in~\cite{grfguide} und~\cite{grfcomp} beschrieben.
  240. \\
  241. hyperref &
  242. Ermöglicht Hyperlinks zwischen Textstellen und zu externen Dokumenten;
  243. besonders sinnvoll einsetzbar, wenn mit \TeX\ eine Ausgabedatei im
  244. \textsc{pdf}- oder \textsc{html}-Format erzeugt wird.
  245. \\
  246. imakeidx &
  247. Unterstützt das Erstellen eines Index.
  248. \\
  249. listings & Flexible Erweiterung der \texttt{verbatim}-Umgebung.
  250. \\
  251. longtable &
  252. für Tabellen über mehrere Seiten mit automatischem Seitenumbruch.
  253. \\
  254. microtype & Verändert den Absatzumbruch leicht, um bessere Zeilenumbrüche zu erzeugen; optischer Randausgleich. \\
  255. multicol &
  256. Mehrspaltiger Satz mit Kolumnenausgleich.
  257. \\
  258. selinput &
  259. Deklaration der Zeichenkodierung im Eingabefile.
  260. \\
  261. siunitx & Formatierung von Zahlen und physikalischen Einheiten \\
  262. tabularx &
  263. für Tabellen mit automatisch an den vorhandenen Platz angepasster Breite der
  264. Spalten.
  265. \\
  266. textcomp &
  267. Bindet Schriften mit zusätzlichen Textsymbolen ein.
  268. \\
  269. xcolor &
  270. Unterstützung für Farbausgabe; Beschreibung siehe~\cite{grfguide}
  271. und~\cite{grfcomp}.
  272. \\
  273. \bottomrule
  274. \end{longtable}
  275. \subsection{Eingabezeichensatz}\label{inputenc}
  276. Bei jedem \LaTeX-System dürfen mindestens die folgenden Zeichen zur Eingabe von
  277. Text verwendet werden:
  278. \begin{quote}
  279. \ttfamily
  280. a\dots z A\dots Z 0\dots 9 \\
  281. . : ; , ? ! ` ' ( ) [ ] - / * @ + =
  282. \end{quote}
  283. Die folgenden Eingabezeichen haben für \LaTeX{} eine Spezialbedeutung oder sind
  284. nur innerhalb von mathematischen Formeln erlaubt:
  285. \begin{quote}
  286. \verb.$ & % # _ { } ~ ^ " \ | < >.
  287. \end{quote}
  288. Für Zeichen, die über obige Liste hinausgehen, beispielsweise die Umlaute, sind
  289. unterschiedliche Kodierungen in
  290. Gebrauch. Die Kodierung ist hierbei vom Betriebssystem sowie vom Editor
  291. abhängig. Um Umlaute direkt zu nutzen ohne auf spezielle Kodierung einzugehen,
  292. bietet sich das Paket \texttt{selinput} an. Es ermittelt während des
  293. Kompilierungsvorgangs die verwendete Kodierung. Um dies sicher zu stellen, muss
  294. das Paket wie folgt in der Präambel eingebunden werden:
  295. \begin{example}[caption={Bestimmung der Kodierung für die Nutzung von Umlauten},]
  296. \usepackage{selinput}
  297. \SelectInputMappings{
  298. adieresis={ä},
  299. germandbls={ß},
  300. }
  301. % Wörter mit Umlauten werden getrennt:
  302. \usepackage[T1]{fontenc}
  303. \end{example}
  304. Neben dem Paket \texttt{selinput} existiert auch das Paket \texttt{inputenc}.
  305. Hier gibt man die zu verwendende Kodierung als Paketoption vor, diese muss man
  306. jedoch dafür in Erfahrung bringen, was nicht immer einfach ist. Im Falle von
  307. UTF-8 als Eingabekodierung ist das:
  308. \begin{beispiel}
  309. \lstinline+\usepackage[utf8]{inputenc}+
  310. \end{beispiel}
  311. Falls \LaTeX{} ein eingegebenes Zeichen nicht darstellen kann, was meist für die
  312. sogenannten "`Pseudografik-Zeichen"' gilt, bekommt man eine entsprechende
  313. Fehlermeldung. Auch sind manche Zeichen nur im Text, andere nur in
  314. mathematischen Formeln erlaubt.
  315. Man beachte, dass der in der \emph{Ausgabe} darstellbare Zeichenvorrat von
  316. \LaTeX{} nicht davon abhängt, welche Zeichen als \emph{Eingabe} erlaubt sind:
  317. Für jedes überhaupt darstellbare Zeichen -- also auch diejenigen, die nicht im
  318. Zeichensatz des jeweiligen Betriebssystems enthalten sind -- gibt es einen
  319. \LaTeX-Befehl oder eine Ersatzdarstellung, die ausschließlich mit ASCII-Zeichen
  320. auskommt. Näheres darüber erfahren Sie in Abschnitt \ref{spezial}.
  321. \endinput