lyx/latex 在导入某些 Python 代码时会在生成的 PDF 文件中添加空格符号 (␣)

lyx/latex 在导入某些 Python 代码时会在生成的 PDF 文件中添加空格符号 (␣)

我正在用 lyx 编写文档,我发现对于一段特定的 Python 代码,lyx 生成的 PDF 包含“␣”而不是空格。代码如下:

\documentclass[twoside,twocolumn,italian]{article}
\usepackage[T1]{fontenc}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.

\usepackage{listings}
\lstset{language=Python}

\begin{document}
test

\lstinputlisting{test.py}
\end{document}

输出如下:

测试.png

如果我删除 \usepackage[T1]{fontenc}

\documentclass[twoside,twocolumn,italian]{article}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.

\usepackage{listings}
\lstset{language=Python}

\begin{document}
test

\lstinputlisting{test.py}
\end{document}

我得到:

在此处输入图片描述

Python代码:

#!/usr/bin/python3
# -*- coding: UTF-8 -*-
#
# drop gender group Unknown/Invalid
df = df.query("gender != 'Unknown/Invalid'")

答案1

欢迎使用 TeX SE。根据listings包装文档,这是字符串中空格的预期默认行为。您可以设置showstringspaces选项以禁用此功能:

\documentclass[twoside, twocolumn, italian]{article}

\usepackage[T1]{fontenc}

\usepackage{listings}
\lstset{language=Python, showstringspaces=false}

\begin{document}
test

\lstinputlisting{test.py}
\end{document}

输出字符串中空格不占位符

请参阅上述文档以获取有关此包选项和其他包选项的更多详细信息,因为该文档非常全面。

相关内容