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}