LaTeX – Grafiken einbinden, Tabellen basteln, Referenzen innerhalb und außerhalb des Dokumentes, Präsentationen mit Beamer und Sonstige Kleinigkeiten

Juni 22, 2013 um 5:28 vormittags | Veröffentlicht in LaTeX, Programmieren, Ubuntuusers | 1 Kommentar

Inzwischen ist der Workshop abgeschlossen. Die beiden letzten Termine (4.6. und 18.6.) lagen so nah bei einander, dass ich unter den Vorbereitungen keine Zeit hatte die Dateien zu veröffentlichen. Daher fasse ich die Veröffentlichungen gleich in einem Artikel zusammen.

Der erste Workshop befasste sich mit Grafiken, Tabellen und Referenzen. Im Zweiten ging es dann um Präsentation. Im Anschluss wurden noch ein paar zusätzliche Formatierungsmöglichkeiten und technische Details gezeigt.

Dateien

Grafiken.tex   <– TeX-File für Grafiken
Grafiken.pdf   <– Kompiliertes PDF
Tabellen.tex   <– TeX-File für Tabellen
Tabellen.pdf   <– Kompiliertes PDF
Referenzen.tex   <– TeX-File für Referenzen
Referenzen.pdf   <– Kompiliertes PDF

Presentation.tex   <– TeX-File für Präsentation
Presentation.pdf   <– Kompiliertes PDF
Sonstiges.tex   <– TeX-File zu sonstigen Themen
Sonstiges.pdf   <– Kompiliertes PDF

Einheit01.bib   <– Das zugehörige Bib-File (Zitiermaterial) (update)
include.tex   <– Header-File mit allen notwendigen Layout-Informationen und eingebundenen Paketen (update)
cc-by-sa.png   <– CC-Grafik

Für Presentation.tex

Taach.png  <– Ja, ich habe das Logo des Blogs als Beispiel verwendet
Taach.jpeg  <– Selbes Bild, anderes Dateiformat

Für Sonstiges.tex

Farbennamen.png  <– Ein Haufen vordefinierter Farben
geraetetreiber1.png  <– Verschiedene Gerätetreiber
geraetetreiber2.png  <– Verschiedene Gerätetreiber
geraetetreiber3.png  <– Verschiedene Gerätetreiber

Anmerkung:  Das Original aus dem Workshop hat auf der Titelfolie noch eine zusätzliche Grafik: das Logo des Mentoring-Programms der Uni Wien. Da ich dieses nicht unter eine CC-Lizenz  stellen kann habe ich es kurzerhand herausgenommen. Außerdem habe ich den Header noch nicht aufgeräumt. Hier ist ein Haufen an neuen Kommandos, welche keine logische Struktur haben. All das in Version 2.0 :)

Wie auch im PDF geschrieben: alle diese Dateien stehen unter einer CC-BY-SA 3.0, mit einer Ausnahme: die cc-by-sa.png-Grafik, an welcher alleine Creative Commons die Rechte hält.

=-=-=-=-=
Powered by Blogilo

LaTeX – Mathe-Modus und BibTex

Mai 8, 2013 um 6:09 vormittags | Veröffentlicht in LaTeX, Ubuntuusers | 10 Kommentare

Wie ich schon vor längerer Zeit geschrieben habe, halte ich in diesem Semester, zusammen mit zwei Kollegen, am Informatik-Institut der Uni Wien einen LaTeX-Workshop ab. Dieses Mal waren die Themen, die wir vorgetragen haben Mathematik-Modus (Formelsetzen) und BibTeX (Zitieren).

Selbstverständlich ist auch diesen Folien der Umfang dieses Teilbereiches von LaTeX nicht erschöpft, sie sollen nur einen Punkt zum Einstieg bieten.

Beim nächsten Termin (4.6.) wird es um Tabellen erstellen, Grafiken einbinden und Referenzen setzen (innerhalb und außerhalb des Dokuments) gehen.

Dateien

Mathe-Modus.tex  <– TeX-File für den Mathe-Modus
Mathe-Modus.pdf  <– Kompiliertes PDF
BibTeX.tex  <– TeX-File für BibTex
BibTeX.pdf  <– Kompiliertes PDF

Einheit01.bib  <– Das zugehörige Bib-File (Zitiermaterial)
include.tex  <– Header-File mit allen notwendigen Layout-Informationen und eingebundenen Paketen
cc-by-sa.png  <– CC-Grafik

Anmerkung: Das Original aus dem Workshop hat auf der Titelfolie noch eine zusätzliche Grafik: das Logo des Mentoring-Programms der Uni Wien. Da ich dieses nicht unter eine CC-Lizenz  stellen kann habe ich es kurzerhand herausgenommen. Außerdem habe ich den Header noch nicht aufgeräumt. Hier ist ein Haufen an neuen Kommandos, welche keine logische Struktur haben. All das in Version 2.0 :)

Wie auch im PDF geschrieben: alle diese Dateien stehen unter einer CC-BY-SA 3.0, mit einer Ausnahme: die cc-by-sa.png-Grafik, an welcher alleine Creative Commons die Rechte hält.

=-=-=-=-=
Powered by Blogilo

LaTeX – Ein Einstieg

März 13, 2013 um 7:48 vormittags | Veröffentlicht in LaTeX, Ubuntuusers | 7 Kommentare

Lange ist es her, dass ich etwas über LaTeX geschrieben habe. An sich habe ich einen Einstieg in LaTeX schon vor längerer Zeit einmal beschrieben. Dieses Semester leite ich, gemeinsam mit zwei Kollegen an der Uni Wien einen LaTeX-Workshop, in welchem wir versuchen Studienanfänger an LaTeX heranzuführen. Dazu haben wir ein paar Foliensätze zusammengestellt, mit denen wir das jeweilige Thema vorstellen. Die Themen sind folgende:

  • Einstieg/Installation von LaTeX
  • Mathematik-Modus
  • Zitieren mit BibTeX
  • Grafiken verwenden
  • Tabellen bauen
  • Referenzen innerhalb und außerhalb des Dokuments
  • Präsentationen mit Beamer

