mhchem 和 pdftooltip (pdfcomment 包)之间有冲突吗?

mhchem 和 pdftooltip (pdfcomment 包)之间有冲突吗?

我尝试将一些文本隐藏到 pdftooltip 中,到目前为止运行良好(当我使用 TeXLive 2011 时)。

我现在升级到了 MacTeX 2014,如果这个隐藏文本中有化学式,我就会收到错误。

最小示例:

\documentclass[11pt]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage{hyperref} 
\usepackage[pdftex]{graphicx} 
\usepackage{color} 

\usepackage[T1]{fontenc} 
\usepackage[version=3]{mhchem} 
\usepackage{pdfcomment}

\newcommand{\weg}[1]{\pdftooltip{\textcolor{red}{\tiny\bfseries{}w}}{#1}}


\begin{document}

\ce{CO2}

the following text is hidden: \weg{hidden text \ce{CO2}}

\end{document}

我正在使用 MacTeX 2014 并出现以下错误:

   ./MinimalExample.tex:19: Undefined control sequence. \mhchem@ce ...ate
   {s}\chardef \mhchem@ce@substate 
   =0\relax \mhchem@ce@result... l.19   ...text is hidden: \weg{hidden text
   \ce{CO2}}

我该如何解决这个问题?


编辑:使用 TeXLive 2011 时,没有错误消息,但化学式未正确写在 pdftooltip 中,例如 \ce{ZrO2} 变成了 *"3222378 * 。现在使用 Josef 的解决方案,至少公式的字符似乎可以正确打印在工具提示中。

答案1

联系mhchem!的维护者 Martin Hensel 可能是个好主意pdfcomment。 已经有一段时间没有更新了。 所以,我猜问题是在mhchem!的更新中引入的。

暂时的解决方法是,只需将其添加\pdfstringdefDisableCommands{\let\ce\relax}到您的序言中即可。这不是解决方案,但您的文档至少可以编译。

在此处输入图片描述

相关内容