一个简单的问题:是否可以使用某种命令来更改部分/章节/部分的名称?
例如,我有一章名为“重要的事情”。我使用命令创建了此章\chapter{Important Things}
。这将打印该章的标题并在目录中添加一个条目。
我猜想有关章节名称的信息已存储,可以通过类似\chaptername
或\chaptertitle
之类的命令以某种方式访问。因此,我们假设“重要的事情”是章节名称的当前“值”。如果我现在想将此“值”更改为“不重要的事情”,该怎么办?为此,我不能使用\chapter{Unimportant Things}
,因为如果我使用它,那么我会更改章节名称的值,但我也会打印章节标题。
也许我还可以问以下问题:我可以创建一个部分/章节/部分而不打印标题并且不在目录中有条目吗?
我不确定我是否表达清楚了。
有人要求我提供 MWE。您会看到,新部分后的页眉继续带有该部分的节标题和章节标题以前的部分。
%!TEX TS-program = lualatexmk
\documentclass{scrbook}
\usepackage{fmtcount}
\usepackage[noindentafter]{titlesec}
\addtokomafont{part}{\thispagestyle{empty}\Huge\textsc}
\addtokomafont{partnumber}{\Huge\textsc}
\renewcommand*{\partformat}{\partname~\numberstring{part}}
\titleformat{\chapter}[display]{\fillast}{\Large\textsc{\chaptertitlename~\numberstring{chapter}}}{1ex minus .1ex}{\LARGE\emph}
\titlespacing{\chapter}{1pc}{*3}{*20}[1pc]
\titleformat{\section}[block]{\fillast\large}{\thesection}{.5em}{\large\textsc}
\titlespacing{\section}{1pc}{*6}{*2}[1pc]
\titleformat{\subsection}[block]{\fillast\itshape}{\thesubsection}{.5em}{}
\titlespacing{\subsection}{1pc}{*3}{*2}[1pc]
\titleformat{\subsubsection}[block]{\fillast}{}{0pt}{}
\titlespacing{\subsubsection}{1pc}{*3}{*2}[1pc]
\usepackage{titleps}
\newpagestyle{chapter_and_section}{
\sethead[\thepage][\emph{\chaptertitle}][]{}{\emph{\sectiontitle}}{\thepage}
\setfoot[][][]{}{}{}
}
\pagestyle{chapter_and_section}
\newpagestyle{first_page_of_chapter}{ % here is the definition of the first page of a chapter
\sethead[][][]{}{}{}
\setfoot[][\thepage][]{}{\thepage}{}
}
\assignpagestyle{\chapter}{first_page_of_chapter}
\begin{document}
\addpart{Some Things}
\chapter{Some Stuff}
\section{More Stuff}
Text.\newpage
Text.\newpage
Text.\newpage
Text.\newpage
\addpart{Important Things}
Text.\newpage
Text.\newpage
Text.\newpage
Text.\newpage
\end{document}
答案1
scrlayer-scrpage
使用KOMA-bundle 提供的接口,这应该是您所追求的:
\documentclass{scrbook}
\usepackage{scrlayer-scrpage}
\ohead{\pagemark}
\cehead{\leftmark}
\cohead{\rightmark}
\renewcommand{\chaptermarkformat}{}
\renewcommand{\sectionmarkformat}{}
\begin{document}
\addpart{Some Things}
\chapter{Some Stuff}
\section{More Stuff}
Text.\newpage
Text.\newpage
Text.\newpage
Text.\newpage
\addpart{Important
Things}
Text.\newpage
Text.\newpage
Text.\newpage
Text.\newpage
\end{document}
仅限KOMA
考虑到其他事情的野心不是使用类似titlesec
或titleps
与 KOMA-script 不兼容的包,因为 KOMA-script 有自己的接口。
这里应该就是您想要的,仅使用 KOMA-script 即可。我应该提到,它使用了 KOMA-script v. 3.15 中刚刚引入的功能。
下面我尝试把内容和思考过程分成块,比如先调整章节上方的空间,最后调整章节下方的空间。
\documentclass{scrbook}
%\usepackage{fmtcount}%not needed
\usepackage{blindtext}
\addtokomafont{part}{\Huge\textsc}
\renewcommand{\partpagestyle}{empty}
\addtokomafont{partnumber}{\Huge\textsc}
%dealing with chapters
\KOMAoption{chapterprefix}{true}
\let\raggedchapter\centering%Center all chapterheads
\addtokomafont{disposition}{\normalfont}%removes the bold face
\renewcommand{\chapterheadstartvskip}{\vspace{3ex}}
\addtokomafont{chapterprefix}{\Large\scshape}
\renewcommand{\chapterheadmidvskip}{\par\nobreak\vspace{1ex minus .1ex}}
\setkomafont{chapter}{\LARGE\emph}
\renewcommand{\chapterheadendvskip}{\vspace{20ex}}
%dealing with (sub/subsub)sections
\let\raggedsection\centering%Center all sectioningheads
%all levels have something in common, let's save typing:
\RedeclareSectionCommands[beforeskip=-3ex,
afterskip=2ex]{section,subsection,subsubsection}
\addtokomafont{section}{\large\textsc}
\RedeclareSectionCommand[beforeskip=-6ex]{section}
\addtokomafont{subsection}{\itshape}
\usepackage[automark]{scrlayer-scrpage}
\ohead{\pagemark}
\cehead{\leftmark}
\cohead{\rightmark}
\renewcommand{\chaptermarkformat}{}
\renewcommand{\sectionmarkformat}{}
\ofoot*{}%Clear the outer foot
\cfoot[\pagemark]{}%pagemark in the center only on plain pages
\addtokomafont{pagehead}{\itshape}
%italics instead of slanted
\setkomafont{descriptionlabel}{\usekomafont{disposition}\scshape}
%descriptionlabels will now look a bit pleasing with respect to the headings
\begin{document}
\addpart{Some Things}
\blinddocument
\addpart{Important Things}
\blinddocument
\end{document}
由于您不熟悉该界面,因此可能会有点害怕。但我自己花了更多时间在titlesec
文档中查找哪个空格在哪里。您应该可以轻松找出在哪里更改/跳过哪个空格。
附录:
页头已设置为itshape
但是看起来几乎与之前相同?
每次可以设置或添加到科马方特它将被预设在某处。对于 pagehead 来说,它是\normalfont\slshape
。