我正在用 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}
输出如下:
如果我删除 \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}
请参阅上述文档以获取有关此包选项和其他包选项的更多详细信息,因为该文档非常全面。