如何删除图形中的标题和图形 x,但在图形列表中添加标题?

如何删除图形中的标题和图形 x,但在图形列表中添加标题?

我想从我的图下的标题中删除图 1,但将其保留在我的图列表中。可以吗?

\caption[Entry for the List of Figures (LoF)]{}\label{fig:without}可以在图表列表中添加标题,但是我的图表下仍然有“图 1”,我想将其删除。

答案1

您可以使用宏\addcontentsline将列表条目添加到图形列表(或其他列表)。

它需要三个参数:

  1. 列表的文件扩展名。(toc用于目录、lof用于图片列表、lot用于表格列表,...)
  2. 结构层面
    • tocpart,,,…chaptersection
    • loffigure
    • lottable
  3. 条目本身。通常,它前面带有\protect\numberline{…}条目编号作为参数,并与后面的文本对齐。

我的代码提供了两个三个命令:

  • \nocaption只向列表添加标题文本,
  • \nocaptionbutnumber在条目中添加一个数字(之前已增加,并且
  • \nocaptionwithweirdalignment不使用\numberline,因此它的输入文本与左对齐(我不会使用它)。

细微更新

我已经更新了答案,这样\addcontentsline宏就不会有硬编码的第一个和第二个参数。这些命令现在应该可以在定义和适当的扩展宏的table其他环境中工作。\@captype\ext@<\@captype>

代码

\documentclass{article}
\makeatletter
\newcommand*{\nocaption}[1]{%
    \addcontentsline{\csname ext@\@captype\endcsname}{\@captype}{\protect\numberline{}#1}%
}
\newcommand*{\nocaptionbutnumber}[1]{%
    \refstepcounter{figure}%
    \addcontentsline{\csname ext@\@captype\endcsname}{\@captype}{\protect\numberline{\csname the\@captype\endcsname}#1}%%
}
\newcommand*{\nocaptionwithweirdalignment}[1]{%
    \addcontentsline{\csname ext@\@captype\endcsname}{\@captype}{#1}%
}
\makeatother
\begin{document}
\listoffigures
\begin{figure}[!ht]
F1
\nocaption{Caption 1}
\end{figure}
\begin{figure}[!ht]
F2
\nocaptionbutnumber{Caption 2}
\end{figure}
\begin{figure}[!ht]
F3
\nocaptionbutnumber{Caption 3}
\end{figure}
\begin{figure}[!ht]
F4
\nocaptionwithweirdalignment{Caption 4}
\end{figure}
\end{document}

输出

输出

相关内容