虽然我并不后悔将论文转换为 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
。它取自tableformat
captionformat
这问题。我明白为什么这有点令人困惑,因为正确的定义应该是:
\makeatletter
\newcommand\NOcaption{% %NO arguments any more.
\renewcommand*{\figureformat}{}
\renewcommand*{\tableformat}{}
\renewcommand*{\captionformat}{}
\addtocounter{\@captype}{-1}
\caption{}}
\makeatother
然后我就\NOcaption
用\NOcaption{}
用 caption 包来表达,我正在寻找list=no
KOMA 脚本中的等价内容,请参阅这回答。
编辑:我应该把它放在 MWE 中,我也在使用hyperref
和hypcap
。这就是为什么我首先尝试放置一个“空”标题,因为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}