如何使 PDF 预览器中的文本复制忽略 lineno 行号?

如何使 PDF 预览器中的文本复制忽略 lineno 行号?

我正在为文档使用 lineno。我已将其配置为在文档的页边距中放置行号。我使用 pdflatex 生成 PDF。问题是:当人们在 PDF 预览器(Acrobat 或 Mac OS X 的预览)中复制文本区域时,行号会包含在复制的文本中。这会导致在将其粘贴到另一个文档或应用程序中时文本混乱。

有没有办法让行号被忽略当有人从 PDF 预览器中复制文本时?我希望只复制主要文本,而不是行号。

答案1

使用与如何使列表代码正确可从 PDF 复制并带有超链接,以下内容有效(至少在 Adob​​e Reader 中)。

accsupp包裹为 PDF 提供辅助功能支持。通过使用\BeginAccSupp\EndAccSupp组,可以在 PDF 中排版行号,但实际上用空格 替换{}。这可以通过提供选项 来实现ActualText={}。因此,只需对linenumber计数器进行简单的重新定义(基本/标准计数器为lineno) 打印机制\thelinenumber就可以解决这个问题:

\documentclass{article}
\usepackage{lineno}% http://ctan.org/pkg/lineno
\usepackage{accsupp}% http://ctan.org/pkg/accsupp
\usepackage{lipsum}% http://ctan.org/pkg/lipsum

\renewcommand{\thelinenumber}{% Line number printing mechanism
  \BeginAccSupp{ActualText={}}\arabic{linenumber}\EndAccSupp{}%
}

\begin{document}
\linenumbers% Turn line numbering on

\lipsum[1-5]% Dummy text
\end{document}

在此处输入图片描述

相关内容