Sonntag, 26. Februar 2012

Tabelle querformat

Tabellen können mitunter so breit werden, dass sie zu breit für eine normale Seite werden. Abhilfe kann hierbei das Paket lscape leisten.Hinweis: Damit es im PDF Betrachter auch quer aussieht muss ggf. das Paket pdflscape verwendet werden.

Beispiel mit lscape:
\documentclass{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{ngerman}
\usepackage{lmodern}
\usepackage{lscape}

\begin{document}

Text Text
% Jetzt kommt eine überbreite Tabelle
\begin{landscape}
Jetzt wird alles querkant ausgerichtet, auch die folgende Tabelle.

\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|}
\hline
Jahr & 2000 & 2001 & 2002 & 2003 & 2004 & 2005 & 2006 & 2007 & 2008 & 2009 & 2010 \\
\hline
BIP & 23{,}5 Mrd & 123{,}5 Mrd & 223{,}5 Mrd& 323{,}5 Mrd & 423{,}5 Mrd & 523{,}5 Mrd & 623{,}5 Mrd & 723{,}5 Mrd& 823{,}5 Mrd & 923{,}5 Mrd & 1023{,}5 Mrd \\
\hline
\end{tabular}
\end{landscape}

Ab hier ist das Dokument wieder hochkant.

\end{document}


Nach \begin{landscape} und \end{landscape} erfolgt ein automatischer Seitenumbruch.
Beispiel mit pdflscape:
\documentclass{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{ngerman}
\usepackage{lmodern}
\usepackage{pdflscape}

\begin{document}

Text Text
% Jetzt kommt eine überbreite Tabelle
\begin{landscape}
Jetzt wird alles querkant ausgerichtet, auch die folgende Tabelle.

\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|}
\hline
Jahr & 2000 & 2001 & 2002 & 2003 & 2004 & 2005 & 2006 & 2007 & 2008 & 2009 & 2010 \\
\hline
BIP & 23{,}5 Mrd & 123{,}5 Mrd & 223{,}5 Mrd& 323{,}5 Mrd & 423{,}5 Mrd & 523{,}5 Mrd & 623{,}5 Mrd & 723{,}5 Mrd& 823{,}5 Mrd & 923{,}5 Mrd & 1023{,}5 Mrd \\
\hline
\end{tabular}
\end{landscape}

Ab hier ist das Dokument wieder hochkant.

\end{document}


Sonntag, 12. Februar 2012

beamer handout

Die Beamer Klasse verfügt zwar über eine Option handout diese liefert aber aus meiner Sicht kein so tolles Ergebnis.

Option handout

Durch die Option werden die Eigenschaften der pause etc. Befehle aufgehoben und die Frames mit ihrem endgültigen Inhalt angezeigt. Das Problem ist dann noch das Format der Beamer Class das nicht mit A4 übereinstimmt. Daher ist es nur der erste Schritt den man machen muss um zu einem vernünftigen Handout zu kommen.

\documentclass[handout]{beamer}

Nachbearbeitung


Das so erzeugt PDF bindet man, mit Hilfe von pdfpages, in ein neues Dokument ein.

\documentclass[a4paper, landscape]{article}
\usepackage{pdfpages}
\begin{document}
\includepdf[pages=-,nup= 2x2,frame= true, delta=3mm 3mm]{Handout-classic}
\end{document}

Quelle: Erstellen eines Handouts mit der Beamer Class

Samstag, 11. Februar 2012

Zeilenhöhe einer Tabelle ändern

Zeilenhöhe der gesamten Tabelle

Will man die Höhe aller Zeilen einer bestimmten Tabelle ändern so reicht es
das Kommando \renewcommand{\arraystretch}{Faktor} vor dieser Tabelle zu verwenden.

Sollen die Zeilen doppelt so hoch sein wie normal:
\renewcommand{\arraystretch}{2}

Nur halb so groß wie normal:
\renewcommand{\arraystretch}{0.5}


