我在其他帖子中读到过,我不应该将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
内容。否则,它们将导致过度规范。\textwidth
geometry
请勿\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} %
\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)