summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorMax Chernoff <mseven@telus.net>2024-10-08 01:31:03 +0000
committerMax Chernoff <mseven@telus.net>2024-10-08 01:31:03 +0000
commit23d6abdcc479ab7ab9eb434c45a7ed7570ebca2f (patch)
tree6262c972d0d8982124eb35979e0fe4703d59484f /Master/texmf-dist
parent9f85c3a6308bbec1b029bfd8628b52666bc0a398 (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.md3
-rw-r--r--Master/texmf-dist/doc/latex/bithesis/bithesis.pdfbin753551 -> 773134 bytes
-rw-r--r--Master/texmf-dist/source/latex/bithesis/bithesis.dtx490
-rw-r--r--Master/texmf-dist/tex/latex/bithesis/bitbeamer.cls2
-rw-r--r--Master/texmf-dist/tex/latex/bithesis/bithesis.cls228
-rw-r--r--Master/texmf-dist/tex/latex/bithesis/bitreport.cls6
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
index 899c03fe267..cf28b5d09ac 100644
--- a/Master/texmf-dist/doc/latex/bithesis/bithesis.pdf
+++ b/Master/texmf-dist/doc/latex/bithesis/bithesis.pdf
Binary files differ
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}{