[Tex/LaTex] In the minted package, how to enforce straight single quotes

listingsmintedpunctuation

Basically I want

\mint{python}|'banana'|

to produce straight single quotes, rather than the curly ones it normally produces (in pdflatex).

Best Answer

You can use the package upquote. Note the package loads the package textcomp

The package upquote works also with listings.

% !TEX program  = pdflatex --shell-escape

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{minted}
\usepackage{upquote}
\begin{document}
\mint[fontfamily=tt]{python}|'banana'|
\end{document}

The result:

enter image description here


If you are using pygmentize version 1.6 that the package upquote can't do its job. To fix this issue you can use the following hack:

\listfiles
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{minted}
\usepackage{upquote}
\AtBeginDocument{%
\def\PYZsq{\textquotesingle}%
}
\begin{document}
\mint[fontfamily=tt]{python}|'banana'|
\end{document}

Note if you are working with XeLaTeX or LuaLaTeX the hack isn't needed.