在 ConTeXt 中,使用 cases 环境时,似乎\MC
只允许一个(给出 2 列),而当我放置第二个\MC
(给出 3 列)时,列未对齐,并且数学变量未正确显示为斜体。这里只允许 2 列吗?
\starttext
\placeformula \startformula \startalign
\NC A (m_1,m_2) =
\NC \startcases
{\rm Re} (A (m_1',m_2')), \quad m_1 =\MC 2m_1'-1,\; m_2 =\MC 2m_2'-1 \NR
{\rm Im} (A (m_1',m_2')), \quad m_1 =\MC 2m_1',\; m_2 =\MC 2m_2'-1 \NR
-{\rm Im} (A (m_1',m_2')), \quad m_1 =\MC 2m_1'-1,\; m_2 =\MC 2m_2' \NR
{\rm Re} (A (m_1',m_2')), \quad m_1 =\MC 2m_1',\; m_2 =\MC 2m_2' \NR
\stopcases \NR[+]
\stopalign \stopformula
\stoptext
答案1
ConTeXt 中的环境mathcases
模仿了LaTeX 包中cases
的环境amsmath
。例如,amsmath
它只允许两个“列”,一个用于价值一个用于状况. 一般语法是
\startcases
\NC value \NC condition \NR
\NC value \NC condition \NR
\stopcases
第二列排版为普通文本或
\startcases
\NC value \MC condition \NR
\NC value \MC condition \NR
\stopcases
第二列的排版为数学。
因此,对于你的例子:
\starttext
\placeformula \startformula
A (m_1,m_2) =
\startcases
\NC {\rm Re} (A (m_1',m_2')), \MC m_1 = 2m_1'-1,\; m_2 = 2m_2'-1 \NR
\NC {\rm Im} (A (m_1',m_2')), \MC m_1 = 2m_1',\; m_2 = 2m_2'-1 \NR
\NC -{\rm Im} (A (m_1',m_2')),\MC m_1 = 2m_1'-1,\; m_2 = 2m_2' \NR
\NC {\rm Re} (A (m_1',m_2')), \MC m_1 = 2m_1',\; m_2 = 2m_2' \NR
\stopcases
\stopformula
\stoptext
这使:
为了提高可读性,您可以尝试:
\placeformula \startformula
A (m_1,m_2) =
\startcases
\NC {\rm Re} (A (m_1',m_2')), \MC (m_1, m_2) = (2m_1'-1, 2m_2'-1) \NR
\NC {\rm Im} (A (m_1',m_2')), \MC (m_1, m_2) = (2m_1', 2m_2'-1) \NR
\NC -{\rm Im} (A (m_1',m_2')),\MC (m_1, m_2) = (2m_1'-1, 2m_2') \NR
\NC {\rm Re} (A (m_1',m_2')), \MC (m_1, m_2) = (2m_1', 2m_2') \NR
\stopcases
\stopformula
这使