latex:experten

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
latex:experten [29.09.2010 13:41]
Karl Voit
latex:experten [28.11.2013 19:52]
tquaritsch [Text in Grafiken ersetzen] fixed broken link
Zeile 1: Zeile 1:
-====== Tutorial für Experten ======+====== Anwendung für Experten ======
  
-===== Was ist der Unterschied zwischen dem Kommando 'latex' und 'pdflatex'? =====+Die Anwendung für Experten stellt teilweise Mechanismen vor, die mehr Freiheiten bei der Gestaltung von Dokumenten bieten. Die Idee dabei ist nicht, keinen LaTeX-Stein auf dem anderen zu belassen. Bedenken Sie, dass Sie jeder tiefe Eingriff schrittweise von guten, erprobten Gestaltungen entfernen kann. 
  
-Zu Beginn muss man schon mal sagen, dass heute die Unterschiede zwischen den beiden Kommandos im Detail liegen. Es ist sogar so, dass beide Kommandos symbolische Links auf den selben Interpreter nämlich ''pdfTeX'' sind.+Weitere geplante Inhalte: 
 +  * Name-Rewriting mit ''\renewcommand'' 
 +  * ''titlesec'' 
 +  * ''caption'' 
 +  * ''changecntr''
  
-<code> +===== Seitenspiegel mit geometry =====
-$ ls -la $(which latex) +
-lrwxrwxrwx 1 root root 6 12. Jän 2010  /usr/bin/latex -> pdftex +
-$ ls -la $(which pdflatex) +
-lrwxrwxrwx 1 root root 6 12. Jän 2010  /usr/bin/pdflatex -> pdftex +
-</code>+
  
