Comment avoir des guillemets réalistes dans du code en verbatim?

$\Reponse$ La fonte cmtt a des guillemets « arrondis », qui sont jolis, mais ne correspondent pas vraiment à ce que l'on voit dans un xterm ou un éditeur de texte:

\documentclass{article}
  \usepackage[T1]{fontenc}
 
\begin{document}
\begin{verbatim}
`J'ai une touche', dit le clavier.
\end{verbatim}
\end{document}

\documentclass{article}
  \usepackage[T1]{fontenc}
  \usepackage{lmodern}
  \pagestyle{empty}

\begin{document}
\begin{verbatim}
`J'ai une touche', dit le clavier.
\end{verbatim}
\end{document}

L'apparence de ces guillemets est importante pour la compréhension des exemples de code, par exemple dans les livres didactiques. L'extension upquote modifie le comportement de l'environnement verbatim et de la commande \verb pour que leur sortie soit une représentation plus fidèle de ce que l'utilisateur doit saisir:

\documentclass{article}
  \usepackage[T1]{fontenc}
  \usepackage{upquote}
 
\begin{document}
\begin{verbatim}
`J'ai une touche', dit le clavier.
\end{verbatim}
\end{document}

\documentclass{article}
  \usepackage[T1]{fontenc}
  \usepackage{lmodern}
  \usepackage{upquote}
  \pagestyle{empty}

\begin{document}
\begin{verbatim}
`J'ai une touche', dit le clavier.
\end{verbatim}
\end{document}

Avec l'extention “listings”

$\Reponse$ Le package upquote fonctionne également si vous utilisez listings pour formatter votre code:

\documentclass{article}
  \usepackage[T1]{fontenc}
  \usepackage{listings}
 
\begin{document}
\begin{lstlisting}
`J'ai une touche', dit le clavier.
\end{lstlisting}
\end{document}

\documentclass{article}
  \usepackage[T1]{fontenc}
  \usepackage{lmodern}
  \usepackage{listings}
  \pagestyle{empty}

\begin{document}
\begin{lstlisting}
`J'ai une touche', dit le clavier.
\end{lstlisting}
\end{document}
\documentclass{article}
  \usepackage[T1]{fontenc}
  \usepackage{listings}
  \usepackage{upquote}
 
\begin{document}
\begin{lstlisting}
`J'ai une touche', dit le clavier.
\end{lstlisting}
\end{document}

\documentclass{article}
  \usepackage[T1]{fontenc}
  \usepackage{lmodern}
  \usepackage{listings}
  \usepackage{upquote}
  \pagestyle{empty}

\begin{document}
\begin{lstlisting}
`J'ai une touche', dit le clavier.
\end{lstlisting}
\end{document}

Source: