LaTeX列表包:copy-pastable listing

时间:2010-08-20 01:27:18

标签: 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}

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

def foo():
return "bar"

必须手工纠正。

有没有办法让列表包中包含原始空格?或者是否有更适合这种情况的包裹?

1 个答案:

答案 0 :(得分:4)

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