重新定义 \theparagraph 后,章节标签中出现多余的句号

重新定义 \theparagraph 后,章节标签中出现多余的句号

我希望文档中的段落用小写字母编号,后面跟着一个句号。因此,我在文档中添加了一行\renewcommand{\theparagraph}{\alph{paragraph}},创建了我想要的编号。但是这样做的副作用是,句号也出现在标签中的章节/部分/浮点数后面(但不是它们的引用!)。

梅威瑟:

\documentclass{scrartcl}
\renewcommand{\theparagraph}{\alph{paragraph}}
\setcounter{secnumdepth}{4}

\begin{document}
\section{Foo}\label{sec:foo}
\ref{sec:foo}
\paragraph{Bar}\label{sec:bar}
\end{document}

生成:

在此处输入图片描述

\theparagraph我注意到,如果我用重新定义,则不会添加这个额外的句点\arabic。此外,它仅在文档第二次编译后出现。

非常感谢任何关于如何摆脱它们的建议。

答案1

这是 KOMA Script 的一个功能,只要在某个级别出现非阿拉伯数字,就会在(所有部分)数字后添加一个句点。引用文档(2021-06-25 第 99-100 页)

根据 DUDEN,如果仅使用阿拉伯数字对章节标题进行编号,则德国的惯例是末尾没有点(参见 [DUD96, R3])。另一方面,如果编号中出现罗马数字或字母,则编号末尾应该有一个点(参见 [DUD96, R4])。KOMA-Script 有一种机制试图自动执行这个有点复杂的规则。结果是通常在分段命令\part\appendix编号之后切换到使用结尾点。此信息保存在文件中.aux并在下次运行 LaTeX 时生效。

有时放置或省略结尾点的机制可能会失败。有时其他语言有不同的规则。因此,您可以使用选项强制使用结尾点numbers=endperiod或使用禁止使用结尾点numbers=noendperiod

请注意,此机制仅在下一次 LaTeX 运行中生效。因此,在尝试使用这些选项强制使用正确的编号格式之前,您应该始终在不修改文档的情况下执行另一次 LaTeX 运行。

如果你想遵守杜登规则,你就什么都不要做。

如果你想去掉句点,可以使用numbers=noendperiod

如果要保留段落标题的句号,您可以另外重新定义\paragraphformat并替换\autodot.以强制使用句号。

\documentclass[numbers=noendperiod]{scrartcl}

\renewcommand*{\theparagraph}{\alph{paragraph}}
\renewcommand*{\paragraphformat}{\theparagraph.\enskip}
\setcounter{secnumdepth}{4}


\begin{document}
\section{Foo}\label{sec:foo}
\ref{sec:foo}
\paragraph{Bar}\label{sec:bar}
\end{document}

1 Foo 1 a. 酒吧

答案2

article那么用代替怎么样scrartcl

在此处输入图片描述

%\documentclass{scrartcl}
\documentclass{article}
\renewcommand{\theparagraph}{\alph{paragraph}}
\setcounter{secnumdepth}{4}

\begin{document}
\section{Foo}\label{sec:foo}
\ref{sec:foo}
\paragraph{Bar}\label{sec:bar}
\paragraph{Barr}\label{sec:barr}

Paragraph~\ref{sec:bar} gives the proof.
Paragraph~\ref{sec:barr} gives an example.
\end{document}

相关内容