pdfcomment 和 breqn

pdfcomment 和 breqn

\pdfmarkupcomment我正尝试从环境pdfcomment内部使用,但它们似乎不兼容。dmathbreqn

这是一个失败的简单示例:

\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}

在此处输入图片描述

相关内容