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
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:
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]
Kommentare (13)