我想将此表的第二列和第三列水平置于页面中央,以便“结构合金”和“覆层”突出到左侧:
\documentclass{article}
\usepackage{booktabs, multirow, threeparttable}
\usepackage{siunitx}
\begin{document}
\begin{table}[htpb] \footnotesize
\centering
\begin{threeparttable}
\caption{Material properties of cladding alloys compared to structural alloys at \SI{705}{\celsius}}
\label{tab:properties}
\begin{tabular}{rlc}
\cmidrule[0.08em]{2-3}
& Material & CTE (\SI{e-3}{\per\celsius}) \\
\cmidrule[0.05em]{2-3}
\multirow{2}{*}{Structural alloys \bigg\{} & 316H & 18.8 \\
& 800H & 17.2 \\
\cmidrule[0.05em]{2-3}
\multirow{3}{*}{Claddings \Bigg\{} & Ni-201 & 15.8 \\
& Hastelloy N & 14.3 \\
& Haynes 242 & 13 \\
\cmidrule[0.08em]{2-3}
\end{tabular}
\end{threeparttable}
\end{table}
\end{document}
答案1
无论如何,桌子看起来都会不平衡。
不用也可以\multirow
;按照惯例,空白单元格表示重复的值。
\documentclass{article}
\usepackage{booktabs, multirow, threeparttable}
\usepackage{siunitx}
\begin{document}
\begin{table}[htpb]
\centering
\begin{threeparttable}
\caption{Material properties of cladding alloys compared
to structural alloys at \SI{705}{\celsius}}
\label{tab:properties}
\begin{tabular}{@{}llS[table-format=2.1]@{}}
\toprule
Type & Material & {CTE (\SI{e-3}{\per\celsius})} \\
\midrule
Structural alloy & 316H & 18.8 \\
& 800H & 17.2 \\
\midrule
Cladding & Ni-201 & 15.8 \\
& Hastelloy N & 14.3 \\
& Haynes 242 & 13 \\
\bottomrule
\end{tabular}
\end{threeparttable}
\end{table}
\end{document}
替代方案看起来不太有吸引力:
\documentclass{article}
\usepackage{booktabs, multirow, threeparttable}
\usepackage{siunitx}
\begin{document}
\begin{table}[htpb]
\centering
\begin{threeparttable}
\caption{Material properties of cladding alloys compared to structural alloys at \SI{705}{\celsius}}
\label{tab:properties}
\begin{tabular}{@{}r@{}lc}
\cmidrule[0.08em]{2-3}
& Material & CTE (\SI{e-3}{\per\celsius}) \\
\cmidrule[0.05em]{2-3}
\multirow{2}{*}{\llap{Structural alloys \bigg\{\ }} & 316H & 18.8 \\
& 800H & 17.2 \\
\cmidrule[0.05em]{2-3}
\multirow{3}{*}{\llap{Claddings \Bigg\{\ }} & Ni-201 & 15.8 \\
& Hastelloy N & 14.3 \\
& Haynes 242 & 13 \\
\cmidrule[0.08em]{2-3}
\end{tabular}
\end{threeparttable}
\end{table}
\end{document}
答案2
编辑:
在下面 OP 评论之后,似乎他希望将列标题为“材料”的列放置在文本宽度的中间。这可以通过将表格移到左侧来实现。这可以通过多种方式实现......使用隐形规则在我threeparttable
看来是最简单的。因此,我从第一个版本的答案中更正了我的 MWE:
\documentclass{article}
\usepackage{booktabs, multirow, threeparttable}
\usepackage{siunitx}
\newlength\tabshift% added
%-------------------------------------------- to show page layout
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\begin{document}
\begin{table}[htpb]
%\footnotesize
\centering
\begin{threeparttable}
\caption{Material properties of cladding alloys compared to structural alloys at \SI{705}{\celsius}}
\label{tab:properties}
\begin{tabular}{rlS}
\cmidrule[0.08em]{2-3}
& Material & {CTE (\SI{e-3}{\per\celsius})} \\
\cmidrule[0.05em]{2-3}
\multirow{2}{*}{Structural alloys \bigg\{} & 316H & 18.8 \\
& 800H & 17.2 \\
\cmidrule[0.05em]{2-3}
\multirow{3}{*}{Claddings \Bigg\{} & Ni-201 & 15.8 \\
& Hastelloy N & 14.3 \\
& Haynes 242 & 13 \\
\cmidrule[0.08em]{2-3}
\end{tabular}
\end{threeparttable}%
\rule{0.5\tabshift}{0pt}% added
\end{table}
\end{document}
我使用包将最后一个表列更改为S
列类型siunitx
。您可以对列进行详细规范S
,例如S[table-format=2.1]
(建议这样做)。在您的特定情况下,两种情况下的结果是相同的。
注释(1):请以后始终提供小而完整的文档(MWE:最小(非)工作示例),就像我上面做的那样。帮助那些愿意帮助你的人。写缺失的序言并不好玩……
笔记2): 以后请更准确地表述您的问题 :)。您收到的两个答案都基于错误的假设(关于您下面的评论)。顺便说一句,表格的原始位置(向左移动之前)似乎很好...
0.5
您可以通过改变因素的值来对表格定位进行微调,\rule{0.5\tabshift}{0pt}
以便根据您的喜好将表格放置在页面上的最佳位置。
附录: 形成页面上表格更好的视觉居中我将重新设计您的表格,如下所示:
\documentclass{article}
\usepackage{booktabs, makecell, multirow, threeparttable}
\usepackage{siunitx}
%---------------------------------------------------------------%
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\begin{document}
\begin{table}[htpb]
\centering
\begin{threeparttable}
\caption{Material properties of cladding alloys compared to structural alloys at \SI{705}{\celsius}}
\label{tab:properties}
\begin{tabular}{rlS}
\cmidrule[0.08em]{2-3}
& Material & {CTE (\SI{e-3}{\per\celsius})} \\
\cmidrule[0.05em]{2-3}
\multirow{2}{*}{\makecell{Structural\\ alloys} \bigg\{} & 316H & 18.8 \\
& 800H & 17.2 \\
\cmidrule[0.05em]{2-3}
\multirow{3}{*}{Claddings \Bigg\{} & Ni-201 & 15.8 \\
& Hastelloy N & 14.3 \\
& Haynes 242 & 13 \\
\cmidrule[0.08em]{2-3}
\end{tabular}
\end{threeparttable}
\end{table}
\end{document}
答案3
我想将此表的第二列和第三列水平居中
c
这可以通过使用所需的列来实现\begin{tabular}{rcc}