我对以下一段代码有疑问:
$\xymatrix{ {X_{2}} \ar@<0.6ex>[r]^-{p_{0}} \ar@<-0.6ex>[r]_-{p_{1}} & {X_{1}} }$
被制作成 LaTeX 宏如下:
\newcommand{\arrp}[4]{\mbox{$\xymatrix{ {#3} \ar@<0.6ex>[r]^-{#1}\ar@<-0.6ex>[r]_-{#2} & {#4} }$}}
称为
\arrp{p}{q}{A}{B}
常规 \LaTeX 编译无论哪种方式都可以。但是,对于 AucTeX,前者在 tex 文件中写入时编译没有问题。但是,当以后者方式写入时,它会发出如下抱怨:
错误: \next@ 的参数有一个多余的 }。
--- TeX 说 --- \par l.186 ...}}}{\comp{e}{\cod{}}}{\Bb{X}_1}{\Bb{X}_1} 。由于从方程 \eqr... --- 帮助 --- 从 .log 文件...
我遇到了刚刚插入的}' that doesn't seem to match anything. For example,
\def\a#1{...}' 和\a}' would produce this error. If you simply proceed now, the
\par' 会导致我报告失控参数,这可能是问题的根源。但是如果你的}' was spurious, just type
2' 它会消失。
如果您能让我知道我错在哪里,我将非常感激您的帮助。
谨此致以问候和谢意,
帕尔塔
答案1
请在此处找到代码:
\documentclass[12pt]{article}
\usepackage{amsbsy, amsmath, amssymb, amsthm, bbold, xcolor, xspace}
\usepackage[all,pdf]{xy}
\usepackage{Documents/tex/essentials/symbols} % line 1
%\input{Documents/tex/essentials/symbols-command} % line 2
%\newcommand{\arrp}[4]{\mbox{$\xymatrix{ {#3} \ar@<0.6ex>[r]^-{#1} \ar@<-0.6ex>[r]_-{#2} %& {#4}}$}} %line 3
\begin{document}
Using usual Xy-pic:
$\xymatrix{ {A} \ar@<0.6ex>[r]^-{f} \ar@<-0.6ex>[r]_-{g} & {B}}$
Using the {\tt symbols.sty} package which contains all my TeX macros:
\arrp{f}{g}{A}{B}
\end{document}
%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% End:
让我列出我的尝试及其结果:
- 和2号线和3号线注释掉后,现在,第二对平行箭头不会出现,但第一对会出现。产生的错误在代码块中给出:
./testXy.tex:21: Argument of \next@ has an extra }.
<inserted text>
\par
l.21 \arrp{f}{g}{A}{B}
Runaway argument?
h\dir
./testXy.tex:21: Paragraph ended before \next@ was complete.
<to be read again>
\par
或者
l.21 \arrp{f}{g}{A}{B}
./testXy.tex:21: Extra }, or forgotten $.
\entrybox ...dimen@ \D@p \dp \z@ =\dimen@ \boxz@ }
l.21 \arrp{f}{g}{A}{B}
./testXy.tex:21: Extra }, or forgotten $.
<inserted text> \egroup
\def \Drop@@ {\styledboxz@ }\def \Connect@@ {\straig...l.21 \arrp{f}{g}{A}{B}
或者
l.21 \arrp{f}{g}{A}{B}
./testXy.tex:21: Extra }, or forgotten $.
\entrybox ...dimen@ \D@p \dp \z@ =\dimen@ \boxz@ }
l.21 \arrp{f}{g}{A}{B}
./testXy.tex:21: Extra }, or forgotten $.
<inserted text> \egroup
\def \Drop@@ {\styledboxz@ }\def \Connect@@ {\straig...l.21 \arrp{f}{g}{A}{B}
或者类似
./testXy.tex:21: Xy-pic error: illegal <dir>: \dir [r]^-{f} not defined.
\xyerror@ ...#2}\fi \errmessage {Xy-pic error: #1}
}
l.21 \arrp{f}{g}{A}{B}
./testXy.tex:21: A <box> was supposed to be here.
<to be read again>
\toks@
l.21 \arrp{f}{g}{A}{B}
./testXy.tex:21: Xy-pic error: illegal <dir>: \dir \ar@ <-0.6ex>[r]_-{g} not defined.
\xyerror@ ...#2}\fi \errmessage {Xy-pic error: #1}
}
或者
61>
./testXy.tex:24: Improper \prevdepth.
\newpage ...everypar {}\fi \par \ifdim \prevdepth
>\z@ \vskip -\ifdim \prevd...l.24 \end{document}
./testXy.tex:24: Missing } inserted.
<inserted text>
}
./testXy.tex:24: Xy-pic error: An \xy environment is not closed correctly..
\xyerror@ ...#2}\fi \errmessage {Xy-pic error: #1}
}
l.24 \end{document}
我已将 \LaTeX 引擎尝试查找错误时出现的所有形式的错误片段放在了其中。显然存在重复,我已将其排除。
和1号线和3号线注释掉并2号线到位后,没有任何问题,输出也符合预期。
和1号线和2号线评论里也有错误:
Runaway argument?
{\mbox {$\xymatrix { {##3} \ar @<0.6ex>[r]^-{##1} \ar @<-0.6ex>[r]_-{\ETC.
! File ended while scanning use of \@argdef.
<inserted text>
进程被中止!但是没有1.或同样....
然而,该文件符号.sty只是文件符号-命令.tex将其制作成样式文件,而不是输入 .tex 文件。我使用 *symbols-command.tex" 文件作为输入,使用这些符号很长时间,没有遇到任何问题。问题始于我制作样式文件时。
问题是,很明显,3号线。
任何帮助,将不胜感激。
谨此致以问候和谢意,
帕尔塔