fduthesis icon indicating copy to clipboard operation
fduthesis copied to clipboard

theorem-like环境共用计数器

Open YijunYuan opened this issue 4 years ago • 2 comments

现在该模板对不同的theorem-like环境使用了独立的计数器,即如下代码

\documentclass{fduthesis}
\newtheorem{proposition}{命题}
\begin{document}
\begin{theorem}
    111
\end{theorem}
\begin{lemma}
    222
\end{lemma}
\begin{proposition}
    333
\end{proposition}
\end{document}

会生成

定理0.1 111
引理0.1 222
命题0.1 333

而实际在论文写作中我们一般让它们共享一个counter,即实现

定理0.1 111
引理0.2 222
命题0.3 333

如果使用ntheorem自带的\newtheorem命令,我们只需在导言区使用

\newtheorem{theorem}{定理}[section]
\newtheorem{lemma}[theorem]{引理}
\newtheorem{proposition}[theorem]{命题}

即可。然而此模板封装的\newtheorem命令没用提供使用其他环境的counter的选项,模板pre-defined的axiomcorollarydefinition等环境也不支持。

望改进/修复!谢谢!

YijunYuan avatar Sep 25 '20 03:09 YijunYuan

可以绕开本模板的封装直接用 ntheorem 提供的功能:

\documentclass{fduthesis}

% 恢复 \newtheorem 的定义
\expandafter\let\expandafter\newtheorem\csname __fdu_thm_ntheorem_new:w\endcsname

% 重新定义已有的定理环境
\renewtheorem{theorem}{定理}[chapter]
\renewtheorem{lemma}[theorem]{引理}

% 默认没有定义 proposition
\newtheorem{proposition}[theorem]{命题}

\begin{document}
\chapter{测试}
\begin{theorem}
    111
\end{theorem}
\begin{lemma}
    222
\end{lemma}
\begin{proposition}
    333
\end{proposition}
\end{document}

stone-zeng avatar Sep 25 '20 09:09 stone-zeng

可以绕开本模板的封装直接用 ntheorem 提供的功能:

\documentclass{fduthesis}

% 恢复 \newtheorem 的定义
\expandafter\let\expandafter\newtheorem\csname __fdu_thm_ntheorem_new:w\endcsname

% 重新定义已有的定理环境
\renewtheorem{theorem}{定理}[chapter]
\renewtheorem{lemma}[theorem]{引理}

% 默认没有定义 proposition
\newtheorem{proposition}[theorem]{命题}

\begin{document}
\chapter{测试}
\begin{theorem}
    111
\end{theorem}
\begin{lemma}
    222
\end{lemma}
\begin{proposition}
    333
\end{proposition}
\end{document}

That works for me.

YijunYuan avatar Sep 25 '20 09:09 YijunYuan