在长表内应用图形标题

在长表内应用图形标题

我正在使用longtable环境来显示一些图形。我想在第一页的底部添加一个标题作为图形标题,而不是表格(这样它也会显示在图形列表中,而不是表格列表中)。我发现另一篇帖子如何定义一个新的,但是当我编译以下代码时figcaption出现“你不能在这里使用”的错误。\hrule

当我在环境figcaption之外使用时它可以工作longtable,但我需要它位于第一页的底部。

有人能给我指明正确的方向吗?

    \documentclass{article}
    \usepackage{array}
    \usepackage{caption}
    \usepackage{longtable}


    \makeatletter
    \def\figcaption{%
        \refstepcounter{figure}%
        \@dblarg{\@caption{figure}}}
    \makeatother

    \begin{document}
    \listoftables
    \listoffigures

    \begin{longtable}[h]{cc}

    \endfirsthead
    \endhead
    \figcaption{This should be a figure caption}\label{fig:MyFigRef}
    \endfoot
    \endlastfoot

     \rule{5cm}{5cm} & \rule{5cm}{5cm} \\
     \rule{5cm}{5cm} & \rule{5cm}{5cm} \\
     \rule{5cm}{5cm} & \rule{5cm}{5cm} \\
     \rule{5cm}{5cm} & \rule{5cm}{5cm} \\
     \rule{5cm}{5cm} & \rule{5cm}{5cm} \\
     \rule{5cm}{5cm} & \rule{5cm}{5cm} \\

    \end{longtable}

    \end{document}

答案1

我明白了——我只需要包装figcaption在一个多列 parbox 中。

    \documentclass{article}
    \usepackage{array}
    \usepackage{caption}
    \usepackage{longtable}


    \makeatletter
    \def\figcaption{%
        \refstepcounter{figure}%
        \@dblarg{\@caption{figure}}}
    \makeatother

    \begin{document}
    \listoftables
    \listoffigures

    \begin{longtable}[h]{cc}

    \endfirsthead
    \endhead
    \multicolumn{2}{c}{\parbox{\LTcapwidth}{\figcaption{Foo}}}
    \endfoot
    \endlastfoot

     \rule{5cm}{5cm} & \rule{5cm}{5cm} \\
     \rule{5cm}{5cm} & \rule{5cm}{5cm} \\
     \rule{5cm}{5cm} & \rule{5cm}{5cm} \\
     \rule{5cm}{5cm} & \rule{5cm}{5cm} \\
     \rule{5cm}{5cm} & \rule{5cm}{5cm} \\
     \rule{5cm}{5cm} & \rule{5cm}{5cm} \\

    \end{longtable}

    \end{document}

相关内容