diff --git a/docs/njuthesis-sample.tex b/docs/njuthesis-sample.tex
index 58638ed6f79cbeb155cbb467b4bc216aec28df12..ace34c1dd7456e6fee29961c14e763c212f5beca 100644
--- a/docs/njuthesis-sample.tex
+++ b/docs/njuthesis-sample.tex
@@ -1,5 +1,5 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% njuthesis 绀轰緥妯℃澘 v1.0.0 2022-08-01
+% njuthesis 绀轰緥妯℃澘 v1.0.0 2022-08-06
 % https://github.com/nju-lug/NJUThesis
 %
 % 璐$尞鑰�
diff --git a/docs/njuthesis-setup.def b/docs/njuthesis-setup.def
index ab94d7b310e2e39f51a4a57f1e5684377f5bb19a..300cdfec1d8d0d832a13bfd9e8f33471f9f570a4 100644
--- a/docs/njuthesis-setup.def
+++ b/docs/njuthesis-setup.def
@@ -1,4 +1,4 @@
-% njuthesis 鍙傛暟璁剧疆鏂囦欢 v1.0.0 2022-08-02
+% njuthesis 鍙傛暟璁剧疆鏂囦欢 v1.0.0 2022-08-06
 
 % 涓€浜涙彁閱掞細
 %   1. \njusetup 鍐呴儴鍗冧竾涓嶈鏈夌┖琛�
@@ -208,5 +208,19 @@
     % uppercase-greek    = upright|italic
 }
 
+% theorem 绫荤敤浜庤缃畾鐞嗙被鐜鏍峰紡锛屽姛鑳借瑙佹墜鍐�
+\njusetup[theorem]{
+    % define,
+    % 榛樿鍒涘缓鍐呯疆鐨勪竷绉嶅畾鐞嗙幆澧�
+    %
+    % style       = remark,
+    % header-font = \sffamily \bfseries ,
+    % body-font   = \ttfamily ,
+    % qed-symbol  = \ensuremath { \male },
+    % counter     = section,
+    % type        = {...}
+    % 浠ヤ笂璁剧疆椤瑰湪璋冪敤 theorem/define 鍚庣敓鏁�
+}
+
 % footnote 绫荤敤浜庤缃剼娉ㄦ牱寮忥紝鍔熻兘璇﹁鎵嬪唽
 % \njusetup[footnote/style]{pifont}
diff --git a/source/njuthesis.dtx b/source/njuthesis.dtx
index ebb553844d70c31ff8749519ff3ab046ccb4e638..149c6daabb4228427c425a9e801e4396a9569a07 100644
--- a/source/njuthesis.dtx
+++ b/source/njuthesis.dtx
@@ -118,7 +118,7 @@ To produce the documentation run the original source files ending with
 %<*!(driver|install)>
 % ^^A 璇氳€€鐧惧豢锛岄泟鍒涗竴娴�
 % ^^A 鍗椾含澶у涓€鐧句簩鍗佸懆骞村崕璇為個鎮ㄥ叡瑗勭洓涓撅紒
-%<+!driver>\GetIdInfo $Id: njuthesis.dtx 1.0.0 2022-08-01 16:20:00
+%<+!driver>\GetIdInfo $Id: njuthesis.dtx 1.0.0 2022-08-06 00:40:00
 %<+!driver>  +0800 NJU LUG <git+nju-lug-email-3104-issue-@yaoge123.cn>$
 %<class>  {Thesis template for Nanjing University}
 %<class>\ProvidesExplClass{njuthesis}
@@ -334,7 +334,7 @@ To produce the documentation run the original source files ending with
 % \thanks{E-mail: \href{mailto:git+nju-lug-email-3104-issue-@yaoge123.cn}
 %   {git+nju-lug-email-3104-issue-@yaoge123.cn}}}
 %
