数组中的文本列

数组中的文本列

我正在尝试做一些看似相对简单的事情,但我无法让它发挥作用。基本上,我希望我的数学模式数组中的一列是文本,所以我尝试使用预处理和后处理,>{}就像<{}这样

\documentclass{article}
\usepackage{amsmath}
\begin{document}
    \begin{align}
    \begin{array}{{>{\text\bgroup}c<{\egroup}}@{:}c@{=}c}
    a & x^2 & x^2 \\
    b & y^2 & y^2 \\
    c & z^2 &  z^2
    \end{array}
    \end{align}
\end{document}

这会导致“数组参数中的非法字符”错误。正确的做法是什么?

答案1

你已经接近了。在下面修改后的示例中,我使用环境array并定义一个特殊列类型L',它自动处于文本模式。这样做的原因是因为lcr在环境中自动处于数学模式array

注意第二个列间说明符:符号前后的花括号@{{}={}}用于通知 TeX,符号将被视为所谓的对象。如果这听起来有点神秘:、和对象前后的空格量各不相同。让 TeX 将符号视为对象(即使它出现在非方程式设置中)的一种简单方法是使用(空的)数学“原子”对其进行前后固定,即。{}==mathrelmathordmathbinmathrel=mathrel{}

还要注意,没有必要使用环境,align因为示例中实际上只有一个“方程式”。

\documentclass{article}
\usepackage{array,amsmath}
\newcolumntype{L}{>$l<$}
\begin{document}
\begin{equation*}
    \begin{array}{L@{\quad}c@{{}={}}c}
       some text:            & x^2 & x^2 \\
       more thoughts:        & y^2 & y^2 \\
       really deep thoughts: & z^2 & z^2
    \end{array}
\end{equation*}
\end{document}

在此处输入图片描述

相关内容