-[[http://www.pdftex.org|pdfTeX]] ist die logische Weiterentwicklung und Vereinigung von ''TeX'' (geschrieben von Donald Knuth) und ''eTeX'' (geschrieben von Peter Breitenlohner). Mit Hilfe von google kann man sich da leicht einen Tag lang beschäftigen um Historie und Ablauf der Entwicklung zu erforschen.+Das ''geometry''-Paket ist nicht unumstritten. Der klassische LaTeX-Veteran wird einem raten, sich von derart grausigem, der freien Gestaltung, abzuwenden und sich dem üblichen Automatismus hinzugeben. **Natürlich sehen wir das auch so** ;-).
  
-Wichtig ist eigentlich nur zu wissendass ''pdfTeX'' im Gegensatz zu seinen Vorgängern in der Lage ist **direkt** pdf Dateien zu erstellen. D.h. man kann damit auch pdf Features nutzen. Darüber hinaus hat man aber ''pdfTeX'' mit der Fähigkeit ausgestattet weiterhin DVI Dateien zu erstellen - das Ausgabeformat von ''TeX'' bzw. ''eTeX''. Zusammengefasst+Aber es gibt Situationendie nach einem Ausweg rufen: 
 +  Sie haben verpflichtende Vorgaben 
 +  Sie benötigen abwechselnd unterschiedliche Seitenlayouts 
 +  LaTeX bietet keine Lösung für das Zielformat
  
-  * ''latex'' -> erzeugt DVI Dateien +Genau dann ist es sinnvoll, das ''geometry''-Paket einzusetzen:
-  * ''pdflatex'' -> erzeugt pdf Dateien+
  
-//Entscheidet man sich für die Erstellung von pdf Dateien funktionieren Pakete, die auf der Konvertierung von DVI zu PostScript  aufsetzen, mit pdfTeX nicht (vor allem PSTricks). Das gilt insbesondere auch für das Einbetten von PostScript-Grafiken. Diese müssen zuvor in ein Format umgesetzt werden, das von pdfTeX unmittelbar verarbeitet werden kann (PNG, JPEG, JBIG2 oder PDF). Als Alternative zur Erzeugung von Grafiken mit LaTeX wurde das System PGF/TikZ entwickelt.// (vgl. [[http://de.wikipedia.org/wiki/PdfTeX]])+<code latex> 
 +\usepackage{geometry} 
 +</code>
  
-D.h. vor allem die verwendbaren Grafikformate sind eine wichtige Eigenschaft die der User zu spüren bekommt. Dabei kann man folgende Formate zuordnen (die Reihenfolge ist auch jene in der ''pdfTeX'' nach Dateiendungen sucht so fern keine angegeben wurden):+''geometry'' bietet Mechanismen, den Seitenspiegel bestehend aus Textblock, Marginalienbereich, Kopf- und Fußzeile frei zu definieren. Dabei genügt eine Hand voll Angaben, alle übrigen Werte werden berechnet. Schematisch ist der Aufbau eines Seitenlayouts in der [[ftp://ftp.tex.ac.uk/tex-archive/macros/latex/contrib/geometry/geometry.pdf|Dokumentation]] auf Seite 3 beschrieben.
  
-  * ''latex'' -> pseps, tiff +Als Beispiel realisieren wir ein Ausgabeformatdas sich für den Einsatz auf eBook-Readern oder Tablets eignet. eBooks stehen der Herausforderung gegenüberauf nicht vorhersehbaren Anzeigegrößen und -dimensionen dargestellt zu werden. Dies führt oft zu unschönem Textsatz. PDF-Dateien haben fest vorgegebene Seitenformate und müssen daher entsprechend skaliert werden. Ein für A4 vorbereitetes Dokument wird beispielsweise auf einem Tablet-Device    während des Lesens beschnitten.
-  * ''pdflatex'' -> jpegpng, pdf+
  
-Da nun beide Kommandos ''pdftex'' im Hintergrund verwenden kann man auch mit ''pdflatex'' DVI Dateien erzeugen (natürlich mit allen oben genannten Einschränkungen und Unterschieden.+Im Beispiel erstellen wir ein PDF-Dokument mit den Seiten-Abmessungen 150x200mm. Das entspricht einem Seitenverhältnis von 3:4 und orientiert sich am Apple iPad. Das {{:latex:geometry.pdf|Ergebnis}} und den {{:latex:geometry.tex|Quellcode}} gibt es vorab.
  
 +<html>
 +<span class="vorschaublock">
 +</html>
 +{{:latex:geometry1.png?200|}}
 +{{:latex:geometry2.png?200|}}
 +{{:latex:geometry3.png?200|}}
 +<html>
 +</span>
 +</html>
 +
 +Wir starten mit der Dokumentklasse:
 <code latex> <code latex>
-  pdflatex -output-format dvi datei.tex+\documentclass[11pt,paper=150mm:200mm,pagesize,DIV=11,oneside]{scrbook}
 </code> </code>
  
-==== Soll ich jetzt mit latex oder pdflatex arbeiten? ====+Dann definieren wir uns eine neue Geometrie: 
 +<code latex> 
 +\newgeometry{ 
 +  inner=5mm,outer=40mm, 
 +  top=21mm,bottom=40mm, 
 +  marginparsep=5mm,marginparwidth=30mm, 
 +  headheight=7mm,headsep=14mm} 
 +</code> 
 +Wer genau hinsieht und sich die Seite schematisch vorstellt, bemerkt, dass wir die Kopfzeile an den oberen Rand der Seite verschieben. Üblichen Druckrändern sind wir hier nicht unterworfen. Die Gestaltung der Kopfzeile ist nicht Teil des Beispiels. Erwähnenswert ist lediglich die Verbreiterung auf das gesamte Seitenformat: 
 +<code latex> 
 +\usepackage{scrpage2} 
 +\setheadwidth[-5mm]{paper} 
 +\setfootwidth[-5mm]{paper} 
 +</code>
  
-Den einzig "richtigen" Weg gibt es nicht. Bis zu diesem "Tutorial für Experten" haben wir bewusst ausschließlich mit ''pdflatex'' gearbeitet weil das unserer Meinung nach die modernere Vorgehensweise ist. Es gibt aber eben wie überall auch hier nicht nur Vorteile. Einige sehr interessante Features funktionieren nur mit ''latex''. Diese tools (pstricks, psfrag, usw.) wollen wir nun hier vorstellen.+Damit haben wir ein Seitenlayout, das sich unskaliert für die Anzeige auf einem iPad oder vergleichbaren Geräten dieser Größe eignet. Das vollständige Beispiel ist ein wenig umfangreicher, da es zwischen zwei Layouts wechselt und eine anspruchsvollere Kopf-Gestaltung hat. 
 +===== Besserer Textsatz mit Microtype =====
  
-Wir können auch noch folgende "gemischte" Vorgehensweise empfehlen+LaTeX nützt zur Gestaltung oft nicht alle vom Unterbau TeX angebotenen Potenziale aus. Daher stellen wir hier das ''microtype''-Paket vor. ''microtype'' macht einige hochwertige Textsatz-Features mit wenigen Parametern zugänglich. An dieser Stelle wollen wir uns nicht zu sehr in Details verirren, da es für ''microtype'' eine [[http://mirror.unl.edu/ctan/macros/latex/contrib/microtype/microtype.pdf|umfassende Dokumentation]] gibt. 
 + 
 +Zusammengefasst bietet das Paket folgende Verbesserungen: 
 +  * Character Protrusion 
 +  * Font Expansion 
 +  * Anpassung des Kernings 
 +  * Anpassung der Wortabstände 
 + 
 +Ein {{:latex:microtype.pdf|Beispiel}} mit {{:latex:microtype.tex|Quellcode}} zeigt, wie sich das laden des Pakets auswirkt. Für den Anfang sind die Standardoptionen akzeptabel. Achten Sie nur darauf, dass sie ''microtype'' auch im Draft-Mode aktivieren, da sich sonst Unterschiede in der Darstellung zwischen //draft// und //final// ergeben. Laden Sie das Paket für den Anfang mit: 
 + 
 +<code latex> 
 +\usepackage[draft=false,kerning=true]{microtype} 
 +</code>
  
-  * Die einzubindenden Grafiken als EPS und PDF speichern, im Dokument den Dateinamen ohne .eps oder .pdf angeben. Hat man Grafiken im EPS-Format vorliegen, übernimmt das Programm ''epstopdf'' die problemlose Umwandlung nach PDF +''microtype'' kann nicht mit jeder Schriftart verwendet werdenGängige Schriften aus den Paketen ''lmodern'', ''opensans''''mathptmx'' oder ''mathpazo'' werden aber voll unterstützt.
-  * Das Dokument während der Arbeit mit ''latex'' kompilierendie entstandene DVI-Datei kann schnell überprüft werden (mit ''Yap'' unter Windows bzw. ''xdvi'' unter Linux)  +
-  * Sind alle Arbeiten abgeschlossen, kann mit ''pdflatex''kompiliert werden+
  
 ===== Zeichensatz ===== ===== Zeichensatz =====
Zeile 46: Zeile 83:
 LaTeX bzw. pdfLaTeX sind nichts anderes als Programme die eine Datei (eine [[http://de.wikipedia.org/wiki/Plain_text|Klartextdatei]]) lesen (parsen) und in ein anderes Format, hier eben ''dvi'' oder ''pdf'' übersetzen. LaTeX bzw. pdfLaTeX sind nichts anderes als Programme die eine Datei (eine [[http://de.wikipedia.org/wiki/Plain_text|Klartextdatei]]) lesen (parsen) und in ein anderes Format, hier eben ''dvi'' oder ''pdf'' übersetzen.
  
-Es ist daher notwendig, dass der Interpreter ''pdfTeX'' den [[http://de.wikipedia.org/wiki/Zeichenkodierung|Zeichensatz]] der Inputdatei "richtig" interpretiert. Per default tut dies ''pdfTeX'' nach der [[http://de.wikipedia.org/wiki/Ascii|7-bit ASCII Tabelle]]. Diese Tabelle enthält keine Umlaute und auch diverse Andere Zeichen (wie z.B. ''ß'') nicht. Will man aber jetzt in seinem Text ein ''ö'' verwenden (was ja gelegentlich vorkommen soll) und dabei nicht jedesmal ''\"o'' schreiben muss man ''pdfTeX'' sagen mit welchen Zeichensatz das ''ö'' in dem Text kodiert ist.+Es ist daher notwendig, dass der Interpreter ''pdfTeX'' den [[http://de.wikipedia.org/wiki/Zeichenkodierung|Zeichensatz]] der Inputdatei "richtig" interpretiert. Per default tut dies ''pdfTeX'' nach der [[http://de.wikipedia.org/wiki/Ascii|7-bit ASCII Tabelle]]. Diese Tabelle enthält keine Umlaute und auch diverse Andere Zeichen (wie z.B. ''ß'') nicht. Will man aber jetzt in seinem Text ein ''ö'' verwenden (was ja gelegentlich vorkommen soll) und dabei nicht jedes Mal ''\"o'' schreiben muss man ''pdfTeX'' sagen mit welchen Zeichensatz das ''ö'' in dem Text kodiert ist.
  
   - Will man LaTeX Dateien erstellen die auf allen Systemen (Linux, BSD, Solaris, MacOS, Windows, usw.) und bei unterschiedlichen lokalen Konfigurationen (denken wir an einen Rechner in Asien) kompilieren, so muss man einen Zeichensatz auswählen der überall interpretiert werden kann. Hier hat sich Unicode UTF-8 also gute Entscheidung herauskristallisiert.   - Will man LaTeX Dateien erstellen die auf allen Systemen (Linux, BSD, Solaris, MacOS, Windows, usw.) und bei unterschiedlichen lokalen Konfigurationen (denken wir an einen Rechner in Asien) kompilieren, so muss man einen Zeichensatz auswählen der überall interpretiert werden kann. Hier hat sich Unicode UTF-8 also gute Entscheidung herauskristallisiert.
Zeile 54: Zeile 91:
 ==== UTF-8 ==== ==== UTF-8 ====
  
-Unsere Empfehlung ist grundsätzlich heute nach Möglichkeit [[http://de.wikipedia.org/wiki/UTF-8|Unicode UTF-8]] zu verwenden. Wichtig ist natürlich dass der Editor Unicode beherrscht. Sollte dieser keine Unicode können, dann wäre zu überlegen einen anderen (moderneren) Editor einzusetzen. Um ''pdfTeX'' nun zu erklären, dass es eine Eingabedatei vor sich hat die nach UTF-8 kodiert ist sind folgende Zeilen in der preamble notwendig+Unsere Empfehlung ist grundsätzlich heute nach Möglichkeit [[http://de.wikipedia.org/wiki/UTF-8|Unicode UTF-8]] zu verwenden. Wichtig ist natürlich dass der Editor Unicode beherrscht. Sollte dieser keine Unicode können, dann wäre zu überlegen einen anderen (moderneren) Editor einzusetzen. Um ''pdfTeX'' nun zu erklären, dass es eine Eingabedatei vor sich hatdie nach UTF-8 kodiert ist, ist das Paket ''inputenc'' erforderlich:
  
 <code latex> <code latex>
-\usepackage{ucs} 
 \usepackage[utf8x]{inputenc} \usepackage[utf8x]{inputenc}
 </code> </code>
Zeile 77: Zeile 113:
 ==== CP-1252 ==== ==== CP-1252 ====
  
-**Bitte nicht verwenden!**. Unter Windows ist der [[http://en.wikipedia.org/wiki/Windows-1252|CP-1252]] Zeichensatz nach wie vor üblich für eine Umgebung mit lateinischen Alphabet. In sehr weiten Teilen überschneiden sich CP-1252 und ISO-8859-1 und werden daher oft vermischt. Genau genommen sind es aber 2 unterschiedliche Zeichensätze. Die zugehörige LaTeX Konfiguration+**Bitte nicht verwenden!**. Unter Windows ist der [[http://en.wikipedia.org/wiki/Windows-1252|CP-1252]] Zeichensatz nach wie vor üblich für eine Umgebung mit lateinischem Alphabet. In sehr weiten Teilen überschneiden sich CP-1252 und ISO-8859-1 und werden daher oft vermischt. Genau genommen sind es aber 2 unterschiedliche Zeichensätze. Die zugehörige LaTeX Konfiguration
  
 <code latex> <code latex>
Zeile 196: Zeile 232:
  
   * XFig   * XFig
-  * WinFIG ([[http://user.cs.tu-berlin.de/~huluvu/WinFIG.htm|WinFIG-Homepage]]) +  * WinFIG ([[http://winfig.com/|WinFIG-Homepage]])
-  * Inkscape ([[http://www.inkscape.org|Inkscape-Homepage]])+
   * Adobe Illustrator   * Adobe Illustrator
  
 **Programme, die nicht korrekt exportieren:** **Programme, die nicht korrekt exportieren:**
  
 +  * [[programme:inkscape]] (Auf dieser Seite wird eine Methode beschrieben wie mit Inkscape trotzdem sehr elegant LaTeX Texte in Grafiken gesetzt werden können)
   * Gimp   * Gimp
   * CorelDraw   * CorelDraw
Zeile 233: Zeile 269:
 Der nun schon oft angesprochene Ersatztext folgt zum Schluß, z.B. ''{$c=\sqrt{a^2 + b^2}$}''. Handelt es sich beim Ersatztext um eine mathematische Formel, muß diese natürlich durch ''$ ... $'' begrenzt werden. Der nun schon oft angesprochene Ersatztext folgt zum Schluß, z.B. ''{$c=\sqrt{a^2 + b^2}$}''. Handelt es sich beim Ersatztext um eine mathematische Formel, muß diese natürlich durch ''$ ... $'' begrenzt werden.
  
-===== Erstellen von Grafiken =====+===== Erstellen von Grafiken direkt in LaTeX =====
  
-  * [[http://tug.org/PSTricks/main.cgi|pstricks]]+Man muss hier wieder unterscheiden mit welcher Methode man die Dateien kompiliert (näheres finden Sie in [[latex:Experten#was_ist_der_unterschied_zwischen_dem_kommando_latex_und_pdflatex|der zugehörigen Sektion der Expertenanleitung]]).
  
-  * [[http://sourceforge.net/projects/pgf/|Tikz und PGF]] mit einer schönen [[http://www.texample.net/tikz/|Beispielseite]].+  * [[http://tug.org/PSTricks/main.cgi|pstricks]] falls mit ''latex'' kompiliert wird, also zuerst eine DVI Datei (PostScript) erstellt wird.
  
 +  * [[http://sourceforge.net/projects/pgf/|Tikz und PGF]] mit einer schönen [[http://www.texample.net/tikz/|Beispielseite]] falls mit ''pdflatex'' kompiliert wird, also direkt eine PDF Datei erstellt wird.
latex/experten.txt · Zuletzt geändert: 28.11.2013 19:52 von tquaritsch