Sur une TeX Live 2019 installée « à la vanille », voici un code : Ouvrir dans l'éditeur Overleaf
\documentclass[french]{article} \usepackage{ifxetex} \ifxetex \usepackage{fontspec} \else \usepackage{lmodern} \fi % \usepackage{babel} \usepackage{listings} % \begin{document}%,showstringspaces=true] \begin{lstlisting}[language=Python,showstringspaces=true,basicstyle=\ttfamily] # un commentaire i = 1 while i <= 5: print(i) i = i + 1 print('Fini !') \end{lstlisting} \end{document} Si on compile avec pdfLaTeX, le stringspaces devant le « ! » de « Fini ! » apparaît bien. Si on compile avec XeLaTeX, il disparaît... Comment faire pour qu'il ne disparaisse pas lors de la compilation avec XeLaTeX ? PS : sur une TeX Live 2015 /dev/Debian, il ne disparaît pas... Posée 05 Nov '19, 00:03 christophe-poulain Pathe ♦♦ |
Voici une solution : Ouvrir dans l'éditeur Overleaf
% !TeX TS-program = xelatex \documentclass[french]{article} \usepackage{ifxetex} \ifxetex \usepackage{fontspec} \else \usepackage{lmodern} \fi % \usepackage{babel} \usepackage{listings} \makeatletter \def\lst@visiblespace{\lst@ttfamily{\textvisiblespace}} \makeatother % \begin{document}%,showstringspaces=true] \begin{lstlisting}[language=Python,showstringspaces=true,basicstyle=\ttfamily] # un commentaire i = 1 while i <= 5: print(i) i = i + 1 print('Fini !') \end{lstlisting} \end{document} On obtient ceci : Merci sam. Je testerai dans la journée. Mais pourquoi cette différence entre TL2015 et TL2019 ?
(05 Nov '19, 08:37)
christophe-poulain
@christophe-poulain Il y a eu des changements dans
(05 Nov '19, 11:14)
samcarter
merci samcarter !
(05 Nov '19, 14:54)
christophe-poulain
|
crosspost : https://tex.stackexchange.com/questions/514982/visible-space-character-disappears-in-listings-with-xelatex
What is a stringspace ? 😉
@samcarter : que ne signalez-vous ce crosspost également sur le site anglophone auquel vous faites référence plus haut ? Je l'aurais bien fait, mais je n'ai pas suffisamment contribué sur ce site pour que cela me soit autorisé.
@Pathe Je ne participe plus sur tex.se
@samcarter : moi pareil, car je n'ai guère envie d'apporter de travailler gratuitement pour une entreprise commerciale. J'en profite pour rappeler à qui veut l'entendre que TeXnique est un site non lucratif, animé par des bénévoles et bénéficiant du support des groupes d'utilisateurs GUTenberg (francophone) et DANTE.