LaTeX에서는 목록 목록의 문자열에 공백을 추가할 수 없습니다.

LaTeX에서는 목록 목록의 문자열에 공백을 추가할 수 없습니다.

문서에 코드를 추가하려고 하는데 코드의 문자열 안에 공백이 있을 때마다 버킷(?)이 표시됩니다. 아래에 코드와 출력을 제공했습니다.

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

이 기호로 대체된 lstlisting 내부의 문자열 내부 공백

답변1

이것은 버그가 아니라 기능입니다! 현재 설정에서는 문자열 내부의 공백이 소위 "버킷"을 사용하여 시각화됩니다. 이는 공간이 두 개 이상인 경우 특히 유용할 수 있습니다.

이를 원하지 않는 경우 showstringspaces=false현재 목록(옵션 1) 또는 전체 문서(옵션 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}

결과

showspaces=true원하는 경우 를 설정하여 "일반" 공백, 즉 문자열 외부에 대해 이를 활성화할 수도 있습니다 .

관련 정보