命令\tikzmark
(如这里\PARENS
) 在包提供的命令中不起作用mtpro2
。
这是一个 MWE(至少需要运行两次):
\documentclass{article}
\usepackage[lite,subscriptcorrection,slantedGreek,nofontinfo]{mtpro2}
\usepackage{tikz}
\newcommand{\tikzmark}[1]{\tikz[overlay,remember picture] \node (#1) {};}
\begin{document}
$$\PARENS{\tikzmark{a}1}$$ %With PARENS
$$\tikzmark{b}(1)$$ %Without PARENS
\tikz[overlay,remember picture] {
\draw (a) circle (1cm); %With PARENS - ends up at the bottom left corner of page
\draw (b) circle (1cm); %Without PARENS - works fine
}
\end{document}
非常感谢任何解释和/或补救措施。谢谢
答案1
我无法测试,因为我没有mtpro2
安装包。从源代码分析来看,我会说,\tikzmark
在框中设置了两次\LRbox@
,在宏中设置了一个框\EXtest@
。由于前者用于排版结果,因此\tikzmark
在中被禁用以\EXtest@
避免重复\tikzmark
:
\usepackage[lite,subscriptcorrection,slantedGreek,nofontinfo]{mtpro2}
\usepackage{tikz}
\newcommand{\tikzmark}[1]{\tikz[overlay,remember picture] \node (#1) {};}
\makeatletter
\renewcommand*{\LEFTRIGHT@}[3]{%
\setbox\LRbox@\vc@nt@r{#3}%
\EXtest@{%
\renewcommand*{\tikzmark}[1]{}%
\vc@nt@r{#3}%
}%
\vcenter{\hbox{\curlybraces\EXtest@@$\displaystyle\left#1\box\LRbox@\right#2$}}%
}%
\makeatother