我正在编写一份包含多个章节和三个附录的文档。章节分为几节,而附录则没有:这三个附录中的每一个都很短,不需要分成几节。结果的全局编号是整个文档中按节进行的:
\documentclass[a4paper,10pt,twoside, DIV=9]{scrbook}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[english]{varioref}
\usepackage{amsmath,amssymb, amsthm, mathtools, amsfonts}
\theoremstyle{plain}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{corollary}[theorem]{Corollary}
\theoremstyle{definition}
\newtheorem{definition}{Definition}[section]
\newtheorem{example}{Example}[section]
\theoremstyle{remark}
\newtheorem{remark}{Remark}[section]
这会产生一个问题,即附录中的定理被编号为“定理 A.0.2”、“命题 B.0.17”等等,因为 Latex 将章节缺失解释为章节零。这些 $0$ 没有意义。我想摆脱它们,或者换句话说,将结果按章节编号,只在附录中,将前面的例子转换为“定理 A.2”和“命题 B.17”。我该怎么做?
(在有人问之前:不,我不想将附录做成章节的部分,它们必须保持分开并成为章节)
答案1
您可以\thetheorem
根据当前节号是否为正数进行条件定义。
\documentclass[a4paper,10pt,twoside, DIV=9]{scrbook}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[english]{varioref}
\usepackage{amsmath,amssymb, amsthm, mathtools, amsfonts}
\theoremstyle{plain}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{corollary}[theorem]{Corollary}
\renewcommand{\thetheorem}{%
\ifnum\value{section}>0
\thesection.%
\else
\thechapter.%
\fi
\arabic{theorem}%
}
\theoremstyle{definition}
\newtheorem{definition}{Definition}[section]
\newtheorem{example}{Example}[section]
\theoremstyle{remark}
\newtheorem{remark}{Remark}[section]
\begin{document}
\chapter{Title}
\section{Title}
\begin{theorem}
A theorem
\end{theorem}
\appendix
\chapter{Title of appendix}
\begin{theorem}
A theorem in the appendix
\end{theorem}
\end{document}
如果附录中有定义和示例,则可能需要以类似的方式定义\thedefinition
和。\theexample