Author Archive

Inhalte umrahmen mit mdframed.sty

Das mdframed Paket bietet eine Vielzahl von Möglichkeiten, Text oder andere Inhalte mit Rahmen zu versehen. Die folgenden Beispiele sind der Dokumentation des Pakets entnommen:

\documentclass{scrartcl}
\usepackage[]{mdframed}
\begin{document}
 
\begin{mdframed}
Hallo Welt!\newline Foobar
\end{mdframed}
 
\newmdenv [linecolor=red, frametitle=Infobox,leftmargin=3cm,rightmargin=3cm]{infobox}
 
\begin{infobox}[ backgroundcolor=yellow ]
foo
foo
foo
\end{infobox}
 
\begin{verbatim}
Hallo
Welt
\end{verbatim}
 
\surroundwithmdframed[linewidth=2pt ]{verbatim}
 
\begin{verbatim}
Hallo
Welt
\end{verbatim}
 
\mdfdefinestyle{mystyle}{leftmargin=0pt ,linecolor=blue}
 
\begin{mdframed}[style=mystyle]
foo
\end{mdframed}
 
\newmdtheoremenv [linecolor=blue]{lemma}{Lemma}[section]
 
\section{abc}
 
\begin{lemma}[Some title]
foo
foo
foo
foo
foo
foo
\end{lemma}
 
\end{document}

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Verschiedene Versionen eines Textes mit tagging.sty

Mit dem relativ neuen tagging Paket lassen sich recht einfach unterschiedliche Versionen eines Textes erzeugen. Das folgende Beispiel soll dies verdeutlichen: Je nachdem, wie \usetag gesetzt ist, wird entweder der als „contribution“ oder der als „distribution“ markierte Text gesetzt.

\documentclass{scrartcl}
\usepackage[]{tagging}
\begin{document}
 
\usetag{distribution}
 
\tagged{contribution}{Please pay the amount of 100 Euro to the following account}
\tagged{distribution}{We will transfer 100 Euro to the following account}
 
\end{document}

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

LaTeX: Das soul Paket und UTF8

Beim morgendlichen TeXen ist mir eben aufgefallen, dass das soul Paket (mit dem man wunderbar unterstreichen, durchstreichen und markieren kann) Probleme mit utf8 hat. Glücklicherweise bin ich nicht der Erste, der diese Probleme hat: Heiko Oberdiek hat mit soulutf8 [1] schon ein Paket bereitgestellt, das den notwendigen utf8 Support schafft.

[1] ftp://ftp.tex.ac.uk/pub/tex/macros/latex2e/contrib/oberdiek/soulutf8.pdf

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Schneller TeXen mit Autohotkey, Autokey, Textexpander & Co – Teil 1

In zwei kurzen Beiträgen hatte ich bereits Tools vorgestellt, die Tastaturkürzel in komplette Textteile expandieren [1] [2]. Auch wenn viele Editoren geeignete Shortcuts mitbringen, sehe ich persönlich noch immer eine immense Zeitersparnis beim Einsatz dieser Shortkey-Expander. Heute möchte ich auf mein aktuelles Setup mit Autohotkey eingehen, in weiteren Teilen stelle ich dann Autokey für Linux und Textexpander für den Mac vor.

Die Installation von Autohotkey [3] ist ziemlich einfach. Beim ersten Start bietet das Tool an, eine entsprechende .ahk Datei anzulegen. Meine .ahk Datei habe ich im Dropbox-Ordner abgelegt und lediglich eine Verknüpfung zu dieser Datei im Autostart-Ordner angelegt. Vorteil ist, dass dadurch sowohl auf meinem Desktop als auch auf meinem Laptop immer die aktuellste Version verfügbar ist.

Schauen wir uns mal einige Definitionen an. Die ersten Kürzel, die ich definiert habe, waren die für die Eingabe von Dokumentstrukturen.

:*:s#::\section{{}{}}{LEFT}
:*:ss#::\subsection{{}{}}{LEFT}
:*:sss#::\subsubsection{{}{}}{LEFT}

Die Syntax bedeutet: Wann immer der User s# drückt, füge ein \section{} in den Text ein und gehe ein Zeichen nach links. Die geschweiften Klammern der \section Befehle müssen dabei escaped werden, da geschweifte Klammern in Autohotkey selbst aktive Zeichen sind.