Wir sind immer noch dabei Foliensätze zu erstellen, deswegen kann ich jetzt nur den ersten Foliensatz online stellen. Die Foliensätze sind so verfasst, dass sie möglichst selbsterklärend sind. Deswegen werde ich hier nicht viel über den Inhalt verlieren. Natürlich besteht LaTeX aus wesentlich mehr als die Folien abdecken können. Es soll eben nur ein Einstieg sein. Weitere Foliensätze folgen, sobald sie in einer finalen Version vorliegen.

Dateien

Einheit01.tex  <– Das haupt-TeX-File
Einheit01.bib  <– Das zugehörige Bib-File (Zitiermaterial)
include.tex  <– Header-File mit allen notwendigen Layout-Informationen und eingebundenen Paketen
cc-by-sa.png  <– CC-Grafik
Einheit01.pdf  <– Fertiges PDF

Anmerkung: Das Original aus dem Workshop hat auf der Titelfolie noch eine zusätzliche Grafik: das Logo des Mentoring-Programms der Uni Wien. Da ich dieses nicht unter eine CC-Lizenz  stellen kann habe ich es kurzerhand herausgenommen. Außerdem habe ich den Header noch nicht aufgeräumt. Hier ist ein Haufen an neuen Kommandos, welche keine logische Struktur haben. All das in Version 2.0 :)

Wie auch im PDF geschrieben: alle diese Dateien stehen unter einer CC-BY-SA 3.0, mit einer Ausnahme: die cc-by-sa.png-Grafik, an welcher alleine Creative Commons die Rechte hält.

=-=-=-=-=
Powered by Blogilo

ein kleines LaTeX-HowTo – Alles für “Theoretische Informatik” – und ein Exkurs

März 29, 2012 um 10:05 nachmittags | Veröffentlicht in LaTeX, Programmieren, Ubuntuusers | 3 Kommentare

Nach langer Zeit wollte ich mal wieder ein LaTeX-HowTo schreiben in welchem ich meine eigenen Erfahrungen mit LaTeX niederschreibe. Ursprünglich sollte das Thema, passend zu meinem Artikel Zitate und Literaturverzeichnis mit BibTex zu tun haben. Da das Thema aber recht umfangreich ist wollte ich hierfür auch eine Menge an Anschauungsmaterial liefern um die Unterschiede unter verschiedenen Styles hervorzuheben. Dieser Artikel muss leider noch warten. Stattdessen möchte ich hier kleine Hilfestellungen die mir meine Hausaufgaben in der Lehrveranstaltung “Theoretische Informatik” verschönt haben zeigen.

Kleiner Exkurs: Bei der Theoretischen Informatik handelt es sich um das Wissen wie grundlegende Mechanismen funktionieren. Dazu gehört z.B. die Automatentheorie. Kurz gesagt: nach dieser LV hat man den Großteil des theoretischen Hintergrundes intus mit welchem man einen Compiler bauen könnte. Das heißt aber natürlich nicht, dass man sich danach gleich daran setzt eine neue Programmiersprache zu schreiben.

Wie du siehst verknüpfe ich die von mir verwendeten Befehle und Hilfsmittel mit einem einfachen konkreten Beispiel welches direkt aus der Lehrveranstaltung kommt. Wenn dich die Theorie nicht interessiert kannst du auch einfach nur den Code und den gerenderten Text analysieren. Da dieser Artikel zum Teil auch für mich als Übung und als Erinnerung herhalten soll gehe ich auch auf die theoretische Vorgangsweise näher ein.

Der LaTeX-Code ist als Bilder eingefügt weil Blogilo permanent die Backslash frisst. Mit diesen Backslash beginnt in LaTeX jedoch jeder Befehl und eine Reihe von Maskierungen.

Praktische Befehle

Die Kapitel sind nach dem Anwendungsgebiet benannt.

Formale Beschreibung

Ein Beispiel beginnt mit der formalen Beschreibung einer gegeben Sprache. Die Sprache ist dann z.B. als regulärer Ausdruck gegeben:

Beschreiben Sie die durch den regulären Ausdruck (y | x)+ definierte formale Sprache mittels Mengenschreibweise.

Erklärung der Angabe: Diese Angabe besagt, dass entweder y oder x beliebig oft (0 bis unendlich) vorkommen dürfen (dafür steht der jeweilige Stern). Durch das Plus am Ende wird angegeben, dass der ganze Ausdruck in der Klammer mindestens einmal aber ansonsten beliebig oft (eben 1 bis unendlich) vorkommen soll. Dadurch kann jede beliebige Zeichenkette erzeugt werden welche aus den Zeichen x und y besteht, in beliebiger Reihenfolge und beliebig lange. Obwohl das Plus darauf besteht, dass der Ausdruck mindestens einmal vorkommen muss kann das Ergebnis auch leer sein, da x und y ja auch 0-mal vorkommen können.

Für die Mengenschreibweise empfiehlt sich dann der Mathe-Modus von LaTeX, welcher mit dem $-Zeichen beginnt und endet. Die Lösung als LaTeX-Code und als gerenderter Text:

Code 01

Hierbei stehen folgende Zeichen für das jeweilige Ergebnis:

  • Code 02 steht für eine geöffnete geschwungene Klammer die auch angezeigt werden soll. Der Backslash ist in diesem Fall wichtig, weil er die Klammer maskiert. Ohne ihm sind wir beim nächsten Punkt:
  • Code 03 das ^ (caret) ist das Signal an LaTeX das nachfolgende Zeichen hochzustellen. Mit den Klammern wird eine ganze Zeichenkette eingeschlossen auf die dieser Befehl angewandt werden soll. Diese wird dann, wie im Beispiel oben, als Hochzahl dargestellt. Es können natürlich auch mehr als ein Zeichen sein. Weder das caret noch die Klammern werden im Ergebnis sichtbar sein. Sie dienen nur als Formatierungs-Befehle.
  • Code 04 wird zur sogenannten Pipe. Das ist der senkrechte Strich in der Mitte der Definition. Hinter diesem Befehl muss ein Leerzeichen folgen, da der Befehl sonst nicht erkannt wird. Dieses Leerzeichen wird nicht ausgegeben.
  • Code 05 steht für “greater or equal” und produziert das größergleich-Zeichen. Das Gegenstück heißt “lesser or equal”: leq.

