1.latex 里array环境下,如果某列指定宽度,但是该列下有公式的写法,如下图第二行第二列的情况,就会发生冲突。
\[
\begin{array}{cccp{4cm}}
\toprule
A & + & 0 & 0 \\
A_2 & - & I_z & I_z \\
\bottomrule
\end{array}
\]
2. 解决办法,还是要用tabular。并且,对于每一列,可以通过array包的\newcolumntype 来重新定义列宽,以及是否是数学环境,居中等个性化设置。
\usepackage{array}
\usepackage{booktabs}
\begin{table}[htbp]
\renewcommand{\arraystretch}{1.2}
\centering
\newcolumntype{C}[1]{>{$}m{#1}<{$}<{\centering\arraybackslash}}
\caption{An example}\label{tab2}
\begin{tabular}{C{2cm}C{2cm}C{5cm}C{4cm}}
\toprule
& \text{T} & \text{matrices} & d(k) \\
\midrule
A_1 & + & I_z^2;I^2 & k_x^2+k_y^2,k_z^2 \\
A_2 & - & I_z & \sim \\
\bottomrule
\end{tabular}
\end{table}