Posts tagged ‘LaTeX’

Ebenen in pdfLaTeX ansteuern

Per Zufall bin ich eben über ein (noch nicht auf CTAN vorhandenes) Paket gestolpert, über das man Ebenen einer PDF-Datei ansteuern kann.

URL: http://user.mendelu.cz/marik/latex/ocgtools/

Beispiel: http://user.mendelu.cz/marik/latex/ocgtools/beamer.pdf

Nachtrag: Das Paket ist jetzt auch auf CTAN.

Das Spreadtab-Paket Teil 3

Da ich eine Anfrage bekam, wie man Texte und Formeln in einer Zelle mischt, hier die Antwort.

  1. Reine Textzellen müssen mit ‘@’ beginnen
  2. Bei gemischten Zellen gilt folgende Syntax <TEXT> :={<FORMEL>}<TEXT>
\documentclass{scrartcl}
\usepackage[]{spreadtab}
\usepackage[]{eurosym}
\usepackage[]{numprint}
 
\begin{document}
 
\begin{spreadtab}[\STsavecell{\myresult}{d5}]
{{tabular}{clrr}}
@ Anzahl & @ Artikel & @ Einzelpreis & @ Gesamtpreis \\ \hline
1 &@ Hallo & :={2.50} \euro & :={[-3,0]*[-1,0]} \euro \\
2 &@ Welt & :={8.15} \euro & :={[-3,0]*[-1,0]} \euro \\
3 &@ Hello & :={5.67} \euro & :={[-3,0]*[-1,0]} \euro \\ \hline
& & & :={sum(c1:[0,-1])} \euro
\end{spreadtab}
 
Die Gesamtsumme ist \myresult\,\euro.
 
\end{document}

Was noch fehlt ist das Umwandeln der Dezimalpunkte in Kommata für den Output und das Auffüllen der Währungsangaben auf zwei Nachkommastellen. Dazu später mehr…

Das Spreadtab-Paket Teil 2

Über eine geschickte Kombination aus relativen und absoluten Bezügen kann man doch über komplette Zeilen oder Spalten summieren. In folgendem Beispiel summiere ich über relative Bezüge in der dritten Spalte die erste und zweite Spalte. Nach den drei Zeilen wird summiert von Zelle C1 bis zu der Zelle, die in der gleichen Spalte [0,-1] und vorigen Zeile [0,-1] liegt. Damit lassen sich auch Summen über Zeilen und Spalten errechnen, deren Größen nicht bekannt sind.

\documentclass{scrartcl}
\usepackage[]{spreadtab}
\begin{document}
\begin{spreadtab}{{tabular}{rr|r}}
1.1 & 2.2 & [-2,0]+[-1,0] \\
1.2 & 2.2 & [-2,0]+[-1,0] \\
1.3 & 2.2 & [-2,0]+[-1,0] \\ \hline
& & sum(c1:[0,-1])
\end{spreadtab}
 \end{document}

Werte einzelner Zellen lassen sich auch außerhalb der Tabelle verwenden, dazu nutzt man im optionalen Argument der Spreadtab Umgebung den \STsavecell Befehl: \STsavecell{}{} ist einfach ein beliebig wählbarer Befehl (man sollte aber nicht versuchen, einen existierenden LaTeX-Befehl zu überschreiben)

\documentclass{scrartcl}
\usepackage[]{spreadtab}
 
\begin{document}
 
\begin{spreadtab}%
[\STsavecell{\myresult}{c4}]%
{{tabular}{rr|r}}
1.1 & 2.2 & [-2,0]+[-1,0] \\
1.2 & 2.2 & [-2,0]+[-1,0] \\
1.3 & 2.2 & [-2,0]+[-1,0] \\ \hline
& & sum(c1:[0,-1])
\end{spreadtab}
 
Die Gesamtsumme ist \myresult.
 
\end{document}

Das Spreadtab Paket

Spreadtab erlaubt es, ähnlich wie in einer Tabellenkalkulation zu rechnen. Hier ein Beispiel:

\documentclass{scrartcl}
\usepackage{spreadtab}
\begin{document}
 