Grammatik

Nachdem wir diese Definition geschafft haben ist der nächste Schritt eine reguläre Grammatik zu erzeugen mit der wir alle Wörter aus dem regulären Ausdruck erzeugen können:

Konstruieren Sie die entsprechende reguläre Grammatik, die die Sprache aus Beispiel 1 erzeugt, und spezifizieren Sie einen Automaten, der sie akzeptiert.

Unsere Grammatik sieht so aus:

Code 06

Example 02

Da in diesem Code nichts Neues vorkommt nehmen wir ihn einfach als gegeben hin. Das erste S ist die Liste aller Symbole die wir für die Ersetzungsvorgänge benötigen (in diesem Fall eben nur das S). x und y sind die Symbole welche wir zum eigentlichen Schreiben eines Wortes zur Verfügung haben. P ist die Menge aller Regeln. Hierfür werden wir eine eigene Zeile benötigen. Das letzte S ist im Grunde genommen dasselbe S wie das S am Anfang, nur wird es hier als Startsymbol verwendet. Dabei handelt es sich um eine Konvention. Irgendwo müssen wir ja anfangen.

Regelwerk

Kommen wir zur Menge der Regeln. Hier gibt es wieder eine interessante Neuerung:

Code 07

Der Befehl overset ist hier der wichtigste von allen. Lange habe ich nach einer Möglichkeit gesucht ein beliebiges Zeichen über ein anderes stellen zu können. Dieser Befehl bewirkt genau das. Er übernimmt zwei Parameter und stellt das Ergebnis des Ersten über den Zweiten. In diesem Beispiel besteht P aus 3 Regeln. Die Syntax einer Regel besteht aus:

Ausgangssymbol -> Ergebnis

wobei jeder Pfeil eine fortlaufende Nummer hat. Ich hätte natürlich auch schreiben können: ->1 . Aber ehrlich: Das wäre das Ergebnis mit MS Word. LaTeX kann es besser. Der Befehl rightarrow zeichnet dann den einfachen Pfeil nach rechts. Das kleine e-ähnliche Zeichen ist das kleine griechische Epsilon und wird als “Leerwort” verwendet. Sprich: damit verschwindet die Variable und ich bin fertig. Der Befehl für das kleine Epsilon: epsilon und für das große Epsilon: Epsilon. Das funktioniert auf diese Art und Weise mit allen griechischen Zeichen.

Der Automat

Nun ist in der Angabe noch ein Automat gefordert, welcher alle Wörter annehmen kann, welche von der Grammatik, die wir gerade erstellt haben, erzeugt werden können. Die Definition des Automaten:

Code 08

Example 04

beinhält nur zwei Punkte die noch nicht angesprochen wurden. Analog zum caret (^) stellt der Unterstrich im Mathe-Modus das nachfolgende Zeichen herab. Ist danach eine Zeichenkette in geschwungenen Klammern angegeben wird die ganze Zeichenkette herabgestellt. Der Befehl delta wiederum ist analog zum Befehl epsilon und erzeugt ein kleines griechisches delta-Zeichen.

Der erste Punkt in der Definition ist die Menge der möglichen Zustände des Automaten. In diesem Fall ist das nur q0. Danach kommen die möglichen Zeichen die der Automat akzeptieren muss (hier: x und y). Danach kommt der Name der Tabelle in welcher die Verbindungen des Automaten definiert werden. Diese wird mit dem delta beschriftet. Danach kommt der Startzustand (wie das S bei den Grammatik-Regeln). Dabei handelt es sich wieder um q0. Zum Schluss geben wir die Menge an möglichen Endzuständen des Automaten an. Diese Ehre kommt wieder q0 als einzigem Zustand des Automaten zu.

Die Tabelle

Nun wollen wir die Tabelle des Automaten erzeugen:

Code 09

Example 05

Da es sich um eine tabellarische Auflistung handelt liegt es nahe eine einfache Tabelle zu erzeugen. Dazu müssen wir mit begin eine neue Umgebung eröffnen. Diese Umgebung soll vom Typ tabular sein. Nicht vergessen die Umgebung mit end wieder zu schließen. Als Argument geben wir der Tabelle noch Folgendes mit: l|ccDie lesbaren Zeichen stehen für die Ausrichtung des Textes in der jeweiligen Spalte. Die erste Spalte soll also linksbündig sein, die beiden anderen centriert. Mit der Pipe zwischen der ersten und zweiten Spalte gebe ich an, das LaTeX einen senkrechten Strich zwischen diesen beiden Spalten ziehen soll.

Die Tabelle beginnt dann mit einfachem Text. In diesem Fall ist es das Zeichen delta, welches nur im Mathe-Modus dargestellt werden kann. Die einzelnen Spalten werden durch das Kaufmännische Und (&) getrennt. Nach der letzten Spalte muss ein Zeilenumbruch erfolgen. Diesen erzwingt man mit den beiden Backslash am Ende der Zeile. Die Zeichen x und y müssen nicht unbedingt im Mathe-Modus geschrieben werden. Ich habe es dennoch gemacht um das Schriftbild zu vereinheitlichen. Der Befehl hline erzeugt mir den waagrechten Strich den ich benutze um die Kopfzeile vom Körper der Tabelle zu trennen. Dieser Befehl sollte für sich in einer Zeile stehen und braucht nicht mit einem Zeilenumbruch bedacht zu werden. Das macht er selbst. Auch die letzte Zeile in der Tabelle muss nicht mit einem Zeilenumbruch beendet werden. Das passiert beim beenden der Tabelle mit end.

