![如何将表格标题分成两行?](https://linux22.com/image/323476/%E5%A6%82%E4%BD%95%E5%B0%86%E8%A1%A8%E6%A0%BC%E6%A0%87%E9%A2%98%E5%88%86%E6%88%90%E4%B8%A4%E8%A1%8C%EF%BC%9F.png)
我想将表格的标题放在两行上。例如,我希望反应缓冲液位于上方(150mM 醋酸钠),等等,但我不知道该怎么做。
另外,表格对于我的文档来说太宽了,有人知道如何压缩(缩小)整个表格吗?
\footnotesize
\begin{table}[h]
\centering
\small
\footnotesize
\tabcolsep=0.11cm
\begin{tabular}{@{}ll@{}@{}ll@{}@{}ll@{}ll@{}}
\toprule
Tube & MilliQ Water $(\mu L)$ \, & 100 mM MgCl\_2 $(\mu L)$, & Reaction Buffer (150 mM sodium acetate) $(\mu L)$ \, & 500 mM NaOH $(\mu L)$, & 4 mM pNPP $(\mu L)$\\
\midrule
1 & 60 & 15 & 30. (pH 4.0)& {} & 600. & 30. \\
2 & 60 & 15 & 30. (pH 5.0) & {} & 600. & 30.\\
3 & 60 & 15 & 30. (pH 6.0) & {} & 600. & 30.\\
4 & 60 & 15 & {} & 30. (pH 7.0) & 600. & 30. \\
5 & 60 & 15 & {} & 30. (pH 8.0) & 600. & 30. \\
6 & 60 & 15 & {} & 30. (pH 9.0) & 600. & 30. \\
\bottomrule
\end{tabular}
\end{table}
\end{homeworkProblem}
答案1
使用makecell
它,以及它的\thead
命令。此外,我还加载了mhchem
和siunitx
包。
\documentclass{article}
\usepackage{geometry}
\usepackage{amsmath}
\usepackage{array, booktabs, makecell}
\usepackage{siunitx, mhchem}
\newcommand\muL{\si{\micro\liter}}
\begin{document}
\begin{table}[h]
\centering
\small
\tabcolsep=0.11cm
\begin{tabular}{@{}*{7}{c}@{}}
\toprule
Tube & \thead{Milli-Q\\ Water \\ \muL} & \thead{100\,mM\\ \ce{MgCl2} \\ \muL} & \thead{Reaction Buffer \\ (150\,mM sodium\\ acetate) \muL} & \thead{500\,mM \\\ce{NaOH} \\ \muL} & \thead{4\,mM\\ pNPP \\\muL}\\
\midrule
1 & 60 & 15 & 30. (pH 4.0)& {} & 600. & 30. \\
2 & 60 & 15 & 30. (pH 5.0) & {} & 600. & 30.\\
3 & 60 & 15 & 30. (pH 6.0) & {} & 600. & 30.\\
4 & 60 & 15 & {} & 30. (pH 7.0) & 600. & 30. \\
5 & 60 & 15 & {} & 30. (pH 8.0) & 600. & 30. \\
6 & 60 & 15 & {} & 30. (pH 9.0) & 600. & 30. \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
答案2
在包的帮助下makecell
,siunitx
我重新设计了您的表格,这应该是您进一步格式化的起点:
\documentclass{article}
\usepackage{booktabs,makecell}
\renewcommand\theadfont{\normalfont}
\usepackage{siunitx}
\usepackage[margin=30mm,showframe]{geometry}
\begin{document}
\begin{table}[h]
\centering
\caption{My important chemistry table}
\label{tab:table-1}
\begin{tabular}{@{}*{8}{c}@{}}
\toprule
\thead{Tube}
& \thead{MilliQ\\ Water (\si{\micro L})}
& \thead{\SI{100}{mM}\\ MgCl\textsubscript{2} (\si{\mu L})}
& \thead{Reaction Buffer\\
(\SI{150}{mM} sodium\\
acetate) (\si{\micro L})}
& \thead{\SI{500}{mM}\\ NaOH (\si{\micro L})}
& \thead{\SI{4}{mM}\\ pNPP (\si{\micro L})} \\
\midrule
1 & 60 & 15 & 30. (pH 4.0) & {} & 600. & 30. \\
2 & 60 & 15 & 30. (pH 5.0) & {} & 600. & 30. \\
3 & 60 & 15 & 30. (pH 6.0) & {} & 600. & 30. \\
4 & 60 & 15 & {} & 30. (pH 7.0) & 600. & 30. \\
5 & 60 & 15 & {} & 30. (pH 8.0) & 600. & 30. \\
6 & 60 & 15 & {} & 30. (pH 9.0) & 600. & 30. \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
showframe
包选项geometry
仅用于显示页面布局。如您所见,我手动打破了长列标题。这thead
从makecell
包中启用了宏。
注意,这只是一个相对简单的解决方案。还有其他方法,例如使用列类型p{<width>}
或使用tabularx
等。