我希望在章节编号末尾和定理编号末尾加点。
我尝试使用类似的东西:
\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}