LaTeX列表包:copy-pastable listing

Vul*_*ire 12 latex listings

使用代码片段编写一些文档,我希望这些代码片段可以复制以按照书面形式运行.这些片段可以包括具有前面空格的行.列表包格式化文本,但空格不可复制.

假设我有以下示例:

\documentclass{article}
\usepackage{listings}
\begin{document}
\lstset{
    basicstyle=\ttfamily,
    frame=single,
    columns=fullflexible
}
\begin{lstlisting}[language=python]
def foo():
    return "bar"
\end{lstlisting}
\end{document}
Run Code Online (Sandbox Code Playgroud)

如果我将列表复制并粘贴到某处,它将变为:

def foo():
return "bar"
Run Code Online (Sandbox Code Playgroud)

必须手工纠正.

有没有办法让列表包中包含原始空格?还是有更适合这种情况的套餐?

grd*_*dev 4

这(很可能)不是列表(或乳胶)的问题,而是 PDF 渲染软件的问题。例如,在 OSX 上使用基于 PDFKit 的(预览、浏览等),我得到了您所描述的行为。然而,通过使用 Xpdf,可以正确复制文本。