\begin{spreadtab}{{tabular}{rr|r}}
11 & 22 & a1+b1 \\
33 & 44 & a2+b2 \\
55 & 66 & a3+b3 \\ \hline
a1+a2+a3 & b1+b2+b3 & a4+b4
\end{spreadtab}
 
\end{document}

Das Paket eignet sich auch sehr gut für die Erstellung von Rechnungen:

\documentclass{scrartcl}
\usepackage[]{spreadtab}
\begin{document}
 
\begin{spreadtab}{{tabular}{rr|r}}
1 & 22.34 & a1*b1 \\
3 & 3.99 & a2*b2 \\
55 & 0.01 & a3*b3 \\ \hline
&  & c1+c2+c3
\end{spreadtab}
 
\end{document}

Interessant ist auch die Möglichkeit der relativen Adressierung, was für das Schreiben von Rechnungen interessant wäre:

\documentclass{scrartcl}
\usepackage[]{spreadtab}
 
\begin{document}
 
\begin{spreadtab}{{tabular}{rr|r}}
1.1 & 2.2 & [-2,0]+[-1,0] \\
1.2 & 2.2 & [-2,0]+[-1,0] \\
1.3 & 2.2 & [-2,0]+[-1,0] \\ \hline
\multicolumn{2}{l}{Summe: :={sum(b1:b3)}}
\end{spreadtab}
 
\end{document}

Was mir noch fehlt, ist die Möglichkeit, eine gesamte Spalte zu summieren, eine Notation sum(b:b) wird m.E. noch nicht unterstützt.

Nachtrag: Über eine geschickte Kombination aus relativen und absoluten Bezügen geht es doch, siehe den zweiten Artikel dazu: http://uweziegenhagen.de/?p=847.

Folien für meinen Sweave-Vortrag

Mit Sweave lässt sich R Code direkt in LaTeX Dokumente einbetten und ausführen. Dokumente lassen sich auf diese Weise sehr einfach automatisieren und dynamisieren. Ein weiterer Vorteil ist, dass auch immer die richtigen Grafiken und Tabellen im TeX Dokument landen.

Auf der 42. Dante Tagung in Dortmund habe ich zu dem Thema einen kurzen Vortrag gehalten, hier sind die Folien: uweziegenhagen-dante2010

LaTeX: embedfile

Mit dem attachfile2 Paket kann man unter LaTeX beliebige Dateien in der PDF-Datei selbst hinterlegen, im Dokument erscheint dann ein Bild. Mit embedfile von Heiko Oberdiek lassen sich Dokumente in der PDF Datei hinterlegen, ohne dass irgendwo ein Link oder Hinweis im Dokument erforderlich ist. Hier ein kleines Beispiel (das davon ausgeht, das im aktuellen Verzeichnis eine Datei hallo.txt exisitiert):

\documentclass{scrartcl}
\usepackage[]{embedfile}
\begin{document}
\embedfile{hallo.txt}
 
Hallo.
 
\end{document}

LaTeX auf dem Mac – Tastenkombinationen

Nachdem ich mich heute doch mal beigemacht habe, MacTeX auf meinem Mac Mini zu installieren blieb die Frage offen, wo denn die TeX-spezifischen Tasten liegen. Hier eine Übersicht

  • Shift-Alt-7 für den Backslash \
  • Alt-8 und Alt-9 für die geschweiften Klammern { und }
  • Alt-5 und Alt-6 für die eckigen Klammern [ und ]

LaTeX: Description items rechtsbündig ausrichten

Description Umgebungen sehen manchmal recht “hässlich” aus, wenn die Labelbreiten stark voneinander abweichen. Die Nachfrage in de.comp.text.tex brachte unter anderem die folgende sehr elegante Lösung:

\documentclass[fontsize=11pt,paper=a4,pagesize]{scrartcl}
 
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{eqlist}
 
\let\description=\eqlist
\let\enddescription=\endeqlist
\let\eqlistlabel\descriptionlabel
 
\begin{document}
 
\begin{description}
    \item [aaaaaaaaaa] Hallo
    \item [bbb] Welt
