我正在使用scrbook
它来排版文档并\part
格式化其各个部分。
默认输出呈现\part{Mytitle}
为
第一部分
我的标题
现在我想去掉“第一部分”后面的句号。在 KOMA-Script 指南中,我只找到了通常在每个部分、章节、节等之后关闭标点符号的选项。
于是我尝试了一下\renewcommand{\thepart}{\Roman{part}}
,但奇怪的是,罗马数字后面仍然加了一个句号。然而,\renewcommand{\thepart}{\arabic{part}}
却\renewcommand{\thepart}{\arabic{part}.}
产生了预期的差异。
那么这里的罗马数字有何特殊之处呢?
答案1
这个问题没有自动的解决方案,但重新定义部分标题的格式并不难。默认为
\newcommand*{\partformat}{\partname~\thepart\autodot}
您只需要重新定义并删除它\autodot
。
\documentclass[numbers=enddot]{scrbook}
\renewcommand*{\partformat}{\partname~\thepart}
\begin{document}
\part{My part}
\chapter{My chapter}
\section{My section}
\part{My part}
\chapter{My chapter}
\section{My section}
\end{document}
答案2
\thepart
KOMA-Script 在默认设置中决定,如果任何章节编号宏( ,,\thechapter
...)使用罗马数字或任何字母,则将使用“结束点” 。
当您改为\thepart
使用时\arabic
,它将自动切换为“无结束点”。
你想要
- 永远没有结束点,或者
- 罗马数字末尾不加点吗?
任何数字都没有结束点
您可以使用numbers
带有值的 class 选项noenddot
。
请参阅
- 第 94 页德语 KOMA-Script 手册,表 3.14,或
- 第 84 页英文版 KOMA-Scrip 手册,表 3.14。
代码
\documentclass[numbers=noenddot]{scrbook}
\begin{document}
\part{Mytitle}
\chapter{My other title with no end dot}
\end{document}
零件编号中没有结束点
如果您只希望零件编号后面不带点,而其他所有部分编号后面都带一,那么 KOMA-Script 不提供此类接口。
我的建议:
使用默认设置numbers
(即auto
;因为\thepart
仍然使用\Roman
所有其他部分编号无论哪种方式都会得到点)并覆盖\partformat
:
\renewcommand*{\partformat}{\partname~\thepart}
%\newcommand*{\partformat}{\partname~\thepart\autodot}% <- original defintion in scrbook.cls
这将从\autodot
定义中删除。
代码
\documentclass{scrbook}
\renewcommand*{\partformat}{\partname~\thepart}
\begin{document}
\part{Mytitle}
\chapter{My other title with an end dot}
\end{document}