使用 titletoc 删除目录中的前导“部分”编号

使用 titletoc 删除目录中的前导“部分”编号

有没有办法在目录中显示零件名称但不显示数字titletoc

简单地删除\thecontentslabel章节、部分等似乎很容易,但删除部分则不然。

背景:我使用了带星号的变体(\part*{foo}),但由于我还希望parts文档中的某些部分有换行符,并且位于目录和页眉的同一行,因此我需要可选参数,该参数不适用于带星号的变体(请参阅这个问题原因)。

\documentclass[12pt,a4paper,oneside]{scrbook}

\usepackage{titlesec}
\titleformat{\part}[display]{}{}{1em}{\sffamily\huge}

\usepackage{titletoc}
\titlecontents{part}[0em]
    {\vspace{2em}\large\bfseries\sffamily}
    {}{}{}

\begin{document}

\tableofcontents

\part{Introduction}
    Bla

\part[Example 1: Foo]{Example 1:\\Foo}
    Bla

\part[Example 2: Bar]{Example 2:\\Bar}
    Bla

\part{Appendix}
    Bla

\end{document}

答案1

如果你想的话,你不必使用带星号的版本 部分标签显示在目录中。使用此newlinetospace选项,无需使用可选参数来删除标题中的换行符:它会自动转换为目录和标题中的水平空格。

\documentclass[12pt,a4paper,oneside]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}

\usepackage[newlinetospace, newparttoc]{titlesec}

\titleformat{\part}[display]{}{}{1em}{\sffamily\huge}

\usepackage{titletoc}
\titlecontents{part}[0em]
    {\vspace{2em}\large\bfseries\sffamily\relax}
    {\contentslabel[\relax]{0em}}{}{\hfill\contentspage}

\begin{document}

\tableofcontents

\part{Introduction}
    Bla

\part{Example 1:\\Foo}%
    Bla

\part{Example 2:\\Bar}%[
    Bla

\part{Appendix}
    Bla

\end{document} 

在此处输入图片描述

答案2

\documentclass[12pt,a4paper,oneside]{scrbook}

%\usepackage{titlesec}
%\titleformat{\part}[display]{}{}{1em}{\sffamily\huge}

%\usepackage{titletoc}
%\titlecontents{part}[0em]
%    {\vspace{2em}\large\bfseries\sffamily}
%    {}{}{}

\begin{document}

\tableofcontents

\part{Introduction}
    Bla

\addpart[Example 1: Foo]{Example 1:\\Foo}
    Bla

\addpart[Example 2: Bar]{Example 2:\\Bar}
    Bla

\part{Appendix}
    Bla

\end{document}

在此处输入图片描述

相关内容