我正在尝试创建一个包含三个子表的表。为此,我编写了以下代码:
\documentclass[twoside]{article}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{sidecap}
\usepackage{fancyhdr}
\usepackage{lastpage}
\usepackage{extramarks}
\usepackage{graphicx}
\usepackage{mathpazo}
\usepackage{amsmath}
\usepackage{float}
\usepackage{wrapfig}
\usepackage{multicol}
\usepackage[toc,page]{appendix}
\usepackage{subcaption}
\begin{document} % <---
\begin{table}[h]
\begin{subtable}[b]{0.5\textwidth}
\centering
\begin{tabular}{ll|ll}
\multicolumn{2}{c|}{Consumo} & \multicolumn{2}{c}{Producción} \\ \hline
Metabolito & Valor & Metabolito & Valor \\ \hline
D-Fructosa & 10,00 & CO\textsubscript{2} & 22,81
\\
Amonio & 4,77 & H\textsubscript{2}O & 29,18
\\
Fosfato & 3,21 & H\textsuperscript{+} & 17,53
\\
O\textsubscript{2} & 22,00 & Acetato & 0,0038 \\ \hline
\end{tabular}
\caption{\textit{E.coli} con fuente de carbono fructosa}\label{tabla4.1}
\end{subtable}
\begin{subtable}[b]{0.5\textwidth}
\centering
\begin{tabular}{ll|ll}
\multicolumn{2}{c|}{Consumo} & \multicolumn{2}{c}{Producción} \\ \hline
Metabolito & Valor & Metabolito & Valor \\ \hline
D-Fructosa & 10,00 & CO\textsubscript{2} & 22,81 \\
Amonio & 4,77 & H\textsubscript{2}O & 29,18 \\
Fosfato & 3,21 & H\textsuperscript{+} & 17,53 \\
O\textsubscript{2} & 22,00 & Acetato & 0,0038 \\ \hline
\end{tabular}
\caption{\textit{E.coli} con fuente de carbono fructosa}\label{tabla4.2}
\end{subtable}
\begin{subtable}[]{0.5\textwidth}
\vspace{15pt}\hspace{0.5\linewidth}\begin{tabular}{ll|ll}
\multicolumn{2}{c|}{Consumo} & \multicolumn{2}{c}{Producción} \\ \hline
Metabolito & Valor & Metabolito & Valor \\ \hline
D-Fructosa & 10,00 & CO\textsubscript{2} & 22,81 \\
Amonio & 4,77 & H\textsubscript{2}O & 29,18 \\
Fosfato & 3,21 & H\textsuperscript{+} & 17,53 \\
O\textsubscript{2} & 22,00 & Acetato & 0,0038 \\ \hline
\end{tabular} \caption{\textit{E.coli} con fuente de carbono fructosa}\label{tabla4.3}
\end{subtable}
\caption{Resultados de las distintas simulaciones}
\end{table}
\end{document}% <---
问题是第三个子表与其标题不对齐:
有没有什么简单的解决方案可以使它们对齐?
答案1
- 你的桌子比宽度更宽
\subtable
,因此使用您的姆韦(添加缺失的代码部分后,请参阅上面的评论)您的表格重叠(下图中的红线表示您的页面布局):
- 考虑到我在上面评论中的建议,您将获得:
- 如果我使用该包
geometry
(使用其默认的页面布局设置)增加文本宽度,然后在对subtable
尺寸进行一些小的调整后,我得到:
编辑:
代码,其中是用于化学公式的mhchem
包,对于最后一种情况是:
\documentclass[twoside]{article}
\usepackage{geometry} % <---
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{sidecap}
\usepackage{fancyhdr}
\usepackage{lastpage}
\usepackage{extramarks}
\usepackage{graphicx}
\usepackage{mathpazo}
\usepackage{amsmath}
\usepackage{float}
\usepackage{wrapfig}
\usepackage{multicol}
\usepackage[toc,page]{appendix}
\usepackage{subcaption}
\usepackage[version=4]{mhchem} % <--- new
%-------------------------------- show page layout, don't use in real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\begin{document}
\begin{table}[ht]
\renewcommand\arraystretch{1.2}
\centering
\begin{subtable}{0.48\textwidth}
\centering
\begin{tabular}{ll|ll}
\multicolumn{2}{c|}{Consumo} & \multicolumn{2}{c}{Producción} \\ \hline
Metabolito & Valor & Metabolito & Valor \\ \hline
D-Fructosa & 10,00 & \ce{CO2} & 22,81 \\
Amonio & 4,77 & \ce{H2O} & 29,18 \\
Fosfato & 3,21 & \ce{H+} & 17,53 \\
\ce{O2} & 22,00 & Acetato & 0,0038 \\ \hline
\end{tabular}
\caption{\textit{E.coli} con fuente de carbono fructosa}\label{tabla4.1}
\end{subtable}
\hfil
\begin{subtable}{0.48\textwidth}
\centering
\begin{tabular}{ll|ll}
\multicolumn{2}{c|}{Consumo} & \multicolumn{2}{c}{Producción} \\ \hline
Metabolito & Valor & Metabolito & Valor \\ \hline
D-Fructosa & 10,00 & \ce{CO2} & 22,81 \\
Amonio & 4,77 & \ce{H2O} & 29,18 \\
Fosfato & 3,21 & \ce{H+} & 17,53 \\
\ce{O2} & 22,00 & Acetato & 0,0038 \\ \hline
\end{tabular}
\caption{\textit{E.coli} con fuente de carbono fructosa}\label{tabla4.2}
\end{subtable}
\medskip
\begin{subtable}{0.48\textwidth}
\begin{tabular}{ll|ll}
\multicolumn{2}{c|}{Consumo} & \multicolumn{2}{c}{Producción} \\ \hline
Metabolito & Valor & Metabolito & Valor \\ \hline
D-Fructosa & 10,00 & \ce{CO2} & 22,81 \\
Amonio & 4,77 & \ce{H2O} & 29,18 \\
Fosfato & 3,21 & \ce{H+} & 17,53 \\
\ce{O2} & 22,00 & Acetato & 0,0038 \\ \hline
\end{tabular}
\caption{\textit{E.coli} con fuente de carbono fructosa}\label{tabla4.3}
\end{subtable}
\caption{Resultados de las distintas simulaciones}
\end{table}
\end{document}
答案2
在最后一个子表之前放置一个空行并添加\centering
即可。
您的 MWE 不完整,如果我仅添加\begin{document} ... \end{document}
子表重叠,则无法重现您的输出,并且我得到了overfull hbox
。因此我对其进行了一些更改:
- 我用过字体
\footnotesize
- 我删除了第一列之前和最后一列之后的垂直空间
- 我用过
booktabs
水平线包 - 并
dcolumn
对齐数字。
结果如下:
代码如下:
\documentclass[twoside]{article}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{array}
\usepackage{booktabs}
\usepackage{dcolumn}
\newcolumntype{d}[1]{D{,}{,}{#1}}
\usepackage{subcaption}
\captionsetup[sub]{font=footnotesize,labelfont={footnotesize}}
\begin{document}
\begin{table}[ht!]\footnotesize\centering
\begin{subtable}{0.48\textwidth}
\centering
\begin{tabular}{@{}ld{2}ld{4}@{}}
\toprule
\multicolumn{2}{@{}c}{Consumo} & \multicolumn{2}{c@{}}{Producción}\\
\cmidrule(r){1-2} \cmidrule(l){3-4}
Metabolito & \multicolumn{1}{l}{Valor} & Metabolito & \multicolumn{1}{l@{}}{Valor} \\
\cmidrule(r){1-2} \cmidrule(l){3-4}
D-Fructosa & 10,00 & CO\textsubscript{2} & 22,81\\
Amonio & 4,77 & H\textsubscript{2}O & 29,18\\
Fosfato & 3,21 & H\textsuperscript{+}& 17,53\\
O\textsubscript{2} & 22,00 & Acetato & 0,0038 \\
\bottomrule
\end{tabular}
\caption{\textit{E.coli} con fuente de carbono fructosa}\label{tabla4.1}
\end{subtable}
\hfill
\begin{subtable}{0.48\textwidth}
\centering
\begin{tabular}{@{}ld{2}ld{4}@{}}
\toprule
\multicolumn{2}{@{}c}{Consumo} & \multicolumn{2}{c@{}}{Producción} \\
\cmidrule(r){1-2} \cmidrule(l){3-4}
Metabolito & \multicolumn{1}{l}{Valor} & Metabolito & \multicolumn{1}{l@{}}{Valor} \\
\cmidrule(r){1-2} \cmidrule(l){3-4}
D-Fructosa & 10,00 & CO\textsubscript{2} & 22,81 \\
Amonio & 4,77 & H\textsubscript{2}O & 29,18 \\
Fosfato & 3,21 & H\textsuperscript{+} & 17,53 \\
O\textsubscript{2} & 22,00 & Acetato & 0,0038 \\
\bottomrule
\end{tabular}
\caption{\textit{E.coli} con fuente de carbono fructosa}\label{tabla4.2}
\end{subtable}
\vspace{\baselineskip}
\begin{subtable}{0.48\textwidth}
\begin{tabular}{@{}ld{2}ld{4}@{}}
\toprule
\multicolumn{2}{@{}c}{Consumo} & \multicolumn{2}{c@{}}{Producción} \\
\cmidrule(r){1-2} \cmidrule(l){3-4}
Metabolito & \multicolumn{1}{l}{Valor} & Metabolito & \multicolumn{1}{l@{}}{Valor} \\
\cmidrule(r){1-2} \cmidrule(l){3-4}
D-Fructosa & 10,00 & CO\textsubscript{2} & 22,81 \\
Amonio & 4,77 & H\textsubscript{2}O & 29,18 \\
Fosfato & 3,21 & H\textsuperscript{+} & 17,53 \\
O\textsubscript{2} & 22,00 & Acetato & 0,0038 \\
\bottomrule
\end{tabular}
\caption{\textit{E.coli} con fuente de carbono fructosa}\label{tabla4.3}
\end{subtable}
\caption{Resultados de las distintas simulaciones}
\end{table}
\end{document}