在目录中按部分布局章节,但文本中的编号和布局按章节布局

在目录中按部分布局章节,但文本中的编号和布局按章节布局

我希望某些章节出现在目录中的同一级别和布局中。这些章节仍应使用其章节号进行编号(也显示在目录中),并且应看起来像文本中的章节(没有标题页)。

一个特殊的例子是缩写列表。目前,我使用:

\usepackage[automake, abbreviations, acronym, nomain, section=part]{glossaries-extra}

这样,目录看起来就像我想要的那样,但是文本中有一个标题页(除了标题之外是空白的),这是我不需要的。

对于正常章节我可以使用:

\addcontentsline{toc}{part}{Chapter 0}

这样目录中的条目布局正确,但前面没有章节号。但是,目录中应该显示章节号。

以下是 MWE:

\documentclass[a4paper]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[hang,tight]{subfigure}
\usepackage[subfigure]{tocloft}
\usepackage[toc,automake, abbreviations, acronym, nomain, section=part]{glossaries-extra}
\usepackage{hyperref} 

\cftsetindents{chapter}{1em}{2.5em}
\cftsetindents{section}{2em}{3em}
\cftsetindents{subsection}{5em}{4.2em}
\cftsetindents{subsubsection}{9.2em}{7em}

\makeglossaries
\newabbreviation{test}{TEST}{test}

\begin{document}
        \tableofcontents
        \glsaddall
        \printabbreviations %should not generate a title page
\chapter{Chapter 0} %should look like Part 1
%\addcontentsline{toc}{part}{Chapter 0} %no number in front
\label{test0}
\part{Part 1}
\chapter{Chapter 1}
\label{test3}
\end{document}

更新:我发现相关问题并修改了其中的答案。因此在和之间\tableofcontents现在glsaddall有:

    \makeatletter
    \def\toclevel@chapter{1}\def\toclevel@part{2}
    \addtocontents{toc}{\string\let\string\l@chapter\string\l@part}
    \makeatother

并且将“glossaries-extra”包中的选项“section”设置为“chapter”(而不是“part”)。

现在我需要在下一章中恢复它。针对上述问题的另一个建议解决方案是使用\xpatchcmd但除此之外我还提到了\usepackage{regexpatch}无法识别的命令。那么,如何才能在下一章中恢复该命令呢?

答案1

我不明白你为什么要做这么奇怪的事情。但这里有一个建议:

\documentclass[a4paper]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[toc,automake, abbreviations, acronym, nomain]{glossaries-extra}
\usepackage{hyperref}

\RedeclareSectionCommand[tocindent=1em,tocnumwidth=2.5em]{chapter}
\RedeclareSectionCommand[tocindent=2em,tocnumwidth=3em]{section}
\RedeclareSectionCommand[tocindent=5em,tocnumwidth=4.2em]{subsection}
\RedeclareSectionCommand[tocindent=9.2em,tocnumwidth=7em]{subsubsection}

\makeglossaries
\newabbreviation{test}{TEST}{test}

\makeatletter
\newcommand*\original@l@chapter{}
\BeforeStartingTOC[toc]{\let\original@l@chapter\l@chapter}
\newcommand*\ChapterAsPartInTOC{%
  \addtocontents{toc}{\protect\let\protect\l@chapter\protect\l@part}%
}
\newcommand*\RestoreChapterInTOC{%
  \addtocontents{toc}{\protect\let\protect\l@chapter\protect\original@l@chapter}%
}
\makeatother


\begin{document}
\tableofcontents
\glsaddall

\ChapterAsPartInTOC
\printabbreviations %should not generate a title page
\chapter{Chapter 0} %should look like Part 1 in TOC
\label{test0}
\RestoreChapterInTOC

\part{Part 1}
\chapter{Chapter 1}
\label{test3}
\end{document}

结果:

在此处输入图片描述

补充说明:不要将包tocloft与 KOMA-Script 类一起使用。包subfigure已过时。请使用subfigsubcaption代替。

相关内容