Zur Erklärung der Tabelle: Das delta ist der Bezeichner (Name) der Tabelle. Daneben stehen die Zeichen die der Automat verarbeitet in relativ beliebiger Reihenfolge. In der linken Spalte sind alle Zustände aufgelistet. Dem Automaten werden nun die einzelnen Zeichen des Eingabewortes gefüttert. Je nachdem in welchem Zustand man sich gerade befindet muss man nur in die Spalte mit dem jeweiligen Zeichen sehen um zu erkennen in welchen Zustand der Automat nun wechselt. Ist das Wort zu Ende und der Automat ist in einem akzeptierten Endzustand stehengeblieben (die Menge welche wir bei der Definition angegeben haben) gilt das Wort als akzeptiert. Wenn nicht, dann nicht.

Dieser Automat funktioniert wie folgt: Wir starten im Zustand q0 und bekommen einer der beiden Zeichen x oder y. In beiden Fällen wechseln wir vom Zustand q0 in den Zustand q0. Das bedeutet, wir akzeptieren in jedem Durchgang jedes Zeichen. Da q0 auch gleichzeitig ein Endzustand ist können wir ohne Probleme jedes beliebig lange Wort akzeptieren, da wir immer in q0 zu stehen kommen werden.

Soweit zu den Techniken die ich bisher in der LV Theoretische Informatik verwendet habe. Ein großes Kapitel habe ich noch nicht angeschnitten: LaTeXDraw. Dieses werde ich in Kürze in einem eigenen Artikel behandeln. Auch dieser Artikel wird ein konkretes Beispiel aus der LV behandeln und Schritt für Schritt vorgehen.

Ich hoffe du konntest etwas nützliches über LaTeX lernen.

=-=-=-=-=
Powered by Blogilo

Meta-Daten von PDFs bearbeiten

April 20, 2011 um 12:12 nachmittags | Veröffentlicht in Bash, GNU/Linux, LaTeX, Ubuntuusers | 9 Kommentare

Natürlich. Da will man mal was über ein Tool schreiben und dann kommen einem andere zuvor. :) Deswegen werde ich nicht das Tool allgemein beschreiben sondern nur dessen Einsatz zum Manipulieren von PDFs.

Vor kurzem war es notwendig, dass ich bei einem in LaTeX erstellten PDF die Metadaten etwas manipuliere. Um genau zu sein ging es um den Eintrag zu "Autor". Ich hatte in LaTeX auf die schnelle keine geeignete Möglichkeit gefunden die Titelseite nach meinen Wünschen umzuformatieren, also habe ich, nach einem Zeilenumbruch, zusätzliche Information in den \author{}-Befehl geschrieben. Diese Information sollte jedoch nicht in den Meta-Daten sichtbar sein.

Meine Lösung, die auf Anhieb funktioniert hat (wow …): pdftk.

Zuerst müssen wir die Meta-Daten aus dem PDF extrahieren. Das funktioniert mit folgendem Befehl:
pdftk <PDFName>.pdf dump_data output <InfoDatei>.info

Es wird also die Datei <PDFName>.pdf hergenommen und mittels dump_data dessen Meta-Daten herausgelöst. Gespeichert werden diese Daten nun in <InfoDatei>.info. Diese Textdatei liegt nun im selben Ordner wie das PDF und kann mit jedem beliebigen Texteditor bearbeitet werden. Sobald man damit fertig ist muss man die Meta-Daten wieder zurückschreiben. Das funktioniert so:
pdftk <PDFName>.pdf update_info <InfoDatei>.info output <PDFName>_clean.pdf

Hier wird wieder die Datei <PDFName>.pdf hergenommen und mittels update_info dessen Meta-Daten auf den neuesten Stand gebracht. Die Datei aus der pdftk diese neuen Informationen liest geben wir als <InfoDatei>.info an. Per output wird das Ergebnis in <PDFName>_clean.pdf geschrieben. Dies deswegen, weil ich nicht weiß ob es Probleme macht direkt wieder in die Datei zu schreiben aus der man gerade liest. Man kann aber dann einfach das alte PDF löschen und das Neue umbenennen.

Der Einfachheit halber habe ich das ganze in ein Skript gegossen:

#!/bin/bash

FILENAME=$1
FILENAME=${FILENAME%.*}

pdftk $FILENAME.pdf dump_data output $FILENAME.info

#<InfoDatei>.info bearbeiten
vim $FILENAME.info

pdftk $FILENAME.pdf update_info $FILENAME.info output ${FILENAME}_clean.pdf

echo "Cleaning up"
rm -f $FILENAME.pdf
rm -f $FILENAME.info
mv -f ${FILENAME}_clean.pdf $FILENAME.pdf

Das Skript wird mit <Skriptname>.sh <PDFDatei>.pdf aufgerufen. Zuerst wird der Name der PDF-Datei (das erste Argument des Skripts) in der Variable FILENAME gespeichert. Dann kürzen wir diesen Namen um das Suffix .pdf. Als Nächstes wird pdftk mit den besprochenen Parametern aufgerufen. Der Einfachheit halber wird überall der Name der übergebenen PDF-Datei verwendet. Statt vim $FILENAME.info kann natürlich jeder beliebige Texteditor verwendet werden. Sobald der Editor wieder geschlossen wurde geht die Verarbeitung weiter. Jetzt wird die bearbeitete Meta-Information wieder mit dem PDF kombiniert. Zum Schluss werden die alte PDF-Datei und die info-Datei gelöscht und die neue PDF-Datei wird so benannt wie die Alte.

Kurz und schmerzlos. Ich muss zugeben, ich verwende dieses Skript auch häufig um damit PDFs zu bearbeiten die ich von anderen Leuten bekomme. Mich stört es einfach wenn mir Okular im Titel anzeigt: Irgendein Titel – Microsoft Word

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

=-=-=-=-=
Powered by Blogilo

ein kleines HowTo für LaTeX-Anfänger – Zitate und Literaturverzeichnis

März 22, 2010 um 10:34 vormittags | Veröffentlicht in LaTeX, Programmieren, Ubuntuusers | 13 Kommentare

