Подтвердить что ты не робот

Пакет листингов 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"

который должен быть исправлен вручную.

Есть ли способ сделать пакет листинга включением исходных пространств? Или есть пакет, который лучше подходит для таких случаев?

4b9b3361

Ответ 1

Это (скорее всего) не проблема с листингами (или вообще латекс), а с вашим программным обеспечением для рендеринга PDF. Например, с помощью PDFKit (Preview, Skim,...) в OSX, я получаю описанное вами поведение. Однако, используя Xpdf, текст копируется правильно.