隐藏 koma 字体图表/表格列表中的条目

隐藏 koma 字体图表/表格列表中的条目

虽然我并不后悔将论文转换为 KOMA 脚本,但我确实(有时)后悔停止使用该caption包,即使它与 配合得很好scrreprt!我需要一个不需要使用该caption包的解决方案。这是一个 MWE:

\documentclass{scrreprt}

\KOMAoption{captions}{tableheading, figuresignature}
\usepackage{graphicx}
\usepackage{lipsum}

\makeatletter
\newcommand\NOcaption[1]{%
  \renewcommand*{\figureformat}{}
  \renewcommand*{\tableformat}{}
  \renewcommand*{\captionformat}{}
  \addtocounter{\@captype}{-1}
  \caption{#1}}
\makeatother


\begin{document}
\listoffigures
\listoftables
\clearpage

\lipsum[1]
\begin{table}[ht]
\centering
\NOcaption{}
\begin{tabular}{c}
A table
\end{tabular}
\end{table}

\lipsum[2]
\begin{figure}[ht]
\centering
A figure
\NOcaption{}
\end{figure}

\lipsum[3]


\end{document}

使用上述组合,标题不会出现在正文中,但是,列表中有一个图形/表格的条目。

编辑: 定义新命令的全部目的NOcaption是让我免于在每个表格或图形中更新和figureformat。它取自tableformatcaptionformat问题。我明白为什么这有点令人困惑,因为正确的定义应该是:

\makeatletter
\newcommand\NOcaption{% %NO arguments any more.
  \renewcommand*{\figureformat}{}
  \renewcommand*{\tableformat}{}
  \renewcommand*{\captionformat}{}
  \addtocounter{\@captype}{-1}
  \caption{}}
\makeatother

然后我就\NOcaption\NOcaption{}

用 caption 包来表达,我正在寻找list=noKOMA 脚本中的等价内容,请参阅回答。


编辑:我应该把它放在 MWE 中,我也在使用hyperrefhypcap。这就是为什么我首先尝试放置一个“空”标题,因为hypcap如果找不到标题,就会出现错误。

Package hypcap Error: You have forgotten to use \caption.

\usepackage{hyperref}
\usepackage[all]{hypercap}

答案1

如果您不想要字幕,只需省略该\caption命令,无需重新定义所有字幕内部结构,因为hycap您需要按照其手册中的说明关闭其机制:

\documentclass{scrreprt}

\KOMAoption{captions}{tableheading, figuresignature}
\usepackage{graphicx,hycap}
\usepackage{lipsum}

\begin{document}
\listoffigures
\listoftables
\clearpage

\lipsum[1]
\capstartfalse
\begin{table}[ht]
\centering
\begin{tabular}{c}
A table
\end{tabular}
\end{table}
\capstarttrue

\lipsum[2]
\capstartfalse
\begin{figure}[ht]
\centering
A figure
\end{figure}
\capstarttrue

\lipsum[3]


\end{document}

相关内容