为什么 \captionof 的使用顺序很重要?

为什么 \captionof 的使用顺序很重要?

看来该\captionof命令不仅会更改当前标题,还会更改所有后续标题。这意味着不能轻易地在图形中交换标题,而必须记住浮点数的类型。

例如,

\documentclass{article}
\usepackage{capt-of}

\begin{document}

\begin{figure}
\captionof{table}{This is a table}
\caption{This is a figure}
\end{figure}

\end{document}

给出了两个表格标题,而我本来期望默认标题命令只产生默认标题,即图...

比较:

\documentclass{article}
\usepackage{capt-of}

\begin{document}

\begin{figure}
\caption{This is a figure}
\captionof{table}{This is a table}
\end{figure}

\end{document}

这给出了预期的结果。

编辑:

这是我的侧向浮动用例:

\documentclass{article}

\usepackage{capt-of}
\usepackage{rotfloat}

\begin{document}
\begin{sidewaysfigure}
\captionof{table}{This is a table}
\caption{This is a figure}
\end{sidewaysfigure}

\end{document}

答案1

包裹信息字符串说

浮点数之外的标准标题

问题在于的定义\captionof过于简单:

\newcommand\captionof[1]{\def\@captype{#1}\caption}

\captionof{table}{...}因此,如果您在环境中使用figure,则浮点类型将设置为table影响后续\caption命令。

使用分组(或嵌套环境,如minipage)。

\documentclass{article}
\usepackage{capt-of}

\begin{document}

\begin{figure}
\begingroup
\captionof{table}{This is a table}
\endgroup
\caption{This is a figure}
\end{figure}

\end{document}

在此处输入图片描述

相关内容