Writing some docs with code snippets which I want to be copyable to run as written. 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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With