Extension listings, quotes, espaces

Bonjour,

L’extension listings traduit les quotes droites " en quotes courbes “ ”.

Pour du code source c’est gênant.

Ce comportement peut être inhibé par le paramètre suivant dans la
configuration de listings :

literate={"}{\textquotedbl}1,

Simplement, ensuite les quotes sont systématiquement suivies ou
précédées (selon qu’elles sont initiales ou finales) d’une espace, ce
qui est toujours aussi gênant pour du code source.

D’ailleurs, si l’on écrit en français, listings insère aussi des
espaces devant les ; et les : ce qui est aussi gênant.

L’un des lecteurs de la liste saurait-il éviter ces inconvénients ?
L’extension csquotes serait-elle en cause ?

Merci de toute piste, et bon été !


Laurent Bloch - https://laurentbloch.net - xyz@xyz.tld
Si vous trouvez que l’éducation coûte cher, essayez l’ignorance !
(A. Lincoln)

Le 02/08/2025 à 11:42, Laurent Bloch a écrit :

Bonjour,

Bonjour,

L’extension listings traduit les quotes droites " en quotes courbes “ ”.

Pour du code source c’est gênant.

Ce comportement peut être inhibé par le paramètre suivant dans la configuration de listings :

literate={"}{\textquotedbl}1,

Simplement, ensuite les quotes sont systématiquement suivies ou précédées (selon qu’elles sont initiales ou finales) d’une espace, ce qui est toujours aussi gênant pour du code source.

D’ailleurs, si l’on écrit en français, listings insère aussi des espaces devant les ; et les : ce qui est aussi gênant.

L’un des lecteurs de la liste saurait-il éviter ces inconvénients ?

L’option suivante résout le problème:

\lstset{upquote=true}

L’extension csquotes serait-elle en cause ?

Heureusement que non ! :slight_smile:

Cordialement,
--
  Paul Gaborit

Merci infiniment, c’est bon. Et pour les espaces, sans doute introduits
par le style french ?

Cordialement !

Le samedi 02 août 2025 Paul Gaborit a écrit ceci :

Le 02/08/2025 à 11:42, Laurent Bloch a écrit :

Bonjour,

Bonjour,

L’extension listings traduit les quotes droites " en quotes courbes “ ”.

Pour du code source c’est gênant.

Ce comportement peut être inhibé par le paramètre suivant dans la
configuration de listings :

literate={"}{\textquotedbl}1,

Simplement, ensuite les quotes sont systématiquement suivies ou
précédées (selon qu’elles sont initiales ou finales) d’une espace, ce
qui est toujours aussi gênant pour du code source.

D’ailleurs, si l’on écrit en français, listings insère aussi des
espaces devant les ; et les : ce qui est aussi gênant.

L’un des lecteurs de la liste saurait-il éviter ces inconvénients ?

L’option suivante résout le problème:

\lstset{upquote=true}

L’extension csquotes serait-elle en cause ?

Heureusement que non ! :slight_smile:

Cordialement,

 Paul Gaborit


Laurent Bloch - https://laurentbloch.net - xyz@xyz.tld
Si vous trouvez que l’éducation coûte cher, essayez l’ignorance !
(A. Lincoln)

Le 02/08/2025 à 16:32, Laurent Bloch a écrit :

Merci infiniment, c’est bon. Et pour les espaces, sans doute introduits par le style french ?

De mon expérience, babel avec l’option french ne pose pas de souci. Quels sont les packages utilisés ?

Cordialement,
--
  Paul Gaborit

Le samedi 02 août 2025 Paul Gaborit a écrit ceci :

Le 02/08/2025 à 16:32, Laurent Bloch a écrit :

Merci infiniment, c’est bon. Et pour les espaces, sans doute introduits
par le style french ?

De mon expérience, babel avec l’option french ne pose pas de souci.
Quels sont les packages utilisés ?

J’utilise e-french, je vais voir si cela persiste avec babel…

Cordialement.


Laurent Bloch - https://laurentbloch.net - xyz@xyz.tld
Si vous trouvez que l’éducation coûte cher, essayez l’ignorance !
(A. Lincoln)

Le samedi 02 août 2025 Laurent Bloch a écrit ceci :

Le samedi 02 août 2025 Paul Gaborit a écrit ceci :

Le 02/08/2025 à 16:32, Laurent Bloch a écrit :

Merci infiniment, c’est bon. Et pour les espaces, sans doute introduits
par le style french ?

De mon expérience, babel avec l’option french ne pose pas de souci.
Quels sont les packages utilisés ?

J’utilise e-french, je vais voir si cela persiste avec babel…

Pas mieux avec babel…

Cordialement.


Laurent Bloch - https://laurentbloch.net - xyz@xyz.tld
Si vous trouvez que l’éducation coûte cher, essayez l’ignorance !
(A. Lincoln)

Le 02/08/2025 à 23:07, Laurent Bloch a écrit :

Le samedi 02 août 2025 Laurent Bloch a écrit ceci :

Le samedi 02 août 2025 Paul Gaborit a écrit ceci :

Le 02/08/2025 à 16:32, Laurent Bloch a écrit :

Merci infiniment, c’est bon. Et pour les espaces, sans doute introduits par le style french ?

De mon expérience, babel avec l’option french ne pose pas de souci. Quels sont les packages utilisés ?

J’utilise e-french, je vais voir si cela persiste avec babel…

Pas mieux avec babel…

D’où ma question: quels sont les packages utilisés ?

Ici, l’ECM ci-dessous fonctionne:

\documentclass{article}
\usepackage[T1]{fontenc}
\pagestyle{empty}
\usepackage{listings}
\lstset{upquote=true}
\usepackage[french]{babel}
\begin{document}
\begin{lstlisting}
un = "essai"
deux := 'essai'
a! = a:b;
\end{lstlisting}
\end{document}

Cordialement,
--
  Paul Gaborit

Bonjour,

Eh bien non. Je compile l’exemple tel quel avec pdfLaTeX, et il place des blancs après les quotes ouvrantes et avant les quotes fermantes, cf. le PDF ci-joint.

Merci, bon dimanche !

Le dimanche 03 août 2025 Paul Gaborit a écrit ceci :

Le 02/08/2025 à 23:07, Laurent Bloch a écrit :

Le samedi 02 août 2025 Laurent Bloch a écrit ceci :

Le samedi 02 août 2025 Paul Gaborit a écrit ceci :

Le 02/08/2025 à 16:32, Laurent Bloch a écrit :

Merci infiniment, c’est bon. Et pour les espaces, sans doute introduits par le style french ?

De mon expérience, babel avec l’option french ne pose pas de souci. Quels sont les packages utilisés ?

J’utilise e-french, je vais voir si cela persiste avec babel…

Pas mieux avec babel…

D’où ma question: quels sont les packages utilisés ?

Ici, l’ECM ci-dessous fonctionne:

\documentclass{article}
\usepackage[T1]{fontenc}
\pagestyle{empty}
\usepackage{listings}
\lstset{upquote=true}
\usepackage[french]{babel}
\begin{document}
\begin{lstlisting}
un = "essai"
deux := 'essai'
a! = a:b;
\end{lstlisting}
\end{document}

Cordialement,
--
  Paul Gaborit

--
Laurent Bloch - https://laurentbloch.net - xyz@xyz.tld Si vous trouvez que l’éducation coûte cher, essayez l’ignorance ! (A. Lincoln)

Le 03/08/2025 à 10:00, Laurent Bloch a écrit :

Bonjour,

Eh bien non. Je compile l’exemple tel quel avec pdfLaTeX, et il place des blancs après les quotes ouvrantes et avant les quotes fermantes, cf. le PDF ci-joint.

Ah oui, j’avais oublié les options pour que le copier/coller fonctionne correctement:

\documentclass{article}
\usepackage[T1]{fontenc}
\pagestyle{empty}
\usepackage{listings}
\lstset{
   basicstyle=\ttfamily, % pour garder un alignement correct
   upquote=true, % pour les quotes droites
   columns=fullflexible, % pour le copier/coller
}
\usepackage[french]{babel}
\begin{document}
\begin{lstlisting}
un = "essai"
deux := 'essai'
a! = a:b;
\end{lstlisting}
\end{document}

Cordialement,
--
  Paul Gaborit

Bonjour,

Ah oui, là c’est bon ! J’avoue ne pas très bien comprendre la différence entre les échecs et la réussite, mais en tout cas le résultat est bon.

Merci encore !

Bonne journée !

Le dimanche 03 août 2025 Paul Gaborit a écrit ceci :

Le 03/08/2025 à 10:00, Laurent Bloch a écrit :

Bonjour,

Eh bien non. Je compile l’exemple tel quel avec pdfLaTeX, et il place des blancs après les quotes ouvrantes et avant les quotes fermantes, cf. le PDF ci-joint.

Ah oui, j’avais oublié les options pour que le copier/coller fonctionne correctement:

\documentclass{article}
\usepackage[T1]{fontenc}
\pagestyle{empty}
\usepackage{listings}
\lstset{
   basicstyle=\ttfamily, % pour garder un alignement correct
   upquote=true, % pour les quotes droites
   columns=fullflexible, % pour le copier/coller
}
\usepackage[french]{babel}
\begin{document}
\begin{lstlisting}
un = "essai"
deux := 'essai'
a! = a:b;
\end{lstlisting}
\end{document}

Cordialement,
--
  Paul Gaborit

--
Laurent Bloch - https://laurentbloch.net - xyz@xyz.tld Si vous trouvez que l’éducation coûte cher, essayez l’ignorance ! (A. Lincoln)

Après essais croisés je crois que le “columns=fullflexible,” a eu l’effet décisif.

Le dimanche 03 août 2025 Paul Gaborit a écrit ceci :

Le 03/08/2025 à 10:00, Laurent Bloch a écrit :

Bonjour,

Eh bien non. Je compile l’exemple tel quel avec pdfLaTeX, et il place des blancs après les quotes ouvrantes et avant les quotes fermantes, cf. le PDF ci-joint.

Ah oui, j’avais oublié les options pour que le copier/coller fonctionne correctement:

\documentclass{article}
\usepackage[T1]{fontenc}
\pagestyle{empty}
\usepackage{listings}
\lstset{
   basicstyle=\ttfamily, % pour garder un alignement correct
   upquote=true, % pour les quotes droites
   columns=fullflexible, % pour le copier/coller
}
\usepackage[french]{babel}
\begin{document}
\begin{lstlisting}
un = "essai"
deux := 'essai'
a! = a:b;
\end{lstlisting}
\end{document}

Cordialement,
--
  Paul Gaborit

--
Laurent Bloch - https://laurentbloch.net - xyz@xyz.tld Si vous trouvez que l’éducation coûte cher, essayez l’ignorance ! (A. Lincoln)

L’un se joue sur un plateau 8x8 dit échiquier, l’autre est un jeu de cartes..

Yahoo Mail : Recherchez, organisez, maîtrisez

Le lun., août 4, 2025 à 10:06, Laurent Blochxyz@xyz.tld a écrit:

Bonjour,

Ah oui, là c’est bon ! J’avoue ne pas très bien comprendre la différence entre les échecs et la réussite, mais en tout cas le résultat est bon.

Merci encore !

Bonne journée !

Le dimanche 03 août 2025 Paul Gaborit a écrit ceci :

Le 03/08/2025 à 10:00, Laurent Bloch a écrit :

Bonjour,

Eh bien non. Je compile l’exemple tel quel avec pdfLaTeX, et il place des blancs après les quotes ouvrantes et avant les quotes fermantes, cf. le PDF ci-joint.

Ah oui, j’avais oublié les options pour que le copier/coller fonctionne correctement:

\documentclass{article}
\usepackage[T1]{fontenc}
\pagestyle{empty}
\usepackage{listings}
\lstset{
   basicstyle=\ttfamily, % pour garder un alignement correct
   upquote=true, % pour les quotes droites
   columns=fullflexible, % pour le copier/coller
}
\usepackage[french]{babel}
\begin{document}
\begin{lstlisting}
un = "essai"
deux := 'essai'
a! = a:b;
\end{lstlisting}
\end{document}

Cordialement,
--
  Paul Gaborit

--
Laurent Bloch - https://laurentbloch.net - xyz@xyz.tld Si vous trouvez que l’éducation coûte cher, essayez l’ignorance ! (A. Lincoln)