Comment écrire du code de programmation contenant le caractère ' dans latex?

J'essaie d'écrire du code de programmation en latex en utilisant l'environnement verbatim, mais quand j'écris

  begin{verbatim}
     char ch = 'x';
  end{verbatim}

Ensuite, les '- caractères autour de x sont affichés incorrectement (ils ont l'air "bouclés"). Comment puis-je résoudre ce problème?

21
demandé sur ragnarius 2009-11-02 18:42:07

7 réponses

{j'ai[2]}

le texte d'alt

Quel est le problème?

Nouveau

Si vous voulez obtenir quelque chose comme ceci

le texte d'alt

Écrire

\makeatletter
\let \@sverbatim \@verbatim
\def \@verbatim {\@sverbatim \verbatimplus}
{\catcode`'=13 \gdef \verbatimplus{\catcode`'=13 \chardef '=13 }} 
\makeatother
4
répondu Alexey Malistov 2015-06-21 01:01:05

Chargez le paquet upquote pour résoudre ce problème en mode verbatim.

Si vous voulez des guillemets droits en mode texte monospacé (par exemple, \texttt{...}), ou bien dans n'importe quelle autre police, vous pouvez utiliser la commande \textquotesingle définie dans le paquet textcomp:

\documentclass{article}
\usepackage{upquote,textcomp}
\begin{document}
\newcommand\upquote[1]{\textquotesingle#1\textquotesingle}
\verb|'c'| \texttt{\upquote{h}}
\textsf{\upquote{h}} \upquote{h}
\end{document}

Cela fonctionnera bien pour les polices dans n'importe quel encodage plutôt que de dépendre d'un emplacement de glyphe spécifique (tel que \char13 dans l'encodage par défaut OT1).

31
répondu Will Robertson 2009-11-06 04:40:56

Ajouter \usepackage{upquote} à mon préambule était suffisant.

Peut-être que les anciennes versions de LaTeX ou upquote nécessitaient plus de travail.

12
répondu sampablokuper 2012-07-04 15:08:24

Pour afficher le code source, vous pouvez envisager d'utiliser le paquet listings; Il est assez puissant et offre une option pour afficher des guillemets "droits".

4
répondu Philipp 2009-11-03 19:18:52

Si vous voyez des guillemets droits simples bouclés dans un environnement verbatim, alors la citation droite unique dans votre police de machine à écrire est bouclée, et c'est la bonne à utiliser pour ce que vous faites (ce qui, je suppose, affiche du code C).

1
répondu uckelman 2009-11-02 15:46:42

\textsf { "} et \textsf { " } sont assez proches des guillemets droits. Pas besoin d'utiliser des paquets spéciaux.

0
répondu Dave 2009-12-03 02:28:57

C'est ce que j'ai obtenu d'une autre source, et cela fonctionne.

Utilisez ` pour commencer les guillemets doubles (ce symbole est ci-dessous ~ symbole sur notre clavier)

Utilisez "pour fermer les guillemets doubles (ce symbole est en dessous du symbole" sur notre clavier)

, ` Le guillemet double, vulgaire double"

Il en va de même pour les guillemets simples ` 'quote single, unquote single'

-1
répondu Badri Tiwari 2012-11-02 18:11:37