Пакет списков LaTeX: копируемые списки - PullRequest
12 голосов
/ 20 августа 2010

Написание некоторых документов с фрагментами кода, которые я хочу, чтобы их можно было копировать, чтобы они работали как написано. Эти фрагменты могут содержать строки с предшествующими пробелами. Пакет листингов хорошо форматирует текст, но пробелы не копируются.

Допустим, у меня есть следующий пример:

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

, который нужно исправить вручную.

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

1 Ответ

4 голосов
/ 20 августа 2010

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

...