\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\begin{document}
\begin{equation}
{S}=
\left(\begin{tabular}{1}
&\centering\{B_{M,i}\}\\
&\centering.\\
&\centering.\\
&\centering\{B_{1,i}\} \{B_{2,i}\} {.} {.} \{B_{M,i}\}
\end{tabular}
\right)
\end{equation}
\end{document}
当我执行上述代码时,我得到了输出,但它显示“数组参数中的非法字符”。
答案1
“arg 中的非法字符array
”指的是您使用的1
列规范未定义。您只能使用、 或l
。r
此外,使用会将所有内容置于文本模式,这不允许在未处于数学模式的情况下使用下标/上标。有作为数学替代方案。c
p{<len>}
tabular
array
以下是建议的解决方案:
\documentclass{article}
\begin{document}
\[
S = \left(\begin{array}{c}
\{B_{M,i}\} \\
\vdots \\
\{B_{1,i}\} \ \{B_{2,i}\} \ \cdots \ \{B_{M,i}\}
\end{array}\right)
\]
\end{document}
答案2
您可能需要仔细检查有关表格和数组如何工作的 TeX 教程。 tabular
是一个文本环境,然后需要您使用 manual 将其条目排版为数学$
。看起来您真正想要的是array
,它位于数学中并将其条目排版为数学而不需要$
。任一环境的参数都是每列的规范。在您的情况下,您有 1 列要居中,所以{1}
应该是{c}
,那么您就不需要\centering
。(其他常用选项c
是l
和r
表示左对齐和右对齐。)如果您想要更多列,那么您将用 分隔您的列&
(但如果只有一列,请不要使用它)。
只要您使用 amsmath,我会推荐该pmatrix
环境(p 代表括号):
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\begin{document}
\begin{equation}
S=\begin{pmatrix}
\{B_{M,i}\}\\
\vdots\\
\{B_{1,i}\} \{B_{2,i}\} \dots \{B_{M,i}\}
\end{pmatrix}
\end{equation}
\end{document}
还有一些需要注意的事项:{S}
与 相同S
,我将其用于\vdots
垂直点,并将\dots
其用于水平点。您可以考虑是否要\{B_{k,i}\}
使用\,
或\
来分隔它们。