Writing some docs with code snippets which I want to be copyable to run as writ开发者_如何学运维ten. These snippets may include lines with preceding spaces. The listings package formats the text fine, but the spaces are not copyable.
Let's say I have the following example:
\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}
If I copy and paste the listing somewhere, it becomes:
def foo():
return "bar"
which must be corrected by hand.
Is there a way to make the listings package include the original spaces? Or is there a package better suited for cases like this?
This is (most likely) not a problem with listings (or latex at all), but with your PDF rendering software. For instance, with PDFKit-based (Preview, Skim, ...) on OSX, I get the behavior that you describe. By using Xpdf, however, the text is copied correctly.
精彩评论