Bei der Verwendung sollte man darauf achten nach der Tabelle den arraystretch wieder auf 1 zu stellen andernfalls wirkt sich die gewählte Einstellung auf alle nachfolgenden Tabellen und Arrays aus.

\renewcommand{\arraystretch}{1}


Zeilenhöhe einer bestimmten Zeile

Will man nur die Höhe einer Zeile beeinflussen gibt es die Möglichkeit den \rule Befehl mit Breite null und der vorgegebenen Höhe zu verwenden:

Zum Beispiel: \rule{0pt}{25pt}

\begin{tabular}{rcl}
\hline
A & B & C \\
\hline
\rule{0pt}{25pt}1111 1111 1111 & 2222 2222 2222 & 3333 3333 3333 \\
\hline
4 & 5 & 6 \\
\hline
7 & 8 & 9 \\
\hline
\end{tabular}


Damit kann die Höhe aber nur größer und nicht kleiner machen.

latex tabelle zeilenumbruch automatisch

Ein weitere typische Frage rund um die Tabellen, ist die nach dem automatischen Zeilenumbruch innerhalb der Tabelle.

Meistens wird man bei dieser Frage darauf verwiesen, entweder den Text so zu ändern das er passt bzw. den Umbruch händisch zu machen wobei die anderen Spalten dann leer sind oder man bekommt den Hinweis den p Parameter der Tabellen zu setzen. Mit diesem legt man für die entsprechende Spalte eine bestimmte Breite fest und so kommt es dann zu dem gewünschten automatischen Zeilenumbruch.

\begin{tabular}{rcp{2cm}}
\hline
A & B & C \\
\hline
1111 1111 1111 & 2222 2222 2222 & 3333 3333 3333 \\
\hline
4 & 5 & 6 \\
\hline
7 & 8 & 9 \\
\hline
\end{tabular}

Nachteil dieser Methode ist, dass die Ausrichtung der Spalte nicht beeinflusst werden kann, da sie generell links ist.


Wenn nun rechtsbündige bzw. zentrierte Spalten gewünscht werden kann man dies mit dem Paket tabularx erreichen.

...
\usepackage{tabularx}
...
Text...

\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}}
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}

\begin{tabular}{R{2cm}C{2cm}p{2cm}}
\hline
A & B & C \\
\hline
1111 1111 1111 & 2222 2222 2222 & 3333 3333 3333 \\
\hline
4 & 5 & 6 \\
\hline
7 & 8 & 9 \\
\hline
\end{tabular}

\end{document}

Dieser Post dient zur Ergänzung des Post über Tabellen mit fester Breite, da dort das Thema automatischer Zeilenumbruch nicht direkt angesprochen wurde.

Schriftgröße in einer Tabellenspalte ändern

Wie kann man die Schriftgröße in einer Tabellenspalte ändern, ohne das sich die Größe der Schrift im Rest der Tabelle verändert?

Das ganze geht mit Hilfe des array Paketes:

\documentclass[a4paper]{article}
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{lmodern}
\usepackage{array}

\begin{document}

\begin{tabular}{rc>{\tiny}b{2cm}}
\hline
A & B & C \\
\hline
1 & 2 & 3 \\
\hline
4 & 5 & 6 \\
\hline
7 & 8 & 9 \\
\hline
\end{tabular}

\end{document}


Hinweis: Will man dass der Text in der Zeile auch in der veränderten Spalte normalgroß ist, muss die Tabelle entsprechend angepasst werden:

\documentclass[a4paper]{article}
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{lmodern}
\usepackage{array}

\begin{document}

\begin{tabular}{rc>{\tiny}b{2cm}}
\hline
A & B & {\normalsize C} \\
\hline
1 & 2 & 3 \\
\hline
4 & 5 & 6 \\
\hline
7 & 8 & 9 \\
\hline
\end{tabular}
\end{document}

Einrücken verhindern

Etwas was die meisten zu Beginn bei der Verwendung von LaTeX irritiert ist die Tatsache, dass die neuen Absätze immer eingerückt werden.

Will man das Einrücken generell verhindern fügt man den folgenden Befehl am Anfang des Dokuments ein: \setlength{\parindent}{0em}

