在撰写论文时,我发现通过 \input 添加的章节中的子图在图表列表中显示的页码错误。我已添加 MWE。
一些重要的注意事项可能是:
- 正常数字显示正确
- 我正在使用 subcaption 包
- 我遇到了与词汇表条目类似的问题(为简单起见,未包含在此 MWE 中)
\documentclass{book}
\usepackage[utf8]{inputenc}% characters
\usepackage[T1]{fontenc}
\usepackage[demo]{graphicx}
\usepackage[list=true,listformat=simple]{subcaption}
\begin{document}
\input{mwe_chap1} % The input file
\chapter{Two}\label{ch:two} % Example that does work without \input
\begin{figure}[hbtp]
\begin{subfigure}[t]{0.32\textwidth} \includegraphics[height=3cm]{x}
\caption{4\label{fig:d}} \end{subfigure} %
\begin{subfigure}[t]{0.32\textwidth} \includegraphics[height=3cm]{x}
\caption{5\label{fig:e}} \end{subfigure} %
\begin{subfigure}[t]{0.32\textwidth} \includegraphics[height=3cm]{x}
\caption{6\label{fig:f}} \end{subfigure} \end{figure}
\chapter{Three}\label{ch:three}
\listoffigures % Prints the list of figures
\end{document}
这是输入文件:
\chapter{One}\label{ch:one}
some text \clearpage
\begin{figure}[hbtp] \begin{subfigure}[t]{0.32\textwidth}
\includegraphics[height=3cm]{x} \caption{1\label{fig:a}}
\end{subfigure} %
\begin{subfigure}[t]{0.32\textwidth}
\includegraphics[height=3cm]{x} \caption{2\label{fig:b}}
\end{subfigure} %
\begin{subfigure}[t]{0.32\textwidth}
\includegraphics[height=3cm]{x} \caption{3\label{fig:c}}
\end{subfigure} \end{figure}
\clearpage some text
\clearpage some text
\begin{figure}[hbtp] \includegraphics[height=3cm]{x} \caption{normalfig\label{fig:normal}}
\end{figure}
任何帮助将不胜感激!
编辑:
当我在外部章节中向 \figure 环境添加标题时,问题似乎消失了,如下所示:
\begin{figure}[hbtp]
\begin{subfigure}[t]{0.32\textwidth}
\includegraphics[height=3cm]{x} \caption{1\label{fig:a}}
\end{subfigure} %
\begin{subfigure}[t]{0.32\textwidth}
\includegraphics[height=3cm]{x} \caption{2\label{fig:b}}
\end{subfigure} %
\begin{subfigure}[t]{0.32\textwidth}
\includegraphics[height=3cm]{x} \caption{3\label{fig:c}}
\end{subfigure}
\caption{added caption\label{fig:extracap}} % This caption is added
\end{figure}
似乎计数器在有额外标题的情况下计数方式不同...我不明白为什么。但是,有没有办法只列出子图而不为整个图形环境添加额外标题?
答案1
这是一个可能的解决方案,可以在 LoF 中为子图提供正确的页码,而无需在图形环境的主文本中添加标题:
- 声明空白字幕格式
- 使用上面提到的标题设置为 \figure 添加标题
}
\usepackage{caption}
\DeclareCaptionLabelFormat{blank}{}
\begin{figure}[hbtp]
\begin{subfigure}[t]{0.32\textwidth}
\includegraphics[height=3cm]{x}
\caption{1\label{fig:a}}
\end{subfigure}
\begin{subfigure}[t]{0.32\textwidth}
\includegraphics[height=3cm]{x}
\caption{2\label{fig:b}}
\end{subfigure}
\begin{subfigure}[t]{0.32\textwidth}
\includegraphics[height=3cm]{x}
\caption{3\label{fig:c}}
\end{subfigure}
\captionsetup{textformat=empty,labelformat=blank}
\caption{ACaptionThatDoesNotShowInMainText\label{fig:hiddencap}}
\end{figure}
答案2
在包含子标题但没有主标题的图形中添加一个\phantomcaption
。(不幸的是,由于文档滞后,这个还没有记录下来。)
附录:
我刚刚开了一张票,因此将尽快记录下来:https://sourceforge.net/p/latex-caption/tickets/48/