Написание некоторых документов с фрагментами кода, которые я хочу скопировать, чтобы они выполнялись как написано. Эти фрагменты могут содержать строки с предшествующими пробелами. Пакет списков форматирует текст хорошо, но пробелы не могут быть скопированы.
Допустим, у меня есть следующий пример:
\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"
, который должен быть исправлен вручную.
Есть ли способ сделать так, чтобы пакет объявлений включал оригинальные пробелы? Или есть пакет, который лучше подходит для таких случаев?
Это (скорее всего) проблема не с листингами (или вообще с латексом), а с вашим программным обеспечением для рендеринга PDF. Например, с помощью PDFKit (Preview, Skim, ...) в OSX я получаю то поведение, которое вы описываете. Однако при использовании Xpdf текст копируется правильно.