Estou tentando adicionar algum código ao meu documento, mas sempre que há um espaço dentro de uma string no código, ele aparece com uma coisa de balde (?). Forneci o código e a saída abaixo:
\documentclass[a4paper]{article}
\usepackage{listings}
\begin{document}
\section*{Code}
\begin{lstlisting}[language=python]
# comment
a = 24
print (a)
string = "some string"
\end{lstlisting}
\end{document}
Responder1
Isso não é um bug, é um recurso! Com suas configurações atuais, os espaços dentro de uma string serão visualizados usando este "balde", como você o chama. Isso pode ser especialmente útil se você tiver mais de um espaço.
Se você não quiser, você pode desativá-los configurando showstringspaces=false
, seja apenas para sua listagem atual (opção 1) ou para todo o documento (opção 2).
\documentclass[a4paper]{article}
\usepackage{listings}
%\lstset{showstringspaces=false} % option 1
\begin{document}
\section*{Code}
\begin{lstlisting}[
language=python,
showstringspaces=false, % option 2
]
# comment
a = 24
print (a)
string = "some string"
\end{lstlisting}
\end{document}
Você pode até habilitar isso para espaços "normais", ou seja, fora de strings, configurando showspaces=true
, se desejar.