====== Was ist TeX? ====== TeX (gesprochen: Tech) ist eine Software zur //Formatierung von Texten//. Der Unterschied zu anderen Textverarbeitungssystemen wie Microsoft Word und Apache OpenOffice Writer ist, dass aus einer TeX-Datei, die vom Anwender erstellt wird, eine PDF-Datei generiert wird. Die ursprüngliche TeX-Datei wird mit einem Texteditor bearbeitet. Hierbei können verschiedene Befehle zur Gestaltung des Textes verwendet werden. Die Ausgabedatei im PDF-Format kann dann mit jedem Rechner problemlos betrachtet werden. Außerdem kann man TeX auch als Programmiersprache verwenden und bestimmte Dinge vereinfachen. Zum Beispiel unterstützt LaTeX von Haus aus automatische Gliederungsbefehle, die dann bei Bedarf individuell angepasst werden können. TeX und LaTeX sind freie Software, und sie sind frei erhältlich, d.h. es fallen keine Lizenzgebühren an. Eine Installation besteht meist aus dem Binary ([[engines|z.B. PDFTeX oder XeTeX]]), dem Format ([[formate|z.B. LaTeX]]) und vielen Zusatzpaketen und Schriftarten. Es gibt für viele Betriebssysteme [[Installation|fertig konfigurierte Distributionen]], die eine Installation sehr vereinfachen. ===== Einsatzzwecke TeX und Co. ===== LaTeX, ConTeXt und auch Plain TeX eignen sich für viele Dokumente. Während es früher hauptsächlich im universitären Bereich benutzt wurde (TeXs Fähigkeit mathematische Formeln zu setzen ist bis heute unübertroffen), wird es heutzutage in sehr vielen Anwendungsfällen eingesetzt. Folgende Dokumente lassen sich erzeugen: Bücher, kleinere und größere Aufsätze, Briefe, Präsentationen, Handbücher, Flyer und Poster, Fahrpläne, Produktkataloge, Datenblätter, Notenbücher und vieles andere mehr. Durch die Flexibilität sind dem System keine Grenzen gesetzt. ===== Beispiel für eine LaTeX-Datei ===== Es folgt ein vollständiges Beispiel für eine LaTeX-Eingabedatei. Man erkennt schön, dass es keinerlei Formatierungsanweisungen gibt, nur //logische// Auszeichnungen wie ''\emph'' oder ''\tableofcontents'' \documentclass[a4paper]{article} \usepackage[ngerman]{babel} \usepackage[utf8]{inputenc} \usepackage{graphicx} \usepackage[T1]{fontenc} \begin{document} \title{Eine Welt voller Wasser} \author{N. Autilus} \maketitle \section{Einleitung} Im Meer gibt es \emph{viele} Planzen- und Tierarten. Das wird in Abbildung \ref{abb:ozean} gezeigt. \begin{figure}[hb] \centering \includegraphics[width=4cm]{ozean} \caption{Ozean} \label{abb:ozean} \end{figure} Man sollte nur aufpassen, die richtigen Zeilen zu schreiben, sonst hat man schnell die falschen. Oder man vergisst ganz und gar etwas zu schreiben -- ein leeres Blatt wäre die Folge. \end{document} {{:latexbeispiel1.png?nolink&|}} ===== Beispiel für eine TeX-Datei ===== Im Gegensatz zu dem LaTeX-Beispiel gibt es in „plain TeX“ wenige solcher Strukturbefehle, dafür eignet sich plain TeX für Layouts, bei der man die volle Kontrolle benötigt. \hsize=115mm ``Good morning!'' he said at last. ``We don't want any adventures here, thank you! You might try over The Hill or across The Water.'' By this he meant that the conversation was at an end. ``What a lot of things you do use {\it Good morning\/} for!'' said Gandalf. ``Now you mean that you want to get rid of me, and that it won't be good till I move off.''\footnote*{J. R. R. Tolkien, {\it The Hobbit.}} \bye Ruft man nun (auf der Kommandozeile oder aus dem Editor heraus) ''pdftex'' auf, ergibt das folgende Ausgabe: {{:hobbit1.png?nolink&|}} und weiter unten die Fußnote und Seitenzahl: {{:hobbit2.png?nolink&|}} ===== Formelsatz ===== Wie oben erwähnt, ist [[Formelsatz|Formelsatz]] einer der Stärken von TeX (und damit auch LaTeX und ConTeXt). Formelnotationen anderer mathematischer Programme (z.B. MathJax) lehnen sich an die von LaTeX an. Außerdem ist die Art und Weise, wie TeX Formeln zusammenbaut, Vorbild für Microsoft Word und OpenType Math. Nachfolgend sind einige Beispiele für Formelsatz mit LaTeX: {{:einfacheformel1.png?nolink&|}} \documentclass{article} \begin{document} \[ x_{1,2}=\frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \] \[ \int_a^b f(x)\, \textrm{d} x = F(b) - F(a) \] \end{document} {{:maxwellgleichungen.png?nolink&|}} \documentclass{article} \usepackage{amsmath} \begin{document} \textsc{Maxwell-Gleichungen in Differentialform:} \[ \nabla\cdot \mathbf{D} = \rho \] \[ \nabla\cdot \mathbf{B} = 0 \] \[ \nabla\times \mathbf{E} = - \frac{\partial \mathbf{B}}{\partial t} \] \[ \nabla\times \mathbf{H} = \mathbf{J} + \frac{\partial \mathbf{D}}{\partial t} \] \end{document} ===== Abseits von Text ===== Mit TeX kann man aber nicht nur Text erzeugen, sondern auch Diagramme und andere graphische Elemente. Nachfolgend ein Beispiel((Besten Dank an Andrew Stacey für das Beispiel. Auf der Seite [[http://texample.net]] ist es -- neben vielen anderen -- mit Quellcode und Ausgabe zu finden)), das mit [[tikz|TikZ/PGF]] erstellt wurde: {{:tikzbeispiel1.png?nolink&|}} Der Quellcode ist auf den ersten Blick sicherlich etwas abschreckend. Mit ein wenig Übung sind solche Dokumente aber schneller erstellt, als man vermutet. Ein großer Vorteil von Diagrammen, die in TeX erstellt werden, soll erwähnt werden: Die Schriftart und die Farben, Strichstärken und ähnliche Dinge lassen sich für alle Diagramme in einem Dokument zentral einstellen. Somit harmonieren diese Grafiken perfekt mit dem restlichen Dokument. \documentclass[border=3mm]{standalone} \usepackage{tikz} \begin{document} \def\iangle{35} % Angle of the inclined plane \def\arcr{0.5cm} % Radius of the arc used to indicate angles \begin{tikzpicture}[ M/.style={rectangle,draw,fill=lightgray,minimum size=0.5cm,thin}, m/.style={rectangle,draw=black,fill=lightgray,minimum size=0.3cm,thin}, plane/.style={draw=black,fill=blue!10}, string/.style={draw=red, thick}, pulley/.style={thick}, ] \draw[plane] (0,-1) coordinate (base) -- coordinate[pos=0.5] (mid) ++(\iangle:3) coordinate (top) |- (base) -- cycle; \path (mid) node[M,rotate=\iangle,yshift=0.25cm] (M) {}; \draw[pulley] (top) -- ++(\iangle:0.25) circle (0.25cm) ++ (90-\iangle:0.5) coordinate (pulley); \draw[string] (M.east) -- ++(\iangle:1.5cm) arc (90+\iangle:0:0.25) -- ++(0,-1) node[m] {}; \draw[->] (base)++(\arcr,0) arc (0:\iangle:\arcr); \path (base)++(\iangle*0.5:\arcr+5pt) node {$\alpha$}; \end{tikzpicture} \end{document}