Nicht jeder verwendet LaTeX so wie ich auch für niedere Dienste wie Einkaufszettel. Der natürliche Lebensraum eines gesunden LaTeX-Dokumentes welches in der Blüte seiner Jahre nach kurzer Verpuppung aus dem TeX-Container als wunderschöne PDF-Datei hervorbricht ist die wissenschaftliche Arbeit. Und sofern die Arbeit nicht ausschließlich von Erkenntnissen handelt die der/die Schreiber in Experimenten erhalten haben muss korrekt zitiert und verwiesen werden. Manche Style-Dokumente beinhalten bereits eine Gruppe von vorgefertigten Befehlen mit denen solche Angaben ziemlich automatisch in einem bestimmten Stil erstellt werden können. Da es davon jedoch sehr viele gibt und diese im allgemeinen recht gut dokumentiert sind werde ich mich hier nur um die manuelle Erstellung von Literaturverzeichnissen kümmern.

Grundsätzlich sollte man so vorgehen:

  1. Das Werk aus dem man zitieren möchte in das Literaturverzeichnis schreiben.
  2. Mit dem Schlüssel aus dem Literaturverzeichnisses die Zitierung im Text einfügen.

Erstellung des Literaturverzeichnisses

Die Quellenangabe kommt im LaTeX-Dokument ganz zum Schluss. Direkt vor das

\end{document}

und sieht so aus:

\begin{thebibliography}{999}
\bibitem {Zitat01} Zitate leicht gemacht
\bibitem [Wiki10] {UndNochEinZitat} \url{www.wikipedia.org}, Zugriff 22.03.2010
\end{thebibliography}

Wieder erkennt man die typische LaTeX-Umgebung welche mit dem Befehl \begin beginnt und mit dem Befehl \end endet. Um eine Quellenangaben-Umgebung zu schaffen wird thebibliography verwendet. Der zweite Wert “999″ bezieht sich auf die maximale Breite der Label. Seit jeher verwende ich 999 um keine Probleme zu erhalten, man kann den Wert aber natürlich anpassen wie man ihn braucht.

Der erste gezeigte Eintrag stellt das Minimum dar mit dem man ein Literaturverzeichnis erstellen kann. Der Befehl \bibitem erzeugt einen neuen Eintrag im Literaturverzeichnis. In den geschwungenen Klammern steht der Schlüssel mit dem man später das Zitat im Text identifiziert. Dieser Schlüssel kann irgendetwas sein da er im fertigen Dokument nicht angezeigt wird. Diese Variante wird automatisch durchnummeriert.

Um einen bestimmten Text statt einer Nummer zu erhalten muss man in eckigen Klammern wie im zweiten Eintrag gezeigt ein Label eintragen. Damit wird dieses Label bei der Zitierung angegeben.

Für den Befehl \url{} benötigt man noch das Paket “url” oder das Paket “hyperref“. (Letzters macht die URL klickbar.)

So sieht der obige Code als PDF aus:

Literaturverzeichnis in LaTeX

Der Titel des Literaturverzeichnisses wird je nach der angegebenen Sprache beim Einbinden des Paketes babel übersetzt.

Zitieren

Nun haben wir unser Literaturverzeichnis erstellt und können munter beginnen zu zitieren. Zum Zitieren braucht man keine bestimmte Umgebung sondern kann das Zitat direkt in den Text schreiben. Das funktioniert so:

So zitiert man in \LaTeX{} \cite{Zitat01}\\
Und nochmal
\cite{UndNochEinZitat}

Der Befehl \cite fügt die Zitierung ein. Abhängig davon ob im Literaturverzeichnis ein Label angegeben wurde wird dieses oder die fortlaufende Nummer eingefügt. Im ersten Satz habe ich die erste Quelle aus dem Literaturverzeichnis verwendet, im zweiten Satz die Zweite. Das Ganze sieht als PDF so aus:

Zitierungen in LaTeX

Ich merke noch einmal an: Der Schlüssel (z.B. Zitat01 oder UndNochEinZitat) wird nur innerhalb des Dokumentes verwendet. Bei einer Zitierung eines des Eintrages im Literaturverzeichnisses wird entweder die dem Eintrag automatisch zugewiesene Laufnummer angezeigt oder der Text eines Labels (z.B. Wiki10) falls man dieses angegeben hat. Um Verwirrungen zu vermeiden sollten diese beiden Systeme jedoch nicht gemischt werden. Professionelle Literaturangaben sehen natürlich anders aus und beinhalten wesentlich mehr Informationen zum zitierten Werk. Je nach euren Vorgaben müsst ihr dies anpassen.

Creative Commons License
This work by Stefan Ohri is licensed under a Creative Commons Attribution-ShareAlike 3.0 Austria License

=-=-=-=-=
Powered by Blogilo

ein kleines HowTo für LaTeX-Anfänger – Mathematische Formeln

Februar 22, 2010 um 5:28 nachmittags | Veröffentlicht in GNU/Linux, KDE, LaTeX, Programmieren | 4 Kommentare

Ein wichtiger Grund LaTeX einzusetzen sind die exakten Darstellungsmöglichkeit von mathematischen Formeln. Von einfachen Beispielen wie
E = mc2
LaTeX-Code: $E = mc^{2}$
zu komplexeren Formeln wie
Komplexe Beispielformel
LaTeX-Code: $\frac{\binom{\sqrt[15]{\pi}}{\infty}}{\pm G - x_{62}^{34}} = \varliminf \sum \frac{\cos \mho}{\sin \eth}$
und darüber hinaus ist alles Möglich. Die zweite Formel ist übrigens nur zum Darstellen der Möglichkeiten und wurde von mir komplett sinnfrei zusammengestellt.

Buchstaben, sofern sie nicht einem speziellen Design entsprechen müssen wie PI oder sin können ganz normal geschrieben werden. Zu beachten ist, dass eine Mathematik-Umgebung in LaTeX mit einem "$" beginnen und enden muss. Nur zwischen diesen Zeichen werden die Befehle in mathematische Symbole umgewandelt. Das Zeichen $ selbst schreibt man in LaTeX \$. Ich denke, ich habe in den obigen Formeln alle wichtigen Beispiele gezeigt welche für die meisten Formeln notwendig sind. Hier die einzelnen Erläuterungen:

