有一个先前的问题关于在多行环境中对齐两个平行方程的不同部分,我正在尝试调整 Werner 使用数组的答案以供我自己使用。问题可能是我没有完全理解我应该直接放在后面的代码\begin{array}
。这是我的代码和输出:
\[
\begin{array}{c*{2}{@{{}\mathrel{<}{}}l}}
1 & |z| & |k|\inv \\[\jot]
|k| & |\phi(z)| & \hphantom{|} 1
\end{array}
\]
为什么数组顶部的 不居中|z|
?我该如何修复?(如果适用,我也欢迎对代码的其他方面发表评论。)
答案1
我认为你想写
*{2}{c@{{}\mathrel{<}{}}}l
代替
c*{2}{@{{}\mathrel{<}{}}l}
这意味着最后两列左对齐。
事实上,具有相同对齐方式的多列的语法是
*{<number of columns>}{<column alignment>}
此外,由于该<
符号默认定义为\mathrel
,因此您可以将其消除:
*{2}{c@{{}<{}}}l
梅威瑟:
\documentclass{article}
\newcommand{\inv}{^{-1}}
\begin{document}
\[
\begin{array}{*{2}{c@{{}<{}}}l}
1 & |z| & |k|\inv \\[\jot]
|k| & |\phi(z)| & \hphantom{|} 1
\end{array}
\]
\end{document}
此外请注意(引用 egreg 的评论)“为指数添加一个没有列间空间的新列,并将第三列改为居中,避免猜测的宽度k
与的宽度相同1
”。
也就是说,使用下面的代码可以得到同样的结果:
\documentclass{article}
\newcommand{\inv}{^{-1}}
\begin{document}
\[
\begin{array}{*{2}{c@{{}<{}}}c@{}l}
1 & |z| & |k| & \inv \\[\jot]
|k| & |\phi(z)| & 1 &
\end{array}
\]
\end{document}