Tag Archive for 'latex'

Fußnote ohne Note

Genau das können die ncctools. Mit dem Befehl

\Footnotetext{MARKE}{Fußnotentext}

kann man eine Fußnote erzeugen, die durch eine beliebige MARKE gekennzeichnet wird. Hier kann man z.B. einen Stern, ein Kreuz oder eben auch ein Leerzeichen wählen. Ist jetzt schwer zu erklären warum ich eine Fußnote ohne Markierung haben will, aber das muss eben so sein. :-)

Man beachte, dass dieser Befehl im Gegensatz zum “Original” mit einem großen “F” anfängt.

Code in Text hervorheben

Ist so nen Sache für sich. Ich bin mir noch nicht sicher wie ich am Ende Codeschnipsel oder Schlüsselwörter in Fließtext hervorheben möchte. Darum habe ich mir jetzt ein neues Makro “code” definiert:


\newcommand{\code}[1]{\texttt{#1}}

Wenn ich jetzt schreibe “\code{return}”, dann macht das auch nichts anderes als “\texttt{return}” aber ich habe später die Freiheit einfach die Hervorhebung zu ändern, und zwar ohne dass ich mittels copy/paste durch den ganzen Text gehen muss…

Code Schnipsel

Code Schnipsel einfach in LaTeX-Dokumente einfügen. Wer keine Lust mehr auf die verbatim-Umgebung hat, dem kann das Paket “listings” weiterhelfen.

Erst mal die beiden Pakete “listings” und “color” in der Präambel importieren und evtl. noch die Hintergrundfarbe für Listings festlegen.


\usepackage{listings}
\usepackage{color}
\definecolor{listinggrey}{rgb}{0.9,0.9,0.9}

Dann kann man im Dokument bequem, optisch ansprechende, Listings einfügen.


\lstset{language=java,
  basicstyle=\small,
  %numbers=left,
  tabsize=2,
  frame=single,
  backgroundcolor=\color{listinggrey}}
\begin{lstlisting}
public class HelloWorld {
  public static void main(String[] args) {
    System.out.println("Hello World!");
  }
}
\end{lstlisting}

Mehr dazu gibt es z.B. hier und speziell hier.

Hier Text einfügen

Wenn man so am schreiben ist, können Macros, die einen erinnern den Text später noch zu vervollständigen, recht hilfreich sein.


\newcommand{\addtext}{\textcolor{red}{<hier Text einfügen>}}
\newcommand{\addimage}{\textcolor{red}{<hier Bild einfügen>}}
\newcommand{\addtable}{\textcolor{red}{<hier Tabelle einfügen>}}

Yet another latex hint

Ich arbeite auf dem Mac mit dem Latex-Editor TeXShop. Wenn ich damit meine komplette Diplomarbeit mit allen Verzeichnissen kompilieren will, war das bis jetzt immer ein kleines Abenteuer, weshalb ich auf die Konsole ausgewichen bin.

Folgendes Shell-Script erledigt das ganze recht gut wenn man ihm den Namen der zu kompilierenden Tex-Datei übergibt:


#!/bin/sh
bfname=$1

#first run to build up basic structure
pdflatex $bfname.tex

#build Bibliography
bibtex $bfname

#build Glossary
makeindex $bfname.nlo -s nomencl.ist -o $bfname.nls

#build Index
makeindex $bfname.idx

#run two times to set the toc and references right
pdflatex $bfname.tex
pdflatex $bfname.tex

Mit einer kleinen Änderung kann man das ganze auch einfach in einer Datei mit der Endung “.engine” unter ~/Library/TeXShop/Engines ablegen und dann im Typeset-Menü von TeXShop auswählen.

Hier noch meine Diplomarbeit.engine:


#!/bin/sh
bfname="`basename "$1" .tex`"
pdflatex "$1"
bibtex "$bfname"
makeindex "$bfname".nlo -s nomencl.ist -o "$bfname".nls
makeindex "$bfname".idx
pdflatex "$1"
pdflatex "$1"

Lustige Latex Anekdote

Da ich ja gerade so ein bisschen am TeXten für die Diplomarbeit bin, würde ich auch gerne in der Firma Latex benutzen. Eigentlich auch kein Problem und Latex lief auch von Anfang an, nur eben langsamer als gewohnt. Mit langsam meine ich nicht etwa ein paar Sekunden länger, sondere eher ich geh mir mal nen Kaffee hohlen und kann ihn auch noch trinken bevor das Dokument einmal kompiliert ist. Wenn man so ein paar Verzeichnisse, einen Index und eine Literaturdatenbank hat ist das auch die Dauer schon ein wenig nervig, wenn man bei jeder Änderung das ganze drei mal kompilieren muss.

Continue reading ‘Lustige Latex Anekdote’

Schon wieder Latex

Nachdem ich mich jetzt ne knappe Stunde mit dem nomencl-Paket herumgeschlagen habe, muss ich meine Erkenntnisse doch noch kurz festhalten.

Auf jeden Fall sollte man sich das aktuelle Paket von ctan hohlen. Die meisten Probleme hingen bei mir damit zusammen, dass ich auf meiner Kiste im Büro und Zuhause unterschiedliche Versionen des Paktes verwendet hatte die dann doch nicht so wirklich kompatibel waren… nomencl auf meinem Mac war immerhin noch aus dem Jahre 2000.

Also einfach “nomencl.dtx” und “nomencl.ins” runterladen und mit “latex nomencl.ins” die beiden Dateien “nomencl.sty” und “nomencl.ist” erzeugen. Im Readme steht nun dass man “nomencl.sty” irgendwo hinpacken muss, wo latex sie findet, und gleiches gilt für “nomencl.ist” und makeindex. Zwecks Einfachheit und Problemfreiheit ist es evtl. ratsam die alten Dateien einfach zu überschreiben.

In die Präambel des tex-Dokument kommt nun folgendes:


\usepackage[intoc]{nomencl}
\renewcommand{\nomname}{Glossar}
\setlength{\nomlabelwidth}{.30\hsize}
\makenomenclature

Hierbei will ich den Namen auf “Glossar” setzen und zwischen die Begriffe und deren Erklärung ein wenig Abstand einfügen. Sollten man das Glossar nicht im Inhaltsverzeichnis haben wollen, so fällt die Option “intoc” weg. An passender Stelle im Dokument sollte jetzt noch das Glossar gedruckt werden:


\cleardoublepage
\markboth{\nomname}{\nomname}
\printnomenclature

Das “cleardoublepage” sowie “markboth” war bei der Dokument-Klasse “scrbook” nötig, da sonst im Seiten Kopf noch der Name des letzten Kapitels erscheint. Wie sich das mit anderen Dokument-Klassen verhält kann ich nicht sagen. Jetzt kann man an jeder Stelle im Text neue Einträge in das Glossar hinzufügen:


\nomenclature{UML}{Unified Modeling Language}

Natürlich sollten man das ganze auch noch mit makeindex kompilieren:


makeindex Document.nlo -s nomencl.ist -o Document.nls

Fertig!