答案1
我认为这里的一般问题是创建一个具有指定宽度和高度的表格单元格,内容在水平和垂直方向上都居中。重建图片还需要一些其他部分,但我将专注于单元格。有一些不同的设置可以获得具有一定宽度的单元格,最明显的是p{2cm}
宽度为 2cm 的段落。
包中array
还有一些,这里m{2cm}
很有用。内容在宽度为 2cm 的单元格中垂直居中并左对齐。要获取水平居中,请指定列类型,例如
\newcolumntype{T}[1]{>{\centering\arraybackslash}m{#1}}
其中T{2cm}
给出了所需的单元格。然后为了给出单元格的高度,我指定了一个新的列类型
\newcolumntype{E}[1]{@{}m{0pt}@{}}
这是一个没有水平空间的单元格。然后我设置一个零宽度规则(黑框),高度为我想要的高度。这将跨越所需高度的行。
\documentclass{article}
\usepackage{array}
\newcolumntype{E}[1]{@{}m{0pt}@{}}
\newcolumntype{T}[1]{>{\centering\arraybackslash}m{#1}}
\begin{document}
A
\begin{tabular}[c]{| E | T{3cm} |}
\hline
\rule{0pt}{2cm} & B \\\hline
\end{tabular}
\end{document}
图中水平间距其实不需要设置,可以跟随行中其他单元格的内容。但可以使用上面的居中,但由于是数学公式,我将其改为array
而不是tabular
。因此图片的部分可以按如下方式完成。
\documentclass{article}
\usepackage{amsmath}
\usepackage{array}
\newcolumntype{E}[1]{@{}m{0pt}@{}}
\newcolumntype{M}[1]{>{\centering\arraybackslash$}m{#1}<{$}}
\begin{document}
\begin{displaymath}
B_{\mathrm{BCH}}=
\begin{array}[c]{|E|M{2.7cm}|M{2.5cm}|M{1cm}|M{0.8cm}|}
\cline{1-3}\cline{5-5}
& QP_{\mathrm{BCH}}
&
\setlength\arraycolsep{3pt}
\begin{matrix}
2Q & & & \\
& 2Q & & \\
& & \ddots & \\
& & & 2Q
\end{matrix}
& &
Qs'
\\\cline{1-3}\cline{5-5}
& \setlength\arraycolsep{4pt}
\ \begin{matrix}
1 & & & & & \\
& 1 & & & & \\
& & 1 & & & \\
& & & 1 & & \\
& & & & \ddots & \\
& & & & & 1
\end{matrix}
& & &
\\\cline{1-3}\cline{5-5}
\multicolumn{2}{c}{%
\begin{matrix}
z_1 & z_2 & \cdots & z_N
\end{matrix}}
&
\multicolumn{1}{c}{%
\begin{matrix}
y_1 & y_2 & \cdots & y_h
\end{matrix}}
\end{array}
=s
\end{displaymath}
\end{document}