我正在尝试使用 lyx 制作一个xymatrix
行间距较小的表格。我在 Peter Gumm 的笔记中找到了http://www.mathematik.uni-marburg.de/~gumm/LyX/xypic/xypic.pdf我可以将以下代码添加到序言中。
\newcommand{\xyR}[1]{%
\xydef@\xymatrixrowsep@{#1}
} % end of \xyR
然后使用\xyR{}
前面的矩阵条目。
但是,对我来说,在即时预览中,矩阵前面有几个神秘的括号。当我编译为 pdf 时,我收到错误“缺少数字,视为零”和“非法计量单位(插入 pt)”。
或者,当我\xyR
在矩阵整个内容前面使用(不带括号)时,在即时预览中,我会在一行中看到整个矩阵,而当我编译为 pdf 时,我会收到“错误对齐制表符 &”。
代码如下:
\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage[all]{xy}
\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\makeatletter
\newcommand{\xyR}[1]{%
\xydef@\xymatrixrowsep@{#1}
} % end of \xyR
\makeatother
\usepackage{babel}
\begin{document}
$\xyR\xymatrix{A & B\\
C & D\\
E & F
}
$
\end{document}
有什么想法吗?谢谢。
答案1
该\xyR
宏需要一个参数,即行之间的所需间距。
以下是您应该如何使用它,也是更简单的方法:如果您遵循\xymatrix
,@R=<dimen>
则给定的长度将用作行之间的空间;您也可以使用
\xymatrix@R+<dimen>
\xymatrix@R-<dimen>
分别从默认长度中添加或减去给定的长度。如您所见,不需要\xyR
。
我删除了 LyX 内容,以使答案更加通用。
\documentclass{article}
\usepackage[all]{xy}
\makeatletter
\newcommand{\xyR}[1]{%
\xydef@\xymatrixrowsep@{#1}
} % end of \xyR
\makeatother
\begin{document}
Normal $\xymatrix{A & B\\
C & D\\
E & F
}
$
Modified $\xyR{0pt}\xymatrix{A & B\\
C & D\\
E & F
}
$
Simpler $\xymatrix@R=0pt{A & B\\
C & D\\
E & F
}
$
\end{document}