\end{description}
 
\end{document}

LaTeX Dokumente auf dem iPod und iPhone

Mit “Good Reader” gibt es einen recht komfortablen PDF Viewer auf iPod und iPhone. Da ich das Vergrößern und Verkleinern beim Lesen vermeiden möchte, hier ein erster Versuch, die Seitengröße zu optimieren.

\documentclass[10pt]{article}
\usepackage[screen,paperheight=3.2cm,
paperwidth=4.8cm, left=2mm,right=2mm,
top=-2mm,bottom=0mm]{geometry}
\usepackage[]{blindtext}
 
\usepackage[]{microtype}
\renewcommand{\familydefault}{\sfdefault}
\usepackage[scaled=0.9]{helvet}
 
\setlength{\parindent}{0pt}
\pagestyle{empty}
 
\begin{document}
\tiny \blindtext 
 
\blindtext 
 
\blindtext
 
\end{document}

Hier das fertige PDF: ipod

Hier die verbesserte Version:

\documentclass[fontsize=5pt]{scrartcl}
\usepackage[screen,paperheight=3.2cm,
paperwidth=4.8cm, left=2mm,right=2mm,
top=1mm,bottom=0mm]{geometry}
\usepackage[]{blindtext}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
 
\usepackage[]{microtype}
\renewcommand{\familydefault}{\sfdefault}
\usepackage[scaled=0.9]{helvet}
 
\setlength{\parindent}{0pt}
\pagestyle{empty}
 
\title{Blindtext}
\author{Max Mustermann}
 
\begin{document}
 
\maketitle
 
\section*{Kapitel 1}
 
\blindtext 
 
\section*{Kapitel 2}
 
\blindtext 
 
\section*{Kapitel 3}
 
\blindtext
 
\end{document}

Hier das fertige PDF: ipod2

Die letzte Version beinhaltet auch PDF-Buttons für das vor- und Zurückschalten im Dokument.

\documentclass[fontsize=5pt]{scrartcl}
\usepackage[screen,paperheight=3.2cm,
paperwidth=4.8cm, left=3mm,right=1mm,
top=1mm,bottom=0mm]{geometry}
\usepackage[]{blindtext}
\usepackage[ngerman]{babel}
\usepackage[]{eso-pic}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
 
\usepackage[]{microtype}
\renewcommand{\familydefault}{\sfdefault}
\usepackage[scaled=0.9]{helvet}
 
\setlength{\parindent}{0pt}
\pagestyle{empty}
 
\title{Blindtext}
\author{Max Mustermann}
 
\AddToShipoutPicture{
  \put(1,2){%
    \thepage
		}
	  \put(1.5,10){%
			\Acrobatmenu{PrevPage}{\huge\textless}
		}	
	  \put(1.5,20){%
			\Acrobatmenu{NextPage}{\huge\textgreater}
		}	
 
}
 
 
\usepackage[]{hyperref}
 
\hypersetup{%
  colorlinks=true,   % aktiviert farbige Referenzen
  linkcolor = blue,  % Linkfarbe blau
  citecolor = blue,  % cite-Farbe blau
  urlcolor = blue,  % cite-Farbe blau
  pdfpagemode=UseNone,  % PDF-Viewer startet ohne Inhaltsverzeichnis et.al.
  pdfstartview=FitH} % PDF-Viewer benutzt beim Start bestimmte Seitenbreite
 
 
\begin{document}
 
\maketitle
 
\section*{Kapitel 1}
 
\blindtext 
 
\section*{Kapitel 2}
 
\blindtext 
 
\section*{Kapitel 3}
 
\blindtext
 
\end{document}

Hier das PDF: ipod3

LaTeX – Vortrag

Für die Troisdorfer Linux Usergroup bereite ich momentan einen Vortrag vor, der ein paar Grundzüge von LaTeX vorstellen soll. Ist noch lange nicht fertig, in unregelmäßigen Abständen lege ich aber eine PDF-Version unter folgender URL ab: http://uweziegenhagen.de/troisdorf/Intro.pdf.