子浮动中的图形和表格并排显示

子浮动中的图形和表格并排显示

之前曾有人问过一个非常类似的问题:

表格和图形并排显示,并带有独立标题

我正在尝试实现这一点,但同时使用subfig包。下图描述了几乎我想要的,但正如你所看到的,表格没有正确对齐:

在此处输入图片描述

我正在使用的 TeX 是:

\begin{figure}[h]
    \caption{A figure and a table, side-by-side}
    \centering
    \subfloat[A figure left of a table]{
        \rule{6.4cm}{3.6cm}
    }
    \subfloat[A table right of a figure]{
        \begin{tabular}{cc}\hline
            Table head & Table head \\ \hline
            Some values & Some values \\
            Some values & Some values \\
            Some values & Some values \\
            Some values & Some values \\
            Some values & Some values \\
            Some values & Some values \\ \hline
        \end{tabular}
    }
\end{figure}

我尝试过将一些小页面放入其中,但无济于事。如何将表格顶部与图形顶部对齐?

答案1

您使用的字幕包版本太旧,无法与 hyperref 的实际版本兼容。

这解释了两个问题,即与 subfig 包一起使用时出现的错误行为,以及使用 subcaption 包时出现的错误。因此,更新 caption 包(或者更好的是:更新整个 TeX 系统)应该会有所帮助。

(当前版本的 hyperref 包至少需要 2010/01/09 的 caption v3.1m)

附录:子标题包的下一个版本 1.1b 将输出更合理的错误消息。

答案2

我遇到了完全相同的问题,以下方法对我有用:

\usepackage{subfigure}

\begin{figure}[h]
    \caption{A figure and a table, side-by-side}
    \centering
    \subfloat[A figure left of a table]{
        \raisebox{-.5\height}{\rule{6.4cm}{3.6cm}}
    }
    \subfloat[A table right of a figure]{
        \begin{tabular}{cc}\hline
            Table head & Table head \\ \hline
            Some values & Some values \\
            Some values & Some values \\
            Some values & Some values \\
            Some values & Some values \\
            Some values & Some values \\
            Some values & Some values \\ \hline
        \end{tabular}
    }
\end{figure}

答案3

我的具体问题似乎是由hyperref包引起的。删除后\usepackage{hyperref}布局问题就解决了,尽管我不知道具体是什么原因造成的。

使用时subfig,我收到以下警告:

\caption 将不会被重新定义,因为它已经在输入行 15 中

\documentclass[a4paper]{article}

\usepackage{graphicx}
\usepackage{subfig}

%% Enabling this package appears to cause the problem
% \usepackage{hyperref}

\begin{document}

\begin{figure}[h]
    \caption{A figure and a table, side-by-side}
    \centering
    \subfloat[A figure left of a table]{
        \rule{6.4cm}{3.6cm}  %% <- line 15
    }
    \subfloat[A table right of a figure]{
        \begin{tabular}{cc}\hline
            Table head & Table head \\ \hline
            Some values & Some values \\
            Some values & Some values \\
            Some values & Some values \\
            Some values & Some values \\
            Some values & Some values \\
            Some values & Some values \\ \hline
        \end{tabular}
    }
\end{figure}

\end{document}

使用subcaption,我收到以下编译错误:

包标题错误:出了点问题——可能是“test2.tex”中第 30 行输入中缺少 \caption

\documentclass[a4paper]{article}

\usepackage{graphicx,caption,subcaption}

%% Enabling this causes problems
%\usepackage{hyperref}

\begin{document}

\begin{figure}
    \centering
    \subcaptionbox{}{
        \rule{6.4cm}{3.6cm}
    }
    \hfill
    \subcaptionbox{}{
        \begin{tabular}{cc}\hline
            Table head & Table head \\ \hline
            Some values & Some values \\
            Some values & Some values \\
            Some values & Some values \\
            Some values & Some values \\
            Some values & Some values \\
            Some values & Some values \\ \hline
        \end{tabular}
    }
    \caption{Test images}
\end{figure}

\end{document}  %% <- line 30

相关内容