scrbook 中的目录缺少标题

scrbook 中的目录缺少标题

对于以下文档,我无法理解为什么目录缺少标题。我还注意到,当我添加 \frontmatter 时,所有章节标题都会消失,章节编号也会变得混乱(第一章似乎变成了第零章)。我该如何解决这个问题,以便目录的标题与每个章节的标题样式相同?顺便问一句,有没有办法修改页眉以省略章节编号?例如,“1. 简介”将简单地变成“简介”。

\documentclass[12pt, a4paper]{scrbook}
\usepackage[left=3cm, right=3cm,top=4.15cm,bottom=4.27cm,showframe]{geometry}
\usepackage{titletoc,chngcntr}
\usepackage{lipsum}
\usepackage{microtype}
\usepackage[utf8]{inputenc}
\usepackage{scrlayer-scrpage}
\usepackage[explicit]{titlesec}


\titleformat{\chapter}
{\normalfont\Large\bfseries}{\thechapter \quad \MakeUppercase{#1}}{.5em}{\vspace{.5ex}}[\titlerule]
\titlespacing*{\chapter}
{0pt}{-12.5pt}{19.5pt}


\titleformat{\section}[block]
{\bfseries}
{\S\ \thesection \enskip}
{\fontdimen2\font}
{#1}
\renewcommand{\thechapter}{\arabic{chapter}.}
\renewcommand{\thesection}{\thechapter\arabic{section}.}

\pagestyle{scrheadings}
\clearpairofpagestyles
\ohead[]{\pagemark}
\lohead[]{\headmark}
\rehead{Title}
\setkomafont{pageheadfoot}{\scshape\footnotesize}% or "\footnotesize" depending on fonts
\automark[chapter]{chapter}
\automark[chapter]{}

\renewcommand{\contentsname}{Whatever}
\begin{document}

\tableofcontents

\chapter{Introduction}
\section{Motivation}
\lipsum
\newpage 
More 
\end{document}

答案1

您对章节格式的重新定义导致了\titleformat这个问题。如果您scrbook用标准类替换,也会出现这种情况book

但是也不建议将titletoctitlesec和 KOMA-Script 类一起使用。因此,这里建议使用 KOMA-Script 命令:

\documentclass[12pt, a4paper,numbers=enddot]{scrbook}
\usepackage[left=3cm, right=3cm,top=4.15cm,bottom=4.27cm,showframe]{geometry}
\usepackage{chngcntr}
\usepackage{lipsum}
\usepackage{microtype}
\usepackage[utf8]{inputenc}
\usepackage{scrlayer-scrpage}

\RedeclareSectionCommand[
  beforeskip=-.25em,
  afterskip=19.5pt,
]{chapter}
\makeatletter
\renewcommand\chapterlinesformat[3]{%
  \ifstr{#1}{chapter}
    {\@hangfrom{#2}{\MakeUppercase{#3}}\vspace{-.25em}\rule{\textwidth}{.4pt}}
    {\@hangfrom{#2}{#3}}%
}
\makeatother

\setkomafont{chapter}{\rmfamily\Large}
\setkomafont{section}{\rmfamily\normalsize}
\renewcommand\sectionformat{\S\ \thesection\autodot\enskip}

\clearpairofpagestyles
\ohead{\pagemark}
\lohead{\headmark}
\rehead{Title}
\setkomafont{pageheadfoot}{\scshape\footnotesize}% or "\footnotesize" depending on fonts
\automark[chapter]{}

\renewcommand{\contentsname}{Whatever}
\begin{document}

\tableofcontents

\chapter{Introduction}
\section{Motivation}
\lipsum[1-50]
\end{document}

在此处输入图片描述

在此处输入图片描述

要删除页眉中的章节编号,请添加

\renewcommand\chaptermarkformat{}

回到序言。

在此处输入图片描述

答案2

问题在于,章节标题是在“如果是编号章节”部分(第三个强制参数)设置的\titleformat,因此在未编号的章节(例如目录)中不会出现任何内容。

解决办法是使用block格式。

在下面的代码中,我将scrbook其改为book,因为 Komascript 类不喜欢titlesec

\documentclass[12pt, a4paper]{book}
\usepackage[
  left=3cm,
  right=3cm,
  top=4.15cm,
  bottom=4.27cm,
  headheight=14.5pt,% <--- don't forget
  showframe,
]{geometry}

%\usepackage[utf8]{inputenc} % not needed with newer LaTeX
%\usepackage{chngcntr} % not needed with newer LaTeX
\usepackage{microtype}
\usepackage{scrlayer-scrpage}
\usepackage{titlesec}
\usepackage{titletoc}

\usepackage{lipsum}

\titleformat{\chapter}[block]
  {\normalfont\Large\bfseries}
  {\thechapter}
  {1em}
  {\MakeUppercase}
  [\titlerule]
\titlespacing*{\chapter}
  {0pt}
  {-12.5pt}
  {19.5pt}

\titleformat{\section}[block]
  {\bfseries}
  {\S\ \thesection}
  {\fontdimen2\font}
  {}

\renewcommand{\thechapter}{\arabic{chapter}.}
\renewcommand{\thesection}{\thechapter\arabic{section}.}

\pagestyle{scrheadings}
\clearpairofpagestyles
\ohead[]{\pagemark}
\lohead[]{\scshape\headmark}
\rehead{Title}

\renewcommand{\contentsname}{Whatever}

\begin{document}

\tableofcontents

\chapter{Introduction}
\section{Motivation}
\lipsum
\clearpage 

More 

\end{document}

在此处输入图片描述

相关内容