Da es in den meisten Dokumenten auch einen standardmäßigen Satz an Klassen- und Paketdefinitionen gibt, lassen sich diese auch wunderbar per Kürzel definieren:

:*:doc#::\documentclass{{}scrartcl{}}`r`r\begin{{}document{}}`r`r`r\end{{}document{}}
:*:st#::\usepackage[utf8]{{}inputenc{}}`r\usepackage[T1]{{}fontenc{}}`r\usepackage{{}booktabs{}}`r
:*:u#::\usepackage[]{{}{}}{LEFT}

Da zu einer öffnenden Klammer auch in 99,99% der Fälle auch die schließende Klammer gehört, lässt sich hier auch ein Shortcut definieren, die pro Nutzung zwei Tastendrücke spart:

:*:(::(){LEFT}
:*:{::{{}{}}{LEFT}
:*:[::[]{LEFT}

Erhebliches Einsparpotential bieten auch Kürzel für die Textauszeichnung, \begin{}/\end{} und die verschiedenen Aufzählungen:

:*:bf#::\textbf{{}{}}{LEFT}
:*:it#::\textit{{}{}}{LEFT}
:*:tt#::\texttt{{}{}}{LEFT}

:*:b#::\begin{{}{}}{LEFT}
:*:e#::\end{{}{}}{LEFT}

:*:desc#::\begin{{}description{}}`r\item[]`r\item[]`r\item[]`r\end{{}description{}}{UP 3}{LEFT}
:*:enum#::\begin{{}enumerate{}}`r\item `r\item `r\item `r\end{{}enumerate{}}{UP 3}
:*:item#::\begin{{}itemize{}}`r\item `r\item `r\item `r\end{{}itemize{}}{UP 3}
:*:i#::\item{Space}
:*:di#::\item[]{LEFT}

Da sich mit Autohotkey auch einfache Datumsberechnungen ausführen lassen und ich einige Male am Tag das aktuelle oder gestrige Datum benötige, habe ich diese auch als Kürzel abgelegt.

:*:g#::
   Gestern = %A_Now%
   EnvAdd, Gestern, -1, Days
   FormatTime, Gestern, %Gestern%, dd.MM.yyyy
   Send, %Gestern%
   Return
:*:ä#::
   Heute = %A_Now%
   FormatTime, Heute, %Heute%, dd.MM.yyyy
   Send, %Heute%
   Return
:*:m#::
   Morgen = %A_Now%
   EnvAdd, Morgen, 1, Days
   FormatTime, Morgen, %Morgen%, dd.MM.yyyy
   Send, %Morgen%
Return

Im nächsten Teil geht es dann darum, wie sich diese Kürzel unter Linux definieren lassen.

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Das standalone Paket – Bilder und andere Dokumentteile separat TeXen

Über die CTAN News Liste bin ich auf das standalone Paket von Martin Scharrer gestoßen. Dieses Paket erlaubt es, Grafiken und andere Dokumentteile separat in externen, eigenständig kompilierbaren Dateien zu erstellen und trotzdem bei Bedarf in ein zentrales Dokument zu übernehmen. Dabei ist die jeweilige Seite, die generiert wird, nur so groß wie die Grafik selbst, manuelles Croppen kann man sich ersparen.

Hier eine kurze Anleitung:

Das Dokument, das einzubetten ist, wird in einer Instanz der standalone Klasse eingebettet. (Hinweis: Die Grafik stammt von http://www.texample.net/tikz/)

\documentclass[tikz]{standalone}
 
\begin{document}
\begin{tikzpicture}[scale=1.5]
    % Draw axes
    \draw [<->,thick] (0,2) node (yaxis) [above] {$y$}
        |- (3,0) node (xaxis) [right] {$x$};
    % Draw two intersecting lines
    \draw (0,0) coordinate (a_1) -- (2,1.8) coordinate (a_2);
    \draw (0,1.5) coordinate (b_1) -- (2.5,0) coordinate (b_2);
    % Calculate the intersection of the lines a_1 -- a_2 and b_1 -- b_2
    % and store the coordinate in c.
    \coordinate (c) at (intersection of a_1--a_2 and b_1--b_2);
    % Draw lines indicating intersection with y and x axis. Here we use
    % the perpendicular coordinate system
    \draw[dashed] (yaxis |- c) node[left] {$y'$}
        -| (xaxis -| c) node[below] {$x'$};
    % Draw a dot to indicate intersection point
    \fill[red] (c) circle (2pt);
\end{tikzpicture}
\end{document}

Das Hauptdokument lädt dann das standalone Paket und fügt die externe Datei mittels \input ein:

\documentclass{scrartcl}
\usepackage{standalone}
\usepackage{tikz}
\begin{document}
 
Hi, I'm the main document.
 
\input{subdoc1}
 
\end{document}

Mehr Informationen finden sich in der Anleitung auf CTAN: http://mirror.ctan.org/macros/latex/contrib/standalone.

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Fotos aus dem Krefelder Zoo

Vor einigen Wochen war ich im Krefelder Zoo. Obwohl das Gelände in seiner Größe nicht mit dem Berliner Tierpark vergleichbar ist finden sich hier eine Vielzahl interessanter Gehege. Höhepunkte waren Menschenaffenhaus und Schmetterlingshaus.

[nggallery id=12]

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

LaTeX: Umlaute in utf8 Listings korrekt ausgeben

Seit ich auf utf8-Encoding in meinen LaTeX-Dokumenten umgestellt habe, hatte ich Probleme, wenn einzufügende Listings Umlaute enthielten. Heute habe ich mal die Lösung gesucht:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[]{listings}
 
\begin{document}
 
\begin{lstlisting}[inputencoding={utf8},extendedchars=false]
öäöü
\end{lstlisting}
 
\end{document}

Nachtrag: So einfach war es dann doch nicht, Wörter mit Umlauten wurden beim Satz komplett zerlegt. Eine Nachfrage bei Stackexchange http://tex.stackexchange.com/questions/39640/typesetting-utf8-listings-with-german-umlaute brachte dann aber eine Lösung:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[]{listings}
 
\lstset{literate=%
    {Ö}{{\"O}}1
    {Ä}{{\"A}}1
    {Ü}{{\"U}}1
    {ß}{{\ss}}1
    {ü}{{\"u}}1
    {ä}{{\"a}}1
    {ö}{{\"o}}1
    {~}{{\textasciitilde}}1
}
\begin{document}
    \begin{lstlisting}[language={[LaTeX]TeX}]
    Staatsangehörigkeit
    \end{lstlisting}
\end{document}

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Powershell Ressourcen

Bei der täglichen Arbeit hilft mir die Microsoft Powershell sehr. Hier ein paar Links zu den wichtigsten Büchern & Webseiten:

Bücher

  • Schnelleinstieg in die Windows Powershell von Andy Oakley
  • Windows PowerShell Crashkurs von Peter Monadjemi
  • Windows PowerShell für Administratoren und Power-User von Helma Spona
  • Windows PowerShell von Holger Schwichtenberg

Online (Microsoft)

Online

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Excel VBA: Zeilen duplizieren

Hier ein kurzes Makro, um den Wert der aktuellen Zelle in der Zeile darunter zu duplizieren.

Sub Makro1()
'
' Makro1 Makro
'
'
    ActiveCell.Offset(1, 0).Select
    Application.CutCopyMode = False
    Selection.EntireRow.Insert
    ActiveCell.Offset(-1, 0).Select
    Selection.Copy
    ActiveCell.Offset(1, 0).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    ActiveCell.Offset(1, 0).Select
End Sub

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

IO-Performance verschiedener Powershell-Befehle

http://blogs.technet.com/b/gbordier/archive/2009/05/05/powershell-and-writing-files-how-fast-can-you-write-to-a-file.aspx zeigt verschiedene Wege, mittels Powershell Daten in eine Datei zu schreiben, die Unterschiede sind schon recht drastisch zwischen den eingebauten und .Net Befehlen.

Wenn jemand selbst mal die Performance messen möchte: Unter http://poshtips.com/2010/03/30/measuring-elapsed-time-in-powershell/ findet sich ein kurzer .Net Schnipsel, um das StopWatch Objekt aus Powershell heraus anzusprechen. Der StreamWriter braucht auf meinem Laptop ca. 0,54 Sekunden.

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website