使边距中的文本可“按列”选择(marginpar、todonotes)

使边距中的文本可“按列”选择(marginpar、todonotes)

在 PDF 查看器中包含marginpar和/或todonotes标记文本时,始终会一起选择文本主体和注释: 在此处输入图片描述

不幸的是,我们中的一些人的合作者不使用 LaTeX,因此他们更喜欢将大量内容从 PDF 复制并粘贴到 Word 中来编辑位置。因此我的问题是:是否可以按“列”选择文本。即,选择正文或选择注释?

在此处输入图片描述

如果这不可能,一种替代方法是使用 使注释完全不可选择accsupp(尽管另一种方法更可取)。但accsupp似乎对 不起作用todonotes,但对 有效marginpar

\documentclass{scrartcl}

\usepackage{todonotes,accsupp}

% Does not work
\newcommand{\mytodo}[1]{\todo{\BeginAccSupp{ActualText={}}#1\EndAccSupp{}}}


\begin{document}

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras in neque
felis.\todo{In viverra luctus metus id elementum. Class aptent taciti
sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.}
Pellentesque bibendum, nisi ac rhoncus tincidunt, tortor velit egestas
erat, nec cursus lectus lectus non leo. Suspendisse et leo eros, id
malesuada risus. Etiam commodo quam a magna pulvinar vehicula vestibulum
lacus blandit. Aliquam id tortor non tellus laoreet dictum. Aenean
eleifend, arcu a vestibulum vulputate, orci tellus sodales ante, nec
convallis orci lacus ac erat. Sed lacinia justo vitae ligula euismod
auctor. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices
posuere cubilia Curae; In viverra luctus metus id elementum. Class aptent
taciti sociosqu ad litora torquent per conubia nostra, per inceptos
himenaeos.\marginpar{\BeginAccSupp{ActualText={}}In viverra luctus metus
id elementum. Class aptent taciti sociosqu ad litora torquent per conubia
nostra, per inceptos himenaeos.\EndAccSupp{}}

Sed convallis tincidunt justo sit amet fermentum. Vestibulum ante ipsum
primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla at
velit metus, ut blandit sapien. Maecenas lacinia congue sem, et pulvinar
arcu iaculis molestie. Lorem ipsum dolor sit amet, consectetur adipiscing
elit.


\end{document}

答案1

正如评论中指出的那样,代码先前的答案解决了这个问题(或多或少是偶然的)。在那里实现的边注中,注释稍后添加到输出例程中,因此它们是内部 pdf 结构中的两个独立块,可以单独选择。如果您重新定义\marginpar以使用该机制,则todonotes包将拾取该定位代码,但仍能够执行其注释和样式。

相关内容