Potenz

Um im Mathematik-Modus eine Potenz zu schreiben hängt man an den Wert oder die Variable ein ^{} an. In die Klammern kommt die eigentliche Potenz. Diese kann sowohl aus Buchstaben als auch aus Zahlen bestehen.
x^2
LaTeX-Code: $x^{2}$

Index

Den Index einer Variable gibt man ähnlich wie die Potenz an. Durch das Anhängen von _{} an die Variable und das Ausfüllen der Klammern mit einem Wert erzeugt man zum Beispiel so etwas:
x_3
LaTeX-Code: $x_{3}$
oder so etwas:
x_ij
LaTeX-Code: $x_{ij}$

Brüche

Einen Bruch kann man in LaTeX mit dem Befehl \frac{}{} erzeugen. In die ersten Klammern kommt der Teil über, in die zweiten Klammern der Teil unter dem Bruchstrich. Ein Beispiel:
1 Xtel
LaTeX-Code: $\frac{1}{x}$

Wurzeln

Ein weiteres wichtiges mathematisches Element sind Wurzeln. Diese werden durch den Befehl \sqrt{} erzeugt. Unschwer ist zu erkennen, dass der Wert innerhalb der Klammern auch innerhalb der Wurzel erscheinen wird. Möchte man nicht eine Quadratwurzel sondern eine Wurzel mit anderer Potenz erstellen, so kann man einfach eckige Klammern einfügen in welchen diese Potenz eingetragen wird: \sqrt[]{}.
Wurzel von x^2
LaTeX-Code: $\sqrt{x^{2}}$
5. Wurzel von x^8
LaTeX-Code: $\sqrt[5]{x^{8}}$

Summe

Eine korrekte Darstellung der Summe im Gegensatz zum obigen Beispiel wäre aber eher
Beispiel einer Summe
LaTeX-Code: $\sum_{i=1}^{n}{x}$

Spezielle Symbole

Hier die Befehle zur Erzeugung der in den Formeln verwendeten Symbole:

  • PI
    \pi
  • Unendlich
    \infty
  • PlusMinus
    \pm
  • Sinus
    \sin
  • Cosinus
    \cos
  • Tangens wäre
    \tan
  • Das umgekehrte Omega
    \mho
  • Das zweite Symbol (dessen Name mir nicht einfallen will)
    \eth
  • Der Limes
    \varliminf
  • Die Summe
    \sum

Für manche Symbole wie z.B. das Omega benötigt man noch zusätzlich das Paket amssymb. Also einfach zu Beginn die Zeile \usepackage{amssymb} einfügen.

Creative Commons License
This work by Stefan Ohri is licensed under a Creative Commons Attribution-ShareAlike 3.0 Austria License

=-=-=-=-=
Powered by Blogilo

Kile – und ein kleines HowTo für LaTeX-Anfänger [Update]

Februar 21, 2010 um 8:05 nachmittags | Veröffentlicht in GNU/Linux, KDE, LaTeX, Programmieren | 2 Kommentare

[Update] Ich habe den Artikel um ein paar Bilder erweitert welche Kile besser erklären als reiner Text :). [/Update]

LaTeX ist für viele Leute ein Buch mit sieben Siegeln. So mächtig dieses System ist so steil ist auch die Lernkurve um wirklich ansprechende Dokumente damit verfassen zu können. Dabei reihen sich enorme Möglichkeiten an einander welche einem mit einer so fein anpassbaren Syntax offen stehen. Aber natürlich gehört auch diese zuerst gelernt. Am aller leichtesten ist der Einstieg aber sicher mit einer Entwicklungsumgebung welche einem schon viele Schritte automatisiert abnimmt, beziehungsweise eine große Anzahl an Funktionen in einer überschaubaren Art und Weise zur Verfügung stellt.

LaTeX auswählen und installieren

Unter Linux gibt es Kile für KDE, und Winefish für GNOME. Des Weiteren gibt es Plugins für gedit, Eclipse und Vim. Die plattformunabhängigen Programme Lyx, Geany und Texmaker beherrschen ebenfalls den Umgang mit LaTeX-Syntax (Liste auf Wikipedia, Liste auf Ubuntuusers.de). Wo es unter Windows normalerweise eine sehr heikle Angelegenheit ist eine LaTeX-Umgebung korrekt aufzusetzen ist dank der Paketverwaltungssysteme unter Linux nur ein sehr kleiner Aufwand nötig um dieses vielseitige Instrument installieren zu können. Es gibt eine Reihe von verschiedenen Distributionen für LaTeX aus denen man wählen kann. Die beliebteste Distribution unter Linux dürfte TeXLive sein. Da ich diese Distribution selbst verwende werde ich mich auch auf die Pakete und die Syntax dieser Distribution beschränken. Obwohl sich die unterschiedlichen Distributionen großteils decken kann es kleine Unterschiede in der Syntax und den vorhandenen Paketen kommen.

Um TeXLive zu installieren gibt es mehrere Möglichkeiten. Man kann in der Paketverwaltung seiner Wahl die Pakete texlive, texlive-latex-extra und texlive-lang-german suchen um eine deutsche Grundinstallation von LaTex zu erhalten:
sudo apt-get install texlive texlive-latex-extra texlive-lang-german
oder einfach das Paket texlive-full installieren um die gesamte Distribution mitsamt aller Pakete zur Verfügung zu haben:
sudo apt-get install texlive-full
Du solltest aber beachten, dass die Installation von texlive-full über 400 MB an Daten herunterlädt und noch etwas mehr dann auf dem Laufwerk auf dem deine Programme normalerweise installiert werden (bei einer Standardinstallation /dev/sda1) einnimmt.

Die Entsprechende Entwicklungsumgebung deiner Wahl darf natürlich auch nicht fehlen. Entweder nimmst du dafür einen Einfachen Texteditor (wobei ohne besondere Unterstützung selbst ein kurzes Dokument eine recht beschwerliche Angelegenheit werden kann) oder du wählst ein extra für LaTeX-Entwicklung geschriebenes Programm. In diesem Beispiel will ich nebenbei Kile vorstellen, welcher mein LaTeX-Editor unter KDE ist. Auch Kile ist in den Quellen der meisten Linux-Distributionen enthalten und kann unter Debian-basierten Systemen mit
sudo apt-get install kile
installiert werden.

