xymatrix 出现未知编译错误

xymatrix 出现未知编译错误

这是我的 MWE:

\documentclass{article}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage[all]{xy}
\makeatletter
\newcommand{\test}{\xymatrix@M=-.3pt@=10pt}
\newcommand{\testt}[2][1]{\ar@[|(1)]@#1{-}[#2]}
\makeatother


\begin{document}
\begin{align*}
&f=\test{
& \bullet \testt{dl} \testt{dr} \\
\bullet & & \circ }
&g=\test{
 & & \bullet \testt{dl}\testt{d}\testt{dr}\\
& \bullet & \bullet \testt{d} & \bullet \testt{d}\\
& & \circ & \circ }
\end{align*}
\end{document}

请帮忙!!!!!

与此相关这是‘xymatrix’、‘input’命令和.sty 文件之间的错误吗?但解决方案不起作用

答案1

只需注释掉\makeatletter(和\makeatother),否则@(和它们后面的普通字符)将成为宏的一部分。(这就是您链接到的答案试图表达的意思。)

\documentclass{article}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage[all]{xy}
%\makeatletter
\newcommand{\test}{\xymatrix@M=-.3pt@=10pt}
\newcommand{\testt}[2][1]{\ar@[|(1)]@#1{-}[#2]}
%\makeatother


\begin{document}
\begin{align*}
&f=\test{
& \bullet \testt{dl} \testt{dr} \\
\bullet & & \circ }
&g=\test{
 & & \bullet \testt{dl}\testt{d}\testt{dr}\\
& \bullet & \bullet \testt{d} & \bullet \testt{d}\\
& & \circ & \circ }
\end{align*}
\end{document}

在此处输入图片描述

相关内容