自动子节枚举

自动子节枚举

对于我们的数学讲座,我一直在硬编码这样的段落

\paragraph*{Definition 1.1.1 (foo)}
\paragraph*{Example 1.1.2}
\paragraph*{Proposition 1.1.3}

我想创建新的命令,例如\definition\lemma\theorem、 ...,用于创建此类段落并处理编号。如果您需要了解,每个命令都嵌套在子部分中。

有什么具体的想法什么是最好的吗?

答案1

不不不。

\setcounter{secnumdepth}{5}应该使你的段落自动带有数字。

等一下,重读这个问题,ntheorem包允许您创建自动编号的新环境(而不是命令)等等。这可能会更好。

以下是这些工作原理的一个简单示例:

\documentclass{article}
\usepackage{ntheorem}
\newtheorem{theorem}{Theorem}[subsection]
\newtheorem{example}{Example}[subsection]
\begin{document}
\section{Foo}

\subsection{First sub}

\begin{theorem}
  Here is a theorem
\end{theorem}
\begin{theorem}
  Another theorem
\end{theorem}

\subsection{Second sub}
\begin{example}
  An example
\end{example}
\begin{theorem}
  A third theorem
\end{theorem}
\end{document}

宣布一个新的定理需要给出环境一个名称,然后为定理类型提供一个名称,该名称将显示并最终(可选)告诉它从哪里获得编号。在本例中,我已告诉和theorem从它们所在的位置example获取编号subsection,但您可以根据需要进行更改。

答案2

您可以使用自己的环境,如下所示:

\documentclass{article}

\newcounter{definition}[section] % counter will reset every section
\renewcommand{\thedefinition}{\thesubsection.\arabic{definition}}
\newenvironment{definition}{\refstepcounter{definition}{\bfseries Definition \thedefinition}}{}
\begin{document}

\section{foo}

\subsection{bar}

\begin{definition}\label{testmylabel}
Here is a definition.
\end{definition}

We see in \ref{testmylabel}.
\end{document}

请注意,通过使用,\refstepcounter您能够使用\label\ref。如果您计划加载任何其他定理包(例如ntheorem),您可能希望对定义使用不同的名称,例如“mydefinition”,以避免潜在的冲突。

以下是您请求的多功能环境

\documentclass{article}
\usepackage{ifthen}

\newcounter{definition}[section]
\renewcommand{\thedefinition}{\thesubsection.\arabic{definition}}
\newenvironment{definition}{\refstepcounter{definition}{\bfseries Definition \thedefinition}}{}

\newenvironment{flexible}[1]{\refstepcounter{definition}%
\ifthenelse{\equal{#1}{def}}%
{%
    {\bfseries Definition \thedefinition}%
}%
{%
\ifthenelse{\equal{#1}{prop}}%
{%
    {\bfseries Proposition \thedefinition}%
}{}%
}%
}%
{} 
\begin{document}

\section{foo}

\subsection{bar}

\begin{definition}\label{testmylabel}
Here is a definition.
\end{definition}

We see in \ref{testmylabel}.

\begin{flexible}{def}
some text
\end{flexible}

\begin{flexible}{prop}
some text
\end{flexible}

\end{document}

相关内容