2016/02/26

Copiando Códigos de Arquivos PDF feitos com LaTeX

Um dos métodos usados para apresentar códigos em textos produzidos em LaTeX é o pacote \usepackage{listings}
Com alguns parâmetros é possível colocar em um quadro numerando as linhas.
O problema esta no arquivo PDF gerado. Ao copiar o código, os números das linhas vem junto ao código.


Copiando do PDF aparece

E colando em um texto para edição (aproveitamento) aparece:

\documentclass{article}
2 \usepackage{listings}
3 \title{Sample Document}
4 \author{John Smith}
5 \date{\today}
6 \begin{document}
7 \maketitle
8 Hello World!
9 % This is a comment.
10 \end{document}


Como evitar este problema?
Afinal, o leitor tem interesse no código e não na numeração lateral.
Dependendo do tamanho do código, o leitor terá um grande trabalho e limpar a numeração em cada linha copiada.

Ao fazer uma busca na internet, achei a solução em http://tex.stackexchange.com/questions/57141
Basta inserir o pacote e o código abaixo no preâmbulo do documento

\usepackage{accsupp}% http://ctan.org/pkg/accsupp
\renewcommand{\thelstnumber}{% Line number printing mechanism
\protect\BeginAccSupp{ActualText={}}\arabic{lstnumber}\protect\EndAccSupp{}%
}

Resultado após copiar do PDF é o código limpo abaixo

\documentclass{article}
\usepackage{listings}
\title{Sample Document}
\author{John Smith}
\date{\today}
\begin{document}
\maketitle
Hello World!
% This is a comment.
\end{document}

Código fonte do LaTeX acima [link]
PDF resultante [link]



Nenhum comentário: