\pdfmarkupcomment
我正尝试从环境pdfcomment
内部使用,但它们似乎不兼容。dmath
breqn
这是一个失败的简单示例:
\documentclass{article}
\usepackage{geometry}
\usepackage{amsmath,amssymb,amsfonts,dsfont}
\usepackage{breqn}
\usepackage{pdfcomment}
\begin{document}
\pagestyle{empty}
% this works
\begin{equation}
\pdfmarkupcomment{ab}{F}
\end{equation}
% this fails:
\begin{dmath}
\pdfmarkupcomment{cd}{G}
\end{dmath}
\end{document}
我从 pdflatex 得到的错误是:
LaTeX Warning: Reference `pdfcomment:zref@2' on page 1 undefined on input line
18.
! Undefined control sequence.
<argument> \kern -\parskip \leavevmode \vadjust
{\vbox to\z@ {\vss \@mn@marg...
l.18 \pdfmarkupcomment{cd}{G}
?
LaTeX Warning: Reference `pdfcomment:zref@3' on page 1 undefined on input line
18.
[1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./test.aux
* soulpos - computing points - it may take a few seconds * (./test.upa))
LaTeX Warning: There were undefined references.
LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.
我正在 (k)ubuntu 15.04 中进行编译。
答案1
由于某种原因,breqn
在某些情况下重新定义\vadjust
为\eq@vadjust
不赋予该命令任何意义,这就是您收到令人费解的错误消息的原因。
我的建议是breqn
完全放弃:我认为改进排版没什么用;它可能在我们无法控制自动断行的情况下有所帮助(比如,大量编译输出质量不是问题的文档)。
如果在文档中添加默认含义,\eq@vadjust
则会进行编译,但我无法检查这是否会产生不利影响。
\documentclass{article}
\usepackage{geometry}
\usepackage{amsmath,amssymb,amsfonts,dsfont}
\usepackage{pdfcomment}
\usepackage{breqn}
\makeatletter
\providecommand{\eq@vadjust}{\@@vadjust}
\makeatother
\begin{document}
\pagestyle{empty}
\begin{equation}
\pdfmarkupcomment[markup=Underline]{ab}{F}
\end{equation}
\begin{dmath}
\pdfmarkupcomment[markup=Underline]{cd}{G}
\end{dmath}
\end{document}