KOMA 中目录标题的格式

KOMA 中目录标题的格式

我在其他帖子中读到过,我不应该将KOMA和结合起来tocloft。因此,我重写了序言,这样我就KOMA只用 来格式化我的目录。但是,有一个(可能非常简单的)问题我无法解决。我如何更改目录标题的字体?所有其他章节标题都设置为\addtokomafont{chapter}{\fontsize{11.9pt}{11.9pt}\selectfont\uppercase}。但是,我不知道如何更改标题目录(或者内容目录德语中也有相应的用法),因此它看起来就像章 1。我检查了 KOMA 脚本本身的文档,并阅读了我能在网上找到的关于类似问题的所有帖子。其中大多数涉及目录条目的格式,而不是标题本身。这是一个 MWE:

\documentclass[twoside, fontsize=10.2pt, listof=nochaptergap, toc=chapterentrywithdots, toc=flat]{scrbook}

%======================================
% === Papierformat ===
\usepackage[paperwidth=17cm, paperheight=24cm, %seitengrösse
outer=2.7cm, inner=2.4cm, top=2.5cm,bottom=2.5cm, %seitenränder
headsep=0.62cm]{geometry} %abstand von kopfzeile zu text
\setlength{\textheight}{19cm} \setlength{\textwidth}{11.9cm} %satzspiegel definieren

% === Schriftart ===
\usepackage{fontspec}
\setmainfont{Times New Roman}

% === Einzüge ===
\setlength\parindent{6mm}

%======================================
% === language packages ===
\usepackage[ngerman]{babel}
% #russian nicht gefunden
% #griechisch fehlt greek.polutonik,russian,

%======================================
% === testing ===
\usepackage{showframe}
\usepackage{blindtext}

%======================================
% === headings  ===
\renewcommand*{\raggedsection}{\centering} %Überschriften global zentrieren
\setkomafont{disposition}{\selectfont} %dieselbe Schriftart in Überschriften

%%kapiteltitel anpassen mit entsprechender grösse, grossbuchstaben bzw. kursivsetzung und linksausrichtung
\addtokomafont{chapter}{\fontsize{11.9pt}{11.9pt}\selectfont\uppercase} 
\addtokomafont{section}{\fontsize{10.2pt}{11.9pt}\selectfont\uppercase}
\addtokomafont{subsection}{\fontsize{10.2pt}{11.9pt}\selectfont}
\addtokomafont{subsubsection}{\fontsize{10.2pt}{11.9pt}\selectfont\itshape} 
\addtokomafont{paragraph}{\fontsize{10.2pt}{11.9pt}\selectfont\raggedright} 

\RedeclareSectionCommand[ %%zusätzliche Abstände vor und nach Titeln, damit am anfang des textes kein einzug steht, könnte man afterindent=false ergänzen, aber das scheint sich auf die folgetitel auszuwirken
afterindent=false,
  beforeskip=3\baselineskip,
  afterskip=1\baselineskip]{chapter}
\RedeclareSectionCommand[
afterindent=false,
  beforeskip=2\baselineskip,
  afterskip=1\baselineskip]{section}
\RedeclareSectionCommand[
afterindent=false,
  beforeskip=2\baselineskip,
  afterskip=1\baselineskip]{subsection}
\RedeclareSectionCommand[
afterindent=false,
  beforeskip=2\baselineskip,
  afterskip=1\baselineskip]{subsubsection}
\RedeclareSectionCommand[
afterindent=false,
  beforeskip=2\baselineskip,
  afterskip=1\baselineskip]{paragraph}


%======================================
%======================================
%======================================
\begin{document}
\setcounter{page}{5}


\setcounter{secnumdepth}{4} % bis und mit Subsubsection nummerieren
\setcounter{tocdepth}{4} % bis und mit Paragraph

\tableofcontents

\cleardoublepage

\mainmatter

\setcounter{page}{19}

\chapter{Kapitel 1}

\section{Titel 1}

\blindtext

\subsection{Subtitel 1}

\blindtext

\chapter{Kapitel 2}

\section{Titel 2}

\blindtext

\subsection{Subtitel 2}

\blindtext

\end{document}

答案1

不要在或 的参数中使用\makeuppercase\MakeUppercase或。请注意,那里只能使用字体设置。\raggedright\addtokomafont\setkomafont

您可以重新定义\chapterlinesformat\sectionlinesformat以获得所需的结果:

\NewCommandCopy{\originalchapterlinesformat}{\chapterlinesformat}
\NewCommandCopy{\originalsectionlinesformat}{\sectionlinesformat}
\RenewDocumentCommand{\chapterlinesformat}{ m m m }{%
  \Ifstr{#1}{chapter}
    {\originalchapterlinesformat{#1}{#2}{\MakeUppercase{#3}}}
    {\originalchapterlinesformat{#1}{#2}{#3}}%
}
\RenewDocumentCommand{\sectionlinesformat}{ m m m m }{%
  \Ifstr{#1}{paragraph}{\raggedright}{}%
  \Ifstr{#1}{section}
    {\originalsectionlinesformat{#1}{#2}{#3}{\MakeUppercase{#4}}}
    {\originalsectionlinesformat{#1}{#2}{#3}{#4}}%
}

在此处输入图片描述

例子:

\documentclass[twoside, fontsize=10.2pt, DIV=calc, listof=nochaptergap, toc=chapterentrywithdots, toc=flat]{scrbook}

%======================================
% === Papierformat ===
\usepackage[
  paperwidth=17cm, paperheight=24cm, %seitengrösse
  outer=2.7cm, inner=2.4cm, top=2.5cm,bottom=2.5cm, %seitenränder
  headsep=0.62cm,
  %textheight=19cm,textwidth=11.9cm% over-specification
]{geometry} %abstand von kopfzeile zu text
%\setlength{\textheight}{19cm} \setlength{\textwidth}{11.9cm} %satzspiegel nicht an geometry vorbei ändern!!

% === Schriftart ===
\usepackage{fontspec}
\setmainfont{Times New Roman}

% === Einzüge ===
\setparsizes{6mm}{0pt}{0pt plus 1fil}% do not change \parindent manually

%======================================
% === language packages ===
\usepackage[ngerman]{babel}

%======================================
% === testing ===
\usepackage{showframe}
\usepackage{blindtext}

%======================================
% === headings  ===
\renewcommand*{\raggedsection}{\centering} %Überschriften global zentrieren
\setkomafont{disposition}{\normalfont\normalsize\normalcolor} %dieselbe Schriftart in Überschriften

%%kapiteltitel anpassen mit entsprechender grösse, grossbuchstaben bzw. kursivsetzung und linksausrichtung
\addtokomafont{chapter}{\fontsize{11.9pt}{11.9pt}\selectfont}
\addtokomafont{section}{\fontsize{10.2pt}{11.9pt}\selectfont}
\addtokomafont{subsection}{\fontsize{10.2pt}{11.9pt}\selectfont}
\addtokomafont{subsubsection}{\fontsize{10.2pt}{11.9pt}\selectfont\itshape}
\addtokomafont{paragraph}{\fontsize{10.2pt}{11.9pt}\selectfont}

\NewCommandCopy{\originalchapterlinesformat}{\chapterlinesformat}
\NewCommandCopy{\originalsectionlinesformat}{\sectionlinesformat}
\RenewDocumentCommand{\chapterlinesformat}{ m m m }{%
  \Ifstr{#1}{chapter}
    {\originalchapterlinesformat{#1}{#2}{\MakeUppercase{#3}}}
    {\originalchapterlinesformat{#1}{#2}{#3}}%
}
\RenewDocumentCommand{\sectionlinesformat}{ m m m m }{%
  \Ifstr{#1}{paragraph}{\raggedright}{}%
  \Ifstr{#1}{section}
    {\originalsectionlinesformat{#1}{#2}{#3}{\MakeUppercase{#4}}}
    {\originalsectionlinesformat{#1}{#2}{#3}{#4}}%
}

\RedeclareSectionCommand[
  afterindent=false,
  beforeskip=3\baselineskip,
  afterskip=1\baselineskip]{chapter}
\RedeclareSectionCommands[
  afterindent=false,
  beforeskip=2\baselineskip,
  afterskip=1\baselineskip]{section,subsection,subsubsection,paragraph}

\setcounter{secnumdepth}{\subsubsectionnumdepth} % bis und mit Subsubsection nummerieren
\setcounter{tocdepth}{\paragraphtocdepth} % bis und mit Paragraph

%======================================
%======================================
%======================================
\begin{document}
\frontmatter
\tableofcontents

\mainmatter
\Blinddocument
\end{document}


补充说明:

请勿更改设置之外的\textheight内容。否则,它们将导致过度规范。\textwidthgeometry

请勿\parindent手动更改。

答案2

您需要添加

\renewcaptionname{ngerman}{\contentsname}{\fontsize{11.9pt}{11.9pt}\selectfont\MakeUppercase <ToC title>}

并使用\MakeUppercase而不是\uppercase

\addtokomafont{chapter}{\fontsize{11.9pt}{11.9pt}\selectfont\MakeUppercase} % 
\addtokomafont{section}{\fontsize{10.2pt}{11.9pt}\selectfont\MakeUppercase} % 

A

b

\documentclass[twoside, fontsize=10.2pt, listof=nochaptergap, toc=chapterentrywithdots, toc=flat]{scrbook}

%======================================
% === Papierformat ===
\usepackage[paperwidth=17cm, paperheight=24cm, %seitengrösse
outer=2.7cm, inner=2.4cm, top=2.5cm,bottom=2.5cm, %seitenränder
headsep=0.62cm]{geometry} %abstand von kopfzeile zu text
\setlength{\textheight}{19cm} \setlength{\textwidth}{11.9cm} %satzspiegel definieren

% === Schriftart ===
\usepackage{fontspec}
\setmainfont{Times New Roman}

% === Einzüge ===
\setlength\parindent{6mm}

%======================================
% === language packages ===
\usepackage[ngerman]{babel}
% #russian nicht gefunden
% #griechisch fehlt greek.polutonik,russian,

\renewcaptionname{ngerman}{\contentsname}{\fontsize{11.9pt}{11.9pt}\selectfont\MakeUppercase Inhaltsverzeichnis} % added <<<<<<<

%======================================
% === testing ===
\usepackage{showframe}
\usepackage{blindtext}

%======================================
% === headings  ===
\renewcommand*{\raggedsection}{\centering} %Überschriften global zentrieren
\setkomafont{disposition}{\selectfont} %dieselbe Schriftart in Überschriften
%
%%%kapiteltitel anpassen mit entsprechender grösse, grossbuchstaben bzw. kursivsetzung und linksausrichtung
\addtokomafont{chapter}{\fontsize{11.9pt}{11.9pt}\selectfont\MakeUppercase} % changed <<<<<<<<<<
\addtokomafont{section}{\fontsize{10.2pt}{11.9pt}\selectfont\MakeUppercase} % changed <<<<<<<<<<<<<,


\addtokomafont{subsection}{\fontsize{10.2pt}{11.9pt}\selectfont}
\addtokomafont{subsubsection}{\fontsize{10.2pt}{11.9pt}\selectfont\itshape} 
\addtokomafont{paragraph}{\fontsize{10.2pt}{11.9pt}\selectfont\raggedright} 

\RedeclareSectionCommand[ %%zusätzliche Abstände vor und nach Titeln, damit am anfang des textes kein einzug steht, könnte man afterindent=false ergänzen, aber das scheint sich auf die folgetitel auszuwirken
afterindent=false,
beforeskip=3\baselineskip,
afterskip=1\baselineskip]{chapter}
\RedeclareSectionCommand[
afterindent=false,
beforeskip=2\baselineskip,
afterskip=1\baselineskip]{section}
\RedeclareSectionCommand[
afterindent=false,
beforeskip=2\baselineskip,
afterskip=1\baselineskip]{subsection}
\RedeclareSectionCommand[
afterindent=false,
beforeskip=2\baselineskip,
afterskip=1\baselineskip]{subsubsection}
\RedeclareSectionCommand[
afterindent=false,
beforeskip=2\baselineskip,
afterskip=1\baselineskip]{paragraph}


%======================================
%======================================
%======================================
\begin{document}
    \setcounter{page}{5}
    
    
    \setcounter{secnumdepth}{4} % bis und mit Subsubsection nummerieren
    \setcounter{tocdepth}{4} % bis und mit Paragraph
    
    \tableofcontents
    
    \cleardoublepage
    
    \mainmatter
    
    \setcounter{page}{19}
    
    \chapter{Kapitel 1}
    
    \section{Titel 1}
    
    \blindtext
    
    \subsection{Subtitel 1}
    
    \blindtext
    
    \chapter{Kapitel 2}
    
    \section{Titel 2}
    
    \blindtext
    
    \subsection{Subtitel 2}
    
    \blindtext
    
\end{document}

用过的 scrbook 2022/10/12 v3.38 KOMA-Script document class (book)

相关内容