我正在使用 \xymatrix 绘制图表,我需要用矩阵来命名一些箭头。为了在箭头上绘制矩阵,我使用了 \arrow 命令,但不幸的是,它会放置非常大的矩阵并折叠图表。常用的大小更改命令(例如 \scriptstyle...)不起作用。有人能给点提示吗?提前谢谢。
答案1
这里使用环境smallmatrix
是正确的,因为它们默认足够小,可以容纳一行文本。您可以使用\begin{smallmatrix}
...\end{smallmatrix}
代替\begin{matrix}
...\end{matrix}
来获得足够小的内容。
然后,如果您使用该mathtools
包,则可以添加分隔符:psmallmatrix
就像pmatrix
(用括号分隔的矩阵,但更小),bsmallmatrix
使用括号就像bmatrix
,等等。
这是交换图中用箭头表示的样子:
\documentclass{article}
\usepackage{mathtools}
\usepackage[all]{xy}
\begin{document}
\[\xymatrix{
A \ar[r]^{\begin{psmallmatrix}1 & 0\\0 & 1\end{psmallmatrix}}
\ar[d]_{\begin{psmallmatrix}1 & -1\\-1 & 1\end{psmallmatrix}}
& B\ar[d]^{\begin{psmallmatrix}c & 0\\d & e\end{psmallmatrix}} \\
C\ar[r]_{\begin{bsmallmatrix}a & 0\\0 & b\end{bsmallmatrix}} & D
}\]
\end{document}
答案2
除了 Arun 的解决方案之外,它看起来是这样的tikz-cd:
% arara: pdflatex
\documentclass{article}
\usepackage{tikz-cd}
\usepackage{mathtools}
\begin{document}
\begin{tikzcd}[ampersand replacement=\&]
A \arrow{d}[swap]{\begin{psmallmatrix}1 & 0\\0 & 1\end{psmallmatrix}} \arrow{r}{\begin{psmallmatrix}1 & 0\\0 & 1\end{psmallmatrix}} \& B \arrow{d}{\begin{psmallmatrix}1 & 0\\0 & 1\end{psmallmatrix}} \\
C \arrow{r}[swap]{\begin{psmallmatrix}1 & 0\\0 & 1\end{psmallmatrix}} \& D
\end{tikzcd}
\end{document}