Samstag, 19. November 2011

Eigene Befehle in LaTeX

Grundsätzliches zu neuen Befehlen

Wenn man einen neuen Befehl einführen will, darf man keinen bereits vorhandenen Namen nutzen, als Alternative bieten sich die deutsche Bezeichung und die Großschreibung des Befehls an.

Zum Beispiel \neueseite als neuer Befehl in Anlehnung an den Befehl \newpage

Namensgebung für neue Befehle

Neue Befehle dürfen, abgesehen von der letzen Stelle die auch ein * seien kann, nur aus Buchstaben bestehen.

Ort

An welcher Stelle der neue Befehl definiert wird, ist dem Nutzer freigestellt. Eine Ausnahme stellt die Beamer Class dar, hier muss der neue Befehl vor Beginn des Dokumentes oder in jedem Frame in dem er verwendet wird definiert werden.


newcommand

Der Befehl mit dem neue Befehle definiert werden können ist \newcommand.

Neue Befehle denieren:
\newcommand{Name}{Definition}

Zum Beispiel eine Abkürzung definieren:

Eingabe:
\newcommand{\GT}{Spieltheorie}
\GT ist ein Teil der VWL

Ausgabe:
Spieltheorieist ein Teil der VWL

geschachtelte Befehle

Eingabe:
\newcommand{\nbs}{\nobreakspace}
\newcommand{\GTn}{Spieltheorie\nbs}

Ausgabe:
\GTn ist ein Teil der VWL
Spieltheorie ist ein Teil der VWL



Befehle mit Argumenten definieren


Neue Befehle mit zusätzlichen Argumenten definieren:
\newcommand{\Name}[Anzahl]{Definition}

Abkürzungen II

