将子标题与子表格对齐

将子标题与子表格对齐

我正在尝试创建一个包含三个子表的表。为此,我编写了以下代码:

\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。因此我对其进行了一些更改:

  1. 我用过字体\footnotesize
  2. 我删除了第一列之前和最后一列之后的垂直空间
  3. 我用过booktabs水平线包
  4. 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}

相关内容