如何指定自定义符号编码

如何指定自定义符号编码

我不知道如何正确地提出这个问题,也不知道这个词编码适用于这个问题,所以我先举个例子。假设我\R为实数集定义了一个新命令,如下所示

\newcommand\R{{\rm I\!R}}

这样输出将会是这样的自定义 Reals 符号

基本上,我合并大写字母“I”和“R”来产生介于纯文本和黑板粗体 R 之间的内容。当我选择并复制 pdf 输出上的符号时,复制的文本合理地是字符串“IR”而不仅仅是“R”。

我的问题是,有什么方法可以定义应该复制哪些纯文本并匹配使用 pdf 阅读器查找工具)在 pdf 文本选择中?例如,在上面的例子中,我希望将输出\R仅复制为“R”。

更一般地讲,是否有可能在任意(更复杂)的命令上定义所需的行为?例如,

\EncodeAs{plain-text-string}{TeX-command}

这样在上面的例子中我可以定义

\newcommand\R{\EncodeAs{R}{{\rm I\!R}}}

答案1

accsupp包允许将 pdf 显示文本设置为与相应的 PDF 复制/粘贴文本不同。以下是示例。

\documentclass{article}
\usepackage{accsupp}
\newcommand\R{{\rm I\!R}}
\begin{document}
\BeginAccSupp{method=escape,ActualText=R}%
    $\R$%
  \EndAccSupp{}%
\end{document}

上面的代码将放置这个

在此处输入图片描述

在文档中,而复制/粘贴 PDF 会产生“R”。可以根据使用情况在宏中设置这些。

相关内容