TeX4ht:当我在宏中包含“\xymatrix”时出现奇怪的行为

TeX4ht:当我在宏中包含“\xymatrix”时出现奇怪的行为

请参阅以下代码:

\documentclass{amsart}

\usepackage[matrix,arrow,curve,cmtip]{xy}

\begin{document}
\newcommand\test{
  \xymatrix{{a} \ar^-{b}[r] & {c} \ar@<0.7ex>^-{d}[r]\ar@<-0.7ex>_-{e}[r] & {f}}
}
\tracingmacros=1
Compare
\[
  \test
\]
and
\[
  \xymatrix{{a} \ar^-{b}[r] & {c} \ar@<0.7ex>^-{d}[r]\ar@<-0.7ex>_-{e}[r] & {f}}
\]
\end{document}

很奇怪,如果我\xymatrix像上面一样将零件放入宏中,tex4ht则会生成混乱的图片。我正在寻找解决方法。

答案1

问题出在上标上,因为它们已由tex4htat修补。当您将宏定义移到 之前\begin{document}时,示例可以正确编译。另一种可能性是使用和命令行选项,但这可能会破坏其他内容。\test\begin{document}no^no_

% https://tex.stackexchange.com/q/499677/2891
\documentclass{amsart}

\usepackage[matrix,arrow,curve,cmtip]{xy}

\newcommand\test{%
  \xymatrix{{a} \ar^-{b}[r] & {c} \ar@<0.7ex>^-{d}[r]\ar@<-0.7ex>_-{e}[r] & {f}}
}

\begin{document}
\tracingmacros=1
Compare
\[
  \test
\]
and
\[
  \xymatrix{{a} \ar^-{b}[r] & {c} \ar@<0.7ex>^-{d}[r]\ar@<-0.7ex>_-{e}[r] & {f}}
\]
\end{document}

在此处输入图片描述

相关内容