TeXing with Gummi

There’s a new player in the game of LaTeX editors: Gummi. It was recommeded to me yesterday during the Berlin Linuxtag. The most striking feature is the auto-compile feature. No need to push a button, Gummi TeXs the document in the background. I’ll do some further test but so far I like what I saw.

Installation under Xubuntu:

  1. Open a terminal and enter: sudo add-apt-repository ppa:gummi/gummi, see https://launchpad.net/~texworks/+archive/ppa for details.
  2. Run the following command:
    sudo apt-get --no-install-recommends install gummi
    

Some links:

Image (from the Gummi website)

gummi060-1

Installing TeXworks from PPA under (X)ubuntu

Due to the dependenciesmy Xubuntu wanted to install lots of packages from the Ubuntu TeX Live repository. I didn’t check explicitly but based on earlier experiences it’s safe to assume that it would be outdated. Besides that I had already installed TeX Live 2012. The solution was to check which packages Xubuntu wanted to install and to kick out everything not related with TeXworks.

The following worked smoothy:

  1. Open a terminal and enter: sudo add-apt-repository ppa:texworks/ppa, see https://launchpad.net/~texworks/+archive/ppa for details.
  2. Run the following command:
    sudo apt-get --no-install-recommends install libaudio2 libgraphite3 libmysqlclient18 libpoppler-qt4-4 libptexenc1 libqt4-dbus libqt4-declarative libqt4-network libqt4-script libqt4-scripttools libqt4-sql libqt4-sql-mysql libqt4-xml libqt4-xmlpatterns libqtcore4 libqtgui4 libruby1.9.1 libyaml-0-2 mysql-common qdbus qtchooser ruby ruby1.9.1 tcl8.6 texworks texworks-help-en tk8.6
    

Checking links with Python in TeX documents

As every year the German documentation for the TeX Live distribution is on my agenda. To check the more than 100 weblinks in the document I wrote a small Python script which does the job fairly well.

import re
import urllib2
 
filehandle = open("texlive-de-new.tex")
text = filehandle.read()
filehandle.close()
 
# regexp from http://www.noah.org/wiki/RegEx_Python
m = re.findall('http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+', text)
 
i = 0
for item in m:
        i=i+1
        print i, '\t', item, '\t',
        try:
            response = urllib2.urlopen(item)
        except urllib2.HTTPError, e:
                    print e.code
        except urllib2.URLError, u:
                    print u.args
        print "\n"

Dateien verschieben mit Powershell

Ausgangssituation: Diverse Unterverzeichnisse mit Dateien, die alle ins darüberliegende Verzeichnis verschoben werden sollen. Mit dem Windows Explorer dauert es Stunden, selbst mit Total Commander dauert es zu lange. Gut, dass ein paar Zeilen Powershell das erledigen:

$path =  "D:\files\"
cd $path
 
$files = gci | ? {$_.PSisContainer -eq $true} 
 
foreach ($i in $files){
	Move-Item $i\*.* $path
}

Erste Schritte mit der Roland iModela

Vor kurzem hat die Dingfabrik in Köln eine Roland iModela vom Hersteller zur Verfügung gestellt bekommen. Da mich CAD/CAM generell interessiert (weil ich mit Säge und Feile eher untalentiert bin), habe ich das Ding gleich mal an meinen Rechner angestöpselt und im Selbstversuch einen Stempel gefräst.

Der Anschluss an den Rechner war nicht so einfach, denn die iModela musste erst einmal gefunden werden. Ich hatte ja ein Gerät von der Größe eines Röhrenfernsehers erwartet, jedoch entsprechen die Maße der iModela eher denen eines Toasters, die bearbeitbare Fläche beträgt 86mm x 55mm.

Roland iModela

Das Gerät eignet sich auch nicht unbedingt dazu, aus Hartmetallen Formen zu fräsen, seine Spezialität sind eher weiche Materialien wie Stempelgummi und weiche Hölzer wie Balsaholz. Der eingesetzte Motor erinnert mich sehr an Motoren von Quadcoptern und hat mit 50 Stunden eine vergleichsweise begrenzte Lebensdauer. Roland liefert aber einen Ersatzmotor mit, über den Handel lassen sich vielleicht auch hochwertigere Motoren erwerben.

