我正在使用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}