我有以下代码:
\begin{align}
foo &=\mydiagram{\text{width width}} & bar &= \mydiagram{\text{width width width}}
\\[\jot]
foo &=\mydiagram{\text{width width width}} & bar &= \mydiagram{\text{width}}
\end{align}
其中是由包中的环境\mydiagram{}
组成的图,其定义如下:CD
amscd
\def\mydiagram#1{%
\begin{CD}
S^{{\mathcal{W}}_\Lambda}\otimes T
@>j>>
T\\
@V{#1}VV
@VV{\End P}V\\
(S\otimes T)/I
@=
(Z\otimes T)/J
\end{CD}%
}
它遵循我的输出:
我使用align
环境,因为它可以自行计算列之间的正确间距,但在这种情况下却不行。如何修复间距以实现标准align
环境行为?
平均能量损失
\documentclass[a4paper,11pt]{article}
\usepackage{amsmath}
\usepackage{amscd}
\DeclareMathOperator{\End}{End}
\def\mydiagram#1{%
\begin{CD}
S^{{\mathcal{W}}_\Lambda}\otimes T
@>j>>
T\\
@V{#1}VV
@VV{\End P}V\\
(S\otimes T)/I
@=
(Z\otimes T)/J
\end{CD}%
}
\begin{document}
\begin{align*}
foo &=\mydiagram{\text{width width}} & bar &= \mydiagram{\text{width width width}}
\\[\jot]
foo &=\mydiagram{\text{width width width}} & bar &= \mydiagram{\text{width}}
\end{align*}
\end{document}
答案1
\fbox
在环境周围放置标签CD
会显示标签超出边界框。因此,请在\diagram
宏中添加空间以容纳标签
\documentclass[a4paper,11pt]{article}
\usepackage{amsmath}
\usepackage{amscd}
\usepackage{geometry}
\DeclareMathOperator{\End}{End}
\def\mydiagram#1{%
\hphantom{\scriptstyle #1}\mkern-28mu\begin{CD}
S^{{\mathcal{W}}_\Lambda}\otimes T
@>j>>
T\\
@V{#1}VV
@VV{\End P}V\\
(S\otimes T)/I
@=
(Z\otimes T)/J
\end{CD}%
}
\begin{document}
\begin{align*}
foo &=\mydiagram{\text{width width}} & bar &= \mydiagram{\text{width width width}}
\\[\jot]
foo &=\mydiagram{\text{width width width}} & bar &= \mydiagram{\text{width}}
\end{align*}
\end{document}
当然,结果对于页面来说太宽了,所以你不应该在一行上放太多这样的内容。