Eingabe:
\newcommand{\GTB}[1]{\GT \ Blatt Nr.#1}
\GTB{2}

Ausgabe:
Spieltheorie Blatt Nr.2

Achtung es sind nur 9 Elemente als Argument möglich!

Befehle mit Optionen definieren

Wenn neue Befehle definiert werden können diese auch mit Optionen ausgestattet werden. Wobei im Fall, dass kein Argument dafür übergeben wird der entsprechende Default Wert genommen wird.

Befehl: \newcommand{\Name}[Anzahl][Default]{Definition}


Abkürzungen 3

Eingabe:
\newcommand{\Studium}[1][VWL]{Studienfach: #1}
\Studium von \dots bis \\
\Studium[Info] von \dots bis \\
\Studium[MST] von \dots bis \\

Ausgabe:
Studienfach: VWL von ... bis
Studienfach: Info von ... bis
Studienfach: MST von ... bis


Ändern von Befehlen mit \renewcommand

Gelegentlich ist es nötig, die Eigenschaften, eines bereits bestehenden Befehl zu verändern. Dies erfolgt mit dem Kommando

\renewcommand{Befehl}{neue Definition}

Beispiel

Eingabe:
\newcommand{\Stadt}{Die schönste Stadt ist Köln!}
\Stadt \\
\renewcommand{\Stadt}{Die schönste Stadt ist Düsseldorf!}
\Stadt \\

Ausgabe:
Die schönste Stadt ist Köln!
Die schönste Stadt ist Düsseldorf!


Der renewcommand kann dabei nicht nur auf eigene Befehle, sondern auch auf die normalen bereits vorhandenen LaTeX Befehle angewandt werden. Hier wurde zum Beispiel der chapter Befehl geändert.


Mathematik Operatoren denieren

Vorgehen \DeclareMathOperator{\Name}{Name}
Achtung nur in der Präample möglich, das heißt vor \begin{document}!

Beispiel:
Determinate \DeclareMathOperator{\Det}{Det}

Freitag, 18. November 2011

LaTeX Packages

Die Anzahl der frei verfügbaren Pakete (Packages) für LaTeX ist jetzt schon sehr groß und es werden immer. Bei einem Paket handelt es sich, sehr vereinfachend formuliert, um eine Sammlung neuer Befehle und Umgebungen beziehungsweise um geänderte Befehle und Umgebungen. Durch die Paket lassen sich die Möglichkeit LaTeX zu nutzen deutlich erweitern.

Meine Liste mit Standardpaketen für LaTeX in meinen Kursen.

Die Mehrzahl der Fragen bezieht auf die deutschen Sprachpakete german bzw. ngerman die unter anderem dafür Sorgen, dass die Bezeichner deutsche Begriff erhalten. Zusätzlich sollte man als quasi LaTeX Umlaute Pakete auch noch die Pakete inputenc, für die direkte Eingabe von Umlauten, und fontenc für deren Trennung einbinden.

Beispiel Linux mit latin1 Codierung:

...
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
...
\begin{document}

...

\end{document}

Mathemodus / Matheumgebung

Inline

Die einfachste Matheumgebung in LaTeX ist die $ Umgebung, diese wird auch inline genannt, da hier der mathematische Ausdruck in der Zeile (= inline) steht und nicht abgesetzt dargestellt wird.

Beispiel: Die Summe der natürlichen Zahlen $\sum_{i=0}^{n} i$ geht auf Gauß zurück...

Abgesetzt

Wenn der mathematische Ausdruck vom Text abgesetzt dargestellt werden soll kann man die displaymath Umgebung nutzen.


Beispiel: Die Summe der natürlichen Zahlen geht auf Gauß zurück...
\begin{displaymath}
\sum_{i=0}^{n} i
\end{displaymath}

Für die Umgebung gibt es auch eine Kurzschreibweise \[ und \] mit dem gleichen Ergebnis.

Beispiel: Die Summe der natürlichen Zahlen geht auf Gauß zurück...
\[ \sum_{i=0}^{n} i \]

Gleichungen

Für die Darstellung von Gleichung gibt es verschiedene Umgebungen. Die equation Umgebung erzeugt dabei eine nummerierte Gleichung.

Beispiel: Die Summe der natürlichen Zahlen geht auf Gauß zurück...
\begin{equation}
\sum_{i=0}^{n}
\end{equation}

Mit der eqnarray Umgebung lassen sich durchnummerierte Formel darstellen.
\begin{eqnarray}
x-y & \leq & 0 \, \forall \, x \leq y \\
\sum_{i=0}^{n}a_{i}&\geq&0\, \forall \,a_{i}\geq 0
\end{eqnarray}

Dabei sollte man darauf achten, dass in der letzten Zeile kein Zeilenumbruch (\\) steht, da anderfalls ein zusätzliche Nummer gesetzt wird. Mit dem Kommando \nonumber lässt die Nummer in einer Zeile unterdrücken und die Zeile wird nicht mitgezählt.

Wenn man überhaupt keine Zahlen haben will, kann die folgende Abwandlung der eqnarray Umgebung nutzen.


\begin{eqnarray*}
x-y & \leq & 0 \, \forall \, x \leq y \\
\sum_{i=0}^{n}a_{i}&\geq&0\, \forall \,a_{i}\geq 0
\end{eqnarray*}

Text und Leerzeichen im Mathemodus

Fragen und Antworten bezüglich Text und Leerzeichen im Mathemodus

Beamer Themes

Bei den Beamer themes handelt es sich um Gestaltungsvorlagen für Präsentationen mit LaTeX, sie sind keine Vorlagen für Präsentationen. In ihnen wird zum Beispiel die Struktur der Navigation (miniframes etc.), die Farbstärke (stark, schwach...) mit der Elemente angezeigt, die Position des Logos und noch viele andere Dinge festgelegt.

Eine Übersicht der Usethemes findet sich hier, die dort gezeigt Beispiele für die verschiedenen Usethemes sind als Vorlagen für Präsentationen konzipiert.


LaTeX beamer handout

Die Klassen Option handout unterdrückt die Zwischenseiten der Folien die durch den Befehl pause erzeugt werden können.

\documentclass[handout]{beamer}
...



LaTeX beamer logo

Mittels \logo{\includegraphics[optionen]{datei}} lässt sich ein Bild als Logo in die Präsentation einfügen. Die Position des Logos hängt dabei von dem verwendetem Usetheme ab und kann nur durch die Verwendung eines anderen Usethemes geändert werden, es sei denn das verwendete Usetheme wird in so weit manipuliert, dass das Logo am gewünschten Ort ist. Dabei sollte man aber wissen was man tut.


LaTeX beamer pause

Der pause Befehl dient dazu eine Art Zwischenseite auf der entsprechenden Folie einzufügen.

\begin{frame}

Was auch immer \pause jetzt geht es weiter \pause noch mehr Text

\end{frame}

Wird die Option handout gesetzt werden diese Zwischenseiten nicht mehr gemacht und nur noch die Endseite angezeigt.

Titelseiten

Nummer drei was die Fragen betrifft ist die Titelseite, wobei sich hier die Mehrzahl der Fragen zumeist um die Möglichkeit das Datum und die Seitenzahl wegzulassen drehen.

Beispiele dafür wie man eine Titelseite machen kann findet sich hier

Beispiel

\title{Um was es geht \thanks{Falls man jemanden danken will}}
\author{Ihr Name  \\
Ihr Unternehmen / Universit\"at  \\
Teststra\ss e -99 \\
0123456 Testhausen \\
\and 
Der Andere  \\
Sein Unternehmen / Universit\"at \\
Musterstra\ss e 00 \\
6543210 Musterdorf \\
}

\date{\today}
% \date{\today} das heutige Datum  
% \date{25.12.00} oder ein bestimmtes Datum 
% \date{ } oder gar kein Datum

\begin{document}
\maketitle

...

\end{document}

Mit dem Befehl \and können mehrere Autoren genannt werden zum Beispiel Autor 1 \and Autor 2. Der Befehl \thanks kann man für ein Danke nutzen.


Hinweise: \title{um was auch immer es geht}, \author{wer es auch immer geschrieben hat} und  \date{wann auch immer das war} können vor oder nach dem  Kommando \begin{document} stehen. Aber der \maketitle Befehl muss nach dem \begin{document} Kommando stehen! 
Wenn man die article Klasse benutzt muss man noch die Dokumentenklassenoption titlepage setzen, für den Fall, dass man eine Extra Seite für den Titel haben will.

Wobei man aber auch sagen muss, dass in der Regel darauf ankommt, welche Art von Dokument man wo beziehungsweise für wen verfasst, dies ist meistens entscheidend dafür wie die Titelseite gestaltet werden muss.

LateX Schriftart ändern

Oder wie bekommt man eine andere Schriftart in Latex. Auch ein Dauerbrenner was die Fragen betrifft.

Neben der Standardschriftart (Computer Modern) , gibt es für LaTeX noch sehr viele andere Schriftarten, eine sehr große Übersicht findet sich hier LaTeX Schriftarten .



Serifen Schriften

Computer Modern

Computer Modern ist die Standardschrift, anstelle von ihr sollte man aber besser Latin Modern nutzen.




Latin Modern

Latin Modern wird mit dem Usepackage lmodern (\usepackage{lmodern})
\documentclass[12pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\begin{document}
...
\end{document}





Palatino

\documentclass[12pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}

\usepackage[sc]{mathpazo}
\linespread{1.05}

\begin{document}
...
\end{document}




Serifenlose Schriften

Auch hier kann Latin Modern verwendet werden, der Unterschied ist, dass die Standard Schriftfamilie geändert wird.

\documentclass[12pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\renewcommand*\familydefault{\sfdefault}

\begin{document}
...
\end{document}




Schreibmaschinen Schriften

Wiedermal Latin Modern mit einer Schreibmaschinenschrift als Basisschrift.

\documentclass[12pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\renewcommand*\familydefault{\ttdefault}

\begin{document}
...
\end{document}



Handschrift Schriften

Dazu gehört zum Beispiel auch die lateinische Ausgangsschrift.

\documentclass{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{la}
\begin{document}
\lanormalsize
...
\end{document}

neuer Kurs LaTeX Top Fragen

Da ich zur Zeit mal wieder einen neuen LaTeX Kurs halte und auf der Suche nach interessanten Fragen beziehungsweise Problemen war hab ich mir die Suchanfragen der letzten 4 Jahre vorgenommen, um eine Liste der Top Fragen im Bereich LaTeX zu erstellen. Natürlich ist die Frageliste nicht vollständig, da nur Suchanfragen für die es einen Text auf der Webseite gibt auch auf diese gelangen...

Schriftgröße in LaTeX

Die häufigste Frage war die nach der Schriftgröße in LaTeX, dass scheint ein Dauerbrenner bei den Fragen zu sein, da diese Jahr für Jahr die Top Position inne hat.


Grundsätzlich muss man bei der Schriftgröße darin unterscheiden ob man diese für das ganze Dokument oder nur für einzelne Wörter oder Bereiche ändern möchte.

Will man die Schriftgröße für das ganze Dokument ändern, geschieht dies am einfachsten über die Optionen der Dokumentenklasse. Dabei muss man beachten, dass die Dokumentenklassen unterschiedliche Schriftgrößen unterstützen.

Die Standdardklassen: article, report und book haben 10pt, 11pt und 12pt zur Auswahl. Die memoir Klasse hingegen hat 9pt, 10pt, 11pt, 12pt, 14pt, 17pt, 20pt, 25pt, 30pt, 36pt, 48pt und 60pt zur Verfügung. Und in der beamer class  sind 8pt, 9pt, 10pt, 11pt, 12pt, 14pt, 17pt oder 20pt möglich. Daran sieht man bereits, dass es für die Schriftgröße sehr davon abhängt welche Klasse am verwendet.

Wenn man die Größe eines einzelnen Bereiches verändern will kann man die typischen Größenbefehle von LaTeX nutzen, wobei man dabei beachten muss, dass die jeweilige Schriftgröße die durch die Verwendung dieser entsteht abhängig ist von der genutzten Standardschriftgröße im Dokument abhängt. Das heißt wie groß Huge ist hängt von der jeweiligen Standardschriftgröße ab. Ein weiterer Punkt ist, ob die verwendete Schriftart diese Größe unterstützt, andernfalls erhält man eine Fehlermeldung der Art: LaTeX Font Warning: Size substitutions with differences ... Schriftarten wie lmodern lassen es zu die Schriftgröße mit dem Befehl {\fontsize{Fontgröße}{Grundlinienabstand} \selectfont Ab hier kommt der Text mit der neuen Größe} frei zu wählen.

Donnerstag, 17. November 2011

Chapter ohne neue Seite

Wie bekommt man es in LaTeX hin, dass bei einem neuen Kapitel keine neue Seite angefangen wird, also ohne Seitenumbruch, dass neue Kapitel auf der gleichen Seite beginnt auf dem das alte Kapitel endet?

Der Befehl für Kapitel \chapter findet man zum Beispiel in der book.cls bzw. in der report.cls

Hier aus book.cls:

\newcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
\thispagestyle{plain}%
\global\@topnum\z@
\@afterindentfalse
\secdef\@chapter\@schapter}


Damit der Seitenumbruch verhindert wird müssen cleardoublepage und clearpage aus diesem Befehl rausgenommen werden.


Der neu definiert chapter Befehl sieht dann so aus:

\makeatletter
\renewcommand\chapter{\thispagestyle{plain}%
\global\@topnum\z@
\@afterindentfalse
\secdef\@chapter\@schapter}
\makeatother

Das makeatletter bzw. makeatother wird wegen der @ Zeichen benötigt.

Mittwoch, 16. November 2011

latex enumerate i ii

Aufzählung in LaTeX mit römischen Zahlen geht wie die abc Liste durch eine kleine Änderung.

\renewcommand{\labelenumi}{\roman{enumi})}

Beispiel mit Klammern

\documentclass{article}
\begin{document}

\renewcommand{\labelenumi}{\roman{enumi})}
\begin{enumerate}
\item Eins
\item Zwei
\item Drei
\end{enumerate}

\end{document}

Beispiel ohne Klammer

Ohne Klammer aber mit Punkt dahinter...
\documentclass{article}
\begin{document}

\renewcommand{\labelenumi}{\roman{enumi}.}
\begin{enumerate}
\item Eins
\item Zwei
\item Drei
\end{enumerate}


\end{document}

Beispiel ohne Klammer

\documentclass{article}
\begin{document}

\renewcommand{\labelenumi}{\roman{enumi}}
\begin{enumerate}
\item Eins
\item Zwei
\item Drei
\end{enumerate}
\end{document}

Montag, 14. November 2011

Rahmen um ...

In LaTeX kann man um sehr viele Obejekte einen Rahmen ziehen lassen, nachfolgende Auflistung zeigt wie dies bei den typischen Elementen funktioniert.


Rahmen um Text


\documentclass[a4paper]{article}
\begin{document}
\fbox{Rahmen um einen ganz normalen Text.}
\end{document}



bunter Rahmen um Text


\documentclass[a4paper]{article}
\usepackage{xcolor}
\begin{document}
\fcolorbox{red}{white}{Ein roter Rahmen um einen ganz normalen Text.}
\end{document}



Rahmen um einen Absatz

Alternativ zu \linewidth hätte man auch \textwidth verwenden können, da von Listenumgebungen etc. abgesehen beide gleich groß sind hätte sich am Resultat aber nichts geändert.

\documentclass[a4paper]{article}
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\begin{document}
\fbox{\parbox{\linewidth}{Hier soll mal so viel Text stehen, damit der ganze Text nicht nur in einer Zeile steht sondern in mindestens zwei oder mehr Zeilen, denn andernfalls werden wir nicht sehen können ob der Rahmen nur um die erste Zeile geht, oder wie wir wollen sich um den ganzen Absatz zieht.}}
\end{document}




farbiger Rahmen um einen Absatz

\documentclass[a4paper]{article}
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage{xcolor}
\begin{document}

\fcolorbox{red}{white}{\parbox{\linewidth}{Hier soll mal so viel Text stehen, damit der ganze Text nicht nur in einer Zeile steht sondern in mindestens zwei oder mehr Zeilen, denn andernfalls werden wir nicht sehen können ob der Rahmen nur um die erste Zeile geht, oder wie wir wollen sich um den ganzen Absatz zieht.}}

\end{document}




Rahmen um Tabelle

\documentclass[a4paper]{article}
\begin{document}
\fbox{

\begin{tabular}{lll}
A & B & C \\
1 & 2 & 3 \\
\end{tabular}

}
\end{document}


bunter Rahmen um Tabelle

\documentclass[a4paper]{article}
\usepackage{xcolor}
\begin{document}

\fcolorbox{red}{white}{

\begin{tabular}{lll}
A & B & C \\
1 & 2 & 3 \\
\end{tabular}

}

\end{document}


Rahmen um eine Formel

\documentclass[a4paper]{article}
\begin{document}
Mit fbox: \fbox{$a^{2} + b^{2} = c^{2}$}
\end{document}


Alternativ mit dem \boxed Befehl aus amsmath, da spart man sich die Dollarzeichen.

\documentclass[a4paper]{article}
\usepackage{amsmath}
\begin{document}

Mit boxed: \boxed{a^{2} + b^{2} = c^{2}}

\end{document}




bunter Rahmen um eine Formel

\documentclass[a4paper]{article}
\usepackage{xcolor}
\begin{document}

\fcolorbox{red}{white}{$a^{2} + b^{2} = c^{2}$}

\end{document}




Rahmen um eine Aufzählung

Hier gibt es Alternativ das ganze mit Hilfe von einer Minipage zu realisieren.

\documentclass[a4paper]{article}
\begin{document}

\fbox{
\parbox{0.5\linewidth}{
\begin{itemize}
\item Auflistung
\item Stichpunkt 1
\item Stichpunkt 2
\end{itemize}}
}
\fbox{
\parbox{0.5\linewidth}{
\begin{enumerate}
\item Aufzählung
\item Stichpunkt
\item Stichpunkt
\end{enumerate}}
}

\end{document}



bunter Rahmen um eine Aufzählung

\documentclass[a4paper]{article}
\usepackage{xcolor}
\begin{document}

\fcolorbox{red}{white}{
\parbox{0.5\textwidth}{
\begin{itemize}
\item Auflistung
\item Stichpunkt 1
\item Stichpunkt 2
\end{itemize}}
}
\fcolorbox{blue}{white}{
\parbox{0.5\textwidth}{
\begin{enumerate}
\item Aufzählung
\item Stichpunkt
\item Stichpunkt
\end{enumerate}}
}

\end{document}

Sonntag, 13. November 2011

latex pfeil mit beschriftung

Neben der Vielzahl an Pfeilen die es in Latex gibt, gibt es auch Pfeile mit Beschriftung.

Standardvariante

Ohne Zusatzpakete gibt es eine Pfeil der nach rechts bzw. links zeigt und Beschriftung darunter.


$\overrightarrow{\textrm{Pfeil oben Rechts}}$
\overleftarrow{\textrm{Pfeil oben Links}}

Mit amsmath

Eine größere Auswahl an beschrifteten Pfeilen bietet das Zusatzpaket amsmath, hier gibt es auch Pfeile unter der Beschriftung.

$\overrightarrow{\text{Pfeil oben Rechts}}$
$\overleftarrow{\text{Pfeil oben Links}}$
$\overleftrightarrow{\text{Pfeil oben Links und Rechts}}$
$\underrightarrow{\text{Pfeil unten Rechts}}$
$\underleftarrow{\text{Pfeil unten Links}}$
$\underleftrightarrow{\text{Pfeil unten Links und Rechts}}$

Beamer Schriftgröße

Die Beamer Class verfügt über ein paar mehr Schriftgrößen wie die Standardklassen (article...), im Unterschied zu diesen ist auch die Standardgröße der Schrift 11pt und nicht 10pt.

Mögliche Optionen

Als Optionen für die Schriftgröße sind 8pt, 9pt, 10pt (alternativ smaller), 11pt, 12pt (alternativ bigger), 14pt, 17pt oder 20pt möglich.

Schriftgrößen

Aus den möglichen Optionen und den verschiedenen Befehlenen für die Schriftgröße ergeben sich dann die folgenden (theoretisch) verfügbaren Schriftgrößen.

  Standardschriftgröße
Befehl8pt9pt10pt11pt12pt14pt17pt20pt
tiny5pt5pt5pt6pt6pt6pt8pt10pt
scriptsize 5pt6pt7pt8pt8pt8pt10pt12pt
footnotesize6pt7pt8pt9pt10pt10pt12pt14pt
small7pt8pt9pt10pt11pt12pt14pt17pt
normalsize8pt9pt10pt11pt12pt14pt17pt20pt
large10pt10pt12pt12pt14pt17pt20pt25pt
Large11pt11pt14pt14pt17pt20pt25pt29.86pt
LARGE12pt12pt17pt17pt20pt25pt29.86pt35.83pt
huge14pt14pt20pt20pt25pt29.86pt35.83pt42.99pt
Huge17pt17pt25pt25pt25pt35.83pt42.99pt51.59pt


english version: latex fontsize

latex beamer schriftfarbe weiß

Die Suchanfrage kam gerade rein als ich Zeit hatte, wie kann man die Schriftfarbe in der Beamer Class ändern?


Beispiel

Im ersten Teil des Beispiels wird die Farbe vom Hintergrund auf grau gestellt, da man anderfalls die weiße Schrift auf weißen Grund nicht erkennen kann. Dies geschieht mit \setbeamercolor{background canvas}{bg=black!50} anschliessend wird die Farbe der "normalen" Schrift auf weiß gestellt mit \setbeamercolor{normal text}{fg=white}. Achtung ohne \usebeamercolor*{normal text} dahinter wird die Einstellungsänderung nicht übernommen.

Vor dem zweiten Frame werden wieder die Standardeinstellungen gesetzt.

Beispiel Code

\documentclass{beamer}
\begin{document}

\setbeamercolor{background canvas}{bg=black!50}
\setbeamercolor{normal text}{fg=white}\usebeamercolor*{normal text}

\begin{frame}
TEST

\end{frame}
\setbeamercolor{background canvas}{bg=white,fg=black}
\setbeamercolor{normal text}{fg=black}\usebeamercolor*{normal text}
\begin{frame}
TEST 2

\end{frame}

\end{document}

Das ganze funktioniert genauso mit anderen Farben.