Das nächste Bild zeigt die Maschine mal aufgeklappt, das Aufklappen selbst ist innerhalb von Sekunden erledigt. Die linke und rechte Seite lässt sich einfach umklappen, danach lassen sich die hellgrünen Klammern lösen.

IMG_6368

Die Software-Installation war recht unspektakulär: Nach der Treiber-Installation empfiehlt es sich, zumindest iModela Creator und iModela Controller zu installieren. Ersteres ist ein einfaches grafisches CAD Programm, letzteres steuert die Maschine selbst an. Für Vorschau-Ansichten eines Datensatzes liefert Roland noch Virtual Modela mit (letztes Update im Jahr 2004, Look & Feel eher altbacken), in meinem ersten Versuchen konnte ich aber eher drauf verzichten.

In meinem Versuch habe ich einen Buchstaben in ein Stück Stempelgummi gefräst. Ein einfaches ‘+’ Zeichen von knapp 7×7 Millimetern brauchte ungefähr fünf Minuten, durch geeignete Parameterwahl bei Vortrieb und Drehgeschwindigkeit des Fräsers lassen sich hier aber sicher noch Verbesserungen vornehmen.

IMG_6389

IMG_6399

Fazit meiner ersten Schritte: Der Einstieg in die Arbeit mit der iModela fällt wirklich leicht. Mit der passabel gestalteten Software kann man innerhalb von wenigen Minuten erste Erfolge feiern. In Sachen Arbeitsfläche und Materialauswahl erfüllt die iModela sicherlich keine professionellen Anforderungen, im Hobby-Bereich ist sie aber durchaus einsetzbar. Ich denke, in den nächsten Wochen und Monaten werde ich noch einige Stempel damit fräsen. :-)

Vorlage für Jour Fixe Protokolle / Template for Jour Fixe protocols

Ausgehend von Vorlage für Gesprächsprotokolle hat mir Stefan Wollny, ein Leser des Blogs, eine schicke Vorlage für Jour Fixe Protokolle geschickt.

Hier die Vorlage_Jour-Fix-Protokoll PDF-Datei, hier der Quellcode:

%% basierend auf http://uweziegenhagen.de/?p=1109
%% gefunden am 15.03.2013
%% 
%%
\PassOptionsToPackage{table}{xcolor}	% Notwendig, damit die Zeilen-Colorierung funktioniert
\documentclass[]{scrartcl}
\usepackage{palatino,url}
\usepackage[T1]{fontenc}		% Vor {inputenc}! http://uweziegenhagen.de/?p=1644
\usepackage[latin1]{inputenc}		% in Uwes Vorgabe noch anders herum
\usepackage[german,ngerman]{babel}	% Alte Hunde lernen keine neuen Tricks
\usepackage[a4paper,top=30mm,left=25mm,right=20mm,bottom=23mm,headsep=12mm,footskip=12mm]{geometry}
\usepackage{textcomp,eurosym}
\usepackage{graphicx}
\usepackage{longtable}
\usepackage{booktabs,paralist}
\usepackage{url}
\usepackage{pgfgantt}
\usepackage{xcolor,soul}
%% Hervorhebungen	\hl{text}
%% Farbe Hervorhebungen \sethlcolor{yellow}  oder {red} oder {green}
%% Unterstreichungen	\ul{text}
%% Farbe Unterstreichungen \setulcolor{yellow}  oder {red} oder {green}
%% Durchstreichungen	\st{text}
%% Farbe Durchstreichungen \setstcolor{yellow}  oder {red} oder {green}
%% Kapitälchen		\caps{text}
%% Letterspacing	\so{text}
\definecolor{LinkColor}{rgb}{0,0,0.5}
%
\definecolor{cell}{RGB}{220,230,240}
\definecolor{line}{RGB}{80,130,190}
\renewcommand{\arraystretch}{1.25}
%
\usepackage[]{changebar}
\newcommand{\cb}[1]{\begin{changebar}#1\end{changebar}}
%
\usepackage[flushmargin]{footmisc}
\renewcommand{\thempfootnote}{\alph{mpfootnote}}
\usepackage{scrpage2,lastpage}
\clearscrheadfoot
%
% nur bei gesetzem twoside
%\lehead{lehead} \cehead{cehead}
%\rehead{rehead} \lefoot{lefoot}
%\cefoot{cefoot} \refoot{refoot}
%
%\lohead{lohead} \cohead{cohead}
%\rohead{rohead} \lofoot{lofoot}
%\cofoot{cofoot}
%
\lohead{Flying Circus \\ Finanzen}
\rohead{\includegraphics[scale=0.15]{puf200X172}}
\lofoot{\today}
\rofoot{Seite \thepage~ von \pageref{LastPage}}
\pagestyle{scrheadings}
%
\usepackage[%
	pdftitle   ={Gespraechsprotokoll},%
	pdfauthor  ={Duck, Donald},%
	pdfcreator ={pdflatex with hyperref},%
	pdfsubject ={Projekt X},%
	pdfkeywords={Gold, Geldspeicher, Inventur}]{hyperref}
\hypersetup{%
	colorlinks =true,%
	linkcolor  =LinkColor,%
	citecolor  =LinkColor,%
	filecolor  =Linkcolor,%
	menucolor  =LinkColor,%
	urlcolor   =LinkColor,%
	breaklinks =true}
%
%
%
\begin{document}
%
\begin{flushleft}
 {\LARGE \textbf{Jour-Fix Protokoll}}
\end{flushleft}
%
\begin{tabular}{rp{5.4cm}lp{5.4cm}} \toprule
 Datum & \textbf{13.03.2013} Rev. 2 & & \\
 Protokollant & Duck, Donald & & \\
 Anwesend & Duck, Dagobert (Chair)	& Abwesend & Gans, Gustav (Luckiness) \\
  & Duck, Daisy (COO) 		&	   & Goofy (Fatality) \\
  & Duck, Tick (Clever-1)			&	& Pluto (Security) \\ 
  & Duck, Trick (Clever-2)		&	& \\ 
  & Duck, Track (Clever-3)		&	& \\ \bottomrule
\end{tabular}
%
%\arrayrulecolor{line}
%\rowcolors{2}{cell}{white}
\begin{small}
\setlength\LTleft{0pt}
\setlength\LTright{0pt}
\begin{flushleft}
\begin{longtable}{p{0.2cm}p{0.3cm}p{9.9cm}p{2.4cm}l} \toprule
lfd. Nr.	& Art\footnotemark[1] %\footnote{I: Information | A: Aufgabe | B: Beschluß | N: Nachtrag}	
	& Thema
	& Verantwortlich/ Referent
	& Termin	\\ \midrule \endfirsthead
\hline
lfd. Nr.	& Art
	& Thema
	& Verantwortlich/ Referent
	& Termin	\\ \midrule \endhead
%
 
\rowcolor{blue!10}
\textbf{1.}
	&	% Keine Art in der Betreffzeile	
	& \textbf{Reinigung Geldspeicher}			
	& \textbf{Duck, Donald}	
	& \\
	& I	
	& Die Reinigung erwies sich als schwieriger, als zunächst gedacht. Durch wiederholte Besuche der Gebrüder \caps{Panzerknacker} wurde die zwischenzeitliche Ordnung derart durcheinander gebracht, daß zunächst das Eintreffen der Entenhausener Polizei abgewartet werden mußte, um selbige wieder herzustellen.
	& Duck, Donald	\\ \cline{2-5}
	& A	
	& Bericht im nächsten JF	
	& Duck, Donald	
	& 2.04.2013 \\ \cline{2-5}
	& A	
	& Bericht im übernächsten JF	
	& Duck, Donald	
	& 22.04.2013 \\ \cline{2-5}
	& N	
	& Im Nachgang zur Besprechnung wurde bekannt, daß die Hexe \begin{changebar}\caps{Gaukeley, Gundel}\end{changebar} aus der Haft auf dem Brocken entlassen werden mußte. Sie hatte den Gefängisdirektor in eine Maus verwandelt, was das Interesse der Gefängniskatze wecke. Erst nachdem er versprach, Frau \caps{Gaukeley} zu entlassen, wurde er wieder zurückverwandelt.
	& Duck, Donald	
	&  \vspace*{0.2cm} \\
%
\rowcolor{blue!10}
\textbf{2.}
	&	% Keine Art in der Betreffzeile	
	& \textbf{Goldmachmaschine}
	& \textbf{Dr. Düsentrieb, Daniel}
	& \\
	& I
	& \caps{Dr. Düsentrieb} wird erst wieder in der KW 15 in Entenhausen sein.
	& Duck, Donald
	& \vspace*{0.2cm} \\
%
 
\rowcolor{blue!10}
\textbf{3.}
	&	% Keine Art in der Betreffzeile	
	& \textbf{Lotterie}			
	& \textbf{Gans, Gustav}	
	& \\
	& 
I	
	& Herr Gans läß sich entschuldigen: Nach dem letzten ungeplanten Lotteriegewinn hat er einen kurzfristig anberaumten Termin mit seinem Steuerberater, Herrn Hartz, damit die Finanzierung von \textit{La Dolce Vita} nicht durch eine unangekündigte  Buchprüfung der Wirtschaftsprüfungsgesellschaft \caps{Troika \& Co.} oder durch eine \textit{Bäng-Bäng}-Affäre gestört wird.
	& Duck, Donald	
	& \\ \cline{2-5}
	& A	
	& Bericht zum Sachstand der Ausbeutung im nächsten JF	
	& Gans, Gustav	
	& 2.04.2013 \vspace*{0.2cm} \\
%
 
\rowcolor{blue!10}
\textbf{4.}
	&	% Keine Art in der Betreffzeile	
	& \textbf{Steueroptimierung}
	& \textbf{Duck, Daisy}
	& \\
	& I
	& Bei der zypriotischen Regierung wurde angefragt, was 'Steuern' sind. Solange die Antwort auf sich warten läßt, wurde zusammen mit der Spielbank 'Silberjunge Schwab' ein innovatives, die Sinne vernebelndes Finanzprodukt aufgelegt, daß die Beteiligten aufgrund ihrer internationalen Verflechtungen unzweifelhaft als systemrelevant qualifiziert, da die Anleger in jedem Fall alles verlieren werden.
	& Duck, Daisy	
	& \\ \cline{2-5}
	& A	
	& Bericht zum Sachstand der \euro -Gefälligkeiten
	& Gans, Gustav	
	& 2.04.2013 \vspace*{0.2cm} \\
%
\newpage
\rowcolor{blue!10}
\textbf{5.}
	&	% Keine Art in der Betreffzeile	
	& \textbf{Auskunftsersuche IBF}			
	& \textbf{Duck, Trick}	
	& \\
	&  \vspace*{0.2cm}
I	
	& Das Fachkonzept wurde mit der Anwaltskanzlei \caps{Nostra Casa \& Cie.} ausfühlich besprochen. Alle offenen Punkte wurden ungeklärt in die Kanalisation gespült. Eine Gefahr für die Kanalisation bestand zu seinem Zeitpunkt; marginale Kollateralschäden bei Menschen, Kindern und Frauen (!) sind eingepreist. Die Risiken konnten auf die UE geswappt werden.
	& Duck, Trick	
	&	\\ \cline{2-5}
	& A	
	& Bericht im nächsten JF	
	& Duck, Track	
	& 2.04.2013 \vspace*{0.2cm} \\
%
\rowcolor{blue!10}
\textbf{6.}
	&	% Keine Art in der Betreffzeile	
	& \textbf{Liquidität}
	& \textbf{Duck, Dagobert}
	& \\
	& I
	& Herr Duck informierte über die aktuelle Goldbad-Temperatur. Das Thermometer wies in letzter Zeit eine auffällige Korrelation zum Aktienkurs der 'Germanian Bunk Ltd.`` auf, die auch der Entenhausener Handelszeitung nicht entgangen war. \caps{Don Corleone} wurde informiert.
	& Duck, Dagobert
	& \vspace*{0.2cm} \\
%
\rowcolor{blue!10}
\textbf{7.}
	&	% Keine Art in der Betreffzeile	
	& \textbf{Fort Knox - Goldschatz}			
	& \textbf{Duck, Dagobert}	
	& \\
	&  \vspace*{0.2cm}
I	
	& Die Analyse der Sicherheitsvorkehrungen ist noch nicht abgeschlossen. \caps{Kater Karlo} verweigert leider noch immer die Kooperation, so daß ein persönlicher Besuch vor Ort wohl unumgänglich sein wird.
	&	\\ \cline{2-5}
	& A	
	& Bericht im nächsten JF	
	& Duck, Donald	
	& 2.04.2013 \vspace*{0.2cm} \\
%
%\newpage
\rowcolor{blue!10}
\textbf{8.}
	&	% Keine Art in der Betreffzeile	
	& \textbf{Hr. M. aus N.}
	& \textbf{Destructivus, Tullius}
	& \\
	& I
	& Hr. D. läßt ausrichten, daß es ihn nie gegeben habe und daß er jeden anderweitigen Hinweis unerbittlich bis zum groß-imperialen Zwischenhändler verfolgen wird, sollte jemand etwas anderes behaupten. Da der 'ehrenwerte Richter' \textit{leider} drei Kinder hat, erübrigt sich ein Erscheinen vor dem hohen Gerüst und ein neuer Termin.
	& Duck, Donald
	& \vspace*{0.2cm} \\
%
\rowcolor{blue!10}
\textbf{9.}
	&	% Keine Art in der Betreffzeile	
	& \textbf{Las Vegas}			
	& \textbf{Duck, Dagobert}	
	& \\
	&  \vspace*{0.2cm}
I	
	& Der Betriebsauflug nach L.V. war ein voller Erfolg: Anders als beim letzt-jährigen Ausflug nach Hawaii störte diesmal nicht die Werbung für das Softeis 'Magnam'.  Als \textit{dernier-crie} erwies sich vielmehr 'Hokus-Pokus-13', was einigen Geschäftspartnern gleichwohl sauer aufstieß \ldots
	& Duck, track
	&	\\ \cline{2-5}
	& A	
	& Bullizei-Bericht im nächsten JF	
	& Duck, Donald	
	& 2.04.2013 \vspace*{0.2cm} \\
%
\rowcolor{blue!10}
\textbf{10.}
	&	% Keine Art in der Betreffzeile	
	& \textbf{'Noch ein Bit?' - Liquidität der Falschen}
	& \textbf{Dr. Peulaner}
	& \\
	& I
	& \caps{Dr. Peulaner} wird erst wieder in der KW 15 nüchtern sein.
	& Duck, Donald
	& \vspace*{0.2cm} \\
%
\rowcolor{blue!10}
\textbf{11.}
	&	% Keine Art in der Betreffzeile	
	& \textbf{Termine}
	&
	& \\
	& B
	& Nächster JF
	& alle
	& 2.04.2013 \\
	& B
	& Nächster Workshop ``Tresore öffnen - 101''
	& PK1/Pk2 & 4.04.2013 \\
	& I
	& Nächste Sitzung des Lenkungsausschusses
	&
	& 5.04.2013 \\ \bottomrule 
\end{longtable}
\footnotetext[1]{I: Information | A: Aufgabe | B: Beschluß | N: Nachtrag}
\end{flushleft}
\end{small}
%
\end{document}

Slides for my ‘Sphinx’ presentation in Giessen

Here are the slides for my presentation on ‘Sphinx’, the Python-based publishing tool.

UweZiegenhagen-Sphinx (PDF)

HTML Export example

Slides for the German LaTeX Introductory Course in Gießen

Here are the slides I used in my LaTeX introductory course at University of Gießen.

Intro-Current-Complete (PDF)

Additional materials:

Slides for my “Adventures in LaTeX Land” presentation, Gießen 2013

These are the German slides for my presentation at the 2013 Gießen German TeX Users Conference. It shows examples for the following packages.

PDF, German

  • arara
  • censor
  • menukeys
  • ocgx
  • progressbar
  • pgfgantt
  • romanbar
  • parnotes
  • smartdiagram
  • tikzsymbols

Neue Version der Herleitung der Linearen Regression verfügbar

Nach Hinweisen auf einen kleinen Fehler (danke Axel!) in meiner Herleitung der Gleichung für die lineare Regression habe eben eine neue Version hochgeladen: linreg.pdf.

Zusätzlich zur Fehlerbeseitigung habe ich mehr erläuternde Kommentare und Formeln hinzugefügt. Selbstredend wurde das Dokument in LaTeX gesetzt; es ist auch ein schönes Beispiel, was mit LaTeX & Co geht:

- die Grafik wurde in Metapost erstellt (heute würde ich sicher TikZ nehmen)
- alle Quelldateien sind im PDF-Container hinterlegt und verlinkt.

Wenn ich mal passenden R-Code finde (Hinweise werden gern entgegen genommen) werde ich noch mehr Beispiele für die Auswirkungen von Anstieg und Achsenabschnitt der Regressionsgeraden auf die Quadratsumme einfügen.