我正在尝试在论文中创建练习,其中的编号将如人们所期望的那样(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
命令有两个互斥的可选参数,它们的含义取决于位置:
\newtheorem{foo}{Foo}
定义环境foo
,命名计数器foo
并赋予其权利Foo
\newtheorem{foo}[otherfoo]{Foo}
定义环境foo
,使用(共享)已经存在的计数器otherfoo
和标题Foo
\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}