Soll nur bei einen bestimmten Absatz das Einrücken verhindert werden, wird der Befehl \noindent verwendet.

Text
\noindent
Text

Mittwoch, 8. Februar 2012

cline dicke ändern

Das Problem bei der Frage ist, dass der Befehl \cline keinen direkten Parameter für die Einstellung der Dicke hat. Wenn man sich die Definition von dem Befehl genauer anschaut sieht man, dass man durch eine Umdefinition von \arrayrulewidth das gewünscht erreichen kann.



\def\cline#1{\@cline#1\@nil}
\def\@cline#1-#2\@nil{%
\omit
\@multicnt#1%
\advance\@multispan\m@ne
\ifnum\@multicnt=\@ne\@firstofone{&\omit}\fi
\@multicnt#2%
\advance\@multicnt-#1%
\advance\@multispan\@ne
\leaders\hrule\@height\arrayrulewidth\hfill
\cr
\noalign{\vskip-\arrayrulewidth}}


Wesentlich einfacher geht es, wenn man das Paket booktabs und den darin enthalten Befehl \cmidrule benutzt.

Beispiel cmidrule


\documentclass{article}
\usepackage{booktabs}

\begin{document}
\begin{tabular}{rcl}
\hline
A & B & C \\
\cmidrule[3pt]{2-3}
1 & 2 & 3 \\
\hline
\end{tabular}

\end{document}

Dienstag, 7. Februar 2012

LaTeX Beamer PDF einbinden \includepdf

Mit dem Paket pdfpages und dem dazugehörigen Befehl \includepdf lassen sich bekanntermaßen bestehende PDF Datei in ein mit LaTeX erstelltes Dokument einbinden.

\includepdf Beamer Class

Bei der Beamer Class gibt es bei der Nutzung von \includepdf einiges zu beachten, zum Beispiel funktioniert es nicht einer Frame Umgebung.

Wie es NICHT funktioniert:
\begin{frame}
\frametitle{Titel}
\framesubtitle{pdfpages}

\includepdf[pages=1, scale=0.4]{BIPMittel.pdf}
\end{frame}


Die Verwendung innerhalb von Frames führt zu einer relativ informationsarmen Fehlermeldung:

