表格内的图形环境

表格内的图形环境

我想要在同一行中有两个表。我使用figure环境插入它们,然后使用 minipages,在每个 minipage 中我包含一个表。

问题是它不允许我在表格中添加标题。

这是我的代码:

\begin{figure}[h]
\begin{minipage}{0.5\columnwidth}
\begin{table}
        \caption{Datos medidos para $L_1$.}
        \label{1L1}
        \begin{tabular}{|c|c|c|c|}
            \hline
            n&  $S_o$ [cm]&     $S_i$ [cm]&     $y_i$ [cm]\\
            &  $\pm0.05$ cm& $\pm0.05$ cm& $\pm0.05$ cm\\
            \hline
            1&  10.0&   56.7&   17.8\\
            \hline
            2&  12.0&   36.7&   10.7\\
            \hline
        \end{tabular}
\end{table}
\end{minipage}
\begin{minipage}
.....
\end{minipage}
\end{figure}

它向我显示了错误:Not outer in par mode \caption

如果我退休\begin{table}\end{table}它编译得很好,但标题写着图 #。我希望它是表 #......

答案1

不要将table环境嵌套在另一个浮动环境(例如figure环境)中。相反,使用单个table环境来包裹两个minipage环境,每个环境包含一个tabular环境加\caption\label指令。

此外,请考虑让表格看起来更加开放,比如省略所有垂直条并减少水平条的数量。

enter image description here

\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{table}[h]
\small
\begin{minipage}{0.48\textwidth}
\centering
        \caption{Datos medidos para $L_1$.}
        \label{1L1}
        \begin{tabular}{@{}l ccc@{}}
            \toprule
            n&  $S_o$ [cm]&     $S_i$ [cm]&     $y_i$ [cm]\\
            &  $\pm0.05$ cm& $\pm0.05$ cm& $\pm0.05$ cm\\
            \midrule
            1&  10.0&   56.7&   17.8\\
            2&  12.0&   36.7&   10.7\\
            \bottomrule
        \end{tabular}
\end{minipage}\hfill % maximize space between the minipages
\begin{minipage}{0.48\textwidth}
\centering
        \caption{Datos medidos para $L_2$.}
        \label{2L2}
        \begin{tabular}{@{}l ccc@{}}
            \toprule
            n&  $S_o$ [cm]&     $S_i$ [cm]&     $y_i$ [cm]\\
            &  $\pm0.05$ cm& $\pm0.05$ cm& $\pm0.05$ cm\\
            \midrule
            1&  10.0&   56.7&   17.8\\
            2&  12.0&   36.7&   10.7\\
            \bottomrule
        \end{tabular}
\end{minipage}
\end{table}
\end{document}

答案2

像 @Mico 一样,我会使用booktabs, 和floatrow,这样做是为了并排放置浮动元素,并且标题和表格之间的间距比默认值更好。我还使用makecell, 对前两行进行分组,因为它们在语义上是关联的。这会产生更短的代码:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{booktabs, floatrow, makecell}
\floatsetup{floatrowsep=qquad}

\begin{document}

\begin{table}[h]
  \small\centering
  \begin{floatrow}
    \ttabbox{ \caption{Datos medidos para $L_1$.} \label{1L1}}
    {\begin{tabular}{@{}l ccc@{}}
      \toprule
      \thead{n}& \thead{ $S_o$ [cm]\\ $\pm0.05$ cm}& \thead{$S_i$ [cm]\\ $\pm0.05$ cm}& \thead{$y_i$ [cm]\\ $\pm0.05$ cm}\\
      \midrule
      1& 10.0& 56.7& 17.8\\
      2& 12.0& 36.7& 10.7\\
      \bottomrule
      \end{tabular}}
    \ttabbox{ \caption{Datos medidos para $L_2$.} \label{2L2}}
    {\begin{tabular}{@{}l ccc@{}}
      \toprule
      \thead{n}& \thead{ $S_o$ [cm]\\ $\pm0.05$ cm}& \thead{$S_i$ [cm]\\ $\pm0.05$ cm}& \thead{$y_i$ [cm]\\ $\pm0.05$ cm}\\
      \midrule
      1& 10.0& 56.7& 17.8\\
      2& 12.0& 36.7& 10.7\\
      \bottomrule
      \end{tabular}}
  \end{floatrow}
\end{table}

\end{document} 

enter image description here

答案3

我猜,问题在于,您想floating在另一个floating环境中使用环境(图中的表格)。如果您删除\begin{table}... ,\end{table}它可以解决错误,但\caption{}将成为 的一部分figure。解决您的问题的廉价方法是将字符串“Figure”重命名为“Table”:

\renewcommand{\figurename}{Table}

唯一的弱点是,这个“假表格标签”将被视为图形标签(在图形列表中,在表格列表中等......)。

如果您想在文档中执行此技巧一次,则必须\figurename通过存储它来恢复。

这是我的完整代码:

\documentclass{article}

\usepackage[margin=2cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}

\begin{document}

\let\OldFigurename\figurename       %% store the original 'Figure'
\renewcommand{\figurename}{Table}   %% overwrite 'Figure' with 'Table'

\begin{figure}[h]
\begin{minipage}{0.5\columnwidth}
        \caption{Datos medidos para $L_1$.}
        \label{1L1}
        \begin{tabular}{|c|c|c|c|}
            \hline
            n&  $S_o$ [cm]&     $S_i$ [cm]&     $y_i$ [cm]\\
            &  $\pm0.05$ cm& $\pm0.05$ cm& $\pm0.05$ cm\\
            \hline
            1&  10.0&   56.7&   17.8\\
            \hline
            2&  12.0&   36.7&   10.7\\
            \hline
        \end{tabular}
\end{minipage}
\begin{minipage}{0.5\columnwidth}
        \caption{Datos medidos para $L_1$.}
        \label{1L1}
        \begin{tabular}{|c|c|c|c|}
            \hline
            n&  $S_o$ [cm]&     $S_i$ [cm]&     $y_i$ [cm]\\
            &  $\pm0.05$ cm& $\pm0.05$ cm& $\pm0.05$ cm\\
            \hline
            1&  10.0&   56.7&   17.8\\
            \hline
            2&  12.0&   36.7&   10.7\\
            \hline
        \end{tabular}
\end{minipage}
\end{figure}

\renewcommand{\figurename}{\OldFigurename}  %% restore 'Figure'

\begin{figure}
        \caption{Datos medidos para $L_1$.}
        \label{1L1}
        \begin{tabular}{|c|c|c|c|}
            \hline
            n&  $S_o$ [cm]&     $S_i$ [cm]&     $y_i$ [cm]\\
            &  $\pm0.05$ cm& $\pm0.05$ cm& $\pm0.05$ cm\\
            \hline
            1&  10.0&   56.7&   17.8\\
            \hline
            2&  12.0&   36.7&   10.7\\
            \hline
        \end{tabular}
    \end{figure}
\end{document}

相关内容