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}