我使用下面的代码来获取文本和目录中的表单名称:第一章、第二章、第三章、第 1 节、第 1.1 小节:
\renewcommand\thechapter{\Roman{chapter}.}
\renewcommand\thesection{\arabic{section}.}
\renewcommand\thesubsection{\thesection \arabic{subsection}.}
\renewcommand\thesubsubsection{\alph{subsubsection}.}
但是当我使用定理环境时:
\usepackage[all]{xy}
\usepackage[thmmarks]{ntheorem}
\newtheorem{Lemma}{Lemma}[section]
\newtheorem{dl}[Lemma]{Định lý}
我得到的结果是:
我想将双点改为单点,如 1.1.、1.2.,...
答案1
定义
\def\theLemma {\thesection \arabic {Lemma}}
\newtheorem{Lemma}
使用after 。该命令\newtheorem{Lemma}
生成\theLemma
宏,\thesection.\arabic {Lemma}
但您不需要这里的点。
答案2
如果你执行如下指令
\renewcommand\thesection{\arabic{section}.}
由于虚假的额外句号(又称“句号”),不仅Lemma
和dl
环境的标题看起来不正确,而且对节、小节和小节级别标题的交叉引用也会出现虚假的句号。
因此,我建议您采用不同的解决方法,如下面的代码所示。
采用这种方法,您也不需要重新定义\theLemma
、\thedl
等。
\documentclass{report}
\usepackage[vietnamese]{babel}
% Method proposed in "The LaTeX Companion", 2nd ed.:
\makeatletter
\def\@seccntformat#1{\@ifundefined{#1@cntformat}%
{\csname the#1\endcsname\space}% default
{\csname #1@cntformat\endcsname}}% enable individual control
\newcommand\section@cntformat{\thesection.\space} % section
\newcommand\subsection@cntformat{\thesubsection.\space} % subsection
\newcommand\subsubsection@cntformat{\thesubsubsection.\space} % subsection
\makeatother
\usepackage[thmmarks]{ntheorem}
\newtheorem{Lemma}{Lemma}[section]
\newtheorem{dl}[Lemma]{Định lý}
\begin{document}
\chapter{Hello}
\section{World}
\begin{Lemma} Bla bla bla \end{Lemma}
\begin{dl} Bla bla bla \end{dl}
\end{document}
答案3
这取决于您在进行交叉引用时想要什么。
无论如何,由于每个生成的数字都有一个尾随句点,因此引理也应该共享该风格。
\documentclass[a4paper]{report}
\usepackage[vietnamese]{babel}
\usepackage[thmmarks]{ntheorem}
\renewcommand\thechapter{\Roman{chapter}.}
\renewcommand\thesection{\arabic{section}.}
\renewcommand\thesubsection{\thesection \arabic{subsection}.}
\renewcommand\thesubsubsection{\alph{subsubsection}.}
\newtheorem{Lemma}{Lemma}[section]
\renewcommand{\theLemma}{\thesection\arabic{Lemma}.}
\newtheorem{dl}[Lemma]{Định lý}
\begin{document}
\tableofcontents
\chapter{Test}\label{ch:test}
\section{Test}\label{sec:test}
\begin{dl}\label{dl:test}
Test
\end{dl}
\ref{ch:test}
\ref{sec:test}
\ref{dl:test}
\end{document}
如您所见,所有交叉引用都会有尾随句点。如果您不想要它,则需要做更多工作。