LaTeX
From Wissensbasis
Für die Erstellung von Ausarbeitungen empfehlen wir Ihnen LaTeX.
Vorlagen für Ausarbeitungen
- SDQ-LaTeX-Vorlage im KIT-Design, zweisprachige Version für Studien- und Diplomarbeiten
- zweisprachige Version, KIT-Design für Präsentationen (Benutzerdaten: anonymous:anonymous)
- Grafiken mit TikZ
Werkzeuge
- Liste von LaTeX-Werkzeugen (Wikipedia)
- TeX Live: LaTeX-Distribution für verschiedene Betriebssysteme
- MacTeX: LaTeX-Distribution für Mac OS.
- MikTeX: LaTeX-Distribution für Windows.
- Tipp: Installieren mit der Option "Complete": Pakete vorher per FTP-Client herunterladen und dann aus dem Verzeichnis installieren.
- TeXnicCenter: LaTeX-Editor für Windows mit Rechtschreibprüfung. Eine LaTeX-Distribution muss vorher bereits installiert sein (z.B. Miktex, s.o.)
- Rechtschreibprüfung: unter Extras->Optionen->Rechtschreibung zu aktivieren (englische Version: Tools -> Options -> Spelling)
- das Nachladen/Installieren ist in der mitgelieferten Texniccenter-Hilfe unter TeXnicCenter -> Configuration -> Advanced Configuration beschrieben
- Hinweise bei Fehler "LaTeX terminates with "GUI framework cannot be initialized" if invoked from TeXnicCenter"
- Texniccenter und Miktex 2.8 haben ein kleines Kompatibilitätsproblem, s. http://miktex.org/2.8/issues
- Unter Windows 7 kann es helfen den Texniccenter mit Administratorrechten zu starten, wenn Pakete automatisch installiert werden sollen [1].
- Ansonsten kann man pdflatex einmalig von der Kommandozeile starten, dann werden Pakete korrekt installiert. Danach funktioniert pdflatex auch im Texniccenter wieder.
- LEd: LaTeX-Editor für Windows
- TeXlipse LaTeX-Plugin für Eclipse (unterstützt UTF-8)
- teTeX: LaTeX-Distribution für Linux
- Kile: LaTeX-Editor für KDE
- gVim: Der Klassiker unter den Editoren
- Verbosus: Browser-basierter LaTeX-Editor
- Jabref: Verwaltung von BibTeX-Einträgen (Java)
Tutorials und Hilfen
- Dein erster Freund ist Google.
- LaTeXwiki
- LaTeX-Kompendium bei Wikibooks
- LaTeX-Forum auf mrunix.de
- Hilfe zu Bibtex Einträgen
- Datenbank mit vielen Bibtex-Einträgen aus der Informatik
- Wie ging nochmal das Symbol in LaTeX?: Detexify: Draw a symbol and it tells you the LaTeX command
LaTeX-Tipps
Build-Skript für LaTeX
Oft hat man das Problem, daß bei der Generierung von PDFs der eigentliche Dokumenten-Ordner mit den Hilfsdateien (*.aux, *.toc usw.) "verschmutzt" wird. Eine Möglichkeit zur Vermeidung davon ist es, einen gen-Ordner anzulegen, in den die Kompilate dann erzeugt werden. Ein Build-Skript kann man dann auch im gen-Folder ablegen (hier mit biber statt BibTEX):
cd .. pdflatex --output-directory=gen document biber gen\document pdflatex --output-directory=gen document pdflatex --output-directory=gen document cd gen
Den gen-Ordner kann man dann einfach im SVN auf "ignore" setzen und hat eine saubere Lösung.
SVN-Informationen im Dokument anzeigen
Mit dem Paket svn-multi ist es möglich, SVN-Revisions-Informationen direkt im Dokument anzuzeigen. Dazu ruft man einmalig auf der Konsole
svn propset svn:keywords "LastChangedBy LastChangedRevision LastChangedDate HeadURL" foo.tex
für die betreffende Datei auf oder benutzt die entsprechende Keywords-Funktion in Eclipse/Tortoise. Im LaTeX-Dokument selbst kommt dann folgendes in die Präambel:
\usepackage{svn-multi} \svnidlong {$HeadURL$} {$LastChangedDate$} {$LastChangedRevision$} {$LastChangedBy$}
Diese Platzhalter werden beim nächsten SVN update/commit durch Revisions-Informationen ersetzt. Dann kann man im Dokument beispielsweise die Informationen durch folgende Befehle in eine Fußnote einbinden:
\footnote{Author: \svnauthor; Revision: \svnrev; Last changed on: \svndate; URL: \url{\svnkw{HeadURL}}}
Quelle: [2]
Einbindung von Graphiken:
- Am besten bindet man Graphiken immer im platzsparenden und skalierbaren Vektorformat ein. Bei der häufig gewählten Ausgaben von TeX-Dokumenten als PDF bietet es sich dabei an, die Graphiken selbst als PDF einzubinden. Als freies Werkzeug, dass über die Druckausgabe PDF mit Vektorgraphiken produziert, hat sich FreePDF bewährt. Die Verwendung von PDF-Dateien erfordert, dass man seine TeX-Quellen mit pdflatex kompiliert. Bei der Ausgabe nach Postscript über latex+dvips sind EPS-Dateien für die Graphiken zu verwenden. Diese können mit Hilfe von Ghostscript aus PDFs oder nach PDF konvertiert werden (ps2pdf / pdf2ps, in z.B. MikTeX enthalten).
- Auf Thinkingms wird beschrieben, wie man so genannte "Viewports" dazu verwendet einen Ausschnitt aus einer PDF-Graphik für die Anzeige in LaTeX-Dokumenten zu verwenden. Alternativ werden ebenfalls Werkzeuge beschrieben, die es ermöglichen weiße Flächen aus PDFs zu entfernen.
- Werkzeuge für zum Bearbeiten und Beschneiden von PDF-Dokumenten: PDF Edit, PDF Crop
Falsche Referenzierung von Graphiken:
Um falsche Referenzierungen von Grafiken zu vermeiden, sollte in der figure-Umgebung unbedingt immer\caption
\label
Wörter in LaTeX-Dokumenten zählen:
Bindestriche
Für Bindestriche "= verwenden (bei Verwendung von Packages wie german, ngerman), damit die Wortteile umgebrochen werden können. Also etwa Wort"=Trennung. Der Befehl steht in englischsprachigen Dokumenten nicht zur Verfügung. Um ihn dennoch verwenden zu können, folgendes in die .sty-Datei schreiben:
\RequirePackage[english]{babel} \useshorthands{"} \defineshorthand{"=}{% \nobreak % allow hyphenation in the previous word but no break here -% explicit hyphen with break point of \exhyphenpenalty \hskip\z@skip % enable hyphenation in the following word }
Alternativ lässt sich auch das Makro shorthands aus ngerman auch für die englische aktivieren (Vielen Dank an Markus Kohm für diesen Tipp!), damit stehen für Englisch auch noch weitere shorthands zur Verfügung:
% Activate all shorthands of ngerman for english, too: \RequirePackage[ngerman,english]{babel}% ngerman must be loaded additionally, to % make the ngerman shorthands available \addto\extrasenglish{\languageshorthands{ngerman}}% use ngerman shorthands for % english, too \useshorthands{"}% use shorthand prefix-character "
Zeilenumbruch verhindern:
Möchte man bewirken, dass etwa "see section 5.4" im Text stets in einer Zeile steht (also die Zahl "5.4" in der gleichen Zeile steht wie das Wort "section"; ein Zeilenumbruch am Leerzeichen verhindert wird), kann man eine Tilde ~ verwenden: "section~\ref{sec:myLabel}"
Quellcode einbinden:
Benutzen Sie z.B. das Paket "Listings" (siehe hier). Weitere vordefinierte Sprachen
Verbatim-Schriftart einstellen:\lstset{fancyvrb=true}
Index erstellen:
siehe hier.
Kennzeichnung neuer Abschnitte (sogenannte change bar)
- Überprüfen, ob das Paket changebar installiert ist (kann von http://www.ctan.org/tex-archive/macros/latex/contrib/changebar/ bezogen werden):
- einfügen
\usepackage[color]{changebar}
- vor \begin{document}, wobei VN als Abkürzung für Vorname/Nachname (z.B. DD für Donald Duck) steht:
\newenvironment{VNchange}{\cbstart}{\cbend}
- den veränderten Abschnitt markieren:
\begin{VNchange} neuer Text \end{VNchange}
Tabellen aus z.B. Excel verwenden
Hilfreiches Tool LaTable, in das man Excel Tabellen hinkopieren und wieder als LaTeX Tabellen herauskopieren kann, weiterhin Bearbeitungen wie Rahmen
Equations
It is recommended to not use eqnarray as it introduces inconsistencies. See Avoid eqnarray! by Lars Madsen for details.
Zeilenumbruch in textt-Umgebung
Text innerhalb von texttt wird standardmässig nicht umgebrochen, da für textt kein Zeilenumbruchzeichen definiert ist. Dies kann man manuell setzen, z.B. in einem eigenen angepassten Kommando:
\newcommand\mytexttt[1]{\texttt{\hyphenchar\font=45\relax #1}}
Details siehe hier: http://tex.stackexchange.com/questions/44361/how-to-automatically-hyphenate-within-texttt
Bibtex-Tipps
Avoid dashed lines in author field in IEEEtran, IEEEtranSA, etc.
In IEEE bibtex styles, dashed lines are inserted in the author field if the same author (or combination of authors) appears multiple times in a bibliography list. This is default behaviour of the IEEE styles, but can be turned off.
To turn this behaviour of, insert the following code at the beginning of the bib files:
@IEEEtranBSTCTL{myctlfullname, CTLdash_repeated_names = "no" };
With this command, special IEEEtran options can be set.
In your latex file, put the following code before the\begin{document}
\makeatletter \def\bstctlcite{\@ifnextchar[{\@bstctlcite}{\@bstctlcite[@auxout]}} \def\@bstctlcite[#1]#2{\@bsphack \@for\@citeb:=#2\do{% \edef\@citeb{\expandafter\@firstofone\@citeb}% \if@filesw\immediate\write\csname #1\endcsname{\string\citation{\@citeb}}\fi}% \@esphack} \makeatother
\begin{document}
\bstctlcite{myctlfullname}
The code in the latex file enables the IEEE options to be regarded when parsing the bib file.
For more details, see http://mirrors.ctan.org/macros/latex/contrib/IEEEtran/bibtex/IEEEtran_bst_HOWTO.pdf.
Bibtex Troubleshooting
In general, if something bibtex-related causes errors or does not look as intended, make sure to inspect the Bibtex warnings and errors at the end of the log when creating your PS/PDF. Look for the line "This is BibTeX, version ..." and go through all items. An error message with something like "',' expected" indicates that one of your BibTeX entries misses commas to separate fields.
Troubleshooting
- Error message about LaTeX sources being older than 5 years when using Miktex: Use the Miktex Update function to update all packages (or all packages that are older than 5 years). Even if your Miktex distribution is newer (e.g. Miktex 2.8), it came with older source files that will be outdated earlier than the whole distribution.
Links
- BibTeX-Einträge erstellen
- Liste von Tipps zum Schreiben von Konferenzpapieren mit TeX/LaTeX
- Seite mit verschiedenen Tools
- weitere KIT-Dokumentvorlagen
