在创建下表时我有两个问题:
1) 如何让第一个子列(带有标题编号)的宽度自适应?现在它与第二个子列的宽度相同,但我想让编号列更窄一些。
2)如何使员工列标题“员工”垂直居中?
\documentclass{article}
\usepackage{array}
\begin{document}
\begin{tabular}
{ *2{>{\centering}m{2cm}| }
>{\centering\arraybackslash}m{2cm}|
*2{>{\centering}m{1.6cm}| }
>{\centering\arraybackslash}m{2cm}|
>{\centering\arraybackslash}m{1.7cm}}
\hline
\multicolumn{2}{c|}{ Location} & Production &
\multicolumn{2}{c|}{Ratio in Year} & Employees & Profit \\
\cline{1-1}\cline{2-1}\cline{4-1}\cline{5-1}
No. & coordinates& (lb.) & 1983 & 1984 && \$ \\ \hline
1 & -2 36 27 & 28000 & 0.35 & 0.31 & 17 & 542800\\ \hline
\end{tabular}
\end{document}
答案1
对于自适应宽度,只需拆分前两列的定义,保留m{2cm}
第二列并引入c
第一列。c
、l
和r
列均将文本的自然宽度作为宽度。
对于垂直居中,您可以使用包\multirow{<rows>}{<width>}{<content>}
中的命令multirow
。
\documentclass{article}
\usepackage{array}
\usepackage{multirow}
\begin{document}
\begin{tabular}{
c| %first column
>{\centering}m{2cm}|
>{\centering\arraybackslash}m{2cm}
|*2{>{\centering}m{1.6cm}| }
>{\centering\arraybackslash}m{2cm}|
>{\centering\arraybackslash}m{1.7cm}
}
\hline
\multicolumn{2}{c|}{ Location} & Production &
\multicolumn{2}{c|}{Ratio in Year} & \multirow{2}{*}{Employees} & Profit \\
\cline{1-1}\cline{2-1}\cline{4-1}\cline{5-1}
No. & coordinates& (lb.) & 1983 & 1984 && \$ \\ \hline
1 & -2 36 27 & 28000 & 0.35 & 0.31 & 17 & 542800\\ \hline
\end{tabular}
\end{document}