定理和章节末尾带有点

定理和章节末尾带有点

我希望在章节编号末尾和定理编号末尾加点。

我尝试使用类似的东西:

\documentclass{report}
\usepackage{amsthm}

\newtheorem{definition}{Definicja}[chapter]

\renewcommand{\thechapter}{\arabic{chapter}.}
\renewcommand{\thesection}{\thechapter\arabic{section}.}

\begin{document}

    %EDIT
    \tableofcontents
    %END EDIT

    \chapter{Chapter}
    \section{Section}
    \begin{definition}
        Some content
    \end{definition}    
\end{document}

但定理看起来像这样(两个点):
在此处输入图片描述

如何删除定理中章节数后的这个点,并在定理末尾添加点。应该是:Definicja 2.1.

答案1

要仅在章节标题中的章节号后添加一个点,您需要修补\@makechapterhead

\usepackage{etoolbox}
\makeatletter
\patchcmd{\@makechapterhead}% <cmd>
  {\thechapter}% <search>
  {\thechapter.}% <replace>
  {}{}% <success><failure>
\makeatother

要仅在标题中的(任何)章节编号后添加一个点,您可以更新\@seccntformat

\makeatletter
\renewcommand{\@seccntformat}[1]{\csname the#1\endcsname.\quad}
\makeatother

下定义的定理的默认显示amsthm是以点为结尾的数字。

这是一个完整的最小示例,重点突出上述内容:

在此处输入图片描述

\documentclass{report}

\usepackage{amsthm}

\newtheorem{definition}{Definicja}[chapter]

%\renewcommand{\thechapter}{\arabic{chapter}}% Default
%\renewcommand{\thesection}{\thechapter.\arabic{section}}% Default

\usepackage{etoolbox}
\makeatletter
\patchcmd{\@makechapterhead}% <cmd>
  {\thechapter}% <search>
  {\thechapter.}% <replace>
  {}{}% <success><failure>
\renewcommand{\@seccntformat}[1]{\csname the#1\endcsname.\quad}
\makeatother

\begin{document}

\setcounter{chapter}{6}% Just for this example
\chapter{Chapter}

\setcounter{section}{7}% Just for this example
\section{Section}

\setcounter{definition}{8}% Just for this example
\begin{definition}
Some content
\end{definition}

\end{document}

相关内容