我正在为文档使用 lineno。我已将其配置为在文档的页边距中放置行号。我使用 pdflatex 生成 PDF。问题是:当人们在 PDF 预览器(Acrobat 或 Mac OS X 的预览)中复制文本区域时,行号会包含在复制的文本中。这会导致在将其粘贴到另一个文档或应用程序中时文本混乱。
有没有办法让行号被忽略当有人从 PDF 预览器中复制文本时?我希望只复制主要文本,而不是行号。
答案1
使用与如何使列表代码正确可从 PDF 复制并带有超链接,以下内容有效(至少在 Adobe 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}