防止在 \ruby 上下文中选择 pdf 上的文本

防止在 \ruby 上下文中选择 pdf 上的文本

我想知道是否有一种“简单”的方法来防止选择命令产生的假名\ruby,以便在翻译器或其他地方更容易选择>复制>粘贴。

%!TEX TS-program = xelatex
\documentclass[12pt]{article}
\usepackage{xeCJK}
\usepackage{ruby}
\setCJKmainfont{Microsoft JhengHei}

\begin{document}
  \ruby{赤}{あか}いです,そして\ruby{新}{あたら}しいです
\end{document}

例如,如果我复制以下部分(在结果 pdf 中)

在此处输入图片描述

然后我去粘贴它(例如在浏览器上)我得到:そしてあたら新しいです。这个あたら部分是我想要避免被选中的部分。

我希望有一些乳胶魔法,比如

\ruby{赤}{あか}いです,そして\ruby{新}{\UNSELECTABLE{あたら}}しいです

提前致谢。

答案1

您可以尝试一下。但并非每个 pdf 查看器都会遵守此设置。 \NewDocumentCopy需要相当新的 LaTeX,在较旧的 LaTeX 中,您可以改用letltxmacro包和\LetLtxMacro命令。

\documentclass{article}
\usepackage{xecjk}
\usepackage{ruby}
\usepackage{accsupp}

\NewCommandCopy\ORIruby\ruby
\DeclareRobustCommand{\ruby}[2]{%
\ORIruby{#1}{\BeginAccSupp{ActualText=}#2\EndAccSupp{}}}
  
\begin{document}

\ruby{赤}{あか}いです,そして\ruby{新}{あたら}しいです

\end{document}

相关内容