Kile

Ein geöffnetes Dokument in Kile

Aber nun ans Eingemachte. Bevor ich die Grundstruktur eines LaTeX-Dokumentes erkläre eine kurze Einführung in Kile. Sobald installiert findet sich Kile unter K-Menü -> Programme -> Büroprogramme wieder (beim alten K-Menü unter K-Menü -> Büroprogramme). Beim ersten Start sollte Kile einen Auswahldialog anbieten welcher den Nutzer nach der Art des zu erstellenden Dokumentes fragt (wenn nicht, einfach unter Datei -> Neu auswählen).

Auswahldialog neuer Dokumente in Kile

Das kann sein ein Buch, ein Brief oder sogar eine Präsentation. Möchte man von Grund auf ein eigenes Dokument erstellen, so kann man auch ein leeres Dokument auswählen. Dieser Dialog bietet auch die Option einen Wizard zur Erstellung des jeweiligen Dokumenttyps aufzurufen. Diese Optionen sind teilweise fortgeschrittener Stoff und sollten am besten selbst erforscht werden, bzw. gibt es im Netz viele Anleitungen um diese Typen korrekt zu erstellen. Ich persönlich beginne ein neues Dokument damit ein leeres Dokument zu erstellen und eine Art Vorlage hinein zu kopieren.

Seitliche Werkzeugleiste in Kile

Aus dem seitlichen Werkzeugkasten kann man Symbole, Skripte und eigene Befehlsabkürzungen auswählen. Das ist sehr praktisch wenn man einen Text schreibt welcher viele z.B. griechische oder mathematische Symbole beinhält.

Um nun Kommandos in den Text zu stellen kann man diese Entweder selbst schreiben oder über den Menüpunkt LaTeX einfügen. Hier kann man mit einem Klick mathematische Formeln erstellen, die Schrift bearbeiten (fett, kursiv, hochgestellt, …) und Bilder einfügen. Doch dazu später mehr. Beginnen wir mit der ersten LaTeX-Datei:

LaTeX verwenden

Das erste was in einem LaTeX-Dokument erwähnt werden muss ist die Klasse des Dokuments. Das bezieht sich auf Attribute wie Größe des Papiers, Art des Dokuments. In diesem Beispiel verwenden wir:
\documentclass[a4paper,oneside,final]{scrartcl}
welches ich selbst für Arbeiten an der Uni verwende.
a4paper deutet darauf hin, dass das Dokument welches wir produzieren wollen der DIN A4 entsprechen soll. oneside steht für einseitigen Druck und final gibt an, dass es sich nicht um einen Entwurf sondern um das endgültige Dokument handelt. Dies alles sind optionale Attribute zur eigentlich verwendeten Klasse, welche dann zum Schluss in den geschwungenen Klammern angegeben wird. In diesem Fall wird mit scrartcl ein Artikel erstellt welcher unter Einbeziehung der KOMA-Script-Pakete besser auf europäische Maßeinheiten und Eigenschaften angepasst ist. Man kann alternativ auch article verwenden wenn man die KOMA-Scripte nicht verwenden will. scrartcl/article sind für kurze Texte gedacht. Möchte man längere Texte erstellen empfiehlt sich die Verwendung entweder von scrreprt/report oder book/scrbook. Für Briefe kann man scrlttr2 und für Präsentationen beamer einsetzen.

Nachdem wir die Art des Dokumentes festgelegt haben können wir verschiedene Pakete einbinden welche und zusätzliche Funktionen bieten und die Handhabung des Textes beeinflussen. Ein Paket bindet man auf folgende Art und Weise ein:
\usepackage[Attribute]{Paket}
Wieder ist der Teil in der eckigen Klammer optional. Es muss nur der Name des Paketes angegeben werden. Hier ein paar praktische Pakete welche man immer wieder brauchen kann in der Syntax zum einbinden:

  • \usepackage[german]{babel}
    aktiviert die Verarbeitung des Dokumentes als deutscher Text. Das kann einen Unterschied machen wenn man z.B. ein automatisiertes Datum verwendet. Andere Optionen wären z.B. english, french oder italian. Man kann auch mehrere Sprachen angeben. Diese werden dann mit einem Beistrich getrennt.
  • \usepackage{url}
    ermöglicht es Web-URLs trotz diverser Sonderzeichen die sonst das Verhalten des LaTeX-Compilers unangenehm beeinflussen in einer geschützten Umgebung anzugeben ohne sich weiter Sorgen um die Verarbeitung machen zu müssen. Eingesetzt wird es so: \url{<URL>}.
  • \usepackage[T1]{fontenc}
    schreibt die Schriftart vor die im Dokument verwendet werden soll.
  • \usepackage[utf8]{inputenc}
    ermöglicht die Verwendung von UTF-8 Schriften und damit eine einfache Art und Weise um Umlaute oder verschiedene andere Sonderzeichen wie das scharfe S einzusetzen.
  • \usepackage{graphicx}
    ist notwendig um Bilder in das Dokument einfügen zu können.
  • \usepackage{eurosym}
    enthält das offizielle Euro-Symbol als Zeichen. Das Symbol kann dann mit \officialeuro eingesetzt werden.
  • \usepackage{amsmath}
    Wer mathematische Formeln einsetzen will wird dieses Paket benötigen.

Anfänger sollten einfach diese Zeilen kopieren und in ihr Dokument einfügen um eine gewissen Grundfunktionalität zu erhalten. Mit zunehmender Erfahrung wird es dann leichter zu unterscheiden welche Pakete benötigt werden oder welche alternativen Pakete und Optionen vielleicht im jeweiligen Fall besser wären.

Das eigentliche Dokument erstellen

Den schweren Teil haben wir damit hinter uns gebracht. Nun noch ein paar Kleinigkeiten und wir können anfangen den eigentlichen Text zu erstellen.

