diff options
author | Max Chernoff <mseven@telus.net> | 2024-10-08 01:31:03 +0000 |
---|---|---|
committer | Max Chernoff <mseven@telus.net> | 2024-10-08 01:31:03 +0000 |
commit | 23d6abdcc479ab7ab9eb434c45a7ed7570ebca2f (patch) | |
tree | 6262c972d0d8982124eb35979e0fe4703d59484f /Master/texmf-dist | |
parent | 9f85c3a6308bbec1b029bfd8628b52666bc0a398 (diff) |
bithesis (7oct24)
git-svn-id: svn://tug.org/texlive/trunk@72491 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/bithesis/README.md | 3 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/bithesis/bithesis.pdf | bin | 753551 -> 773134 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/latex/bithesis/bithesis.dtx | 490 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/bithesis/bitbeamer.cls | 2 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/bithesis/bithesis.cls | 228 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/bithesis/bitreport.cls | 6 |
6 files changed, 394 insertions, 335 deletions
diff --git a/Master/texmf-dist/doc/latex/bithesis/README.md b/Master/texmf-dist/doc/latex/bithesis/README.md index e281ceb931f..70af69b245c 100644 --- a/Master/texmf-dist/doc/latex/bithesis/README.md +++ b/Master/texmf-dist/doc/latex/bithesis/README.md @@ -10,7 +10,7 @@ The current maintainer of this project is [Feng Kaiyu](https://github.com/fky201 [![Latexmk](https://badgen.net/badge/compiler/latexmk/blue)](https://mg.readthedocs.io/latexmk.html) [![License](https://badgen.net/github/license/BITNP/BIThesis?color=008080&labelColor=2b2b2b)](./LICENSE) -BIThesis is an unofficial LaTeX template set for your +BIThesis is an unofficial LaTeX template set for your **undergraduate, master, or doctoral thesis** as well as other academic writing here at BIT. This project is supported by the _[Dept. of Undergraduate Academic Affairs, BIT](https://jwb.bit.edu.cn/)_ and the _[School of Computer Science and Technology, BIT](https://cs.bit.edu.cn/)_. See [Acknowledgements - Official Sponsors](https://bithesis.bitnp.net/guide/acknowledgements.html#%E5%AE%98%E6%96%B9%E8%B5%9E%E5%8A%A9-official-sponsors). @@ -40,4 +40,3 @@ For more details, please see the [contributing doc](./contributing.md). ## Contributors For more information, please see: [GitHub Contributors](https://github.com/BITNP/BIThesis/graphs/contributors) and [Acknowledgements](https://bithesis.bitnp.net/guide/acknowledgements.html). - diff --git a/Master/texmf-dist/doc/latex/bithesis/bithesis.pdf b/Master/texmf-dist/doc/latex/bithesis/bithesis.pdf Binary files differindex 899c03fe267..cf28b5d09ac 100644 --- a/Master/texmf-dist/doc/latex/bithesis/bithesis.pdf +++ b/Master/texmf-dist/doc/latex/bithesis/bithesis.pdf diff --git a/Master/texmf-dist/source/latex/bithesis/bithesis.dtx b/Master/texmf-dist/source/latex/bithesis/bithesis.dtx index ee8c1459638..88157edae07 100644 --- a/Master/texmf-dist/source/latex/bithesis/bithesis.dtx +++ b/Master/texmf-dist/source/latex/bithesis/bithesis.dtx @@ -21,10 +21,10 @@ %<thesis>\ProvidesExplClass{bithesis} %<report>\ProvidesExplClass{bitreport} %<beamer>\ProvidesExplClass{bitbeamer} -%<cls>{2024-05-30}{3.7.9}{BIT Thesis Templates} +%<cls>{2024-10-07}{3.8.0}{BIT Thesis Templates} % %<*driver> -\ProvidesFile{bithesis.dtx}[2024/05/30 3.7.9 BIT Thesis Templates] +\ProvidesFile{bithesis.dtx}[2024/10/07 3.8.0 BIT Thesis Templates] \documentclass[letterpaper]{l3doc} \usepackage{dtx-style} @@ -66,7 +66,7 @@ % % 定义全局变量。 % \begin{variable}{\g_@@_thesis_type_int} -% 论文类型,取值从 1 开始,分别对应: +% 论文类型,取值从 1 开始,分别对应: % \begin{enumerate} % \item 本科生毕业设计(论文) % \item 本科生毕业设计(论文)外文翻译 @@ -160,7 +160,7 @@ % % \end{macro} % -% \begin{macro}[added=2023-03-16]{\@@_get_const:} +% \begin{macro}[added=2023-03-16]{\@@_get_const:N} % 获取标题、章节、表格、图形等的常量名称。 % 会区别英文模式和中文模式。 % \begin{macrocode} @@ -216,7 +216,7 @@ % \begin{macrocode} \cs_new:Npn \@@_if_thesis_int_type:nTF #1#2#3 {\int_compare:nNnTF {\g_@@_thesis_type_int} = {#1} {#2} {#3}} \cs_new:Npn \@@_if_thesis_int_type:nT #1#2 {\@@_if_thesis_int_type:nTF {#1} {#2} {}} -\cs_new:Npn \__bithesis_if_thesis_int_type:nF #1#2 {\__bithesis_if_thesis_int_type:nTF {#1} {} {#2}} +\cs_new:Npn \@@_if_thesis_int_type:nF #1#2 {\@@_if_thesis_int_type:nTF {#1} {} {#2}} % \end{macrocode} % \end{macro} @@ -260,7 +260,7 @@ \cs_new_protected:Npn \@@_define_label:nn #1#2 { \tl_const:cn { c_@@_label_ #1 _tl } {#2} } -\cs_new_protected:Npn \@@_define_label_by_thesis_type:nnn #1#2#3 +\cs_new_protected:Npn \@@_define_label_by_thesis_type:nnn #1#2#3 { \tl_const:cn { c_@@_ #1 _label_ #2 _tl } {#3} } @@ -370,9 +370,9 @@ \circled{2}~学校可以采用影印、缩印或其它复制手段复制并保存本毕业设计(论文); \circled{3}~学校可允许本毕业设计(论文)被查阅或借阅;\circled{4}~学校可以学术交流为目的, 复制赠送和交换本毕业设计(论文);\circled{5}~学校可以公布本毕业设计(论文)的全部或部分内容。}, - {originality_author_signature} + {originality_author_signature} {本人签名:\hspace{40mm}日\hspace{2.5mm}期:\hspace{13mm}年\hspace{8mm}月\hspace{8mm}日}, - {originality_supervisor_signature} + {originality_supervisor_signature} {指导老师签名:\hspace{40mm}日\hspace{2.5mm}期:\hspace{13mm}年\hspace{8mm}月\hspace{8mm}日}, } {\@@_define_label_by_thesis_type:nnn {bachelor} #1} % \end{macrocode} @@ -388,7 +388,7 @@ 本人郑重声明:所呈交的毕业设计(论文), 是本人在指导老师的指导下独立进行研究所取得的成果。除文中已经注明引用的内容外, 本文不包含任何其他个人或集体已经发表或撰写过的研究成果。 - 对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。特此申明。\par + 对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。特此申明。\par \arialfamily I,\dunderline[-1pt]{1pt}{\makebox[18mm]{}},~solemnly~ declare:~the~submitted~graduation~design~(thesis),~ is~the~research~achievement~completed~independently~by~myself~ @@ -441,9 +441,9 @@ \par~\circled{3}~学校可允许学位论文被查阅或借阅; \par~\circled{4}~学校可以学术交流为目的,复制赠送和交换学位论文; \par~\circled{5}~学校可以公布学位论文的全部或部分内容(保密学位论文在解密后遵守此规定)。}, - {originality_author_signature} + {originality_author_signature} {签\qquad 名:\hspace{40mm}日\hspace{2.5mm}期:\hspace{30mm}\quad}, - {originality_supervisor_signature} + {originality_supervisor_signature} {导师签名:\hspace{40mm}日\hspace{2.5mm}期:\hspace{30mm}\quad}, } {\@@_define_label_by_thesis_type:nnn {graduate} #1} % \end{macrocode} @@ -458,7 +458,7 @@ {school} {学\quad 院\quad 名\quad 称} {School~or~Department}, {supervisor} {指\quad 导\quad 教\quad 师} {Faculty~Mentor}, {chairman} {答辩委员会主席} {Chair,~Thesis~Committee}, - {degree} + {degree} {申\quad 请\quad 学\quad 位} {Degree~Applied}, {major} {学\quad 科\hspace{0.8ex} / \hspace{0.8ex} 类\quad 别} {Major}, @@ -475,7 +475,7 @@ % \begin{variable}{\c_@@_label_xxx_tl,\c_@@_label_xxx_en_tl} % 常用的中英常量。 % \begin{macrocode} -\clist_map_inline:nn +\clist_map_inline:nn { {school} {学\qquad 院} {School}, {major} {专\qquad 业} {Degree}, @@ -491,14 +491,16 @@ {toc} {目\label_space: 录} {Table~of~Contents}, {abstract} {摘\label_space: 要} {Abstract}, {conclusion} {结\label_space: 论} {Conclusions}, + % 附录部分的总标题 {appendix} {附\label_space: 录} {Appendices}, - {ack} {致\label_space: 谢} {Acknowledgement}, + {ack} {致\label_space: 谢} {Acknowledgements}, {figure} {插\label_space: 图} {Illustrations}, {table} {表\label_space: 格} {Tables}, + % 附录下各部分编号的前缀 {appendix_prefix} {附录} {Appendix}, {reference} {参考文献} {References}, {university} {北京理工大学} {Beijing~Institute~of~Technology}, - {publications} {攻读学位期间发表论文与研究成果清单} + {publications} {攻读学位期间发表论文与研究成果清单} {Publications~During~Studies}, % TODO: Not so sure about the translation. {resume} {作者简介} {Author~Biography}, @@ -527,8 +529,8 @@ % \begin{macrocode} \clist_const:Nn \c_@@_bachelor_thesis_header_clist { - 北京理工大学本科生毕业设计(论文), - 北京理工大学本科生毕业设计(论文)外文翻译, + 北京理工大学本科生毕业设计(论文), + 北京理工大学本科生毕业设计(论文)外文翻译, Beijing~Institute~of~Technology~Bachelor's~Thesis, 北京理工大学硕士学位论文, 北京理工大学博士学位论文, @@ -568,8 +570,8 @@ type .value_required:n = true, type .choices:Vn = \c_@@_thesis_type_clist - { - \int_set_eq:NN \g_@@_thesis_type_int \l_keys_choice_int + { + \int_set_eq:NN \g_@@_thesis_type_int \l_keys_choice_int \int_case:nn {\l_keys_choice_int} { % 本科全英文也是英文模板。 {3} {\@@_set_english_mode:} @@ -598,7 +600,7 @@ xiheiFont .tl_set:N = \l_@@_cover_xihei_font_path_tl, xiheiFont .default:n = {STXihei}, %% cover entry - dilimiter .tl_set:N = \l_@@_cover_dilimiter_tl, + delimiter .tl_set:N = \l_@@_cover_delimiter_tl, labelAlign .tl_set:N = \l_@@_cover_label_align_tl, labelAlign .initial:n = {r}, valueAlign .tl_set:N = \l_@@_cover_value_align_tl, @@ -614,10 +616,20 @@ underlineOffset .dim_set:N = \l_@@_cover_underline_offset_dim, underlineOffset .initial:n = { -10pt }, hideCoverInPeerReview .bool_set:N = \l_@@_cover_hide_cover_in_peer_review_bool, + % 此处暂且填充默认值为`false`,待确定`\g_@@_thesis_type_int`后再根据论文类型覆盖默认值 hideCoverInPeerReview .initial:n = {false}, % 研究生的「特殊类型」 showSpecialTypeBox .bool_set:N = \l_@@_cover_show_special_type_box_bool, - showSpecialTypeBox .initial:n = {false} + showSpecialTypeBox .initial:n = {false}, + % 本科英文模板也可以使用中文封面 + prefer-zh .bool_set:N = \l_@@_cover_prefer_zh_bool, + prefer-zh .initial:n = {false}, + % 本科英文模板使用中文封面时可能需要调换中英文标题顺序 + reverse-titles .bool_set:N = \l_@@_cover_reverse_titles_bool, + reverse-titles .initial:n = {false}, + % 本科英文模板可加入中文标题 + addTitleZh .bool_set:N = \l_@@_cover_add_titlezh_bool, + addTitleZh .initial:n = {true}, } % \end{macrocode} % @@ -743,7 +755,7 @@ tabularRowSeparation .initial:n = {1}, } % \end{macrocode} -% +% % 定义 |bithesis/const| 键值对类。 % \begin{macrocode} \keys_define:nn { bithesis / const } @@ -751,6 +763,7 @@ autoref .meta:nn = { bithesis / const / autoref } { #1 }, style .meta:nn = { bithesis / const / style } { #1 }, info .meta:nn = { bithesis / const / info } { #1 }, + heading .meta:nn = { bithesis / const / heading } { #1 }, } \keys_define:nn { bithesis / const / autoref } { @@ -803,6 +816,13 @@ } }, } +\keys_define:nn { bithesis / const / heading } + { + acknowledgements .tl_set:N = \g_@@_const_heading_acknowledgements_tl, + acknowledgements .initial:n = { + \@@_get_const:N {ack} + }, + } % \end{macrocode} % % 定义 |bithesis/style| 键值对类。 @@ -825,6 +845,10 @@ { \flushbottom } }, pageVerticalAlign .initial:n = {top}, + non-CJK-font-in-headings .choice:, + non-CJK-font-in-headings / serif .code:n = { \bool_set_false:N \l_@@_arial_as_title_font_bool }, + non-CJK-font-in-headings / sans .code:n = { \bool_set_true:N \l_@@_arial_as_title_font_bool }, + non-CJK-font-in-headings .initial:n = {serif}, % 数学字体配置 mathFont .choices:nn = { asana, bonum, cm, concrete, dejavu, erewhon, euler, @@ -854,10 +878,16 @@ % \begin{macrocode} \keys_define:nn { bithesis / TOC } { + title .tl_set:N = \l_@@_toc_title_tl, + title .initial:n = { + \@@_get_const:N {toc} + }, abstract .bool_set:N = \l_@@_add_abstract_to_toc_bool, abstract .initial:n = {true}, abstractEn .bool_set:N = \l_@@_add_abstract_en_to_toc_bool, abstractEn .initial:n = {true}, + TOC .bool_set:N = \l_@@_add_toc_to_toc_bool, + TOC .initial:n = {false}, symbols .bool_set:N = \l_@@_add_symbols_to_toc_bool, symbols .initial:n = {true}, } @@ -879,7 +909,7 @@ { % mode .choice:, % mode .value_required:n = true, - % mode .choices:Vn = + % mode .choices:Vn = % \c_@@_publication_modes_clist % { % \int_new:N \l_@@_publication_mode_int @@ -896,11 +926,19 @@ minbibnames .initial:n = {10}, } % \end{macrocode} -% 在宏加载时,处理 |bithesis/option| 中的值。使得 |bithesis| +% 在宏加载时,处理 |bithesis/option| 中的值。使得 |bithesis| % 宏包的模板选项可以在宏加载时生效。 % \begin{macrocode} \ProcessKeysOptions { bithesis / option } % \end{macrocode} +% 确定 |bithesis/option| 中的 |\g_@@_thesis_type_int| 后,根据论文类型自动覆盖某些选项的默认值。 +% \begin{macrocode} +\@@_if_graduate:TF { + \keys_set:nn {bithesis} {cover/hideCoverInPeerReview = false} +} { + \keys_set:nn {bithesis} {cover/hideCoverInPeerReview = true} +} +% \end{macrocode} % % \subsubsection{处理模板选项} % @@ -952,6 +990,9 @@ \RequirePackage{geometry} \RequirePackage[table,xcdraw]{xcolor} \RequirePackage{xeCJK} +% 恢复数学行距(restoremathleading),同时避免改变正文行距。 +% (ctex 默认 linespread 1.3 × LaTeX 默认倍数 1.2 = 1.56) +\RequirePackage[bodytextleadingratio=1.56]{zhlineskip} \RequirePackage{titletoc} \RequirePackage{graphicx} \RequirePackage{fancyhdr} @@ -980,12 +1021,12 @@ % 抑制 \pkg{hyperref} 中对 |\hskip| 的 warning 信息。 % \begin{macrocode} \pdfstringdefDisableCommands{% - \let\quad\empty + \let\quad\empty } % \end{macrocode} % % 设置页眉字号,页边距。 -% +% % 需要注意的是,根据 \pkg{geometry} 的规则, % |headsep| 和 |footskip| 分别受到 |top| 与 |bottom| 的影响。 % 所以你能看到在计算 |headsep| 与 |footskip| 时,我们 @@ -1040,7 +1081,7 @@ % \end{macrocode} % % \subsubsection{定义字体相关选项} -% +% % 设置 Times New Roman 字体。 % 根据学校规范要求,默认情况下也使用 Times New Roman 字体。 % \begin{macrocode} @@ -1073,7 +1114,7 @@ } % \end{macrocode} % \end{macro} -% +% % \begin{macro}{\@@_load_unicode_math_pkg:} % 加载\pkg{unicode-math}宏包。 % \begin{macrocode} @@ -1133,7 +1174,7 @@ \cs_new:Npn \@@_load_math_font_cm: { } % \end{macrocode} % \end{macro} -% +% % \begin{macro}{\@@_load_math_font_none:} % 数学字体配置 |none|。 % \begin{macrocode} @@ -1173,28 +1214,27 @@ { \hypersetup { hidelinks } } { - \definecolor{blue}{RGB}{10,10,110} + \definecolor{blue}{RGB}{10,10,110} \hypersetup{ colorlinks=true, } } - - \@@_if_thesis_english:TF { - \@@_if_thesis_int_type:nT {3} { - % 对于本科全英文专业模板 - % Font Arial is needed. - \newfontfamily\arialfamily{Arial} - } + \bool_if:NTF \l_@@_arial_as_title_font_bool { + % 手动指定时要加载 Arial + \newfontfamily\arialfamily{Arial} } { - % 对于其他的中文模板, - % 需要加载细黑体。 - \tl_if_blank:VTF \l_@@_cover_xihei_font_path_tl {} - { - \setCJKfamilyfont{xihei}[AutoFakeBold,AutoFakeSlant] - {\l_@@_cover_xihei_font_path_tl} + % 即使未指定,本科全英文专业模板的声明也需要 Arial + \@@_if_thesis_int_type:nT {3} { + \newfontfamily\arialfamily{Arial} } } + % 无论中英文,封面都可能需要细黑体。 + \tl_if_blank:VTF \l_@@_cover_xihei_font_path_tl {} + { + \setCJKfamilyfont{xihei}[AutoFakeBold,AutoFakeSlant] + {\l_@@_cover_xihei_font_path_tl} + } % 对于本科全英文专业模板,需要自定义日期格式。 \@@_if_thesis_int_type:nT {3} { @@ -1219,7 +1259,7 @@ } % 修改 biblatex 中「专利」(patent)部分的著录格式。 - % 主要根据北理工自定义的规范,参考 biblatex 和 + % 主要根据北理工自定义的规范,参考 biblatex 和 % biblatex-gb7714-2015 的实现修改而成。 % % 默认不开启,因为此修改可能会产生其他边界问题。 @@ -1295,7 +1335,7 @@ } } % \end{macrocode} -% +% % \begin{macro}{\xihei:n} % 定义细黑字体。 % \begin{macrocode} @@ -1308,21 +1348,23 @@ } % \end{macrocode} % \end{macro} -% +% % \begin{macro}{\l_@@_title_font_cs:n} % 定义标题字体。 % \begin{macrocode} \cs_new:Npn \l_@@_title_font_cs:n #1 { - \int_compare:nNnTF {\g_@@_thesis_type_int} = {3} + \bool_if:NTF \l_@@_arial_as_title_font_bool { - \arialfamily #1 + % 即使是英文模板,仍可能出现中文,也需设置中文字体。 + \heiti\arialfamily #1 } { + % 西文保持原本的 Times New Roman。黑体一般不搭配衬线体,但学校要求如此。 \heiti #1 } } % \end{macrocode} % \end{macro} -% +% % \begin{macro}{\l_@@_unnumchapter_style_cs:n} % 定义无序章节的样式。 % \begin{macrocode} @@ -1344,7 +1386,7 @@ \cs_set:Npn \arabicHeiti #1 {#1} % \end{macrocode} % \end{macro} -% +% % 定义 \pkg{fancyhdr} 的页眉页脚。 % \begin{macrocode} \fancypagestyle{BIThesis}{ @@ -1470,20 +1512,14 @@ {\tablename~\thecontentslabel\quad}{\hspace*{-1.5cm}} {\hspace{.5em}\titlerule*{.}\contentspage} % \end{macrocode} -% +% % \subsubsection{定义样式相关函数} % % \begin{macro}{\frontmatter} % 定义前置内容的页面样式。 % \begin{macrocode} \RenewDocumentCommand \frontmatter {} { - \int_compare:nNnTF {\g_@@_thesis_type_int} = {3} - { - % 本科全英文专业论文,页码使用小罗马数字。 - \pagenumbering{roman} - } { - \pagenumbering{Roman} - } + \pagenumbering{Roman} % 这部分的章节标题不进行编号。 \ctexset{ chapter = { @@ -1492,9 +1528,9 @@ } \linespread{1.53}\selectfont \pagestyle{BIThesis} - + % 调整表格内容字号(默认五号)和各行之间的距离。 - % + % % 由于这种方式会影响所有的表格, % 所以我们尽可能延迟这种影响。 % @@ -1507,7 +1543,7 @@ % 为保证各种表格效果一致,要先手动重置setspace宏包漏掉的longtable; \AtBeginEnvironment {longtable} {\singlespacing} % 之后再统一设置。 - \clist_map_inline:nn + \clist_map_inline:nn {tabular, tabular*, tabularx, longtable} { \AtBeginEnvironment {##1} { @@ -1522,7 +1558,7 @@ } % \end{macrocode} % \end{macro} -% +% % \begin{macro}{\mainmatter} % 主体内容的页面样式。 % \begin{macrocode} @@ -1547,7 +1583,7 @@ } % \end{macrocode} % \end{macro} -% +% % \begin{macro}{\backmatter} % 后置内容的页面样式。 % \begin{macrocode} @@ -1569,7 +1605,7 @@ } % \end{macrocode} % \end{macro} -% +% % 定义标题的前后间距。 % \begin{macrocode} \setlength{\abovecaptionskip}{11pt} @@ -1580,7 +1616,7 @@ % 为了满足 “前后一行空白的问题”,需要删除 caption 下方的间距。 % 详见 `caption` 宏包手册和 % https://github.com/CTeX-org/forum/issues/86 - % + % % 这里实际的 skip 在 15pt 左右,但是全部移除会导致当图片置于页面顶部时, % 图片与上方的间距过小,因此这里只移除 5pt。 % 当然,这样会导致文本间的图片的 caption 下方的间距微微大于一行。 @@ -1601,7 +1637,7 @@ \setlength{\belowcaptionskip}{9pt} } % \end{macrocode} -% +% % 定义分隔字符。 % \begin{macrocode} \@@_if_graduate:TF { @@ -1622,7 +1658,7 @@ \captionsetup[algorithm]{font=small,labelsep=space} } % \end{macrocode} -% +% % \begin{macro}{\thefigure,\thetable,\theequation,\thelstlisting,\lstlistingname} % 定义各种计数器的格式。 % \begin{macrocode} @@ -1639,21 +1675,21 @@ \AtBeginDocument{ \cs_gset:Npn \thelstlisting {\thechapter\g_@@_label_divide_char_tl\arabic{lstlisting}} \cs_gset:Npn \lstlistingname {\c_@@_label_code_tl} - + % 算法变成「章节号-序号」 % 为了减少修改,我们只适配按章编号的情况。 % 针对 algorithm 宏包 \@ifpackagewith{algorithm}{chapter}{ \cs_gset:Npn \thealgorithm - {\thechapter\g__bithesis_label_divide_char_tl\arabic{algorithm}} + {\thechapter\g_@@_label_divide_char_tl\arabic{algorithm}} }{} % 针对 algorithm2e 宏包 \@ifpackagewith{algorithm2e}{algochapter}{ % 名字中的“cf”是指其作者 Christophe Fiorio。 \cs_gset:Npn \thealgocf - {\thechapter\g__bithesis_label_divide_char_tl\arabic{algocf}} + {\thechapter\g_@@_label_divide_char_tl\arabic{algocf}} }{} - + % 默认的情况下,保留公式和上下文的一定间距。(会比 Word 稍宽一些) \setlength{\abovedisplayskip}{\l_@@_style_math_above_display_skip_dim} \setlength{\abovedisplayshortskip}{\l_@@_style_math_above_display_skip_dim} @@ -1676,7 +1712,7 @@ } % \end{macrocode} % \end{macro} -% +% % 调整底层 TeX 排版引擎参数以保证所有段落能够很好地以两端对齐的方式呈现。 % 是的,这是祖传代码。 % 在英文模式下禁用,因为这段代码会禁用 hyphenation. @@ -1715,13 +1751,13 @@ } \lstset{style=examplestyle} % \end{macrocode} -% +% % 调整插图目录与表格目录的标题。 % \begin{macrocode} -\cs_set:Npn \listfigurename {\currentpdfbookmark{\c__bithesis_label_figure_tl}{ch:figures}\@@_get_const:N {figure}} -\cs_set:Npn \listtablename {\currentpdfbookmark{\c__bithesis_label_table_tl}{ch:tables}\@@_get_const:N {table}} +\cs_set:Npn \listfigurename {\currentpdfbookmark{\c_@@_label_figure_tl}{ch:figures}\@@_get_const:N {figure}} +\cs_set:Npn \listtablename {\currentpdfbookmark{\c_@@_label_table_tl}{ch:tables}\@@_get_const:N {table}} % \end{macrocode} -% +% % 预定义用户常用的证明环境。 % \begin{macrocode} \theoremstyle{plain} @@ -1740,10 +1776,10 @@ \newtheorem{rem}{\@@_get_const:N {rem}} \renewcommand{\qedsymbol}{\ensuremath{\blacksquare}} % \end{macrocode} -% +% % \begin{macro}{\@@_dunderline:nnn,\@@_dunderline:nn,\@@_dunderline:n} % 用于渲染下划线。 -% +% % 参数如下: % \begin{itemize} % \item \#1 位置,可选值为 \texttt{c}enter、\texttt{l}eft、\texttt{r}ight。 @@ -1781,7 +1817,7 @@ % \begin{macrocode} \cs_new:Npn \@@_render_cover_entry:nn #1#2 { \makebox[\l_@@_cover_label_max_width_dim][\l_@@_cover_label_align_tl]{ - \tl_if_blank:VTF #1 {} {#1\l_@@_cover_dilimiter_tl} + \tl_if_blank:VTF #1 {} {#1\l_@@_cover_delimiter_tl} } \hspace{1ex} \@@_dunderline:nnn{\l_@@_cover_underline_offset_dim} @@ -1791,7 +1827,7 @@ } % \end{macrocode} % \end{macro} -% +% % \begin{macro}{|@@_get_text_width:Nn,\@@_get_text_width:NV} % 计算 \#2 所占用的宽度,将结果存储在 \#1 中。 % @@ -1809,7 +1845,7 @@ \cs_generate_variant:Nn \@@_get_text_width:Nn { NV } % \end{macrocode} % \end{macro} -% +% % \begin{macro}{\@@_get_max_text_width:NN} % 从 \#2 中获取最大的文本宽度,然后设置到 \#1 中。 % @@ -1876,7 +1912,7 @@ % 比如 {label_1} {value \\ 1} 会被转换成 % { {label_1} {value}, {} {1} } \@@_parse_entry ##1 - % 然后将这些 label - value 对添加到 \l_@@_right_seq + % 然后将这些 label - value 对添加到 \l_@@_right_seq % 或者 \l_@@_left_sql 中。 % left 就是 label,right 就是 value。 \seq_concat:NNN \l_@@_right_seq \l_@@_right_seq \l_@@_tmp_right_seq @@ -1888,7 +1924,7 @@ \@@_get_max_text_width:NN \l_@@_cover_label_max_width_dim \l_@@_left_seq \@@_get_max_text_width:NN \l_@@_cover_value_max_width_dim \l_@@_right_seq } - + % 最后,根据宽度渲染 label 和 value 对。 \group_begin: @@ -1904,7 +1940,7 @@ } % \end{macrocode} % \end{macro} -% +% % \begin{macro}{\make_graduate_cover:} % 制作研究生论文模板封面。 % \begin{macrocode} @@ -1948,7 +1984,7 @@ \centering { \heiti\zihao{3} - \tl_if_blank:VTF \l_@@_value_vertical_title_tl + \tl_if_blank:VTF \l_@@_value_vertical_title_tl {\l_@@_value_title_tl}{\l_@@_value_vertical_title_tl} } \par @@ -2024,8 +2060,8 @@ { \renewcommand{\baselinestretch}{2} - \tl_if_empty:NT \l_@@_cover_dilimiter_tl { - \tl_set:Nn \l_@@_cover_dilimiter_tl {\qquad} + \tl_if_empty:NT \l_@@_cover_delimiter_tl { + \tl_set:Nn \l_@@_cover_delimiter_tl {\qquad} } \tl_set:Nn \l_@@_cover_underline_offset_dim {-5pt} @@ -2034,10 +2070,10 @@ \bool_if:NF \l_@@_cover_auto_width_bool { \dim_compare:nNnT {\l_@@_cover_label_max_width_dim} = {0pt} { \dim_set:Nn \l_@@_cover_label_max_width_dim {45mm} - } + } \dim_compare:nNnT {\l_@@_cover_value_max_width_dim} = {0pt} { \dim_set:Nn \l_@@_cover_value_max_width_dim {60mm} - } + } } % 渲染信息。 @@ -2080,8 +2116,8 @@ \vskip \stretch{1} { - \tl_if_empty:NT \l_@@_cover_dilimiter_tl { - \tl_set:Nn \l_@@_cover_dilimiter_tl {:~} + \tl_if_empty:NT \l_@@_cover_delimiter_tl { + \tl_set:Nn \l_@@_cover_delimiter_tl {:~} } \tl_set:Nn \l_@@_cover_label_align_tl {l} @@ -2092,10 +2128,10 @@ \bool_if:NF \l_@@_cover_auto_width_bool { \dim_compare:nNnT {\l_@@_cover_label_max_width_dim} = {0pt} { \dim_set:Nn \l_@@_cover_label_max_width_dim {55mm} - } + } \dim_compare:nNnT {\l_@@_cover_value_max_width_dim} = {0pt} { \dim_set:Nn \l_@@_cover_value_max_width_dim {85mm} - } + } } % 渲染信息。 @@ -2279,7 +2315,15 @@ \begin{blindPeerReview}[\l_@@_cover_hide_cover_in_peer_review_bool] \group_begin: - \int_case:nn {\g_@@_thesis_type_int} + % 封面使用的 thesis-type 可能与整体不同。 + \int_new:N \l_@@_thesis_type_int + \bool_if:NTF \l_@@_cover_prefer_zh_bool { + \int_set:Nn \l_@@_thesis_type_int {1} + } { + \int_set:Nn \l_@@_thesis_type_int \g_@@_thesis_type_int + } + + \int_case:nn {\l_@@_thesis_type_int} { {1} { @@ -2297,32 +2341,43 @@ \zihao{-0}\textbf{\ziju{0.12}\songti{\l_@@_style_headline_tl}}\par - \vspace{16mm} - - \zihao{2}\textbf{\xihei:n \l_@@_value_title_tl}\par + \vspace{0.5em plus 1fill} - \vspace{3mm} + \group_begin: + % 中文标题 + \tl_set:Nn \l_tmpa_tl { + \linespread{1.46}\selectfont + \zihao{2}\textbf{\xihei:n \l_@@_value_title_tl}\par + } + % 英文标题 + \tl_set:Nn \l_tmpb_tl { + \linespread{1.65}\selectfont + \zihao{3}\textbf{\l_@@_value_title_en_tl}\par + } - \begin{spacing}{1.2} - \zihao{3}\selectfont{\textbf{\l_@@_value_title_en_tl}}\par - \end{spacing} + \bool_if:NTF \l_@@_cover_reverse_titles_bool { + \l_tmpb_tl \vspace{3mm} \l_tmpa_tl + } { + \l_tmpa_tl \vspace{3mm} \l_tmpb_tl + } + \group_end: - \vspace{15mm} + \vspace{0em plus 1fill} \begin{spacing}{1.8} \begin{center} - \tl_if_empty:NT \l_@@_cover_dilimiter_tl { - \tl_set:Nn \l_@@_cover_dilimiter_tl {:} + \tl_if_empty:NT \l_@@_cover_delimiter_tl { + \tl_set:Nn \l_@@_cover_delimiter_tl {:} } % if not auto width, try override width \bool_if:NF \l_@@_cover_auto_width_bool { \dim_compare:nNnT {\l_@@_cover_label_max_width_dim} = {0pt} { \dim_set:Nn \l_@@_cover_label_max_width_dim {35mm} - } + } \dim_compare:nNnT {\l_@@_cover_value_max_width_dim} = {0pt} { \dim_set:Nn \l_@@_cover_value_max_width_dim {78mm} - } + } } \clist_set:Nn \l_@@_input_clist { @@ -2341,14 +2396,16 @@ \zihao{3} \@@_render_cover_entry:n \l_@@_input_clist - + \end{center} \end{spacing} - \vspace*{\fill} + \vspace*{1.5em plus 1.5fill} \centering \zihao{3}\ziju{0.5}\songti{ \tl_if_empty:NTF \l_@@_cover_date_tl { + % 英文模板中 ctex 不会预设日期格式,但仍要保证中文封面的日期按中文习惯 + \ctexset{today=small} \today } { \l_@@_cover_date_tl @@ -2375,8 +2432,8 @@ { \begin{spacing}{1.8} - - \tl_set:Nn \l_@@_cover_dilimiter_tl {\textbf{:}} + + \tl_set:Nn \l_@@_cover_delimiter_tl {\textbf{:}} \bool_set_false:N \l_@@_cover_auto_width_bool \dim_set:Nn \l_@@_cover_label_max_width_dim {35mm} \dim_set:Nn \l_@@_cover_value_max_width_dim {115mm} @@ -2408,8 +2465,8 @@ \vspace{\stretch{0.67}} \begin{spacing}{1.8} - \tl_if_empty:NT \l_@@_cover_dilimiter_tl { - \tl_set:Nn \l_@@_cover_dilimiter_tl {:} + \tl_if_empty:NT \l_@@_cover_delimiter_tl { + \tl_set:Nn \l_@@_cover_delimiter_tl {:} } % 如果不是自动计算宽度,且用户没有自定义宽度, @@ -2417,10 +2474,10 @@ \bool_if:NF \l_@@_cover_auto_width_bool { \dim_compare:nNnT {\l_@@_cover_label_max_width_dim} = {0pt} { \dim_set:Nn \l_@@_cover_label_max_width_dim {35mm} - } + } \dim_compare:nNnT {\l_@@_cover_value_max_width_dim} = {0pt} { \dim_set:Nn \l_@@_cover_value_max_width_dim {78mm} - } + } } \zihao{3} @@ -2437,7 +2494,7 @@ } \@@_render_cover_entry:n \l_@@_input_clist - + \end{spacing} \vspace{\stretch{0.67}} @@ -2459,6 +2516,11 @@ \vspace{18mm} + \bool_if:NT \l_@@_cover_add_titlezh_bool { + \zihao{2}\textbf{\xihei:n \l_@@_value_title_tl}\par + \vspace{16mm} + } + \zihao{2}\textbf{\xihei:n \l_@@_value_title_en_tl}\par \vspace{10mm} @@ -2466,25 +2528,25 @@ \begin{spacing}{1.8} \begin{center} - \tl_if_empty:NT \l_@@_cover_dilimiter_tl { - \tl_set:Nn \l_@@_cover_dilimiter_tl {:} + \tl_if_empty:NT \l_@@_cover_delimiter_tl { + \tl_set:Nn \l_@@_cover_delimiter_tl {:} } % if not auto width, try override width \bool_if:NF \l_@@_cover_auto_width_bool { \dim_compare:nNnT {\l_@@_cover_label_max_width_dim} = {0pt} { \dim_set:Nn \l_@@_cover_label_max_width_dim {20mm} - } + } \dim_compare:nNnT {\l_@@_cover_value_max_width_dim} = {0pt} { \dim_set:Nn \l_@@_cover_value_max_width_dim {105mm} - } + } } \zihao{4} \clist_set:Nn \l_@@_input_clist { {\c_@@_label_school_en_tl} {\l_@@_value_school_tl}, - {\c_@@_label_major_en_tl} {\l_@@_value_major_tl}, + {\g_@@_const_info_major_tl} {\l_@@_value_major_tl}, {\c_@@_label_author_en_tl} {\l_@@_value_author_tl}, {\c_@@_label_student_id_en_tl} {\l_@@_value_student_id_tl}, {\c_@@_label_supervisor_en_tl} {\l_@@_value_supervisor_tl}, @@ -2524,13 +2586,13 @@ % \begin{macro}{\MakeOriginality} % 原创性声明。 % \begin{macrocode} -\NewDocumentCommand \MakeOriginality {} +\NewDocumentCommand \MakeOriginality {} { \group_begin: \begin{blindPeerReview}[\l_@@_cover_hide_cover_in_peer_review_bool] \int_case:nn {\g_@@_thesis_type_int} { - {1} + {1} { \currentpdfbookmark{声明}{frontmatter:originality} \pagestyle{BIThesis} @@ -2580,7 +2642,10 @@ \newpage } {3} { - \linespread{1.26}\selectfont + \currentpdfbookmark{Statements}{frontmatter:originality} + \pagestyle{BIThesis} + \pagenumbering{gobble} + % 原创性声明部分 \begin{center} \vspace*{-2bp} @@ -2591,7 +2656,7 @@ } \end{center}~\par - % 本部分字号为小三 + % 本部分字号为小四 \zihao{-4} \c_@@_bachelor_english_label_originality_clause_tl @@ -2599,7 +2664,7 @@ Student~(Signature):~\dunderline[-1pt]{1pt}{\makebox[18mm]{}}~Date:\par - \vspace{6mm} + \vspace{\stretch{1}} % 使用授权声明部分 \begin{center} @@ -2679,12 +2744,6 @@ \renewcommand{\baselinestretch}{1.56} } - \@@_if_thesis_english:TF { - \tl_set:Nn \l_@@_toc_title_tl {\c_@@_label_toc_en_tl} - } { - \tl_set:Nn \l_@@_toc_title_tl {\c_@@_label_toc_tl} - } - % 自定义目录样式 \cs_set:Npn \contentsname { \fontsize{16pt}{\baselineskip} @@ -2694,19 +2753,19 @@ \vspace{-8pt} } - % 添加目录书签 - \__bithesis_if_thesis_int_type:nF {3} { - \currentpdfbookmark{\c__bithesis_label_toc_tl}{ch:toc} + \bool_if:NTF \l_@@_add_toc_to_toc_bool { + % 添加「目录」本身到目录中,同时自动添加书签 + % 此处必须有`\phantomsection`,不然 hyperref 会把链接指向之前摘要的标题。 + \phantomsection + \addcontentsline{toc}{chapter}{\c_@@_label_toc_en_tl} + } { + % 手动添加目录书签 + \currentpdfbookmark{\l_@@_toc_title_tl}{ch:toc} } % 制作目录 \tableofcontents - % 在本科生全英文模板中,添加「目录」本身到目录中。 - \__bithesis_if_thesis_int_type:nT {3} { - \addcontentsline{toc}{chapter}{\c__bithesis_label_toc_en_tl} - } - % 单独成页 \clearpage } @@ -2744,16 +2803,8 @@ } \@@_if_bachelor_thesis:T { - \int_compare:nNnTF {\g_@@_thesis_type_int} = {3} - { - \ctexset{ - chapter/titleformat = {\heiti} - } - } - { - \ctexset{ - chapter/titleformat = {\textmd} - } + \ctexset{ + chapter/titleformat = {\textmd} } } @@ -2798,39 +2849,25 @@ \centering \vspace*{-2bp} - \@@_if_thesis_int_type:nTF {3} { - \arialfamily\zihao{-2}\textbf - \l_@@_value_title_en_tl\\ - } { - \heiti\zihao{3}\textbf + \l_@@_title_font_cs:n { + \zihao{3}\textbf \l_@@_value_title_en_tl\\ } \end{spacing} \vspace*{10mm} } - + \ctexset{ chapter/numbering = false, } \@@_if_bachelor_thesis:TF { - \int_compare:nNnTF {\g_@@_thesis_type_int} = {3} - { - \ctexset{ - chapter = { - titleformat = {\heiti\zihao{3}\centering\textbf}, - } - } - } { - \ctexset{ - chapter = { - titleformat = {\heiti\zihao{-3}\centering\textmd}, - } - } + \ctexset{ + chapter/titleformat = {\zihao{-3}\textmd} } } { \ctexset { - chapter/titleformat = {\heiti\zihao{3}\centering\textbf} + chapter/titleformat = {\heiti\zihao{3}\centering\textbf} } } @@ -2945,13 +2982,13 @@ } \bool_if:NTF \l_@@_appendices_chapter_level_bool { - % 附录章节级别 - + % 使用以「chapter」为顶层的附录格式 + % 仅设置 \setcounter{chapter}{0} 时,pdf 目录会索引到正文章节。 % 因此,需要使用 \appendix 重置计数器,并将附录后面的 % 几个章节视为特殊的附录页。 \appendix - + \ctexset{ chapter/numbering = true, chapter/name = {}, @@ -2964,7 +3001,7 @@ \Alph{chapter} } } { - % 附录节(section)级别 + % 使用以「section」为顶层的附录格式 % 因为不需要用到 chapter counter, 所以直接加一即可。 \stepcounter{chapter} @@ -3021,11 +3058,7 @@ subsubsection/number = \arabic{section}. \arabic{subsection}. \arabic{subsubsection}, } - \@@_if_thesis_english:TF { - \chapter{\c_@@_label_ack_en_tl} - } { - \chapter{\c_@@_label_ack_tl} - } + \chapter{\g_@@_const_heading_acknowledgements_tl} \@@_if_graduate:TF {\fangsong}{} #1 \end{blindPeerReview} @@ -3323,7 +3356,7 @@ % \subsubsection{全局变量与临时变量} % % \begin{variable}{\g_@@_thesis_type_int} -% 论文类型,取值从 1 开始,分别对应: +% 论文类型,取值从 1 开始,分别对应: % \begin{enumerate} % \item 课程实验报告 % \item (计算机学院)本科生毕业(设计)开题报告(已废弃) @@ -3332,7 +3365,7 @@ \int_new:N \g_@@_report_type_int % \end{macrocode} % \end{variable} -% +% % \begin{variable}{\c_@@_report_type_clist} % 定义报告类型的列表。 % \begin{macrocode} @@ -3340,7 +3373,7 @@ { common, undergraduate_proposal} % \end{macrocode} % \end{variable} -% +% % \begin{variable}{\l_@@_right_seq,\l_@@_left_seq} % 临时变量。 % \begin{macrocode} @@ -3348,12 +3381,12 @@ \seq_new:N \l_@@_left_seq % \end{macrocode} % \end{variable} -% +% % 手动开启伪粗体、伪斜体。 % \begin{macrocode} \PassOptionsToPackage{AutoFakeBold,AutoFakeSlant}{xeCJK} % \end{macrocode} -% +% % \subsubsection{l3keys 接口键值对定义} % % 定义 |bitreport| 模板类的键值对。 @@ -3366,7 +3399,7 @@ misc .meta:nn = { bitreport / misc } {#1} } % \end{macrocode} -% +% % 定义 |bitreport/option| 模板类的键值对。 % \begin{macrocode} \keys_define:nn { bitreport / option } @@ -3375,14 +3408,14 @@ type .value_required:n = true, type .choices:Vn = \c_@@_report_type_clist - { - \int_set_eq:NN \g_@@_report_type_int \l_keys_choice_int + { + \int_set_eq:NN \g_@@_report_type_int \l_keys_choice_int }, type .initial:n = common, ctex .tl_set:N = \l_@@_options_to_ctex_tl, } % \end{macrocode} -% +% % 定义 |bitreport/cover| 模板类的键值对。 % \begin{macrocode} \keys_define:nn { bitreport / cover } @@ -3390,7 +3423,7 @@ imagePath .tl_set:N = \l_bit_coverimagepath_tl, date .tl_set:N = \l_@@_cover_date_tl, %% cover entry - dilimiter .tl_set:N = \l_@@_cover_dilimiter_tl, + delimiter .tl_set:N = \l_@@_cover_delimiter_tl, labelAlign .tl_set:N = \l_@@_cover_label_align_tl, labelAlign .initial:n = {r}, valueAlign .tl_set:N = \l_@@_cover_value_align_tl, @@ -3407,7 +3440,7 @@ underlineOffset .initial:n = { -10pt }, } % \end{macrocode} -% +% % 定义 |bitreport/info| 模板类的键值对。 % \begin{macrocode} \keys_define:nn { bitreport / info } @@ -3422,7 +3455,7 @@ studentId .tl_set:N = \l_@@_value_student_id_tl, } % \end{macrocode} -% +% % 定义 |bitreport/misc| 模板类的键值对。 % \begin{macrocode} \keys_define:nn { bitreport / misc } @@ -3430,20 +3463,20 @@ reviewTable .tl_set:N = \l_bit_reviewtable_tl, } % \end{macrocode} -% +% % 将 |bithesis/option/ctex| 中的值传递给 ctexbook 模板类。 % \begin{macrocode} \DeclareOption*{ \PassOptionsToClass{\l_@@_options_to_ctex_tl}{ctexart} } % \end{macrocode} -% +% % 加载 ctexbook 模板类。 % \begin{macrocode} \ProcessOptions\relax \LoadClass[zihao=-4]{ctexart} % \end{macrocode} -% +% % \subsubsection{定义模板类样式} % 加载所需的宏包。 % \begin{macrocode} @@ -3454,13 +3487,13 @@ \RequirePackage{booktabs} \RequirePackage{pdfpages} % \end{macrocode} -% -% 在宏加载时,处理 |bitreport/option| 中的值。使得 |bitreport| +% +% 在宏加载时,处理 |bitreport/option| 中的值。使得 |bitreport| % 宏包的模板选项可以在宏加载时生效。 % \begin{macrocode} \ProcessKeysOptions { bitreport / option } % \end{macrocode} -% +% % \subsubsection{辅助函数与常量} % % \begin{macro}{\tl_if_empty:xTF,\seq_set_split:Nnx} @@ -3470,10 +3503,10 @@ \cs_generate_variant:Nn \seq_set_split:Nnn {Nnx} % \end{macrocode} % \end{macro} -% +% % \begin{macro}{\@@_dunderline:nnn} % 用于渲染下划线。 -% +% % 参数如下: % \begin{itemize} % \item \#1 位置,可选值为 \texttt{c}enter、\texttt{l}eft、\texttt{r}ight。 @@ -3486,7 +3519,7 @@ } % \end{macrocode} % \end{macro} -% +% % \begin{macro}{|@@_render_cover_entry:nn} % 用于渲染封面的辅助函数。 % @@ -3501,7 +3534,7 @@ % \begin{macrocode} \cs_new:Npn \@@_render_cover_entry:nn #1#2 { \makebox[\l_@@_cover_label_max_width_dim][\l_@@_cover_label_align_tl]{ - \tl_if_blank:VTF #1 {} {#1\l_@@_cover_dilimiter_tl} + \tl_if_blank:VTF #1 {} {#1\l_@@_cover_delimiter_tl} } \hspace{1ex} \@@_dunderline:nnn{\l_@@_cover_underline_offset_dim}{\l_@@_cover_underline_thickness_dim}{ @@ -3510,7 +3543,7 @@ } % \end{macrocode} % \end{macro} -% +% % \begin{macro}{|@@_get_text_width:Nn,\@@_get_text_width:NV} % 计算 \#2 所占用的宽度,将结果存储在 \#1 中。 % @@ -3529,7 +3562,7 @@ \cs_generate_variant:Nn \@@_get_text_width:Nn { NV } % \end{macrocode} % \end{macro} -% +% % \begin{macro}{\@@_get_max_text_width:NN} % 从 \#2 中获取最大的文本宽度,然后设置到 \#1 中。 % @@ -3556,7 +3589,7 @@ } % \end{macrocode} % \end{macro} -% +% % \begin{macro}{\@@_parse_entry} % 解析封面信息条目。 % @@ -3579,7 +3612,7 @@ } % \end{macrocode} % \end{macro} -% +% % \begin{macro}{\@@_render_cover_entry} % 渲染封面信息项。此函数为主函数。 % \begin{macrocode} @@ -3596,7 +3629,7 @@ % 比如 {label_1} {value \\ 1} 会被转换成 % { {label_1} {value}, {} {1} } \@@_parse_entry ##1 - % 然后将这些 label - value 对添加到 \l_@@_right_seq + % 然后将这些 label - value 对添加到 \l_@@_right_seq % 或者 \l_@@_left_sql 中。 % left 就是 label,right 就是 value。 \seq_concat:NNN \l_@@_right_seq \l_@@_right_seq \l_@@_tmp_right_seq @@ -3608,7 +3641,7 @@ \@@_get_max_text_width:NN \l_@@_cover_label_max_width_dim \l_@@_left_seq \@@_get_max_text_width:NN \l_@@_cover_value_max_width_dim \l_@@_right_seq } - + % 最后,根据宽度渲染 label 和 value 对。 \group_begin: @@ -3626,7 +3659,7 @@ % \end{macro} % % \subsubsection{定义用户接口} -% +% % \begin{macro}{\BITSetup} % 提供用户配置的接口。 % \begin{macrocode} @@ -3736,7 +3769,7 @@ % \begin{macro}{\MakeReviewTable} % 渲染评阅表。 % \begin{macrocode} -\DeclareDocumentCommand \MakeReviewTable {} +\DeclareDocumentCommand \MakeReviewTable {} { \group_begin: \begin{titlepage} @@ -3751,35 +3784,35 @@ % \begin{macrocode} \DeclareCaptionFont{kaiticaption}{\kaishu \normalsize} % \end{macrocode} -% +% % 设置图片的 caption 格式 % \begin{macrocode} \renewcommand{\thefigure}{\thesection-\arabic{figure}} \captionsetup[figure]{font=small,labelsep=space,skip=10bp,labelfont=bf,font=kaiticaption} % \end{macrocode} -% +% % 设置表格的 caption 格式 % \begin{macrocode} \renewcommand{\thetable}{\thesection-\arabic{table}} \captionsetup[table]{font=small,labelsep=space,skip=10bp,labelfont=bf,font=kaiticaption} % \end{macrocode} -% +% % 输出大写数字日期 % \begin{macrocode} \ctexset{today=big} % \end{macrocode} -% +% % 将西文字体设置为 Times New Roman % \begin{macrocode} \setromanfont{Times~New~Roman} % \end{macrocode} -% +% % 设置文档标题深度 % \begin{macrocode} \setcounter{tocdepth}{3} \setcounter{secnumdepth}{3} % \end{macrocode} -% +% % 设置一级标题、二级标题格式。 % \begin{macrocode} % 一级标题:小三,宋体,加粗,段前段后各半行。 @@ -3804,7 +3837,7 @@ } } % \end{macrocode} -% +% % 页眉和页脚(页码)的格式设定。 % \begin{macrocode} \fancyhf{} @@ -3826,13 +3859,13 @@ \renewcommand{\headrulewidth}{1pt} \renewcommand{\footrulewidth}{0pt} % \end{macrocode} -% +% % 正文开始 % \begin{macrocode} \pagestyle{fancy} \setcounter{page}{1} % \end{macrocode} -% +% % \begin{macrocode} % 正文 22 磅的行距,段前段后间距为 0 % \setlength{\parskip}{0em} @@ -3861,27 +3894,27 @@ framelogo .tl_set:N = \l_bit_framelogo_tl, } % \end{macrocode} -% -% 在宏加载时,处理 |bitbeamer| 中的值。使得 |bitbeamer| +% +% 在宏加载时,处理 |bitbeamer| 中的值。使得 |bitbeamer| % 宏包的模板选项可以在宏加载时生效。 % \begin{macrocode} \ProcessKeysOptions { bitbeamer } % \end{macrocode} -% +% % Pass every option not explicitly defined to `ctexbeamer`. % \begin{macrocode} \DeclareOption*{ \PassOptionsToClass{\CurrentOption}{ctexbeamer} } % \end{macrocode} -% +% % Executes the code for each option. % Load. % \begin{macrocode} \ProcessOptions\relax \LoadClass{ctexbeamer} % \end{macrocode} -% +% % \subsubsection{定义模板类样式} % % 加载所需的宏包。 @@ -3898,7 +3931,7 @@ \definecolor{bitdarkgreen}{HTML}{005B30} \colorlet{beamer@blendedblue}{bitdarkgreen} % \end{macrocode} -% +% % % \begin{macro}{\CJKhl:nn} % 高亮中文字符。 @@ -3907,8 +3940,8 @@ { \CJKsout*[thickness=2.5ex, format=\color{#1}]{#2} } % \end{macrocode} % \end{macro} -% -% Set header if logo path is provided. +% +% Set header if logo path is provided. % \begin{macrocode} \tl_if_empty:NF \l_bit_titlegraphic_tl { % BIT Logo @@ -3917,19 +3950,19 @@ } } % \end{macrocode} -% +% % Set title logo if logo path is provided. % \begin{macrocode} \tl_if_empty:NF \l_bit_framelogo_tl { \addtobeamertemplate{frametitle}{}{% \begin{tikzpicture}[remember~picture,overlay] - \node[anchor=north~east,yshift=2pt] at (current~page.north~east) + \node[anchor=north~east,yshift=2pt] at (current~page.north~east) {\includegraphics[height=0.8cm]{\tl_use:N \l_bit_framelogo_tl}}; \end{tikzpicture} } } % \end{macrocode} -% +% % \subsubsection{定义用户接口} % % \begin{macrocode} @@ -4274,4 +4307,3 @@ % TeX-master: t % End: % \fi - diff --git a/Master/texmf-dist/tex/latex/bithesis/bitbeamer.cls b/Master/texmf-dist/tex/latex/bithesis/bitbeamer.cls index 2e500887306..481ff09cfa0 100644 --- a/Master/texmf-dist/tex/latex/bithesis/bitbeamer.cls +++ b/Master/texmf-dist/tex/latex/bithesis/bitbeamer.cls @@ -27,7 +27,7 @@ %% \RequirePackage{expl3,l3keys2e} \ProvidesExplClass{bitbeamer} -{2024-05-30}{3.7.9}{BIT Thesis Templates} +{2024-10-07}{3.8.0}{BIT Thesis Templates} \keys_define:nn { bitbeamer } { titlegraphic .tl_set:N = \l_bit_titlegraphic_tl, diff --git a/Master/texmf-dist/tex/latex/bithesis/bithesis.cls b/Master/texmf-dist/tex/latex/bithesis/bithesis.cls index 39141be5f46..4cdb085a59c 100644 --- a/Master/texmf-dist/tex/latex/bithesis/bithesis.cls +++ b/Master/texmf-dist/tex/latex/bithesis/bithesis.cls @@ -27,7 +27,7 @@ %% \RequirePackage{expl3,l3keys2e} \ProvidesExplClass{bithesis} -{2024-05-30}{3.7.9}{BIT Thesis Templates} +{2024-10-07}{3.8.0}{BIT Thesis Templates} \int_new:N \g__bithesis_thesis_type_int \int_new:N \g__bithesis_head_zihao_int \bool_new:N \g__bithesis_twoside_bool @@ -264,10 +264,12 @@ {toc} {目\label_space: 录} {Table~of~Contents}, {abstract} {摘\label_space: 要} {Abstract}, {conclusion} {结\label_space: 论} {Conclusions}, + % 附录部分的总标题 {appendix} {附\label_space: 录} {Appendices}, - {ack} {致\label_space: 谢} {Acknowledgement}, + {ack} {致\label_space: 谢} {Acknowledgements}, {figure} {插\label_space: 图} {Illustrations}, {table} {表\label_space: 格} {Tables}, + % 附录下各部分编号的前缀 {appendix_prefix} {附录} {Appendix}, {reference} {参考文献} {References}, {university} {北京理工大学} {Beijing~Institute~of~Technology}, @@ -350,7 +352,7 @@ xiheiFont .tl_set:N = \l__bithesis_cover_xihei_font_path_tl, xiheiFont .default:n = {STXihei}, %% cover entry - dilimiter .tl_set:N = \l__bithesis_cover_dilimiter_tl, + delimiter .tl_set:N = \l__bithesis_cover_delimiter_tl, labelAlign .tl_set:N = \l__bithesis_cover_label_align_tl, labelAlign .initial:n = {r}, valueAlign .tl_set:N = \l__bithesis_cover_value_align_tl, @@ -366,10 +368,20 @@ underlineOffset .dim_set:N = \l__bithesis_cover_underline_offset_dim, underlineOffset .initial:n = { -10pt }, hideCoverInPeerReview .bool_set:N = \l__bithesis_cover_hide_cover_in_peer_review_bool, + % 此处暂且填充默认值为`false`,待确定`\g__bithesis_thesis_type_int`后再根据论文类型覆盖默认值 hideCoverInPeerReview .initial:n = {false}, % 研究生的「特殊类型」 showSpecialTypeBox .bool_set:N = \l__bithesis_cover_show_special_type_box_bool, - showSpecialTypeBox .initial:n = {false} + showSpecialTypeBox .initial:n = {false}, + % 本科英文模板也可以使用中文封面 + prefer-zh .bool_set:N = \l__bithesis_cover_prefer_zh_bool, + prefer-zh .initial:n = {false}, + % 本科英文模板使用中文封面时可能需要调换中英文标题顺序 + reverse-titles .bool_set:N = \l__bithesis_cover_reverse_titles_bool, + reverse-titles .initial:n = {false}, + % 本科英文模板可加入中文标题 + addTitleZh .bool_set:N = \l__bithesis_cover_add_titlezh_bool, + addTitleZh .initial:n = {true}, } \keys_define:nn { bithesis / info } { @@ -491,6 +503,7 @@ autoref .meta:nn = { bithesis / const / autoref } { #1 }, style .meta:nn = { bithesis / const / style } { #1 }, info .meta:nn = { bithesis / const / info } { #1 }, + heading .meta:nn = { bithesis / const / heading } { #1 }, } \keys_define:nn { bithesis / const / autoref } { @@ -543,6 +556,13 @@ } }, } +\keys_define:nn { bithesis / const / heading } + { + acknowledgements .tl_set:N = \g__bithesis_const_heading_acknowledgements_tl, + acknowledgements .initial:n = { + \__bithesis_get_const:N {ack} + }, + } \keys_define:nn { bithesis / style } { head .tl_set:N = \l__bithesis_style_head_tl, @@ -561,6 +581,10 @@ { \flushbottom } }, pageVerticalAlign .initial:n = {top}, + non-CJK-font-in-headings .choice:, + non-CJK-font-in-headings / serif .code:n = { \bool_set_false:N \l__bithesis_arial_as_title_font_bool }, + non-CJK-font-in-headings / sans .code:n = { \bool_set_true:N \l__bithesis_arial_as_title_font_bool }, + non-CJK-font-in-headings .initial:n = {serif}, % 数学字体配置 mathFont .choices:nn = { asana, bonum, cm, concrete, dejavu, erewhon, euler, @@ -586,10 +610,16 @@ } \keys_define:nn { bithesis / TOC } { + title .tl_set:N = \l__bithesis_toc_title_tl, + title .initial:n = { + \__bithesis_get_const:N {toc} + }, abstract .bool_set:N = \l__bithesis_add_abstract_to_toc_bool, abstract .initial:n = {true}, abstractEn .bool_set:N = \l__bithesis_add_abstract_en_to_toc_bool, abstractEn .initial:n = {true}, + TOC .bool_set:N = \l__bithesis_add_toc_to_toc_bool, + TOC .initial:n = {false}, symbols .bool_set:N = \l__bithesis_add_symbols_to_toc_bool, symbols .initial:n = {true}, } @@ -620,6 +650,11 @@ minbibnames .initial:n = {10}, } \ProcessKeysOptions { bithesis / option } +\__bithesis_if_graduate:TF { + \keys_set:nn {bithesis} {cover/hideCoverInPeerReview = false} +} { + \keys_set:nn {bithesis} {cover/hideCoverInPeerReview = true} +} \__bithesis_if_thesis_english:T { \PassOptionsToClass{scheme=plain}{ctexbook} } @@ -639,6 +674,7 @@ \RequirePackage{geometry} \RequirePackage[table,xcdraw]{xcolor} \RequirePackage{xeCJK} +\RequirePackage[bodytextleadingratio=1.56]{zhlineskip} \RequirePackage{titletoc} \RequirePackage{graphicx} \RequirePackage{fancyhdr} @@ -793,21 +829,20 @@ } } - \__bithesis_if_thesis_english:TF { + \bool_if:NTF \l__bithesis_arial_as_title_font_bool { + % 手动指定时要加载 Arial + \newfontfamily\arialfamily{Arial} + } { + % 即使未指定,本科全英文专业模板的声明也需要 Arial \__bithesis_if_thesis_int_type:nT {3} { - % 对于本科全英文专业模板 - % Font Arial is needed. \newfontfamily\arialfamily{Arial} } - - } { - % 对于其他的中文模板, - % 需要加载细黑体。 - \tl_if_blank:VTF \l__bithesis_cover_xihei_font_path_tl {} - { - \setCJKfamilyfont{xihei}[AutoFakeBold,AutoFakeSlant] - {\l__bithesis_cover_xihei_font_path_tl} - } + } + % 无论中英文,封面都可能需要细黑体。 + \tl_if_blank:VTF \l__bithesis_cover_xihei_font_path_tl {} + { + \setCJKfamilyfont{xihei}[AutoFakeBold,AutoFakeSlant] + {\l__bithesis_cover_xihei_font_path_tl} } % 对于本科全英文专业模板,需要自定义日期格式。 @@ -916,10 +951,12 @@ } } \cs_new:Npn \l__bithesis_title_font_cs:n #1 { - \int_compare:nNnTF {\g__bithesis_thesis_type_int} = {3} + \bool_if:NTF \l__bithesis_arial_as_title_font_bool { - \arialfamily #1 + % 即使是英文模板,仍可能出现中文,也需设置中文字体。 + \heiti\arialfamily #1 } { + % 西文保持原本的 Times New Roman。黑体一般不搭配衬线体,但学校要求如此。 \heiti #1 } } @@ -1046,13 +1083,7 @@ {\tablename~\thecontentslabel\quad}{\hspace*{-1.5cm}} {\hspace{.5em}\titlerule*{.}\contentspage} \RenewDocumentCommand \frontmatter {} { - \int_compare:nNnTF {\g__bithesis_thesis_type_int} = {3} - { - % 本科全英文专业论文,页码使用小罗马数字。 - \pagenumbering{roman} - } { - \pagenumbering{Roman} - } + \pagenumbering{Roman} % 这部分的章节标题不进行编号。 \ctexset{ chapter = { @@ -1273,7 +1304,7 @@ \ooalign{\copy0\cr\rule[\dimexpr#1-#2\relax]{\wd0}{#2}}}} \cs_new:Npn \__bithesis_render_cover_entry:nn #1#2 { \makebox[\l__bithesis_cover_label_max_width_dim][\l__bithesis_cover_label_align_tl]{ - \tl_if_blank:VTF #1 {} {#1\l__bithesis_cover_dilimiter_tl} + \tl_if_blank:VTF #1 {} {#1\l__bithesis_cover_delimiter_tl} } \hspace{1ex} \__bithesis_dunderline:nnn{\l__bithesis_cover_underline_offset_dim} @@ -1452,8 +1483,8 @@ { \renewcommand{\baselinestretch}{2} - \tl_if_empty:NT \l__bithesis_cover_dilimiter_tl { - \tl_set:Nn \l__bithesis_cover_dilimiter_tl {\qquad} + \tl_if_empty:NT \l__bithesis_cover_delimiter_tl { + \tl_set:Nn \l__bithesis_cover_delimiter_tl {\qquad} } \tl_set:Nn \l__bithesis_cover_underline_offset_dim {-5pt} @@ -1502,8 +1533,8 @@ \vskip \stretch{1} { - \tl_if_empty:NT \l__bithesis_cover_dilimiter_tl { - \tl_set:Nn \l__bithesis_cover_dilimiter_tl {:~} + \tl_if_empty:NT \l__bithesis_cover_delimiter_tl { + \tl_set:Nn \l__bithesis_cover_delimiter_tl {:~} } \tl_set:Nn \l__bithesis_cover_label_align_tl {l} @@ -1644,7 +1675,15 @@ \begin{blindPeerReview}[\l__bithesis_cover_hide_cover_in_peer_review_bool] \group_begin: - \int_case:nn {\g__bithesis_thesis_type_int} + % 封面使用的 thesis-type 可能与整体不同。 + \int_new:N \l__bithesis_thesis_type_int + \bool_if:NTF \l__bithesis_cover_prefer_zh_bool { + \int_set:Nn \l__bithesis_thesis_type_int {1} + } { + \int_set:Nn \l__bithesis_thesis_type_int \g__bithesis_thesis_type_int + } + + \int_case:nn {\l__bithesis_thesis_type_int} { {1} { @@ -1662,22 +1701,33 @@ \zihao{-0}\textbf{\ziju{0.12}\songti{\l__bithesis_style_headline_tl}}\par - \vspace{16mm} + \vspace{0.5em plus 1fill} - \zihao{2}\textbf{\xihei:n \l__bithesis_value_title_tl}\par - - \vspace{3mm} + \group_begin: + % 中文标题 + \tl_set:Nn \l_tmpa_tl { + \linespread{1.46}\selectfont + \zihao{2}\textbf{\xihei:n \l__bithesis_value_title_tl}\par + } + % 英文标题 + \tl_set:Nn \l_tmpb_tl { + \linespread{1.65}\selectfont + \zihao{3}\textbf{\l__bithesis_value_title_en_tl}\par + } - \begin{spacing}{1.2} - \zihao{3}\selectfont{\textbf{\l__bithesis_value_title_en_tl}}\par - \end{spacing} + \bool_if:NTF \l__bithesis_cover_reverse_titles_bool { + \l_tmpb_tl \vspace{3mm} \l_tmpa_tl + } { + \l_tmpa_tl \vspace{3mm} \l_tmpb_tl + } + \group_end: - \vspace{15mm} + \vspace{0em plus 1fill} \begin{spacing}{1.8} \begin{center} - \tl_if_empty:NT \l__bithesis_cover_dilimiter_tl { - \tl_set:Nn \l__bithesis_cover_dilimiter_tl {:} + \tl_if_empty:NT \l__bithesis_cover_delimiter_tl { + \tl_set:Nn \l__bithesis_cover_delimiter_tl {:} } % if not auto width, try override width \bool_if:NF \l__bithesis_cover_auto_width_bool { @@ -1709,10 +1759,12 @@ \end{center} \end{spacing} - \vspace*{\fill} + \vspace*{1.5em plus 1.5fill} \centering \zihao{3}\ziju{0.5}\songti{ \tl_if_empty:NTF \l__bithesis_cover_date_tl { + % 英文模板中 ctex 不会预设日期格式,但仍要保证中文封面的日期按中文习惯 + \ctexset{today=small} \today } { \l__bithesis_cover_date_tl @@ -1740,7 +1792,7 @@ \begin{spacing}{1.8} - \tl_set:Nn \l__bithesis_cover_dilimiter_tl {\textbf{:}} + \tl_set:Nn \l__bithesis_cover_delimiter_tl {\textbf{:}} \bool_set_false:N \l__bithesis_cover_auto_width_bool \dim_set:Nn \l__bithesis_cover_label_max_width_dim {35mm} \dim_set:Nn \l__bithesis_cover_value_max_width_dim {115mm} @@ -1772,8 +1824,8 @@ \vspace{\stretch{0.67}} \begin{spacing}{1.8} - \tl_if_empty:NT \l__bithesis_cover_dilimiter_tl { - \tl_set:Nn \l__bithesis_cover_dilimiter_tl {:} + \tl_if_empty:NT \l__bithesis_cover_delimiter_tl { + \tl_set:Nn \l__bithesis_cover_delimiter_tl {:} } % 如果不是自动计算宽度,且用户没有自定义宽度, @@ -1823,14 +1875,19 @@ \vspace{18mm} + \bool_if:NT \l__bithesis_cover_add_titlezh_bool { + \zihao{2}\textbf{\xihei:n \l__bithesis_value_title_tl}\par + \vspace{16mm} + } + \zihao{2}\textbf{\xihei:n \l__bithesis_value_title_en_tl}\par \vspace{10mm} \begin{spacing}{1.8} \begin{center} - \tl_if_empty:NT \l__bithesis_cover_dilimiter_tl { - \tl_set:Nn \l__bithesis_cover_dilimiter_tl {:} + \tl_if_empty:NT \l__bithesis_cover_delimiter_tl { + \tl_set:Nn \l__bithesis_cover_delimiter_tl {:} } % if not auto width, try override width @@ -1847,7 +1904,7 @@ \clist_set:Nn \l__bithesis_input_clist { {\c__bithesis_label_school_en_tl} {\l__bithesis_value_school_tl}, - {\c__bithesis_label_major_en_tl} {\l__bithesis_value_major_tl}, + {\g__bithesis_const_info_major_tl} {\l__bithesis_value_major_tl}, {\c__bithesis_label_author_en_tl} {\l__bithesis_value_author_tl}, {\c__bithesis_label_student_id_en_tl} {\l__bithesis_value_student_id_tl}, {\c__bithesis_label_supervisor_en_tl} {\l__bithesis_value_supervisor_tl}, @@ -1936,7 +1993,10 @@ \newpage } {3} { - \linespread{1.26}\selectfont + \currentpdfbookmark{Statements}{frontmatter:originality} + \pagestyle{BIThesis} + \pagenumbering{gobble} + % 原创性声明部分 \begin{center} \vspace*{-2bp} @@ -1947,7 +2007,7 @@ } \end{center}~\par - % 本部分字号为小三 + % 本部分字号为小四 \zihao{-4} \c__bithesis_bachelor_english_label_originality_clause_tl @@ -1955,7 +2015,7 @@ Student~(Signature):~\dunderline[-1pt]{1pt}{\makebox[18mm]{}}~Date:\par - \vspace{6mm} + \vspace{\stretch{1}} % 使用授权声明部分 \begin{center} @@ -2017,12 +2077,6 @@ \renewcommand{\baselinestretch}{1.56} } - \__bithesis_if_thesis_english:TF { - \tl_set:Nn \l__bithesis_toc_title_tl {\c__bithesis_label_toc_en_tl} - } { - \tl_set:Nn \l__bithesis_toc_title_tl {\c__bithesis_label_toc_tl} - } - % 自定义目录样式 \cs_set:Npn \contentsname { \fontsize{16pt}{\baselineskip} @@ -2032,19 +2086,19 @@ \vspace{-8pt} } - % 添加目录书签 - \__bithesis_if_thesis_int_type:nF {3} { - \currentpdfbookmark{\c__bithesis_label_toc_tl}{ch:toc} + \bool_if:NTF \l__bithesis_add_toc_to_toc_bool { + % 添加「目录」本身到目录中,同时自动添加书签 + % 此处必须有`\phantomsection`,不然 hyperref 会把链接指向之前摘要的标题。 + \phantomsection + \addcontentsline{toc}{chapter}{\c__bithesis_label_toc_en_tl} + } { + % 手动添加目录书签 + \currentpdfbookmark{\l__bithesis_toc_title_tl}{ch:toc} } % 制作目录 \tableofcontents - % 在本科生全英文模板中,添加「目录」本身到目录中。 - \__bithesis_if_thesis_int_type:nT {3} { - \addcontentsline{toc}{chapter}{\c__bithesis_label_toc_en_tl} - } - % 单独成页 \clearpage } @@ -2076,16 +2130,8 @@ } \__bithesis_if_bachelor_thesis:T { - \int_compare:nNnTF {\g__bithesis_thesis_type_int} = {3} - { - \ctexset{ - chapter/titleformat = {\heiti} - } - } - { - \ctexset{ - chapter/titleformat = {\textmd} - } + \ctexset{ + chapter/titleformat = {\textmd} } } @@ -2124,11 +2170,8 @@ \centering \vspace*{-2bp} - \__bithesis_if_thesis_int_type:nTF {3} { - \arialfamily\zihao{-2}\textbf - \l__bithesis_value_title_en_tl\\ - } { - \heiti\zihao{3}\textbf + \l__bithesis_title_font_cs:n { + \zihao{3}\textbf \l__bithesis_value_title_en_tl\\ } \end{spacing} @@ -2140,19 +2183,8 @@ } \__bithesis_if_bachelor_thesis:TF { - \int_compare:nNnTF {\g__bithesis_thesis_type_int} = {3} - { - \ctexset{ - chapter = { - titleformat = {\heiti\zihao{3}\centering\textbf}, - } - } - } { - \ctexset{ - chapter = { - titleformat = {\heiti\zihao{-3}\centering\textmd}, - } - } + \ctexset{ + chapter/titleformat = {\zihao{-3}\textmd} } } { \ctexset { @@ -2253,7 +2285,7 @@ } \bool_if:NTF \l__bithesis_appendices_chapter_level_bool { - % 附录章节级别 + % 使用以「chapter」为顶层的附录格式 % 仅设置 \setcounter{chapter}{0} 时,pdf 目录会索引到正文章节。 % 因此,需要使用 \appendix 重置计数器,并将附录后面的 @@ -2272,7 +2304,7 @@ \Alph{chapter} } } { - % 附录节(section)级别 + % 使用以「section」为顶层的附录格式 % 因为不需要用到 chapter counter, 所以直接加一即可。 \stepcounter{chapter} @@ -2323,11 +2355,7 @@ subsubsection/number = \arabic{section}. \arabic{subsection}. \arabic{subsubsection}, } - \__bithesis_if_thesis_english:TF { - \chapter{\c__bithesis_label_ack_en_tl} - } { - \chapter{\c__bithesis_label_ack_tl} - } + \chapter{\g__bithesis_const_heading_acknowledgements_tl} \__bithesis_if_graduate:TF {\fangsong}{} #1 \end{blindPeerReview} diff --git a/Master/texmf-dist/tex/latex/bithesis/bitreport.cls b/Master/texmf-dist/tex/latex/bithesis/bitreport.cls index 80b5485ff21..c08602e6116 100644 --- a/Master/texmf-dist/tex/latex/bithesis/bitreport.cls +++ b/Master/texmf-dist/tex/latex/bithesis/bitreport.cls @@ -27,7 +27,7 @@ %% \RequirePackage{expl3,l3keys2e} \ProvidesExplClass{bitreport} -{2024-05-30}{3.7.9}{BIT Thesis Templates} +{2024-10-07}{3.8.0}{BIT Thesis Templates} \int_new:N \g__bithesis_report_type_int \clist_const:Nn \c__bithesis_report_type_clist { common, undergraduate_proposal} @@ -58,7 +58,7 @@ imagePath .tl_set:N = \l_bit_coverimagepath_tl, date .tl_set:N = \l__bithesis_cover_date_tl, %% cover entry - dilimiter .tl_set:N = \l__bithesis_cover_dilimiter_tl, + delimiter .tl_set:N = \l__bithesis_cover_delimiter_tl, labelAlign .tl_set:N = \l__bithesis_cover_label_align_tl, labelAlign .initial:n = {r}, valueAlign .tl_set:N = \l__bithesis_cover_value_align_tl, @@ -108,7 +108,7 @@ } \cs_new:Npn \__bithesis_render_cover_entry:nn #1#2 { \makebox[\l__bithesis_cover_label_max_width_dim][\l__bithesis_cover_label_align_tl]{ - \tl_if_blank:VTF #1 {} {#1\l__bithesis_cover_dilimiter_tl} + \tl_if_blank:VTF #1 {} {#1\l__bithesis_cover_delimiter_tl} } \hspace{1ex} \__bithesis_dunderline:nnn{\l__bithesis_cover_underline_offset_dim}{\l__bithesis_cover_underline_thickness_dim}{ |