如何定义一个独立于部分的新计数器

如何定义一个独立于部分的新计数器

我正在尝试在论文中创建练习,其中的编号将如人们所期望的那样(1、2、3、...)。但是,在定义新的计数器和定理样式时:

\documentclass{article}
\usepackage{amsthm}
\newtheoremstyle{exercise}
  {\topsep}   % above space
  {\topsep}   % below space
  {\it}  % body font
  {0pt}       % indent
  {\bfseries} % head font
  {}         % head punctuation
  {5pt plus 1pt minus 1pt} % HEADSPACE
  {}          % CUSTOM-HEAD-SPEC

\theoremstyle{exercise}
\newcounter{exercises}
\def\theexercises{}

\newtheorem{exer}{Exercise}[exercises]

\begin{document}

\begin{exer}\end{exer}

\end{document}

此代码导致计数器的值前面带有句点,但没有行

在此处输入图片描述

如何去掉计数器前面的句号?另外,如果有帮助的话,没有这行

\def\theexercises{}

计数器将在句点之前显示前导零。

答案1

\newtheorem命令有两个互斥的可选参数,它们的含义取决于位置:

  1. \newtheorem{foo}{Foo}定义环境foo,命名计数器foo并赋予其权利Foo

  2. \newtheorem{foo}[otherfoo]{Foo}定义环境foo,使用(共享)已经存在的计数器otherfoo和标题Foo

  3. \newtheorem{foo}{Foo}[otherfoo]foo按照 1) 中的定义进行定义,但告诉定义由 驱动的计数器otherfoo,即,如果是步进的,则重置它otherfoo(类似于定义的\newcounter{foo}[otherfoo],比较标准章节/部分行为)


因此,要么使用版本 1),要么使用版本 2)。如果环境需要一个新的计数器,则首选第一个版本;如果计数器已经存在,则首选第二个版本。

exercises您可以通过明确将计数器设置为来看到差异19,这只是一个例子。


\documentclass{article}
\usepackage{amsthm}
\newtheoremstyle{exercise}
  {\topsep}   % above space
  {\topsep}   % below space
  {\itshape}  % body font
  {0pt}       % indent
  {\bfseries} % head font
  {}         % head punctuation
  {5pt plus 1pt minus 1pt} % HEADSPACE
  {}          % CUSTOM-HEAD-SPEC

\theoremstyle{exercise}
\newcounter{exercises}


\setcounter{exercises}{19} % Just for demonstration

\newtheorem{exer}[exercises]{Exercise}

\newtheorem{exers}{Exer}


\begin{document}

\begin{exer}\end{exer}


\begin{exers}
This is the exers env with counter number \theexers
\end{exers}


\end{document}

在此处输入图片描述

相关内容