![如何集中已經集中在表格序言中的欄位?](https://rvso.com/image/392337/%E5%A6%82%E4%BD%95%E9%9B%86%E4%B8%AD%E5%B7%B2%E7%B6%93%E9%9B%86%E4%B8%AD%E5%9C%A8%E8%A1%A8%E6%A0%BC%E5%BA%8F%E8%A8%80%E4%B8%AD%E7%9A%84%E6%AC%84%E4%BD%8D%EF%BC%9F.png)
我正在製作一個包含 6 列和 2 行標題的表格。有3個主標題和6個副標題。所有欄位都是c
類型,但是第 3 列和第 4 列未正確集中。有什麼幫助嗎?
\documentclass[12pt,a4paper]{article}
\usepackage{multirow}
\usepackage{multicol}
\usepackage{booktabs}
\usepackage[
font=footnotesize,
justification=centering,
figurewithin=section,
tablewithin=section
]{caption}
\usepackage{siunitx}
\usepackage{chemformula}
\begin{document}
\begin{table}[h]
\centering
\footnotesize
\caption{My caption}
\label{my-label}
\begin{tabular}{cccccc}
\toprule
\multicolumn{2}{c}{\textbf{Time (\si{min})}} &%
\multicolumn{2}{c}{\textbf{Water + \ch{CH3COOH} \SI[inter-unit-product=~]{0,15}{\%~v/v}}} &%
\multicolumn{2}{c}{\textbf{Oil}} \\
\midrule
\textbf{Point 1} & \textbf{Point 2} &%
\textbf{Point 1} & \textbf{Point 2} &%
\textbf{Point 1} & \textbf{Point 2} \\
\midrule
0,00 & 0,00 & 100 & 90 & 0 & 10 \\
0,50 & 0,50 & 90 & 70 & 10 & 30 \\
8,50 & 8,00 & 100 & 0 & 0 & 100 \\
13,50 & 8,10 & 100 & 90 & 0 & 10 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
答案1
基於makecell
和cmidrule
s 的變體:
\documentclass[12pt,a4paper]{article}
\usepackage{multirow}
\usepackage{multicol}
\usepackage{booktabs}
\usepackage{makecell}
\renewcommand{\theadfont}{\bfseries}
\usepackage[
font=footnotesize,
justification=centering,
figurewithin=section,
tablewithin=section,
skip=6pt
]{caption}
\usepackage{siunitx}
\usepackage{chemformula}
\begin{document}
\begin{table}[h]
\centering
\caption{My caption}
\label{my-label}
\begin{tabular}{cccccc}
\toprule
\multicolumn{2}{c}{\thead{Time \\(\si{min})}} &%
\multicolumn{2}{@{}c@{}}{\thead{Water\,$+$\,\ch{CH3COOH}\\ \SI[inter-unit-product=~]{0,15}{\%~v/v}}} &%
\multicolumn{2}{c}{\thead{Oil}} \\
\cmidrule(lr){1-2}\cmidrule(lr){3-4}\cmidrule(lr){5-6}
\textbf{Point 1} & \textbf{Point 2} &%
\textbf{Point 1} & \textbf{Point 2} &%
\textbf{Point 1} & \textbf{Point 2} \\
\cmidrule(lr){1-2}\cmidrule(lr){3-4}\cmidrule(lr){5-6}
0,00 & 0,00 & 100 & 90 & 0 & 10 \\
0,50 & 0,50 & 90 & 70 & 10 & 30 \\
8,50 & 8,00 & 100 & 0 & 0 & 100 \\
13,50 & 8,10 & 100 & 90 & 0 & 10 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
答案2
一種使用方法tabularx
:
\documentclass[12pt,a4paper]{article}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage{chemformula}
\begin{document}
\tabcolsep.5em\small
\begin{tabularx}{\linewidth}{cc>{\hfil}X>{\hfil}Xcc}\toprule
\multicolumn{2}{c}{\textbf{Time (\si{min})}} &%
\multicolumn{2}{c}{\textbf{Water + \ch{CH3COOH} \SI[inter-unit-product=~]{0,15}{\%~v/v}}}&%
\multicolumn{2}{c}{\textbf{Oil}} \\
\cmidrule(rl){1-2}\cmidrule(rl){3-4}\cmidrule(rl){5-6}
\textbf{Point 1} & \textbf{Point 2} &%
\textbf{Point 1} & \textbf{Point 2} &%
\textbf{Point 1} & \textbf{Point 2} \\
\cmidrule(rl){1-1}\cmidrule(rl){2-2}\cmidrule(rl){3-3}
\cmidrule(rl){4-4}\cmidrule(rl){5-5}\cmidrule(rl){6-6}
0,00 & 0,00 & 100 & 90 & 0 & 10 \\
0,50 & 0,50 & 90 & 70 & 10 & 30 \\
8,50 & 8,00 & 100 & 0 & 0 & 100 \\
13,50 & 8,10 & 100 & 90 & 0 & 10 \\\bottomrule
\end{tabularx}
\end{document}
但就我個人而言,我只會更改為較短的標題,Acetic acid \SI{0,15}{\percent}
並保留標準表格和c
列:
答案3
這是一個帶有列標題的版本,該列標題分為兩行和一個更大的行\tabcolsep
:
\documentclass[12pt,a4paper]{article}
\usepackage{multirow}
\usepackage{multicol}
\usepackage{booktabs}
\usepackage[
font=footnotesize,
justification=centering,
figurewithin=section,
tablewithin=section
]{caption}
\usepackage{siunitx}
\usepackage{chemformula}
\usepackage{makecell}
\begin{document}
\begin{table}[h]
\centering
\footnotesize
\setlength{\tabcolsep}{15pt}
\caption{My caption}
\label{my-label}
\begin{tabular}{@{\hspace{7pt}}cccccc@{\hspace{7pt}}}
\toprule
\multicolumn{2}{c}{\textbf{Time (\si{min})}} &%
\multicolumn{2}{c}{\textbf{\makecell[cc]{Water + \ch{CH3COOH} \\ \SI[inter-unit-product=~]{0,15}{\%~v/v}}}} &%
\multicolumn{2}{c}{\textbf{Oil}} \\
\cmidrule(r){1-2} \cmidrule(lr){3-4} \cmidrule(l){5-6}
\textbf{Point 1} & \textbf{Point 2} &%
\textbf{Point 1} & \textbf{Point 2} &%
\textbf{Point 1} & \textbf{Point 2} \\
\midrule
0,00 & 0,00 & 100 & 90 & 0 & 10 \\
0,50 & 0,50 & 90 & 70 & 10 & 30 \\
8,50 & 8,00 & 100 & 0 & 0 & 100 \\
13,50 & 8,10 & 100 & 90 & 0 & 10 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}