我曾经titlesec
为一本中文书籍定义过章节标题。但是,从 texlive 2020 开始,它与 Koma Script 不兼容titlesec
(在我的特定设置中,我无法生成一个显示冲突的最小示例)。我想摆脱它,titlesec
但我不知道如何达到效果。我正在寻找的是将章节编号放在标题中间的东西:“第 5 节”。
\documentclass{scrbook}
\usepackage{titlesec}
\titleformat{\chapter}[block]{\center\Large\bfseries}{Chapter\thechapter{}Number}{20pt}{}
\titleformat{\appendix}[block]{\center\Large\bfseries}{\appendixname}{20pt}{}
\titleformat{\section}[block]{\large\bfseries}{\thesection}{10pt}{}
\titleformat{\tableofcontents}[block]{\center\Large\bfseries}{Some special string}{20pt}{}
\titleformat{\part}[block]{\center\Large\bfseries}{Part \thepart{} Number}{20pt}{}
\begin{document}
\tableofcontents
\clearpage
\part{A part}
\chapter{Introduction}
\section{foo}
\section{bar}
\end{document}
答案1
我不明白该做什么,\titleformat{\appendix}
也不\titleformat{\tableofcontents}
明白应该做什么:这两者都不\appendix
是\tableofcontents
分段命令。
您的\titleformat
宏\part
,\chapter
和\section
可以替换为
\renewcommand*{\partformat}{Part \thepart{} Number\hspace{20pt}}
\renewcommand*{\partheadmidvskip}{}
\renewcommand*{\chapterformat}{\chapapp \thechapter Number\hspace{20pt}}
\renewcommand*{\raggedchapter}{\centering}
\renewcommand*{\sectionformat}{\thesection\hspace{10pt}}
\addtokomafont{disposition}{\rmfamily}
\setkomafont{partnumber}{\Large}
\setkomafont{part}{\Large}
\setkomafont{chapter}{\Large}
\setkomafont{section}{\large}
例子:
\documentclass{scrbook}
\renewcommand*{\partformat}{Part \thepart{} Number\hspace{20pt}}
\renewcommand*{\partheadmidvskip}{}
\renewcommand*{\chapterformat}{\chapapp \thechapter Number\hspace{20pt}}
\renewcommand*{\raggedchapter}{\centering}
\renewcommand*{\sectionformat}{\thesection\hspace{10pt}}
\addtokomafont{disposition}{\rmfamily}
\setkomafont{partnumber}{\Large}
\setkomafont{part}{\Large}
\setkomafont{chapter}{\Large}
\setkomafont{section}{\large}
\begin{document}
\tableofcontents
\part{A part}
\chapter{Introduction}
\section{foo}
\section{bar}
\end{document}
答案2
尝试以下定义\phantom....
\documentclass{scrartcl}
\usepackage{titlesec}
% Incorrect ToC link to \addsec
% \titleformat{\section}{\Huge\sffamily}{\thesection}{0.5em}{}
% Correct ToC link to \addsec
\titleformat{\section}{\Huge\sffamily}{\thesection}{0.5em}{\phantomsection}
\usepackage{hyperref}
\begin{document}
\tableofcontents
\clearpage
\section{foo}
\clearpage
\addsec{bar}
\end{document}