LaTeX lässt mich in Listenlisten keine Leerzeichen in Zeichenfolgen einfügen

LaTeX lässt mich in Listenlisten keine Leerzeichen in Zeichenfolgen einfügen

Ich versuche, meinem Dokument Code hinzuzufügen, aber immer wenn ein Code in einer Zeichenfolge ein Leerzeichen enthält, wird ein Eimer(?) angezeigt. Ich habe den Code und die Ausgabe unten bereitgestellt:

\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}

Leerzeichen innerhalb der Zeichenfolge innerhalb der Listenliste durch dieses Symbol ersetzt

Antwort1

Das ist kein Fehler, sondern eine Funktion! Mit Ihren aktuellen Einstellungen werden Leerzeichen innerhalb einer Zeichenfolge mithilfe dieses „Buckets“, wie Sie ihn nennen, visualisiert. Dies kann insbesondere hilfreich sein, wenn Sie mehr als ein Leerzeichen haben.

Wenn Sie sie nicht möchten, können Sie sie durch die Einstellung deaktivieren showstringspaces=false, entweder nur für Ihren aktuellen Eintrag (Option 1) oder für das gesamte Dokument (Option 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}

Ergebnis

Sie können dies sogar für „normale“ Leerzeichen, also außerhalb von Zeichenfolgen, aktivieren, indem Sie festlegen showspaces=true, wenn Sie möchten.

verwandte Informationen