Mit
\title{}
setzen wir den Titel des Dokumentes fest. In die geschwungenen Klammern kommt der Text des Titels. Man beachte: das führt noch nicht zur Ausgabe des Titels. Mit \maketitle kann man nun an jeder Stelle des Dokumentes den Titel einbinden.

Auch
\author{}
wird auf dieselbe Art und Weise eingesetzt und zusammen mit dem Titel angezeigt.

Zu guter letzt kann man mit
\date{}
auch noch ein Datum anzeigen lassen. Soll dies das jeweils aktuelle Datum sein an welchem das Dokument erstellt wurde kann man \today als Inhalt der Klammern verwenden. Je nach Sprache die wir beim Paket babel angegeben haben wird das Datum nun in dem für die Sprache typischen Stil eingesetzt.

Der Befehl
\makeindex
sagt dem Compiler, dass wir eine Indexierung des Dokuments wünschen. Den erstellten Index können wir dann mit \printindex an beliebiger Stelle des Dokuments anzeigen lassen.

Jetzt beginnt das eigentliche Dokument. Innerhalb einer bestimmten Umgebung wird der gesamte Text geschrieben welcher später sichtbar sein soll. Dazu schreibt man
\begin{document}
\end{document}

Diese beiden Befehle sind zwingend für jedes LaTeX-Dokument. Und nur innerhalb dieser zwei Zeilen darf auszugebender Text geschrieben werden.

Das Erste was wir hier machen wollen ist den Titel des Dokuments anzeigen lassen. Ein einfaches
\maketitle
übernimmt den Rest. Voila, wir haben einen wunderschönen professionell aussehenden Titel erzeugt.

Wollen wir ein Inhaltsverzeichnis erstellen so müssen wir nur die Zeile
\tableofcontents
einfügen. Jede Zeile die wir entsprechend kennzeichnen wird in diesem Verzeichnis zusammen mit der Seitennummer aufscheinen. Tipp: verwendet man ein Inhaltsverzeichnis, so empfiehlt es sich den Kompiliervorgang zweimal anzustoßen, weil nach dem ersten Mal die Angabe der Seitennummern noch nicht aktualisiert war.

Strukturierung

Man kann jetzt entweder schon das erste Kapitel beginnen oder mit
\newpage
den folgenden Text auf eine neue Seite verbannen. Dadurch kann man Titel und Inhaltsverzeichnis vom restlichen Text gut trennen.

Kapitel

Verwendet man ein automatisches Inhaltsverzeichnis empfiehlt es sich den Text mit Überschriften zu strukturieren. Diese sind es die dann später im Verzeichnis aufscheinen. Ein Kapitel kennzeichnet man so:
\section{}
In die Klammern kommt der Titel des Kapitels. Unterkapitel und Unterunterkapitel lassen sich mit
\subsection{}
bzw.
\subsubsection{}
kennzeichnen. Soll aus irgendeinem Grund eine Kapitelüberschrift nicht im Inhaltsverzeichnis aufscheinen, so braucht man nur einen Stern hinter den Befehl zustellen:
\section*{}
\subsection*{}
\subsubsection*{}

Nach diesen Überschriften kann man sofort beginnen zu schreiben.

Aufzählung

Eine Aufzählung startet man mit
\begin{itemize}
und sie endet mit
\end{itemize}
Jeder Punkt der Aufzählung wird mit \item begonnen. Danach steht der Text des Aufzählungspunktes. Eckige Klammern nach \item können einen Text beinhalten der statt einem Aufzählungspunkt angezeigt werden soll.

Textformatierung

Um einen Text fett zu schreiben schreibt man ihn in die geschwungenen Klammern des Befehls
\textbf{}
Kursiv wird ein Text durch
\textit{}
Unterstreichen kann man Text mit
\underline{}

Umlaute

Durch die Verwendung des Paketes inputenc mit dem Attribut utf8 ist es möglich Umlaute einfach direkt in den Text zu schreiben. Sollte dies nicht funktionieren oder solltest du lieber ein anderes Paket verwenden welches dies nicht unterstützt, dann kannst du Umlaute und Sonderzeichen folgendermaßen schreiben:

  • ä = \"{a}
  • ö = \"{o}
  • ü = \"{u}
  • Ä = \"{A}
  • Ö = \"{O}
  • Ü = \"{U}
  • ß = \ss

Kompilierung

Soviel zu den grundlegendsten Grundlagen von LaTeX. Hier (du musst die Endung *.png durch die Endung *.tex ersetzen. Durch ein technisches Problem war ich dazu gezwungen die Datei so umzubenennen) kannst du dir ein Beispieldokument mit diesen und vielen mehr Befehlen herunterladen und hier findest du die PDF-Version davon. Das Bild welches in dem Dokument verwendet wird findest du hier.

Nun kannst du (korrekte Syntax vorausgesetzt) das Dokument Kompilieren. Die Compiler findest du unter Erzeugen -> Kompilieren. Abhängig vom Compiler erhältst du dann ein DVI (latex) oder ein PDF (pdflatex) als Endprodukt. Dieses PDF kannst du dir dann mit einem PDF-Reader ansehen. Unter Linux kann ich Okular (KDE) oder Evince (GNOME) empfehlen. Bedenke, dass Bilder oder sonstige Dateien die du in dein Dokument einbinden willst im selben Verzeichnis liegen müssen.

Weitere Ausführungen zur Gestaltung des Textes, zu Referenzen, Quellenangaben und mathematischen Formeln (eine Spezialität von LaTeX) gibt es wenn ich ausgeschlafen bin :)

Ich hoffe, dass diese Einführung verständlich genug für jede/n ist. Viel Spaß mit der Welt von LaTeX!

Creative Commons License
This work by Stefan Ohri is licensed under a Creative Commons Attribution-ShareAlike 3.0 Austria License

=-=-=-=-=
Powered by Blogilo

Create a free website or blog at WordPress.com. | The Pool Theme.
Einträge und Kommentare feeds.

Follow

Erhalte jeden neuen Beitrag in deinen Posteingang.