2010-08-20 38 views
11

寫一些文檔與代碼片段,我想要可複製以書面形式運行。這些片段可能包括具有前面空格的行。列表包格式化文本很好,但空格不可複製。LaTeX列表包:可複製列表

比方說,我有下面的例子:

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

,要靠手工來修正。

有沒有辦法讓列表包中包含原始空間?還是有更適合這種情況的包?

+0

可以將JavaScript嵌入到PDF中並在代碼附近具有「複製到剪貼板」按鈕。只是一個想法,不是一個好的解決方案。 – Cloudanger 2010-08-22 10:55:23

回答

4

這是(很可能)不是列表(或乳膠)的問題,但與您的PDF渲染軟件。例如,在OSX上使用PDFKit(Preview,Skim,...),我得到你描述的行爲。但是,通過使用Xpdf,文本被正確複製。

+0

我的確看到了你對Xpdf的看法,這很好理解。然而,並非我所使用的每個人都在使用Linux,並且強制爲Xpdf安裝cygwin似乎過度... 使用適用於Linux的Adobe Acrobat 9時,空格不顯示。儘管如此,還沒有嘗試過Windows版本。 – Vultaire 2010-08-22 05:33:08

+0

如果我使用逐字塊而不是列表,我會看到與空間複製相同的問題。與普通的TeX和「\」一樣。也許這是最好的,我會得到沒有重大麻煩。謝謝。 – Vultaire 2010-08-23 01:45:12