-% \date{v1.0.0 \quad 2022-08-01}
+% \date{v1.0.0 \quad 2022-08-06}
 %
 % \changes{v0.1}{2021/09/04}{寮€濮嬪紑鍙戙€倉
 % \changes{v0.2}{2021/09/07}{鍒濇鎼缓浜嗗彲鐢ㄧ殑妯℃澘銆倉
@@ -1029,34 +1029,33 @@ To produce the documentation run the original source files ending with
 % \begin{function}[added=2022-08-03]{
 %   biblatex,
 %   cleveref,
-%   create-theorem,
+%   ntheorem,
 %   enumitem,
 %   footmisc,
 %   unicode-math}
 %   \begin{syntax}
 %     biblatex       = <\TTF>
 %     cleveref       = <\TTF>
-%     create-theorem = <\TFF>
+%     ntheorem       = <\TTF>
 %     enumitem       = <\TTF>
 %     footmisc       = <\TTF>
 %     unicode-math   = <\TTF>
 %   \end{syntax}
-% 鏄惁榛樿杞藉叆鏌愪簺瀹忓寘锛岄櫎鍘� \pkg{create-theorem} 榛樿鍧囨槸銆�
-% 杩欓噷瀹忓寘鍚嶅拰閫夐」鍚嶆槸涓€鑷寸殑銆�
+% 鏄惁榛樿杞藉叆鏌愪簺瀹忓寘锛岄粯璁ゅ潎鏄€傞€夐」鍚嶅拰瀹忓寘鍚嶆槸涓€鑷寸殑銆�
 % \end{function}
 %
 % \begin{function}[added=2022-08-03]{minimal}
 %   \begin{syntax}
 %     <minimal>
 %   \end{syntax}
-% 涓嶈嚜鍔ㄨ浇鍏ユ墍鏈変笂杩板畯鍖呯殑鏈€灏忓寲妯″紡銆�
+% 鏈€灏忓寲妯″紡锛岀鐢ㄦ墍鏈変笂杩板畯鍖呫€�
 % \end{function}
 %
 % 鏈ā鏉垮唴缃簡涓€绯诲垪瀹忓寘浠ヨ繘琛屽姛鑳芥墿灞曘€傝繖浜涘畯鍖呬负锛�
 % \begin{description}
 %   \item[\pkg{biblatex}] 澶嶆潅鍙傝€冩枃鐚暟鎹殑澶勭悊銆�
 %   \item[\pkg{cleveref}] 鎸夋潵婧愮被鍨嬭嚜鍔ㄥ鐞嗗紩鐢ㄦ爣绛俱€�
-%   \item[\pkg{create-theorem}] 浣跨敤 \LaTeX3 缂栧啓鐨勫畾鐞嗙被鐜瀹氬埗鐣岄潰銆�
+%   \item[\pkg{ntheorem}] 瀹氱悊绫荤幆澧冨畾鍒躲€�
 %   \item[\pkg{enumitem}] 鍒楄〃鐜鏍峰紡瀹氬埗銆�
 %   \item[\pkg{footmisc}] 鑴氭敞鏍峰紡瀹氬埗銆�
 %   \item[\pkg{unicode-math}] 鏀寔 Unicode 鏁板瀛椾綋銆�
@@ -1736,13 +1735,75 @@ To produce the documentation run the original source files ending with
 %
 % \subsubsection{瀹氱悊鐜}
 %
-% 鍦ㄦ墦寮€绗� \ref{subsubsec:optional-pkg} 鑺備粙缁嶇殑鐨� \opt{create-theorem} 閫夐」
-% 鍚庯紝鏈ā鏉夸細鍒╃敤璇ュ畯鍖呴瀹氫箟鑻ュ共瀹氱悊绫荤幆澧冿紝濡傝〃~\ref{tab:mathenv} 鎵€绀恒€�
-% 鍏朵腑璇佹槑鐜杈冧负鐗规畩锛屾棤缂栧彿涓斾細鍦ㄧ粨灏炬坊鍔犺瘉姣曠鍙凤紙$\mdwhtsquare$锛夈€�
+% 妯℃澘浣跨敤 \pkg{ntheorem} 瀹忓寘閰嶇疆瀹氱悊绫荤幆澧冿紝鎻愪緵浜嗕竴绯诲垪閫夐」銆�
+% 鎮ㄤ篃鍙互閫氳繃绗� \ref{subsubsec:optional-pkg} 鑺傛彁渚涚殑閫夐」绂佺敤璇ュ畯鍖呫€�
+% \footnote{绂佺敤鍚庢湰鑺傛彁渚涚殑璁剧疆鍧囦笉浼氱敓鏁堛€倉
 %
-% \pkg{create-theorem} 鍖呯浉鎻愪緵浜嗘竻鏅扮殑閿€兼帴鍙o紝鏀寔鍦ㄥ瑷€鍖�
-% 瀵瑰凡缁忓畾涔夌殑鐜杩涜淇敼銆傝缁嗙敤娉曡鍙傝€冨叾鎵嬪唽\cite{create-theorem}銆�
-% 鐢变簬杩欎釜瀹忓寘杈冩柊锛屾ā鏉垮苟涓嶄細榛樿杞藉叆瀹冦€�
+% 浠ヤ笅閫夐」鐢ㄤ簬瀹氫箟瀹氱悊绫荤幆澧冪殑鏍峰紡銆�
+%
+% \begin{function}[added=2022-04-21]{theorem/style}
+%   \begin{syntax}
+%     style = <(plain)|break|change|margin|empty|...>
+%   \end{syntax}
+% 瀹氱悊鍩烘湰鏍峰紡銆傜瓑鏁堜簬 \cs{theoremstyle}\marg{鏍峰紡鍚嶇О}銆�
+% \end{function}
+%
+% \begin{function}[added=2022-04-21]{theorem/header-font}
+%   \begin{syntax}
+%     header-font = \meta{澶撮儴瀛椾綋鏍煎紡}
+%   \end{syntax}
+% 瀹氱悊澶撮儴瀛椾綋鏍煎紡銆傜瓑鏁堜簬 \cs{theoremheaderfont}\marg{鏍煎紡}銆�
+% \end{function}
+%
+% \begin{function}[added=2022-04-21]{theorem/body-font}
+%   \begin{syntax}
+%     body-font = \meta{鍐呴儴瀛椾綋鏍煎紡}
+%   \end{syntax}
+% 瀹氱悊鍐呴儴瀛椾綋鏍煎紡銆傜瓑鏁堜簬 \cs{theorembodyfont}\marg{鏍煎紡}銆�
+% \end{function}
+%
+% \begin{function}[added=2022-04-21]{theorem/qed-symbol}
+%   \begin{syntax}
+%     qed-symbol = \meta{璇佹瘯绗﹀彿}
+%   \end{syntax}
+% 璇佹瘯绗﹀彿銆傜瓑鏁堜簬 \cs{theoremsymbol}\marg{绗﹀彿}銆傞粯璁や负绌哄績鏂瑰潡锛圽mdwhtsquare锛夈€�
+% 绂佺敤 \pkg{unicode-math} 鏃朵负瀹炲績榛戣壊鏂瑰潡锛圽rule{1ex}{1ex}锛夈€�
+% \end{function}
+%
+% \begin{function}[added=2022-04-21]{theorem/counter}
+%   \begin{syntax}
+%     counter = <part|(chapter)|section|...>
+%   \end{syntax}
+% 瀹氱悊璁℃暟鍣ㄨ寖鍥淬€�
+% \end{function}
+%
+% 妯℃澘鐨勯粯璁よ缃瓑鏁堜簬
+%
+% \begin{latexexample}[moretexcs={\njusetup,\bfseries,\itshape,\mdwhtsquare},
+%   emph={[2]theorem}]
+%   \njusetup[theorem]{
+%       style       = plain,
+%       header-font = \normalfont \bfseries ,
+%       body-font   = \itshape ,
+%       qed-symbol  = \ensuremath { \mdwhtsquare },
+%       counter     = chapter
+%   }
+% \end{latexexample}
+%
+% 浠ヤ笅閫夐」鐢ㄤ簬鍒涘缓瀹氱悊绫荤幆澧冦€�
+%
+% \begin{function}[added=2022-08-05]{theorem/type}
+%   \begin{syntax}
+%     type = \{\marg{鐜鍚�,绫诲瀷鏍囪瘑} \marg{澶村悕绉皚,...\}
+%   \end{syntax}
+% 闇€瑕佸畾涔夌殑瀹氱悊绫诲瀷鍒楄〃銆傚湪鍙€夌殑 \meta{绫诲瀷鏍囪瘑} 涓紝鍚湁\emph{鏄熷彿}琛ㄧず
+% 闇€瑕佺紪鍙凤紝鍚湁\emph{鍔犲彿}闇€瑕佽瘉姣曠鍙枫€傝閫夐」瀛樺偍鐨勬槸鐢ㄦ潵瀹氫箟鐜鐨勫弬鏁帮紝
+% 鑰孿emph{涓嶄細鐩存帴鍒涘缓鐜}锛屼笖姣忔璋冪敤閮戒細瑕嗙洊鍓嶉潰瀹氫箟鐨勭幆澧冨垪琛ㄣ€�
+% \end{function}
+%
+% \opt{theorem/type} 鍒濆瀹氫箟鐨勭幆澧冨垪琛ㄥ琛▇\ref{tab:mathenv} 鎵€绀恒€�
+% 鍏朵腑璇佹槑鐜杈冧负鐗规畩锛屼笉缂栧彿涓斾細鍦ㄧ粨灏炬坊鍔犺瘉姣曠鍙枫€�
+% 杩欎簺鐜骞舵病鏈夐鍏堝垱寤猴紝浣跨敤鏂规硶瑙佷笅闈㈢殑渚嬪瓙銆�
 %
 % \begin{table}[htbp]
 %   \centering
@@ -1760,15 +1821,31 @@ To produce the documentation run the original source files ending with
 %   \end{tabular}
 % \end{table}
 %
-% 浣跨敤绀轰緥濡備笅銆�
-% \begin{latexexample}[emph={[1]proof,definition}]
-%   \begin{proof}
-%       璇佹槑鎴戞槸鎴�
-%   \end{proof}
+% \begin{function}[added=2022-08-05]{theorem/define}
+%   \begin{syntax}
+%      <define>
+%   \end{syntax}
+% 鍒涘缓瀹氱悊鐜銆�
+% \end{function}
 %
-%   \begin{definition}[浠栦汉]
-%       瀹氫箟浠栦汉鍗冲湴鐙�
-%   \end{definition}
+% \opt{theorem/define} 骞舵病鏈夊弬鏁般€傝繖涓€夐」鍦ㄨ皟鐢ㄥ悗浼氳鍙�
+% \opt{theorem/type} 淇濆瓨鐨勫垪琛ㄤ互鍙婂墠鏂圭殑鏍峰紡璁剧疆骞跺垱寤虹浉搴旂幆澧冦€�
+% 杩欎篃灏辨剰鍛崇潃璇ラ€夐」鍦� \opt{theorem/type} 涓虹┖鏃朵細鎶ラ敊銆�
+%
+% 鍦ㄤ笅闈㈣繖涓緥瀛愪腑锛屾垜浠厛鍒涘缓浜嗛缃殑涓冪鐜锛岄殢鍚庡皢瀹氱悊鍐呴儴鏂囧瓧瀛椾綋鏀逛负
+% 瀹嬩綋锛屽畾涔変簡 \env{exercise} 鍜� \env{solution} 涓ょ瀹氱悊鐜锛屽悗鑰呮病鏈夌紪鍙枫€�
+%
+% \begin{latexexample}[moretexcs={\njusetup,\normalfont},
+%   emph={[2]theorem}]
+%   \njusetup[theorem]{
+%       define,
+%       body-font   = \normalfont ,
+%       type        = {
+%           { {exercise} {涔犻} },
+%           { {solution,*} {瑙 }
+%       },
+%       define
+%   }
 % \end{latexexample}
 %
 %
@@ -2427,13 +2504,6 @@ To produce the documentation run the original source files ending with
 % \urlprefix\url{https://ctan.org/pkg/biblatex-gb7714-2015}
 % \urlprefix\CTANurl[鏂囨。锛歖{biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.pdf}
 %
-% \bibitem{create-theorem}
-% \textsc{Xu J}.
-% \newblock \textit{Initializing theorem-like environments with multilingual support} [EB/OL].
-% \newblock (2022-07-31)
-% \urlprefix\url{https://www.ctan.org/pkg/create-theorem}
-% \urlprefix\CTANurl[鏂囨。锛歖{macros/latex/contrib/create-theorem/create-theorem-doc.pdf}
-%
 % \bibitem{CTeX}
 % \textsc{CTEX.ORG}.
 % \newblock \textit{\CTeX{} 瀹忛泦鎵嬪唽} [EB/OL].
@@ -2751,10 +2821,20 @@ To produce the documentation run the original source files ending with
 %    \end{macrocode}
 % \end{variable}
 %
-% \begin{variable}{\g_@@_theorem_type_clist}
-% 瀹氱悊绫诲瀷銆�
+% \begin{variable}{\g_@@_thm_type_clist}
+% 榛樿瀹氱悊绫诲瀷銆佸ご鍚嶇О锛屼互鍙婃槸鍚﹂渶瑕佺紪鍙峰拰璇佹瘯绗﹀彿銆�
 %    \begin{macrocode}
-\clist_new:N \g_@@_theorem_type_clist
+\clist_new:N   \g_@@_thm_type_clist
+\clist_gset:Nn \g_@@_thm_type_clist
+  {
+    { axiom      } { 鍏悊 },
+    { corollary  } { 鎺ㄨ },
+    { definition } { 瀹氫箟 },
+    { example    } { 渚�   },
+    { lemma      } { 寮曠悊 },
+    { proof, *+  } { 璇佹槑 },
+    { theorem    } { 瀹氱悊 }
+  }
 %    \end{macrocode}
 % \end{variable}
 %
@@ -3839,28 +3919,28 @@ To produce the documentation run the original source files ending with
 % \begin{macro}{
 %   biblatex,
 %   cleveref,
-%   create-theorem,
 %   enumitem,
 %   footmisc,
+%   ntheorem,
 %   unicode-math,
 %   \g_@@_opt_load_blx_bool,
 %   \g_@@_opt_load_cref_bool,
-%   \g_@@_opt_load_crthm_bool,
+%   \g_@@_opt_load_nthm_bool,
 %   \g_@@_opt_load_enit_bool,
 %   \g_@@_opt_load_fm_bool,
 %   \g_@@_opt_load_um_bool,
 %   \@@_loadpkg_blx:,
 %   \@@_loadpkg_cref:,
-%   \@@_loadpkg_crthm:,
 %   \@@_loadpkg_enit:,
 %   \@@_loadpkg_fm:,
+%   \@@_loadpkg_nthm:,
 %   \@@_loadpkg_um:}
 %    \begin{macrocode}
 \clist_map_inline:nn
   {
     { biblatex       } { blx   } { true  },
     { cleveref       } { cref  } { true  },
-    { create-theorem } { crthm } { false },
+    { ntheorem       } { nthm  } { true  },
     { enumitem       } { enit  } { true  },
     { footmisc       } { fm    } { true  },
     { unicode-math   } { um    } { true  }
@@ -4069,7 +4149,7 @@ To produce the documentation run the original source files ending with
 % \changes{v0.16}{2022/03/19}{涓嶆樉寮忚浇鍏� \pkg{amsmath}銆倉
 % \changes{v0.18}{2022/04/20}{涓嶅己鍒惰浇鍏� \pkg{ntheorem}銆倉
 % \changes{v1.0}{2022/07/03}{绉婚櫎 \pkg{mathtools}銆倉
-% \changes{v1.0}{2022/08/03}{绉婚櫎 \pkg{ntheorem}銆倉
+% \changes{v1.0}{2022/08/03}{閫夋嫨鎬ц浇鍏� \pkg{ntheorem}銆倉
 %
 %    \begin{macrocode}
 \@@_loadpkg_enit:
@@ -4108,10 +4188,13 @@ To produce the documentation run the original source files ending with
 \@@_loadpkg_cref:
 %    \end{macrocode}
 %
-% \pkg{create-theorem} 渚濊禆 \pkg{amsthm} 瀹炵幇 QED 绗﹀彿绛夊姛鑳姐€�
+% \pkg{ntheorem} 渚濊禆 \pkg{amsthm} 鍜� \pkg{thmmarks} 瀹炵幇 QED 绗﹀彿绛夊姛鑳姐€�
 %    \begin{macrocode}
-\bool_if:NT \g_@@_opt_load_crthm_bool
-  { \RequirePackage{ amsthm, create-theorem } }
+\bool_if:NT \g_@@_opt_load_nthm_bool
+  {
+    \PassOptionsToPackage { amsmath, thmmarks, noconfig } { ntheorem }
+    \RequirePackage{ ntheorem }
+  }
 %    \end{macrocode}
 %
 % 鍦ㄥ弻闈㈡ā寮忎笅锛屼娇鐢� \pkg{emptypage} 娓呴櫎绌虹櫧椤电殑椤电湁銆侀〉鑴氬拰椤电爜銆�
@@ -4175,12 +4258,6 @@ To produce the documentation run the original source files ending with
 %    \end{macrocode}
 % \end{macro}
 %
-% \pkg{create-theorem} 鍖呭湪 2022-05-31 鐨勬洿鏂颁腑鎻愪緵浜� QED 绗﹀彿銆�
-%    \begin{macrocode}
-\bool_if:NT \g_@@_opt_load_crthm_bool
-  { \@@_check_pkg_version:nnn { create-theorem } { 2022/05/31 } { 2022-05-31 } }
-%    \end{macrocode}
-%
 % 妫€鏌ョ粯鍒朵笅鍒掔嚎鎵€闇€鐨� \pkg{luatexja} 鍖呯増鏈€傝瀹忓寘鍦� 2021-09-18 鐨勬洿鏂�
 % 瑙e喅浜嗕笅鍒掔嚎涓柇闂锛岀劧鑰屽湪 2021-10-24 鐨勬洿鏂版墠鎻愪緵浜嗘纭殑鍐呭祵鏃ユ湡銆�
 %    \begin{macrocode}
@@ -4217,7 +4294,7 @@ To produce the documentation run the original source files ending with
 %
 % 妫€鏌ユ暟瀛﹀畯鍖呭啿绐併€�
 %    \begin{macrocode}
-\bool_if:NTF \g_@@_opt_load_um_bool
+\bool_if:NT \g_@@_opt_load_um_bool
   {
     \clist_map_inline:nn
       {
@@ -5521,20 +5598,14 @@ To produce the documentation run the original source files ending with
   }
 %    \end{macrocode}
 %
-% \begin{macro}{\@@_cref_name:n,\@@_cref_name:V}
+% \begin{macro}{\@@_cref_name:n}
 % 鐢ㄤ簬淇敼 \pkg{cleveref} 鐨勬爣绛惧悕绉扮殑杈呭姪鍑芥暟銆�
 % \begin{arguments}
-%   \item 绫诲瀷锛寍clist| 鍨�
 %   \item 鏍囩鍚�
-%   \item 鏍囩鍚嶏紙澶嶆暟锛�
 % \end{arguments}
 %    \begin{macrocode}
 \cs_new_protected:Npn \@@_cref_name:n #1
-  {
-    \clist_map_inline:nn { #1 }
-      { \crefname {##1} { \@@_name:n {##1} } { \@@_name:n {##1} } }
-  }
-\cs_generate_variant:Nn \@@_cref_name:n { V }
+  { \crefname {#1} { \@@_name:n {#1} } { \@@_name:n {#1} } }
 %    \end{macrocode}
 % \end{macro}
 %
@@ -5551,7 +5622,8 @@ To produce the documentation run the original source files ending with
 %    \end{macrocode}
 % 淇敼 \pkg{cleveref} 鐨勬爣绛惧悕绉般€�
 %    \begin{macrocode}
-    \@@_cref_name:n { figure, table, appendix, proof }
+    \clist_map_inline:nn { figure, table, appendix, proof }
+      { \@@_cref_name:n { #1 } }
   }
 %    \end{macrocode}
 %
@@ -5710,34 +5782,136 @@ To produce the documentation run the original source files ending with
 %
 % \subsection{瀹氱悊鐜}
 % \changes{v0.18}{2022/04/21}{鏂板瀹氱悊鐜鐨勮嫢骞插畾鍒堕」銆倉
-% \changes{v1.0}{2022/08/03}{鍒犻櫎 \opt{nju/theorem} 绫汇€倉
 %
-% \begin{macro}{\@@_create_theorem:nnn}
+% \begin{macro}{\c_@@_name_qed_tl}
+% 璇佹瘯绗﹀彿浣跨敤 \tn{mdlgwhtsquare} 缁樺埗锛屽搴斾簬 |U+25A1| 瀛楃銆�
+% \footnote{\url{https://tex.stackexchange.com/q/567135/}}
+% 濡傛灉 \pkg{unicode-math} 鏈浇鍏ワ紝鍒欎娇鐢ㄩ粦鑹叉柟鍧椾唬鏇裤€�
+%    \begin{macrocode}
+\bool_if:NTF \g_@@_opt_load_um_bool
+  { \tl_const:Nn \c_@@_name_qed_tl { \ensuremath { \mdlgwhtsquare    } } }
+  { \tl_const:Nn \c_@@_name_qed_tl { \ensuremath { \rule {1ex} {1ex} } } }
+%    \end{macrocode}
+% \end{macro}
+%
+%    \begin{macrocode}
+\keys_define:nn { nju / theorem }
+  {
+%    \end{macrocode}
+% \begin{macro}{theorem/style,theorem/header-font,theorem/body-font,
+%   theorem/qed-symbol,theorem/counter}
+% 瀹氫箟 |nju/theorem| 閿€肩被銆俕^A 杩欐槸鍚︿篃鍙互鎶借薄鍒� xtemplate锛�
+% 鐩墠杩欏閫夐」鍙€傜敤浜庢ā鏉块瀹氫箟鐨勮嫢骞茬瀹氱悊鐜銆�
+%    \begin{macrocode}
+    style           .tl_set:N = \l_@@_thm_style_tl,
+    header-font     .tl_set:N = \l_@@_thm_header_font_tl,
+    body-font       .tl_set:N = \l_@@_thm_body_font_tl,
+    qed-symbol      .tl_set:N = \l_@@_thm_qed_symbol_tl,
+    counter         .tl_set:N = \l_@@_thm_counter_tl,
+%    \end{macrocode}
+% 瀹氱悊鐜鐨勭己鐪佸€笺€�
+%    \begin{macrocode}
+    style          .initial:n = plain,
+    header-font    .initial:n = \normalfont \bfseries,
+    body-font      .initial:n = \itshape,
+    qed-symbol     .initial:V = \c_@@_name_qed_tl,
+    counter        .initial:n = chapter,
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{theorem/type,theorem/define}
+% 浣跨敤妯℃澘鎻愪緵鐨勬帴鍙e畾涔夊畾鐞嗙被鐜銆�
+%    \begin{macrocode}
+    type         .clist_set:N = \g_@@_thm_type_clist,
+    define .value_forbidden:n = true,
+    define            .code:n =
+      {
+        \clist_if_empty:NT \g_@@_thm_type_clist
+          { \msg_error:nn { njuthesis } { empty-theorem-type } }
+        \clist_map_inline:Nn \g_@@_thm_type_clist
+          { \@@_thm_define:nn ##1 }
+      }
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+%    \begin{macrocode}
+\msg_new:nnn { njuthesis } { empty-theorem-type }
+  {
+    Empty~ theorem~ list~ to~ define.\\
+    The~ key~ "theorem/type"~ should~ not~ be~ set~ empty.
+  }
+\msg_new:nnn { njuthesis } { missing-ntheorem }
+  {
+    "ntheorem"~ package~ not~ detected.\\
+    The~ functionality~ of~ built-in~ theorem~ settings~ require~
+    loading~ the~ class~ with~ "ntheorem"~ option~ set~ to~ "true".
+  }
+%    \end{macrocode}
+%
+% \begin{macro}{\@@_thm_define:nn}
+% 閰嶇疆瀹氱悊鐜銆�
 % \begin{arguments}
-%   \item 绫诲瀷
-%   \item 鏍囩鍚�
-%   \item 鏄惁闇€瑕佺紪鍙峰拰璇佹瘯绗﹀彿
+%   \item 鐜鍚嶄笌绫诲瀷鏍囪瘑锛寍clist| 鍨嬪彉閲�
+%   \item 瀹氱悊澶村悕绉�
 % \end{arguments}
 %    \begin{macrocode}
-\cs_new_protected:Npn \@@_create_theorem:nnn #1#2#3
+\cs_new_protected:Npn \@@_thm_define:nn #1#2
   {
-    \crthm_name_theorem:nn { #1 }
-      { heading = #2, crefname = {#2} {#2}, Crefname = {#2} {#2}, }
-    \bool_if:cTF { c_ #3 _bool }
-      { \crthm_create_theorem:nn { #1 } { numberless, qed } }
-      { \crthm_create_theorem:nn { #1 } { } }
+    \bool_if:NF \g_@@_opt_load_nthm_bool
+      { \msg_error:nn { njuthesis } { missing-ntheorem } }
+    \exp_args:NV \theoremstyle      \l_@@_thm_style_tl
+    \exp_args:NV \theoremheaderfont \l_@@_thm_header_font_tl
+    \exp_args:NV \theorembodyfont   \l_@@_thm_body_font_tl
+%    \end{macrocode}
+% 鎷嗗垎鐜鍚嶄笌绫诲瀷鏍囪瘑銆傝繖閲屾槸鑰冭檻鍒版爣璇嗙涓嶄竴瀹氬嚭鐜板湪鐜鍚嶄腑锛�
+% 鍏稿瀷濡� \env{proof} 鐜榛樿鏃犵紪鍙蜂絾涔熶笉鍚槦鍙枫€�
+%    \begin{macrocode}
+    \clist_set:Nn \l_@@_tmp_clist { #1 }
+    \clist_pop:NN \l_@@_tmp_clist \l_@@_tmpa_tl
+    \clist_pop:NN \l_@@_tmp_clist \l_@@_tmpb_tl
+%    \end{macrocode}
+% 鍒ゆ柇鏄惁闇€瑕佽瘉姣曠鍙锋垨缂栧彿銆�
+%    \begin{macrocode}
+    \tl_if_in:NnT  \l_@@_tmpb_tl { + }
+      { \exp_args:NV \theoremsymbol \l_@@_thm_qed_symbol_tl }
+    \tl_if_in:NnTF \l_@@_tmpb_tl { * }
+      { \@@_thm_new:VVn \l_@@_tmpa_tl \c_novalue_tl        {#2} }
+      { \@@_thm_new:VVn \l_@@_tmpa_tl \l_@@_thm_counter_tl {#2} }
+    \bool_if:NT \g_@@_opt_load_cref_bool
+      { \crefname { \l_@@_tmpa_tl } {#2} {#2} }
+%    \end{macrocode}
+% 娓呴櫎棰勮鐨勮瘉姣曠鍙枫€�
+%    \begin{macrocode}
+    \theoremsymbol { }
   }
 %    \end{macrocode}
 % \end{macro}
 %
-% 閫氳繃 \pkg{create-theorem} 棰勫畾涔夎嫢骞茬瀹氱悊鐜銆�
+% \begin{macro}{\@@_thm_new:nnn,\@@_thm_new:VVn}
+% 鍖呰 \cs{newtheorem} 浠ヤ究灞曞紑杈撳叆鐨勫彉閲忋€傛牴鎹� \file{interface3.pdf}
+% 鎵嬪唽 5.3 鑺傛渶鍚庝竴娈靛缓璁殑灞曞紑椤哄簭锛岃繖閲屽皢 |V| 鍨嬪弬鏁版斁鍦ㄩ潬鍓嶇殑浣嶇疆銆�
+% \begin{arguments}
+%   \item 鐜鍚�
+%   \item 璁℃暟鍣ㄥ悕
+%   \item 澶村悕绉�
+% \end{arguments}
+% 鏍规嵁鐜缁撴潫鍛戒护鏄惁瀛樺湪鍙互鍒ゆ柇璇ョ幆澧冩槸鍚︽湁瀹氫箟锛�
+% 鐩稿簲鍦板彲浠ュ埄鐢ㄥ眬閮ㄥ畾涔夊垏鎹㈠畾涔夊拰閲嶅畾涔夌幆澧冪殑鍛戒护銆�
 %    \begin{macrocode}
-\bool_if:NT \g_@@_opt_load_crthm_bool
+\cs_new_protected:Npn \@@_thm_new:nnn #1#2#3
   {
-    \clist_map_inline:Nn \g_@@_theorem_type_clist
-      { \@@_create_theorem:nnn #1 }
+    \group_begin:
+      \cs_if_exist:cT { end #1 }
+        { \cs_set_eq:NN \newtheorem \renewtheorem }
+      \tl_if_novalue:nTF {#2}
+        { \newtheorem * {#1} {#3}      }
+        { \newtheorem   {#1} {#3} [#2] }
+    \group_end:
   }
+\cs_generate_variant:Nn \@@_thm_new:nnn { VVn }
 %    \end{macrocode}
+% \end{macro}
 %
 %
 % \subsection{鍏紡鏍峰紡}
@@ -5905,7 +6079,6 @@ To produce the documentation run the original source files ending with
             uppercase-greek    = italic
           }
         \@@_um_setup:n { bold-style = ISO }
-        \@@_loadfont_math:
       },
     style / GB                   .code:n  =
       {
@@ -7885,22 +8058,6 @@ To produce the documentation run the original source files ending with
 %    \end{macrocode}
 % \end{variable}
 %
-% \subsubsection{瀹氱悊}
-%
-% 榛樿瀹氱悊绫诲瀷銆佸ご鍚嶇О锛屼互鍙婃槸鍚﹂渶瑕佺紪鍙峰拰璇佹瘯绗﹀彿銆�
-%    \begin{macrocode}
-\clist_gset:Nn \g_@@_theorem_type_clist
-  {
-    { axiom      } { 鍏悊 } { false },
-    { corollary  } { 鎺ㄨ } { false },
-    { definition } { 瀹氫箟 } { false },
-    { example    } { 渚�   } { false },
-    { lemma      } { 寮曠悊 } { false },
-    { proof      } { 璇佹槑 } { true  },
-    { theorem    } { 瀹氱悊 } { false }
-  }
-%    \end{macrocode}
-%
 % \subsubsection{闀垮害}
 % \label{subsubsec:constant-length}
 %
diff --git a/test/chapters/Mathematics.tex b/test/chapters/Mathematics.tex
index 1a68bbfd0982b6779b60d47331797a3ebe075568..289b0d747e2cccea689be0f22f31a632935e77ef 100644
--- a/test/chapters/Mathematics.tex
+++ b/test/chapters/Mathematics.tex
@@ -40,12 +40,24 @@ Math bold italic letters: $\mathbi{A}$
 
 \section{瀹氱悊鐜}
 
-\cref{pf:me}\cref{def:others}
+\cref{pf:me1}锛孿cref{pf:me1}锛孿cref{def:others1}锛孿cref{def:others1}锛孿cref{thm:sleep}
 
-\begin{proof}\label{pf:me}
+\begin{proof}\label{pf:me1}
     璇佹槑鎴戞槸鎴�
 \end{proof}
 
-\begin{definition}[浠栦汉]\label{def:others}
+\begin{definition}[浠栦汉]\label{def:others1}
     瀹氫箟浠栦汉鍗冲湴鐙�
 \end{definition}
+
+\begin{proof}\label{pf:me2}
+    璇佹槑鎴戞槸鎴�
+\end{proof}
+
+\begin{definition}[浠栦汉]\label{def:others2}
+    瀹氫箟浠栦汉鍗冲湴鐙�
+\end{definition}
+
+\begin{theorem}[鐫¤]\label{thm:sleep}
+    绠′粬鍛㈠厛鐫¤鍚э紒
+\end{theorem}
diff --git a/test/test.tex b/test/test.tex
index 04e7b2143e3f71372a261de3a239fdfa58a738ee..ee26f66b995bea665f09caad13f8044260696655 100644
--- a/test/test.tex
+++ b/test/test.tex
@@ -5,8 +5,8 @@
 
 \ifdefined\TEST\else
   % 鑷缂栬瘧鍓嶉渶鍙嶆敞閲婁互涓嬩换鎰忓懡浠�
-  % \documentclass{njuthesis}
-  \documentclass[create-theorem=true]{njuthesis}
+  \documentclass{njuthesis}
+  % \documentclass[minimal]{njuthesis}
   % \documentclass[type=master]{njuthesis}
   % \documentclass[type=doctor]{njuthesis}
   % \documentclass[type=postdoc]{njuthesis}
@@ -63,6 +63,14 @@
     tableofcontents/toc-entry = false,
     math/style = ISO
 }
+\njusetup[theorem]{
+    style       = remark,
+    header-font = \sffamily\bfseries,
+    body-font   = \ttfamily,
+    qed-symbol  = \ensuremath { \male },
+    counter     = section,
+    define,
+}
 
 % \addbibresource{test.bib}