Archive for the ‘Tipps & Tricks’ Category.

Vortragsfolien „Klausurerstellung mit LaTeX“, Dante-Frühjahrstagung in Wuppertal

Hier meine Folien zum Vortrag in Wuppertal, zusammen mit den entsprechenden Quellen (auch für die Beamer Folien)

Uwe

Uwe Ziegenhagen mag LaTeX und Python, auch gern in Kombination.

Hat Dir dieser Beitrag geholfen und möchtest Du Dich dafür bedanken? Dann unterstütze doch vielleicht die Dingfabrik Köln e.V. mit einem kleinen Beitrag. Details zur Bezahlung findest Du unter Spenden für die Dingfabrik.

More Posts - Website

Eigene Zähler in LaTeX & Word 2013 definieren

Was ich an LaTeX so schätze, sind die Funktionen zum „Programmieren“ eigener Strukturen. Möchte ich einen Befehl zum Erfassen von Business Requirements erstellen, nutze ich einfach eine Kombination aus \newcounter, \the“counter“ und \addtocounter.

\documentclass[12pt,ngerman]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
 
\newcounter{br}
\addtocounter{br}{1}
\newcommand{\br}[1]{BR--\thebr\stepcounter{br}: #1}
 
\begin{document}
 \br{Button einbauen}
 \br{Zweiten Button einbauen}
\end{document}

In Word geht das auch, ist aber ein wenig komplizierter. Die folgende Beschreibung habe ich auf tips.net gefunden:

1. Schritt: Geh an die Stelle im Dokument, wo das Feld hin soll und drücke Strg-F9. Die erzeugt die Feldklammern.

01

2. Schritt: Innerhalb der Feldklammern füge „seq br“ ein, „br“ steht dabei für den Namen des Zählers. Mit Alt-F9 kannst Du jetzt zwischen Code und Darstellung hin- und herwechseln.

02

03

3. Schritt: Markiere den gesamten Code-Bereich, der später eingefügt werden soll und drücke Alt-F3. Dies öffnet das Menü für die Codebausteine. Gib einen kurzen prägnanten Titel („br“) ein und speichere den Baustein ab.

04

4. Schritt: Wenn Du jetzt irgendwo im Dokument den Zähler benutzen willst, drücke „br“ und der Baustein wird eingefügt.

Solltest Du diese Bausteine auch mal zwischen bereits gesetzte Bausteine setzen, kann ein Refresh der Felder notwendig sein. Dann einfach Text markieren, rechte Maustaste und „Felder aktualisieren“.

05

Uwe

Uwe Ziegenhagen mag LaTeX und Python, auch gern in Kombination.

Hat Dir dieser Beitrag geholfen und möchtest Du Dich dafür bedanken? Dann unterstütze doch vielleicht die Dingfabrik Köln e.V. mit einem kleinen Beitrag. Details zur Bezahlung findest Du unter Spenden für die Dingfabrik.

More Posts - Website

Embedding the TeX code in the PDF

There are a few packages out there which allow the user to add arbitrary files to the PDF container. The following example uses the „navigator“ package by Paul Isambert.

\documentclass[12pt,ngerman]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{navigator}
 
\begin{document}
 
Hallo!
 
\embeddedfile[TeX code]{\jobname}{\jobname.tex}
 
\end{document}

navi

Uwe

Uwe Ziegenhagen mag LaTeX und Python, auch gern in Kombination.

Hat Dir dieser Beitrag geholfen und möchtest Du Dich dafür bedanken? Dann unterstütze doch vielleicht die Dingfabrik Köln e.V. mit einem kleinen Beitrag. Details zur Bezahlung findest Du unter Spenden für die Dingfabrik.

More Posts - Website

Stimmkarten mit LaTeX erstellen

Hier ein kleines Beispiel, wie man mit ticket.sty Stimmkarten für Vereinsversammlungen erstellen kann:

\documentclass[a4paper,12pt,ngerman]{scrartcl}
\usepackage[total={210mm,297mm},top=0mm,left=0mm, includefoot]{geometry}
\usepackage[badges]{ticket}
\usepackage{graphicx,palatino}
 
\usepackage{filecontents}
\begin{filecontents}{badges.tdf}
\unitlength=1mm
\hoffset=-5mm
\voffset=0mm
\ticketNumbers{1}{2}
\ticketSize{170}{120} % unitlength => mm
\ticketDistance{0}{0} % unitlength => mm
\end{filecontents}
 
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{xcolor}
 
\renewcommand{\ticketdefault}{}%
\makeatletter
\@boxedtrue % Rahmen um Ticket
\@emptycrossmarkfalse % Falzmarken
\@cutmarktrue % Schnittmarken
\makeatother
 
\newcommand{\mylabel}[1]{
\ticket{%
\put(22,105){\Large \textit{Vereins-Mitgliedsversammlung September 2015}}
\put(30,55){\Huge\bfseries #1}
\put(67,15){\Large \textit{Stimmkarte}}
}}
 
\begin{document}
\mylabel{Max Mustermann}
\mylabel{Gabriele Musterfrau}
\end{document}

stimmkarten-01

Durch einfaches Anpassen der badges.tdf (hier direkt im TeX-Dokument) kann man auch einfach 4-auf-1 Stimmkarten erstellen.

\documentclass[a4paper,12pt,ngerman]{scrartcl}
\usepackage[total={210mm,297mm},landscape,top=0mm,left=0mm, includefoot]{geometry}
\usepackage[badges]{ticket}
\usepackage{graphicx,palatino}
 
\usepackage{filecontents}
\begin{filecontents}{badges.tdf}
\unitlength=1mm
\hoffset=-15mm
\voffset=-10mm
\ticketNumbers{2}{2}
\ticketSize{140}{90} % unitlength => mm
\ticketDistance{0}{0} % unitlength => mm
\end{filecontents}
 
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
 
\renewcommand{\ticketdefault}{}%
\makeatletter
\@boxedtrue % Rahmen um Ticket
\@emptycrossmarkfalse % Falzmarken
\@cutmarktrue % Schnittmarken
\makeatother
 
\newcommand{\mylabel}[2]{
\ticket{%
\put(15,80){\large \textit{Mitgliedsversammlung August--September 2015}}
\put(20,45){\Huge\bfseries #1}
\put(65,30){\Huge\bfseries #2}
\put(55,15){\Large \textit{Stimmkarte}}
}}
 
\begin{document}
\mylabel{Max Mustermann}{1}
\mylabel{Moritz Mustermann}{2}
\mylabel{Anna Mustermann}{3}
\mylabel{Tony Mustermann}{4}
\end{document}

stimmkarten-02

Uwe

Uwe Ziegenhagen mag LaTeX und Python, auch gern in Kombination.

Hat Dir dieser Beitrag geholfen und möchtest Du Dich dafür bedanken? Dann unterstütze doch vielleicht die Dingfabrik Köln e.V. mit einem kleinen Beitrag. Details zur Bezahlung findest Du unter Spenden für die Dingfabrik.

More Posts - Website

Creating Dymo Labels with LaTeX

Today I purchased a Dymo 450 label printer. Of course I want to be able to print my labels from LaTeX, so I quickly created a test document.

Important: the correct label size must be set in the printer dialogue.

% For the 11354 label
\documentclass[14pt,ngerman]{scrartcl}
\usepackage[left=7.5mm,right=2mm,top=5mm,bottom=5mm,% 
paperwidth=57mm, paperheight=32mm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{palatino}
 
\setlength{\parindent}{0pt}
\setlength{\parskip}{0pt}
 
\begin{document}
 
Max Mustermann \\ Musterweg 1 \\ 12345~Musterstadt
 
\end{document}

label1

Uwe

Uwe Ziegenhagen mag LaTeX und Python, auch gern in Kombination.

Hat Dir dieser Beitrag geholfen und möchtest Du Dich dafür bedanken? Dann unterstütze doch vielleicht die Dingfabrik Köln e.V. mit einem kleinen Beitrag. Details zur Bezahlung findest Du unter Spenden für die Dingfabrik.

More Posts - Website

„LaTeX Beginner’s Guide“ for free

Stefann Kottwitz, the autor, told me today that his „LaTeX Beginner’s Guide“ would be available for free today. More information is available from
LaTeX-Community.org or Packt

LaTeX Beginner's Guide

Uwe

Uwe Ziegenhagen mag LaTeX und Python, auch gern in Kombination.

Hat Dir dieser Beitrag geholfen und möchtest Du Dich dafür bedanken? Dann unterstütze doch vielleicht die Dingfabrik Köln e.V. mit einem kleinen Beitrag. Details zur Bezahlung findest Du unter Spenden für die Dingfabrik.

More Posts - Website

Looping with LaTeX — Generating Name Cards

Today I had to generate a few name cards, LaTeX and the pgffor command came very handy doing that. I am not entirely satisfied with this solution, since the margins are hardwired, so if you have a better way just tell me.

\documentclass[45pt,ngerman]{scrartcl}
\usepackage[left=1cm,right=1cm,top=1.5cm,bottom=0.5cm,a4paper]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{pgffor}
\usepackage{tikz}
\usepackage{xcolor}
\usepackage{lmodern}
\usetikzlibrary{positioning}
\pagestyle{empty}
\setlength{\parskip}{0pt}
\begin{document}
\centering

\foreach \x in {Manfred Mustermann, Gabi Mustermann, Manuela Mustermann}{
\begin{tikzpicture}
[mybox/.style={rectangle,black,xshift=0cm,yshift=0cm,minimum width=0.975\textwidth,font=\bfseries,draw=black,very thick,align=center, minimum height=0.475\textheight}]
\node at (0,0) [mybox] {\x};
\node at (0,0.475\textheight) [mybox] {};
\end{tikzpicture}\clearpage}

\end{document}

dann

Uwe

Uwe Ziegenhagen mag LaTeX und Python, auch gern in Kombination.

Hat Dir dieser Beitrag geholfen und möchtest Du Dich dafür bedanken? Dann unterstütze doch vielleicht die Dingfabrik Köln e.V. mit einem kleinen Beitrag. Details zur Bezahlung findest Du unter Spenden für die Dingfabrik.

More Posts - Website

Simple looping with LaTeX

Here’s a fairly easy example how to loop through a LaTeX collection/list with the help of the pgffor package

\documentclass[12pt,ngerman]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{pgffor}
\begin{document}

\begin{itemize}
\foreach \x in {Donald,Dagobert,Gustav,Goofy} {\item \x}
\end{itemize}

\end{document}

googy

Uwe

Uwe Ziegenhagen mag LaTeX und Python, auch gern in Kombination.

Hat Dir dieser Beitrag geholfen und möchtest Du Dich dafür bedanken? Dann unterstütze doch vielleicht die Dingfabrik Köln e.V. mit einem kleinen Beitrag. Details zur Bezahlung findest Du unter Spenden für die Dingfabrik.

More Posts - Website

Drawing Bezier Curves with TikZ

To visualize an example for cubic-Bezier CSS animations (http://cubic-bezier.com) I decided to try TikZ. That was in fact a pretty good idea, as — with the help of Google (and mostly tex.stackexchange.com) I managed to complete the following example in just a few minutes:

\documentclass{article}
\usepackage[paperwidth=5.5cm,paperheight=5.3cm,left=0cm,right=0cm,bottom=0cm,top=0.25cm]{geometry}
\usepackage{tikz}
\definecolor{fom}{RGB}{0,153,139}
\begin{document}
 
\begin{tikzpicture}[x=4cm,y=4cm]
\draw[line width=1pt,lightgray] (0,0) -- (1,1); % gray line for the linear animation path
\draw (0,0) -- (1,0) -- (1,1) -- (0,1) -- (0,0); % frame
\draw (0,0) -- (0.17,0.67); % (0,0) to 2. point
\draw (1,1) -- (0.83,0.67); % (1,1) to 3. point
 
\draw [magenta,fill=magenta](0.17,0.67) circle (.5ex); %circle 1
\draw [fom,fill=fom](0.83,0.67) circle (.5ex); % circle 2
 
\draw[line width=1pt] (0,0) .. controls (0.17,0.67) and (0.83,0.67) .. (1,1); % cubic bezier curve
 
% labels
\node[label={[label distance=0.0cm,text depth=-1ex,rotate=90]left:Fortschritt in \%}] at (-0.1,.8) {};
\node[label={[label distance=0.0cm,text depth=-1ex]right:Zeit-Achse}] at (0,-0.1) {};
\end{tikzpicture}
\end{document}

The result is pretty impressive.

bez

Uwe

Uwe Ziegenhagen mag LaTeX und Python, auch gern in Kombination.

Hat Dir dieser Beitrag geholfen und möchtest Du Dich dafür bedanken? Dann unterstütze doch vielleicht die Dingfabrik Köln e.V. mit einem kleinen Beitrag. Details zur Bezahlung findest Du unter Spenden für die Dingfabrik.

More Posts - Website

LaTeX \\ in externe Dateien schreiben

Ich hatte kürzlich die Notwendigkeit, Adressen wie die folgende aus KOMA Briefen in eine externe Datei zu schreiben:

\newcommand{\Anschrift}{John Doe \\ Berlin}

http://stackoverflow.com/questions/2115379/write-and-read-from-a-latex-temporary-file funktionierte leider nicht, da LaTeX das Schreiben der „\\“ bemängelte.

Auch der Weg über \unexpanded führte nicht weiter, da LaTeX dann nur den Befehl, nicht die Expansion in die Datei schreibt.

Die Lösung steckte dann in einer anderen Frage auf TSX: http://tex.stackexchange.com/questions/110883/writing-to-a-file

Das folgende Beispiel ist dabei rausgekommen:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{xpatch}
 
\makeatletter
% get a copy of `\protected@write
\let\protected@iwrite\protected@write
% patch the copy to add \immediate
\xpatchcmd{\protected@iwrite}{\write}{\immediate\write}{}{}
\makeatother
 
\newwrite\tempfile
\newcommand{\Anschrift}{John Doe \\ Berlin}
\immediate\openout\tempfile=Anschrift.txt
\makeatletter
\protected@iwrite\tempfile{\let\\\relax}{\Anschrift}
\immediate\closeout\tempfile
\makeatother
 
\begin{document}
 
\input{Anschrift.txt}
 
\end{document}

Uwe

Uwe Ziegenhagen mag LaTeX und Python, auch gern in Kombination.

Hat Dir dieser Beitrag geholfen und möchtest Du Dich dafür bedanken? Dann unterstütze doch vielleicht die Dingfabrik Köln e.V. mit einem kleinen Beitrag. Details zur Bezahlung findest Du unter Spenden für die Dingfabrik.

More Posts - Website