diff --git a/source/njuthesis.dtx b/source/njuthesis.dtx index 89af32069c5ae4183fff23cc0a607a64b2c8c68a..d71c9e989914b358f50c00a18bcbb259bca58e50 100644 --- a/source/njuthesis.dtx +++ b/source/njuthesis.dtx @@ -306,8 +306,10 @@ To produce the documentation run the original source files ending with % 鐢ㄦ埛缁勭淮鎶ょ殑锛岀敤浜庡鐞嗘湰鏍″鐢熸瘯涓氳鏂囨帓鐗堥渶姹傜殑 \LaTeX 妯℃澘銆� % % 鏈ā鏉夸娇鐢ㄧ殑鏈鐢熸瘯涓氳鏂囨ā鏉挎牸寮忎緷鎹� -% 銆婂叧浜庡惎鍔ㄥ崡浜ぇ瀛�2022灞婃湰绉戞瘯涓氳鏂囷紙璁捐锛夊伐浣滅殑閫氱煡銆媆cite{nju2021}锛� -% 鐮旂┒鐢熷浣嶈鏂囨牸寮忎緷鎹爺绌剁敓闄㈡彁渚涚殑鏉愭枡鍖呫€� +% 銆婂叧浜庡惎鍔ㄥ崡浜ぇ瀛�2022灞婃湰绉戞瘯涓氳鏂囷紙璁捐锛夊伐浣滅殑閫氱煡銆媆cite{nju-bachelor-2022}锛� +% 鐮旂┒鐢熷浣嶈鏂囨牸寮忎緷鎹爺绌剁敓闄㈡彁渚涚殑鏉愭枡鍖匼cite{nju-master-2022,nju-doctor-2022}銆� +% 鍗氬+鍚庡嚭绔欐姤鍛婃牸寮忚姹備笌鍗氬+瀛︿綅璁烘枃涓€鑷碶cite{nju-postdoc-2022}锛� +% 灏侀潰銆佹憳瑕佺殑璁捐鍙傝€冧簡閮ㄥ垎鏃㈡湁鎶ュ憡銆� % % % \subsection{寮€濮嬩箣鍓峿 @@ -412,7 +414,8 @@ To produce the documentation run the original source files ending with % 濡傛灉鎮ㄥ笇鏈涘湪浣跨敤鏈ā鏉垮墠浜嗚В涓€浜涘叧浜庤繖涓帓鐗堣蒋浠剁殑鍩虹鐭ヨ瘑锛屽湪姝ゅ皾璇曞垪涓句竴浜涙湁 % 鎵€甯姪鐨勮祫鏂欙細 % \begin{description} -% \item[\textit{lshort}] 钁楀悕鐨勪粙缁嶆枃妗o紝宸茶璇戜负澶氱璇█锛屽彲浠ュ弬鑰冭嫳鏂囩増\cite{lshort}鍙婂叾涓枃缈昏瘧鐗圽cite{lshort-zh-cn}銆� +% \item[\textit{lshort}] 钁楀悕鐨勪粙缁嶆枃妗o紝宸茶璇戜负澶氱璇█锛屽彲浠ュ弬鑰冭嫳鏂囩増 +% \cite{lshort}鍙婂叾涓枃缈昏瘧鐗圽cite{lshort-zh-cn}銆� % \item[銆奬LaTeX 鍏ラ棬銆媇 鍒樻捣娲嬭憲\cite{鍒樻捣娲�2013latex鍏ラ棬}銆� % \end{description} % @@ -463,8 +466,8 @@ To produce the documentation run the original source files ending with % \footnote{\href{https://ctan.org/pkg/njuthesis}{\cls{njuthesis}} 宸茬粡浜�2021骞�9 % 鏈�12鏃ュ彂甯冨湪 CTAN锛岀敤浜庣粯鍒跺崡澶у浘鏍囩殑 % \href{https://ctan.org/pkg/njuvisual}{\pkg{njuvisual}} 涔熷凡浜庡悓骞�11鏈�28鏃ュ彂 -% 甯冿紝涓よ€呭凡琚� \TeX{} Live 鍜� \MiKTeX 鏀跺綍銆倉涓婃彁渚涘熀鏈殑浠嬬粛淇℃伅锛屽彲浠ヤ笅杞借鏄庢枃妗o紙鏈枃妗o級鍜屽畯鍖呮簮浠� -% 鐮併€傚綋鐒讹紝浣跨敤杩欎竴鏉ユ簮鏃跺苟涓嶉渶瑕佹帴瑙﹀悗鑰咃紝璇峰弬鑰� +% 甯冿紝涓よ€呭凡琚� \TeX{} Live 鍜� \MiKTeX 鏀跺綍銆倉涓婃彁渚涘熀鏈殑浠嬬粛淇℃伅锛屽彲浠ヤ笅杞� +% 璇存槑鏂囨。锛堟湰鏂囨。锛夊拰瀹忓寘婧愪唬鐮併€傚綋鐒讹紝浣跨敤杩欎竴鏉ユ簮鏃跺苟涓嶉渶瑕佹帴瑙﹀悗鑰咃紝璇峰弬鑰� % \ref{subsubsec:standard-installation} 鐨勬爣鍑嗗畨瑁呮柟娉曘€� % % \subparagraph{GitHub 浠撳簱} @@ -542,7 +545,8 @@ To produce the documentation run the original source files ending with % 鍙︿竴鏂归潰锛孋TAN 渚濊禆寮€鍙戣€呮墜鍔ㄤ笂浼犳洿鏂帮紝鐗堟湰鏇存柊鍏锋湁婊炲悗鎬с€傚鏋滀娇鐢ㄦ椂閬囧埌浜嗛棶 % 棰橈紝涓嶅Θ浣跨敤涓嬩竴灏忚妭鐨刓emph{鍗虫椂瀹夎鏂规硶}浼樺厛杞藉叆杈冩柊鐨勬牸寮忔枃浠躲€� % -% {\color{red}|[!]|} 濡傛灉鎮ㄥ叿澶囩浉鍏崇粡楠孿footnote{璀鐔熸倝鍛戒护琛屾搷浣溿€佷娇鐢ㄧ殑鏄� \TL 鍙戣鐗堢瓑}锛屽彲浠ュ湪涓嬭浇浠撳簱鍐呭叏閮ㄦ枃浠跺悗锛屼簬璇ョ洰褰曚笅杩愯 +% {\color{red}|[!]|} 濡傛灉鎮ㄥ叿澶囩浉鍏崇粡楠孿footnote{璀鐔熸倝鍛戒护琛屾搷浣溿€佷娇鐢ㄧ殑鏄� \TL +% 鍙戣鐗堢瓑}锛屽彲浠ュ湪涓嬭浇浠撳簱鍐呭叏閮ㄦ枃浠跺悗锛屼簬璇ョ洰褰曚笅杩愯 % \begin{shellexample}[morekeywords={l3build},emph={install}] % l3build install % \end{shellexample} @@ -806,7 +810,7 @@ To produce the documentation run the original source files ending with % 涓嬫枃涓皷鎷彿鍐呭垪鍑轰簡鑻ュ共涓厑璁哥殑閫夐」锛屽叾涓姞绮楃殑涓洪粯璁ら€夐」锛堢己鐪佸€硷級銆� % % \subsubsection{瀛︿綅淇℃伅} -% \begin{function}[added=2021-09-07,updated=2022-07-01]{type} +% \begin{function}[added=2021-09-07,updated=2022-07-23]{type} % \begin{syntax} % type = <(bachelor)|master|doctor|postdoc> % \end{syntax} @@ -1816,7 +1820,7 @@ To produce the documentation run the original source files ending with % \end{description} % % 瀵逛簬鏈鐢熻€岃█锛屽鏍¤瀹氭枃浠惰〃鏄庡弬鑰冩枃鐚〃搴斿綋鈥滅敤鏁板瓧鍔犳柟鎷彿 -% 琛ㄧず鈥漒cite{nju2021}锛岀鍚堥『搴忕紪鐮佸埗鐨勬牸寮忥紝淇濇寔榛樿璁剧疆鍗冲彲銆� +% 琛ㄧず鈥漒cite{nju-bachelor-2022}锛岀鍚堥『搴忕紪鐮佸埗鐨勬牸寮忥紝淇濇寔榛樿璁剧疆鍗冲彲銆� % % \begin{function}[added=2022-02-15]{bib/option} % \begin{syntax} @@ -2355,12 +2359,30 @@ To produce the documentation run the original source files ending with % \newblock \textit{淇℃伅涓庢枃鐚甛quad 鍙傝€冩枃鐚憲褰曡鍒�: GB/T 7714--2015} [S]. % \newblock 鍖椾含: 涓浗鏍囧噯鍑虹増绀�, 2015 % -% \bibitem{nju2021} +% \bibitem{nju-bachelor-2022} % 鍗椾含澶у鏈鐢熼櫌. % \newblock \textit{鍏充簬鍚姩鍗椾含澶у2022灞婃湰绉戞瘯涓氳鏂囷紙璁捐锛夊伐浣滅殑閫氱煡} [EB/OL]. % \newblock (2021-12-14) % \urlprefix\url{https://jw.nju.edu.cn/7c/86/c26263a556166/page.htm} % +% \bibitem{nju-master-2022} +% 鍗椾含澶у鐮旂┒鐢熼櫌. +% \newblock \textit{纭曞+鐮旂┒鐢熺敵璇峰浣嶆潗鏂欎笅杞絵 [EB/OL]. +% \newblock (2022-04-26) +% \urlprefix\url{https://grawww.nju.edu.cn/1077/list.htm} +% +% \bibitem{nju-doctor-2022} +% 鍗椾含澶у鐮旂┒鐢熼櫌. +% \newblock \textit{鍗氬+鐮旂┒鐢熺敵璇峰浣嶆潗鏂欎笅杞絵 [EB/OL]. +% \newblock (2022-04-26) +% \urlprefix\url{https://grawww.nju.edu.cn/1076/list.htm} +% +% \bibitem{nju-postdoc-2022} +% 鍗椾含澶у浜哄姏璧勬簮澶�. +% \newblock \textit{鍗氬+鍚庡嚭绔欑敵璇穧 [EB/OL]. +% \newblock (2022-07-27) +% \urlprefix\url{https://hr.nju.edu.cn/6334/list.htm} +% % % \subsection*{瀹忓寘} % @@ -3259,9 +3281,7 @@ To produce the documentation run the original source files ending with \cs_new_protected:Npn \@@_abs_bookmark:nn #1#2 { \phantomsection - \bool_if:NTF \g_@@_abs_in_toc_bool - { \@@_add_tocline:n { #1 } } - { \pdfbookmark [0] { #1 } { #2 } } + \@@_bookmark:Nnn \g_@@_abs_in_toc_bool {#1} {#2} \@@_chapter_header:n { #1 } } \cs_generate_variant:Nn \@@_abs_bookmark:nn { Vn } @@ -3434,11 +3454,19 @@ To produce the documentation run the original source files ending with } % \end{macrocode} % +% \changes{v1.0}{2022/07/27}{涓洪〉闈㈡ā鏉挎坊鍔犱功绛鹃€夐」銆倉 +% % 瀹氫箟椤甸潰妯℃澘銆� % \begin{macrocode} %<@@=njupage> % \end{macrocode} % +% \begin{macro}{\exp_args:NVV} +% \begin{macrocode} +\exp_args_generate:n { NVV } +% \end{macrocode} +% \end{macro} +% % 澹版槑椤甸潰妯℃澘鎺ュ彛銆� % 椤甸潰鏄厓绱犵殑闆嗗悎銆備竴涓娊璞$殑椤甸潰搴斿綋鍏峰浠ヤ笅灞炴€э細 % \begin{description} @@ -3447,6 +3475,9 @@ To produce the documentation run the original source files ending with % \item[\opt{format}] 鏍煎紡锛屼緥濡傝璺� % \item[\opt{top-skip}] 涓婇棿璺濓紝鍗充笌椤甸潰椤堕儴鐨勮窛绂� % \item[\opt{bottom-skip}] 涓嬮棿璺濓紝鍗充笌椤甸潰搴曢儴鐨勮窛绂� +% \item[\opt{bm-text}] PDF 涔︾鍚嶇О +% \item[\opt{bm-name}] PDF 涔︾閿氱偣鍚� +% \item[\opt{bookmark}] 娣诲姞涔︾鐨勭被鍨嬶紝鍒嗗埆涓虹洰褰曟潯鐩€佷粎 PDF 涔︾銆佷笉鏄剧ず銆� % \end{description} % \begin{macrocode} \DeclareTemplateInterface { nju } { page } { \c_zero_int } @@ -3455,7 +3486,10 @@ To produce the documentation run the original source files ending with prefix : tokenlist = \c_empty_tl, format : tokenlist = \c_empty_tl, top-skip : skip = \c_zero_skip, - bottom-skip : skip = \c_zero_skip + bottom-skip : skip = \c_zero_skip, + bm-text : tokenlist = \c_empty_tl, + bm-name : tokenlist = \c_empty_tl, + bookmark : choice { toc, pdf, none } = none } % \end{macrocode} % @@ -3467,13 +3501,22 @@ To produce the documentation run the original source files ending with prefix = \l_@@_prefix_tl, format = \l_@@_format_tl, top-skip = \l_@@_top_skip, - bottom-skip = \l_@@_bottom_skip + bottom-skip = \l_@@_bottom_skip, + bm-text = \l_@@_bm_text_tl, + bm-name = \l_@@_bm_name_tl, + bookmark = + { + toc = { \cs_set_eq:NN \@@_bookmark:nn \__nju_bookmark_toc:nn }, + pdf = { \cs_set_eq:NN \@@_bookmark:nn \__nju_bookmark_pdf:nn }, + none = { \cs_set_eq:NN \@@_bookmark:nn \@@_do_nothing:nn } + } } { \AssignTemplateKeys \clearpage \thispagestyle { empty } \__nju_vskip:N \l_@@_top_skip + \exp_args:NVV \@@_bookmark:nn \l_@@_bm_text_tl \l_@@_bm_name_tl \group_begin: \l_@@_format_tl \clist_map_inline:Nn \l_@@_element_clist @@ -3481,8 +3524,15 @@ To produce the documentation run the original source files ending with \group_end: \__nju_vskip:N \l_@@_bottom_skip } +% \end{macrocode} +% +% \begin{macro}{\@@_bookmark:NN} +% 鍚告敹涓や釜鍙傛暟鐨勬懜楸煎嚱鏁般€� +% \begin{macrocode} +\cs_new:Npn \@@_do_nothing:nn #1#2 { } %<@@=nju> % \end{macrocode} +% \end{macro} % % \begin{macro}{\@@_declare_element:nn,\@@_declare_page:nn} % 灏佽 \pkg{xtemplate} 鎻愪緵鐨勫嚱鏁帮紝绠€鍖栧垱寤哄疄渚嬬殑杩囩▼銆� @@ -3491,9 +3541,9 @@ To produce the documentation run the original source files ending with % \item 鍙傛暟鍒楄〃 % \end{arguments} % \begin{macrocode} -\cs_new_protected:Npn \@@_declare_element:nn #1#2 +\cs_new:Npn \@@_declare_element:nn #1#2 { \DeclareInstance { nju } {#1} { element } {#2} } -\cs_new_protected:Npn \@@_declare_page:nn #1#2 +\cs_new:Npn \@@_declare_page:nn #1#2 { \DeclareInstance { nju } {#1} { page } {#2} } % \end{macrocode} % \end{macro} @@ -4884,24 +4934,56 @@ To produce the documentation run the original source files ending with % % \subsection{绔犺妭鏍囬鏍煎紡} % -% \begin{macro}{\@@_add_tocline:n,\@@_add_tocline:V} +% \begin{macro}{\@@_bookmark_toc:n,\@@_bookmark_toc:V} % 涓烘棤缂栧彿绔犳坊鍔犵洰褰曟潯鐩紝闇€鎵嬪姩鎸囧畾鏍煎紡涓哄洓鍙枫€佷笉鍔犵矖銆侀粦浣撱€� % \begin{macrocode} -\cs_new_protected:Npn \@@_add_tocline:n #1 +\cs_new:Npn \@@_bookmark_toc:n #1 { \addcontentsline { toc } { chapter } { \c_@@_fmt_chapterintoc_tl #1 } } -\cs_generate_variant:Nn \@@_add_tocline:n { V } +\cs_generate_variant:Nn \@@_bookmark_toc:n { V } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@@_bookmark_toc:nn} +% 涓轰簡淇濇寔褰㈠紡涓€鑷达紝杩涜灏佽銆� +% \begin{macrocode} +\cs_new:Npn \@@_bookmark_toc:nn #1#2 + { \phantomsection \_@@_bookmark_toc:n {#1} } % \end{macrocode} % \end{macro} % -% \begin{macro}{\@@_chapter:n,\@@_chapter:V} +% \begin{macro}{\@@_bookmark_pdf_nosec:nn,\@@_bookmark_pdf:nn} +% 灏佽 \pkg{hyperref} 鐨� PDF 涔︾鍛戒护銆� +% \begin{macrocode} +\cs_new:Npn \@@_bookmark_pdf_nosec:nn #1#2 + { \pdfbookmark [0] { #1 } { #2 } } +\cs_new:Npn \@@_bookmark_pdf:nn #1#2 + { \phantomsection \@@_bookmark_pdf_nosec:nn {#1} {#2} } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@@_bookmark:Nnn} +% 涔︾銆� +% \begin{macrocode} +\cs_new:Npn \@@_bookmark:Nnn #1#2#3 + { + \bool_if:NTF #1 + { \_@@_bookmark_toc:n { #2 } } + { \_@@_bookmark_pdf_nosec:nn { #2 } { #3 } } + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@@_chapter:Nnn,\@@_chapter:n,\@@_chapter:V} % 鍚湁鐩綍鍜� PDF 鏍囩鐨勬棤缂栧彿绔犮€� % \begin{macrocode} -\cs_new_protected:Npn \@@_chapter:n #1 +\cs_new:Npn \@@_chapter:Nnn #1#2#3 { - \chapter * { #1 } - \@@_add_tocline:n { #1 } - \@@_chapter_header:n { #1 } + \chapter * { #2 } + \@@_bookmark:Nnn #1 { #2 } { #3 } + \@@_chapter_header:n { #2 } } +\cs_new:Npn \@@_chapter:n #1 + { \@@_chapter:Nnn \c_true_bool {#1} { } } \cs_generate_variant:Nn \@@_chapter:n { V } % \end{macrocode} % \end{macro} @@ -4930,8 +5012,8 @@ To produce the documentation run the original source files ending with % \begin{macrocode} \keys_set:nn { ctex } { - chapter / beforeskip = 10 pt, - chapter / afterskip = 60 pt, + chapter / beforeskip = \c_@@_beforechapter_dim, + chapter / afterskip = \c_@@_afterchapter_dim, chapter / format = \c_@@_fmt_chapter_tl, section / format = \c_@@_fmt_section_tl, subsection / format = \c_@@_fmt_subsection_tl, @@ -4980,13 +5062,7 @@ To produce the documentation run the original source files ending with \group_begin: \keys_set:nn { ctex } { chapter/format = \c_@@_fmt_toctitle_tl } - \bool_if:NTF \g_@@_toc_in_toc_bool - { \@@_chapter:n { #1 } } - { - \chapter * { #1 } - \pdfbookmark [0] { #1 } { #2 } - \@@_chapter_header:n { #1 } - } + \@@_chapter:Nnn \g_@@_toc_in_toc_bool { #1 } { #2 } \group_end: \@starttoc { #2 } } @@ -6308,6 +6384,9 @@ To produce the documentation run the original source files ending with auth/title, auth/text, auth/sign }, prefix = p / decl /, + bookmark = toc, + bm-text = 澹版槑椤�, + bm-name = decl, top-skip = 40 pt, bottom-skip = 0 pt } @@ -6337,13 +6416,13 @@ To produce the documentation run the original source files ending with % \end{macrocode} % \end{macro} % -% \begin{macro}{\@@_make_decl_orig: } +% \begin{macro}{\@@_make_decl_i:} % \changes{v0.13}{2021/12/15}{鍔犲叆鏈鐢熺殑璇氫俊鎵胯涔︺€倉 % \changes{v0.19}{2022/05/22}{璺熻繘鏂扮増鏈鐢熻瘹淇℃壙璇轰功鏍峰紡銆倉 -% ^^A TODO: 浣跨敤 xtemplate 閲嶆瀯 +% 浣嶄簬灏侀潰鍚庣殑鎵胯涔﹂〉闈€€� % 鐢熸垚鏈鐢熺殑璇氫俊鎵胯涔︽垨鐮旂┒鐢熺殑瀛︿綅璁烘枃鍘熷垱鎬у0鏄庛€� % \begin{macrocode} -\cs_new_protected:Npn \@@_make_decl_orig: +\cs_new_protected:Npn \@@_make_decl_i: { %<def-p> \cleardoublepage %<def-p> \UseInstance { nju } { authdecl-p } @@ -6373,13 +6452,20 @@ To produce the documentation run the original source files ending with % \end{macrocode} % \end{macro} % -% \begin{macro}{\@@_make_decl_auth: } +% \begin{macro}{\@@_make_decl_ii:} % \changes{v0.17}{2022/04/04}{鍔犲叆鐮旂┒鐢熺殑瀛︿綅璁烘枃鍑虹増鎺堟潈涔︺€倉 -% 鐢熸垚鐮旂┒鐢熺殑瀛︿綅璁烘枃鍑虹増鎺堟潈涔︺€� +% 浣嶄簬灏佸簳鐨勬壙璇轰功椤甸潰銆傜敓鎴愮爺绌剁敓鐨勫浣嶈鏂囧嚭鐗堟巿鏉冧功銆� % \begin{macrocode} -\cs_new_protected:Npn \@@_make_decl_auth: +\cs_new_protected:Npn \@@_make_decl_ii: { -%<def-g> \UseInstance { nju } { authdecl-g } +%<*def-g> + \AtEndEnvironment { document } + { + \cleardoublepage + \UseInstance { nju } { authdecl-g } + \cleardoublepage + } +%</def-g> } %</(def-u|def-g|def-p)> % \end{macrocode} @@ -6490,13 +6576,8 @@ To produce the documentation run the original source files ending with { \bool_if:NT \g_@@_opt_decl_bool { - \@@_make_decl_orig: - \AtEndEnvironment { document } - { - \cleardoublepage - \@@_make_decl_auth: - \cleardoublepage - } + \@@_make_decl_i: + \@@_make_decl_ii: } } % \end{macrocode} @@ -7275,7 +7356,7 @@ To produce the documentation run the original source files ending with % % \changes{v0.17}{2022/04/09}{灏嗛暱搴﹀€煎垎绂诲埌 \file{.def} 鏂囦欢銆倉 % \changes{v0.21}{2022/06/11}{鍙互鍗曠嫭鎸囧畾涓嬪垝绾跨殑瀹藉害鍜屽亸绉汇€倉 -% 榛樿闀垮害鍊笺€� +% 榛樿鍥哄畾闀垮害鍊笺€� % \begin{macrocode} \clist_map_inline:nn { @@ -7305,7 +7386,12 @@ To produce the documentation run the original source files ending with % 灏忓箙绌烘牸銆� % \begin{macrocode} { smallhskip } { 5 pt }, - { smallvskip } { 1 ex } + { smallvskip } { 1 ex }, +% \end{macrocode} +% 绔犺妭鏍囬鍓嶅悗闂磋窛銆� +% \begin{macrocode} + { beforechapter } { 10 pt }, + { afterchapter } { 60 pt } } { \@@_define_dim:nn #1 } % \end{macrocode}