! Undefined control sequence.
\raise \ht \@tempboxa \hbox {}\AM@fbox
{\AM@ARBug@hook \AM@reflec...
l.123 \end{frame}


Wie es funktioniert:

{
\setbeamercolor{background canvas}{bg=}
\includepdf[pages=1, scale=0.4]{BIPMittel.pdf}
}

Diese Variante funktioniert zwar, ist aber für die meisten Anwendungen nicht gewollt, da es kein Frame ist und daher auch nicht die Formatierung derselbigen besitzt wie Aussehen und Titel etc..

\includegraphics für PDF


Um dennoch PDFs in einen Frame einfügen zu können kann man \includegraphics verwenden:


\begin{frame}
\frametitle{Titel}
\includegraphics[page=1, scale=0.4]{BIPMittel.pdf}
\end{frame}

Dadurch kann man die typischen Elemente eines Frames weiterhin nutzen.

Montag, 6. Februar 2012

LaTeX Beamer keine Seitenzahlen

Seitenzahlen beziehungsweise Framezahlen bekommt man wenn ein Usetheme benützt, dass als Outer Theme Infolines verwendet. Die da wären AnnArbor, Boadilla, CambridgeUS und Madrid. Die einfachste, aber meist nicht gewünschte, Methode um die Seitenzahlen zu verhindern wäre daher die Verwendung eines anderen Usethemes.

Wenn man das Usetheme weiterverwenden will:
Eine Kopie der beamerouterthemeinfolines.sty machen und in das gleiche Verzeichnis legen in dem auch die LaTeX Datei des Vortrags legen. Dann die Datei beamerouterthemeinfolines.sty bearbeiten indem man die folgende Zeile mit einem Prozentzeichen auskommentiert:

\insertframenumber{} / \inserttotalframenumber\hspace*{2ex}

wird zu

%\insertframenumber{} / \inserttotalframenumber\hspace*{2ex}

Dadurch wird das Einfügen der Seitenzahl unterbunden.

Titelseite ohne Datum in der Beamer Class

Im Prinzip kann man wie bei den normalen Dokumenten auch bei Präsentationen die mit der Beamer Class erstellt werden das Datum auf der Titelseite entfernen.

Beispiel

\documentclass[hyperref={pdfpagelabels=false}]{beamer}
\usepackage{lmodern}
...
\title{Titel der Präsentation}
\author{Autor der Präsentation}
\date{}
...

\begin{document}

\begin{frame}
\titlepage % Titelseite
\end{frame}
...
\begin{frame}
...
\end{frame}
\end{document}

Sonntag, 5. Februar 2012

hline breite

Eigentlich ein gar nicht so einfache Frage, die nach der Breite des Befehls \hline. Der Befehl \hline dient innerhalb von Tabellen dazu horizontale Linien zu ziehen. Dabei umfasst die Linie die gesamte Breite der Tabelle.

Breite hline

Die Breite von \hline selbst lässt sich nicht verändern, da sie durch die Breite der Tabelle vorgegeben ist. Alternativ kann aber der Befehl \cline genutzt werden.

cline

Der Befehl zieht eine von ... bis Linie über die angegeben Spalten.
Zum Beispiel \cline{2-3} sorgt für eine Linie die vom Beginn der zweiten bis Ende der dritten Spalte reicht. Will man nur über einer Spalte die Linie haben funktioniert das so \cline{2-2} nun ist die Linie nur über der zweiten Spalte.

LaTeX Präsentation Schriftfarbe Übersicht

Welche Schriftfarben bei eine Präsentation die mit LaTeX erstellt wird zur Verfügung stehen hängt unter anderem davon ab, welche Dokumentenklasse man dafür verwendet. Die nachfolgende Übersicht bezieht sich auf die beamer class als verwendete Dokumenten Klasse.


xcolor

Die beamer class bindet automatisch das Paket xcolor mit ein, so dass dessen 15 Standard Farben (black, blue, brown, cyan, darkgray, gray, green, lightgray, magenta, orange, purple, red, violet, white und yellow) verwendbar sind. Diese können dann auch als Schriftfarben verwendet werden.

mehr Farben

Mehr Farben ermöglicht die Option dvipsnames des Paketes xcolor:

\documentclass[xcolor=dvipsnames]{beamer}

Eine Übersicht der nutzbaren Farben gibt es hier: xcolor mit der Option dvipsnames


Wie man die Schriftfarbe ändert

Wie man die Schriftfarbe in der beamer class ändert wurde in diesem POST gezeigt.

LaTeX Nummerierung +1

Latex zählt bei einigen Befehlen und Umgebungen mit. Die bekanntesten Beispiele dafür sind wahrscheinlich die Seiten (bzw. die Seitenzahl) und die Gliederungen wie etwa Kapitel. Aber auch bei mathematischen Umgebungen wie der equation Umgebungen wird mit gezählt. Ebenso bei den anderen Verzeichnissen wie Abbildung- und Tabellenverzeichnis und die bekannten Fußnoten.

Name des Zählers

Um die Nummerierung zu ändern muss man den Namen des jeweiligen Zählers kennen, dieser lautet genauso wie der Befehl bzw. die Umgebung. Zum Beispiel heißt der Zähler des Befehls \chapter einfach chapter usw..

Nummerierung +1

Um die Nummerierung um 1 zu erhöhen gibt es zwei Möglichkeiten:
entweder der Befehl \addtocounter{name_des_Zaehlers}{1}
oder der Befehl \stepcounter{name_des_Zaehlers}

Unterschied addtocounter und stepcounter

Der Unterschied zwischen beiden ist, dass der Befehl stepcounter nur +1 kann und daher kürzer als der addtocounter Befehl ist, mit dem man aber auch andere Werte, auch negative, zu dem Zähler addieren kann.