我想要的是
\newtheorem{thm}{Theorem}
\begin{thm} A \end{thm}
\begin{thm} B \end{thm}
\begin{thm} C \end{thm}
最终产生
Theorem 1 A.
Theorem 2 B.
Theorem 3 C.
我想要的是:
Theorem 3 A.
Theorem 2 B.
Theorem 1 C.
为什么会想要这种疯狂的事情?
我正在用 LaTeX 记录我正在考虑的想法。
我希望所有东西都按时间倒序排列(即最新的想法排在第一位,最旧的想法排在最后)。
现在,我希望编号在各个版本中都保持有效 - 即,当我添加新定理时,我希望旧定理 20 保持为定理 20 [因此关于定理 20 的所有讨论不会突然被错误标记。]
答案1
如果你走的话
\let\oldthm\thm
\def\thm{\addtocounter{thm}{-2}\oldthm}
它会倒数,你需要
\setcounter{thm}{4}
在开始时,可以手动进行,或者通过计算上次使用的 thm 数量并从上次运行中自动设置。
自动重置的完整文档
\documentclass{article}
\usepackage{amsthm}
\newtheorem{thm}{Theorem}
\let\oldthm\thm
\def\thm{\addtocounter{thm}{-2}\oldthm}
\makeatletter
\def\finalthm{0}
\AtEndDocument{%
\immediate\write\@auxout{%
\string\gdef\string\finalthm{\the\value{thm}}}%
}
\AtBeginDocument{%
\setcounter{thm}{\startthm}
\addtocounter{thm}{-\finalthm}
\stepcounter{thm}%
\immediate\write\@auxout{%
\string\gdef\string\startthm{\the\value{thm}}}%
}
\makeatother
\begin{document}
\begin{thm} A \end{thm}
\begin{thm} B \end{thm}
\begin{thm} C \end{thm}
\end{document}