KOMA-Script scrbook:如何删除部分后的句号

KOMA-Script scrbook:如何删除部分后的句号

我正在使用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

\thepartKOMA-Script 在默认设置中决定,如果任何章节编号宏( ,,\thechapter...)使用罗马数字或任何字母,则将使用“结束点” 。

当您改为\thepart使用时\arabic,它将自动切换为“无结束点”。

你想要

  • 永远没有结束点,或者
  • 罗马数字末尾不加点吗?

任何数字都没有结束点

您可以使用numbers带有值的 class 选项noenddot
请参阅

代码

\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}

输出(两者)

在此处输入图片描述

相关内容