Zusammenspiel von minted und upquote

Der nachstehende Artikel bezieht sich auf Pygmentize Version 1.6 (oder höher). Um festzustellen, welche Version ihr nutzt, einfach im Terminal folgende Zeile eingeben.
[cce lang=”bash”]
pygmentize -V
[/cce]
Die Ausgabe sollte wie folgt sein:
[cce lang=”bash”]
Pygments version 1.6, (c) 2006-2013 by Georg Brandl.
[/cce]

Hauptteil

Die Nutzung von [cce lang=”latex” inline=”true”]minted[/cce] und dem entsprechenden Backend Pygmentize wird immer beliebter. Allerdings werden bei der Nutzung von Anführungszeichen diese sehr unschön dargestellt. Das soll folgendes Beispiel zeigen:

[cce lang=”latex”]
% !TEX program = pdflatex –shell-escape
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{minted}
\begin{document}
\mint[fontfamily=tt]{python}|’banana’|
\end{document}
[/cce]

Das Ergebnis ist

test

Die Anführungszeichen entsprechen also nicht mehr unseren Forderungen. Üblicherweise schaffte das Paket [cce lang=”latex” inline=”true”]upquote[/cce] hier Abhilfe. Seit der Version 1.6 von Pygmentize klappt das aber nicht mehr. Eine interne Änderung des Lexers erlaubt es nicht, dass [cce lang=”latex” inline=”true”]upquote[/cce] seine Arbeit unter Nutzung von [cce lang=”latex” inline=”true”]pdflatex[/cce] macht. Um dennoch die richtigen Anführungszeichen zu bekommen, können wir folgenden Hack nutzen:

[cce lang=”latex”]
% !TEX program = pdflatex –shell-escape
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{minted}
\usepackage{upquote}
\AtBeginDocument{\let\PYZsq\textquotesingle}
\begin{document}
\mint[fontfamily=tt]{python}|’banana’|
\end{document}
[/cce]

Unser Ergebnis ist nun wieder korrekt:

test

Solltet ihr XeLaTeX oder LuaLaTeX nutzen, braucht ihr keine zusätzlichen Pakete, um das gewünschte Ergebnis zu erhalten.
[cce lang=”latex”]
\documentclass{article}
\usepackage{fontspec}
\setmonofont{Luxi Mono}
\usepackage{minted}
\begin{document}
\mint[fontfamily=tt]{python}|’banana’|
\end{document}
[/cce]

31. Mai 2013 von Marco Daniel
Kategorien: LaTeX | Schlagwörter: , , , | 13 Kommentare

Kommentare (13)

Schreibe einen Kommentar