xy + 右箭头上方 = 错误

xy + 右箭头上方 = 错误

M(非)WE:

\documentclass{article}
\usepackage[all]{xy}
\begin{document}
\[ \xymatrix{ \overrightarrow{C} } \]
\end{document}

产生“错误:\lastprentry@@ 定义中的参数编号非法。”。有什么想法吗?

答案1

在符号周围添加括号,这通常是解决 Xy-pic 宏发出的奇怪错误消息的方法:

\documentclass{article}
\usepackage[all]{xy}
\begin{document}
\[ \xymatrix{ {\overrightarrow{C}} } \]
\end{document}

或者直接添加一个空组:

\documentclass{article}
\usepackage[all]{xy}
\begin{document}
\[ \xymatrix{ {}\overrightarrow{C} } \]
\end{document}

问题是\overrightarrow,作为对齐单元格中的第一个项目,它扩展为

\vbox{\m@th\ialign{##\crcr <...>}

这会使 Xy-pic 的解析命令混乱。如果在 之前发现括号\overrightarrow,则不会发生这种情况,因为它稍后会被展开。加载 时也不会发生这种情况,因为给出amsmath的定义“更安全”。\overrightarrowamsmath

相关内容