2012-04-29, 16:11
LaTeXdiff ist ein Perl-Skript, das die Unterschiede von zwei TeX-Dateien grafisch darstellen kann. Unter Windows wird bei TeXlive eine entsprechende exe mitgeliefert, sodass das Skript auch ohne installiertes Perl funktioniert. Hier ein Beispiel:
Dokument1.tex
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\begin{document}
Hallo Welt!
\end{document} |
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\begin{document}
Hallo Welt!
\end{document}
Dokument2.tex
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\begin{document}
Hallo, Welt! Foobar!
\end{document} |
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\begin{document}
Hallo, Welt! Foobar!
\end{document}
latexdiff Dokument1.tex Dokument2.tex > result.tex
result.tex
%DIF 1c1
%DIF < \documentclass{scrartcl}
%DIF -------
\documentclass{article} %DIF >
%DIF -------
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
%DIF PREAMBLE EXTENSION ADDED BY LATEXDIFF
%DIF UNDERLINE PREAMBLE %DIF PREAMBLE
\RequirePackage[normalem]{ulem} %DIF PREAMBLE
\RequirePackage{color}\definecolor{RED}{rgb}{1,0,0}\definecolor{BLUE}{rgb}{0,0,1} %DIF PREAMBLE
\providecommand{\DIFadd}[1]{{\protect\color{blue}\uwave{#1}}} %DIF PREAMBLE
\providecommand{\DIFdel}[1]{{\protect\color{red}\sout{#1}}} %DIF PREAMBLE
%DIF SAFE PREAMBLE %DIF PREAMBLE
\providecommand{\DIFaddbegin}{} %DIF PREAMBLE
\providecommand{\DIFaddend}{} %DIF PREAMBLE
\providecommand{\DIFdelbegin}{} %DIF PREAMBLE
\providecommand{\DIFdelend}{} %DIF PREAMBLE
%DIF FLOATSAFE PREAMBLE %DIF PREAMBLE
\providecommand{\DIFaddFL}[1]{\DIFadd{#1}} %DIF PREAMBLE
\providecommand{\DIFdelFL}[1]{\DIFdel{#1}} %DIF PREAMBLE
\providecommand{\DIFaddbeginFL}{} %DIF PREAMBLE
\providecommand{\DIFaddendFL}{} %DIF PREAMBLE
\providecommand{\DIFdelbeginFL}{} %DIF PREAMBLE
\providecommand{\DIFdelendFL}{} %DIF PREAMBLE
%DIF END PREAMBLE EXTENSION ADDED BY LATEXDIFF
\begin{document}
Hallo\DIFdelbegin \DIFdel{Welt}\DIFdelend \DIFaddbegin \DIFadd{, Welt! Foobar}\DIFaddend !
\end{document} |
%DIF 1c1
%DIF < \documentclass{scrartcl}
%DIF -------
\documentclass{article} %DIF >
%DIF -------
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
%DIF PREAMBLE EXTENSION ADDED BY LATEXDIFF
%DIF UNDERLINE PREAMBLE %DIF PREAMBLE
\RequirePackage[normalem]{ulem} %DIF PREAMBLE
\RequirePackage{color}\definecolor{RED}{rgb}{1,0,0}\definecolor{BLUE}{rgb}{0,0,1} %DIF PREAMBLE
\providecommand{\DIFadd}[1]{{\protect\color{blue}\uwave{#1}}} %DIF PREAMBLE
\providecommand{\DIFdel}[1]{{\protect\color{red}\sout{#1}}} %DIF PREAMBLE
%DIF SAFE PREAMBLE %DIF PREAMBLE
\providecommand{\DIFaddbegin}{} %DIF PREAMBLE
\providecommand{\DIFaddend}{} %DIF PREAMBLE
\providecommand{\DIFdelbegin}{} %DIF PREAMBLE
\providecommand{\DIFdelend}{} %DIF PREAMBLE
%DIF FLOATSAFE PREAMBLE %DIF PREAMBLE
\providecommand{\DIFaddFL}[1]{\DIFadd{#1}} %DIF PREAMBLE
\providecommand{\DIFdelFL}[1]{\DIFdel{#1}} %DIF PREAMBLE
\providecommand{\DIFaddbeginFL}{} %DIF PREAMBLE
\providecommand{\DIFaddendFL}{} %DIF PREAMBLE
\providecommand{\DIFdelbeginFL}{} %DIF PREAMBLE
\providecommand{\DIFdelendFL}{} %DIF PREAMBLE
%DIF END PREAMBLE EXTENSION ADDED BY LATEXDIFF
\begin{document}
Hallo\DIFdelbegin \DIFdel{Welt}\DIFdelend \DIFaddbegin \DIFadd{, Welt! Foobar}\DIFaddend !
\end{document}
![latexdiff](http://uweziegenhagen.de/wp-content/uploads/2012/04/latexdiff-300x197.png)
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
2012-04-29, 15:55
Hier ein kurzes Beispiel, wie man mit LaTeX Änderungen an einem Dokument hervorheben kann:
\documentclass{scrartcl}
\usepackage[draft]{changes}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\definechangesauthor[name={Uwe Ziegenhagen}, color=red]{UZ}
\begin{document}
Cras \added[UZ]{viverra} metus \replaced[UZ]{vehicula}{rhoncus} sem. Nulla et lectus vestibulum
urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat. Integer
sapien est, iaculis in, pretium quis, viverra ac, nunc. \deleted{Präsent }Praesent eget sem vel leo ultrices
bibendum. Aenean \deleted[UZ]{faucibus}. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac,
nulla. Curabitur auctor semper nulla. Donec varius orci eget risus. Duis nibh mi, congue
eu, accumsan eleifend, sagittis quis, diam. Duis eget orci sit amet orci dignissim rutrum.
\listofchanges
\end{document} |
\documentclass{scrartcl}
\usepackage[draft]{changes}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\definechangesauthor[name={Uwe Ziegenhagen}, color=red]{UZ}
\begin{document}
Cras \added[UZ]{viverra} metus \replaced[UZ]{vehicula}{rhoncus} sem. Nulla et lectus vestibulum
urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat. Integer
sapien est, iaculis in, pretium quis, viverra ac, nunc. \deleted{Präsent }Praesent eget sem vel leo ultrices
bibendum. Aenean \deleted[UZ]{faucibus}. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac,
nulla. Curabitur auctor semper nulla. Donec varius orci eget risus. Duis nibh mi, congue
eu, accumsan eleifend, sagittis quis, diam. Duis eget orci sit amet orci dignissim rutrum.
\listofchanges
\end{document}
![changes_sample](http://uweziegenhagen.de/wp-content/uploads/2012/04/changes_sample-300x193.png)
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
Category:
LaTeX,
Pakete |
Kommentare deaktiviert für LaTeX: Quellcode-Änderungen hervorheben (highlighten) – Teil 1
2012-04-28, 07:29
In einem früheren Blogpost hatte ich schon darüber geschrieben, wie man mit prettyref
und varioref
Referenzen verwalten kann.
Die Kombination cleveref
, varioref
und hyperref
bietet auch interessante Automatisierungsfunktionen. cleveref
erkennt automatisch, auf was sich ein Label bezieht: auf eine Section, ein Bild oder eine Table. Entsprechende Befehle des varioref
Pakets werden umdefiniert. Wichtig ist nur die Reihenfolge, in der die Pakete geladen werden müssen:
- varioref
- hyperref
- cleveref
\documentclass[ngerman]{scrartcl}
\usepackage[]{babel}
\usepackage[]{varioref}
\usepackage{hyperref}
\usepackage[]{cleveref}
\begin{document}
\section{Erster Abschnitt}\label{sec}
\begin{figure}
\rule{\textwidth}{1cm}
\caption{bild}\label{bild}
\end{figure}
Siehe \vref{sec}, siehe \vref{bild}
\end{document} |
\documentclass[ngerman]{scrartcl}
\usepackage[]{babel}
\usepackage[]{varioref}
\usepackage{hyperref}
\usepackage[]{cleveref}
\begin{document}
\section{Erster Abschnitt}\label{sec}
\begin{figure}
\rule{\textwidth}{1cm}
\caption{bild}\label{bild}
\end{figure}
Siehe \vref{sec}, siehe \vref{bild}
\end{document}
![clever](http://uweziegenhagen.de/wp-content/uploads/2012/04/clever-300x97.jpg)
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
Category:
Pakete,
LaTeX |
Kommentare deaktiviert für Cleveref, varioref und hyperref
2012-04-16, 07:42
Hier ein Tracklog meiner Radtour nach Neuss.
Koeln_nach_Neuss (KML)
Mit dem Rad von Köln nach Neuss auf einer größeren Karte anzeigen
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
Category:
GPS,
Reisen |
Kommentare deaktiviert für Tracklog Köln => Neuss
2012-04-15, 10:48
Eine Mathematik-Klausur an der Uni Köln hat einigen Staub aufgewirbelt (http://www.spiegel.de/unispiegel/studium/0,1518,827375,00.html), die Aufgaben sind im Spiegel-Artikel verlinkt.
Aufgabe 3 fand ich interessant: Die Anzahl von Posaunen und Trompeten so zu maximieren, dass das Budget von 10’000 Euro eingehalten wird.
Auch ohne groß herum zu rechnen, lässt sich dies leicht in Excel lösen. Man bestimmt einfach die Kosten der verschiedenen Kombinationen aus $x$ Trompeten und $y$ Posaunen und schaut, welche Kombination am nächsten an den 10’000 Euro dran ist. Mit wenigen Zeilen VBA-Code und bedingter Formatierung lässt sich auch leicht eine Planungshilfe gestalten, die bei unterschiedlichen Preisen und anpassbarem Budget die optimale Lösung ausspuckt.
![klausur](http://uweziegenhagen.de/wp-content/uploads/2012/04/klausur-300x158.jpg)
Klausur.xlsm
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
2012-04-14, 12:38
Hier ein Tracklog meiner Radtour von Bonn nach Köln.
Bonn_nach_Koeln (KML)
Mit dem Rad von Bonn nach Köln auf einer größeren Karte anzeigen
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
Category:
GPS,
Reisen |
Kommentare deaktiviert für Tracklog Bonn => Köln
2012-04-07, 07:24
Hier eine kurze Zusammenfassung (ausführlich unter http://cran.r-project.org/bin/linux/ubuntu/), wie man unter Ubuntu seine R Installation aktualisiert:
- Import des PGP Keys via
gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9
- Bereitstellung für apt über
gpg -a --export E084DAB9 | sudo apt-key add -
- Einfügen des CRAN Mirrors in die /etc/apt/sources.list:
deb http://ftp5.gwdg.de/pub/misc/cran/bin/linux/ubuntu oneiric/
sudo apt-get update
sudo apt-get upgrade
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
Category:
R |
Kommentare deaktiviert für R unter Ubuntu aktualisieren
2012-04-06, 10:31
Wenn man zuhause mehr als einen (oder zwei, drei, vier) Rechner zu stehen hat, auf denen immer die neueste Version von TeX Live laufen soll, so empfiehlt es sich, einen eigenen Mirror-Server aufzusetzen. So muss man die Updates nur einmal aus dem Internet ziehen, alle Updates erfolgen dann über das lokale Netz zuhause.
Die Lösung fand sich bei stackexchange: http://tex.stackexchange.com/questions/22362/how-to-mirror-texlive.
Da ich zuhause ein Synology NAS im 24/7 Betrieb habe, bot es sich an, auch das TeX Live Mirroring darüber zu machen.
Der folgende Befehl holt die TeX Live Daten und speichert sie in einem über den NAS-Webserver zugänglichen Verzeichnis.
rsync -a --delete rsync://rsync.dante.ctan.org/CTAN/systems/texlive/tlnet/ /web/texlivemirror
Um das Mirroring zu automatisieren, habe ich den Befehl in einer ausführbaren Skript-Datei abgelegt und einen entsprechenden Cron-Job dafür angelegt. Details zum Aufsetzen des Cron-Jobs findet man unter http://www.synology-wiki.de/index.php/Cron.
Zu guter Letzt muss man nur noch den verschiedenen TeX Live-Installationen klar machen, dass sie ab sofort ihre Updates vom NAS holen sollen. Dazu nutzt man den tlmgr
Befehl (siehe http://www.tug.org/texlive/doc/tlmgr.html):
tlmgr option repository http://<mein.webserver>/texlivemirror
oder bei der Installation zum Beispiel:
install-tl-windows.bat --location http://192.168.0.10/texlivemirror/
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
Schlagwörter:
LaTeX,
TeXlive Category:
LaTeX |
Kommentare deaktiviert für Wie man einen eigenen TeX Live Mirror aufsetzt
2012-04-04, 21:59
Excel stellt leider keine Funktion bereit, um das Vorhandensein einer Formel in einer Zelle zu prüfen. Behelfen kann man sich aber mit einer selbst gestrickten Excel-Funktion (gefunden bei http://www.vbaexpress.com/kb/getarticle.php?kb_id=324):
Option Explicit
Function ISFORMULA(cel As Range) As Boolean
ISFORMULA = cel.HasFormula
End Function |
Option Explicit
Function ISFORMULA(cel As Range) As Boolean
ISFORMULA = cel.HasFormula
End Function
isFormel.xlsm
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
Schlagwörter:
Excel,
VBA Category:
MS Office & VBA |
Kommentare deaktiviert für Excel: Prüfen, ob eine Zelle eine Formel enthält
2012-03-25, 16:06
Hier ein erster Versuch, LaTeX Befehle mit PyParsing zu parsen:
from pyparsing import *
# grammar definition
commandname = Word(alphas)
leftbrace = Literal("{")
rightbrace = Literal("}")
parameter = Word(alphas)
command = Literal("\\") + commandname + leftbrace + parameter + rightbrace
# input string
mystring = "\section{hello}"
# parse input string
print mystring, "->", command.parseString(mystring) |
from pyparsing import *
# grammar definition
commandname = Word(alphas)
leftbrace = Literal("{")
rightbrace = Literal("}")
parameter = Word(alphas)
command = Literal("\\") + commandname + leftbrace + parameter + rightbrace
# input string
mystring = "\section{hello}"
# parse input string
print mystring, "->", command.parseString(mystring)
Beispiel:
\section{hello} -> [‚\\‘, ’section‘, ‚{‚, ‚hello‘, ‚}‘]
Als nächstes werde ich die Grammatik so erweitern, dass auch optionale Parameter geparst werden können. Eine Erweiterung wird dann das Parsing von Key=Value Parametern.
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