amslatex 定理编号

amslatex 定理编号

我正在写一份报告,里面有正文练习和章末练习。我希望所有练习都按顺序编号。我希望正文练习以斜体字“练习”开头,然后是编号。对于章末练习,我希望不是前面有“锻炼”两个字,只是编号。

我尝试使用 amstext 中的 \theoremstyle 来执行此操作,但编号不正确。这是一个最小(非)工作示例:

\begin{document}
\section{First section}
Cite the second exercise  \ref{two}.  Cite the third exercise \ref{three}.

\begin{exer}  \label{one}   First exercise.    \end{exer}

End of Chapter Exercises

\stepcounter{exer}  \theexer.  \label{two}   Second Exercise.

\stepcounter{exer}  \theexer.  \label{three} Third Exercise.
\end{document}

当我运行此代码时,我最终得到输出

Cite the second exercise 1.  Cite the third exercise 1.

Exercise 1.  First exercise.

End of Chapter Exercises.

2.  Second Exercise.

3.  Third Exercise.

这是不正确的。如果我将第二和第三个练习的 latex 代码替换为

\begin{exer}  \label{two} Second exercise.  \end{exer}

\begin{exer}  \label{three}  Third exercise.  \end{exer}

那么编号就会正确显示,但不是我需要的格式。

我真的很困惑。非常感谢您的帮助。谢谢!

答案1

使用\refstepcounter而不是\stepcounter,以便设置要引用的适当值。

另一方面,我更喜欢一种更抽象的方法:

\documentclass{article}
\usepackage{amsmath,amsthm}

\theoremstyle{remark}
\newtheorem{exer}{Exercise}

\newtheoremstyle{endchapterexer}
  {0pt}        % ABOVESPACE
  {0pt}        % BELOWSPACE
  {\upshape}   % BODYFONT
  {0pt}        % INDENT (empty value is the same as 0pt)
  {\upshape}   % HEADFONT
  {.}          % HEADPUNCT
  { }          % HEADSPACE
  {\thmnumber{#2}} % CUSTOM-HEAD-SPEC
\theoremstyle{endchapterexer}
\newtheorem{eexer}[exer]{}


\begin{document}

\section{First section}

Cite the second exercise  \ref{two}.  Cite the third exercise \ref{three}.

\begin{exer}\label{one}
First exercise.
\end{exer}

\subsection*{End of Chapter Exercises}

\begin{eexer}\label{two}
Second Exercise.
\end{eexer}

\begin{eexer}\label{three}
Third Exercise.
\end{eexer}

\end{document}

在此处输入图片描述

相关内容