summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/njuthesis
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-12-04 21:09:08 +0000
committerKarl Berry <karl@freefriends.org>2022-12-04 21:09:08 +0000
commitc9946b6e42dd842ad88ef4cb457e8ceb0a1b9630 (patch)
tree23aeb40dda606e2c48a28065b7c0610adb1579e0 /Master/texmf-dist/tex/latex/njuthesis
parentf8a1b5da037af22fdf96ba6b697825ae3075ee91 (diff)
njuthesis (4dec22)
git-svn-id: svn://tug.org/texlive/trunk@65196 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/njuthesis')
-rw-r--r--Master/texmf-dist/tex/latex/njuthesis/njuthesis-graduate.def2
-rw-r--r--Master/texmf-dist/tex/latex/njuthesis/njuthesis-postdoctoral.def2
-rw-r--r--Master/texmf-dist/tex/latex/njuthesis/njuthesis-undergraduate.def2
-rw-r--r--Master/texmf-dist/tex/latex/njuthesis/njuthesis.cls340
4 files changed, 162 insertions, 184 deletions
diff --git a/Master/texmf-dist/tex/latex/njuthesis/njuthesis-graduate.def b/Master/texmf-dist/tex/latex/njuthesis/njuthesis-graduate.def
index 540ef734255..87a970d39c7 100644
--- a/Master/texmf-dist/tex/latex/njuthesis/njuthesis-graduate.def
+++ b/Master/texmf-dist/tex/latex/njuthesis/njuthesis-graduate.def
@@ -23,7 +23,7 @@
%% To produce the documentation run the original source files ending with
%% `.dtx' through XeTeX.
%%
-\GetIdInfo $Id: njuthesis.dtx 1.1.0 2022-10-23 12:30:00
+\GetIdInfo $Id: njuthesis.dtx 1.1.1 2022-12-04 00:00:00
+0800 NJU LUG <git+nju-lug-email-3104-issue-@yaoge123.cn>$
{Graduate definition file for njuthesis}
\ProvidesExplFile{njuthesis-graduate.def}
diff --git a/Master/texmf-dist/tex/latex/njuthesis/njuthesis-postdoctoral.def b/Master/texmf-dist/tex/latex/njuthesis/njuthesis-postdoctoral.def
index 48066c010f4..becb066c635 100644
--- a/Master/texmf-dist/tex/latex/njuthesis/njuthesis-postdoctoral.def
+++ b/Master/texmf-dist/tex/latex/njuthesis/njuthesis-postdoctoral.def
@@ -23,7 +23,7 @@
%% To produce the documentation run the original source files ending with
%% `.dtx' through XeTeX.
%%
-\GetIdInfo $Id: njuthesis.dtx 1.1.0 2022-10-23 12:30:00
+\GetIdInfo $Id: njuthesis.dtx 1.1.1 2022-12-04 00:00:00
+0800 NJU LUG <git+nju-lug-email-3104-issue-@yaoge123.cn>$
{Postdoctoral definition file for njuthesis}
\ProvidesExplFile{njuthesis-postdoctoral.def}
diff --git a/Master/texmf-dist/tex/latex/njuthesis/njuthesis-undergraduate.def b/Master/texmf-dist/tex/latex/njuthesis/njuthesis-undergraduate.def
index c4f742317f4..9cd7b2ab952 100644
--- a/Master/texmf-dist/tex/latex/njuthesis/njuthesis-undergraduate.def
+++ b/Master/texmf-dist/tex/latex/njuthesis/njuthesis-undergraduate.def
@@ -23,7 +23,7 @@
%% To produce the documentation run the original source files ending with
%% `.dtx' through XeTeX.
%%
-\GetIdInfo $Id: njuthesis.dtx 1.1.0 2022-10-23 12:30:00
+\GetIdInfo $Id: njuthesis.dtx 1.1.1 2022-12-04 00:00:00
+0800 NJU LUG <git+nju-lug-email-3104-issue-@yaoge123.cn>$
{Undergraduate definition file for njuthesis}
\ProvidesExplFile{njuthesis-undergraduate.def}
diff --git a/Master/texmf-dist/tex/latex/njuthesis/njuthesis.cls b/Master/texmf-dist/tex/latex/njuthesis/njuthesis.cls
index 6d35ad62ab4..be4ec462560 100644
--- a/Master/texmf-dist/tex/latex/njuthesis/njuthesis.cls
+++ b/Master/texmf-dist/tex/latex/njuthesis/njuthesis.cls
@@ -24,7 +24,7 @@
%% `.dtx' through XeTeX.
%%
\NeedsTeXFormat{LaTeX2e}
-\GetIdInfo $Id: njuthesis.dtx 1.1.0 2022-10-23 12:30:00
+\GetIdInfo $Id: njuthesis.dtx 1.1.1 2022-12-04 00:00:00
+0800 NJU LUG <git+nju-lug-email-3104-issue-@yaoge123.cn>$
{Thesis template for Nanjing University}
\ProvidesExplClass{njuthesis}
@@ -169,11 +169,12 @@
\cs_new_protected:Npn \__nju_box_multiline:NNNN #1#2#3#4
{
\int_set:Nn #1 { 1 }
- \int_set:Nn #2 { \clist_count:N #3 }
- \int_compare:nF { #2 > 4 } { \int_set:Nn #2 { 4 } }
+ \int_set:Nn #2 { \int_max:nn { \clist_count:N #3 } { 4 } }
\int_do_until:nn { #1 > #2 }
{
\clist_pop:NN #3 \l__nju_tmpa_tl
+ \quark_if_no_value:NT \l__nju_tmpa_tl
+ { \tl_set_eq:NN \l__nju_tmpa_tl \c_empty_tl }
\__nju_box_ulined:NN #4 \l__nju_tmpa_tl \tex_par:D
\int_incr:N #1
}
@@ -250,12 +251,7 @@
{ \hook_gput_next_code:nn { begin document } { #1 } }
\cs_new_protected:Npn \__nju_cs_clear:N #1
{ \cs_set_eq:NN #1 \prg_do_nothing: }
-\msg_new:nnn { njuthesis } { missing-title }
- {
- The~ title~ should~ not~ be~ left~ blank.\\
- Please~ check~ whether~ you~ have~ fill~ in~
- both~ Chinese~ and~ English~ titles.
- }
+\cs_new:Npn \__nju_msg:nn { \msg_new:nnn { njuthesis } }
\cs_new:Npn \__nju_loop_until:nnn #1#2#3
{ #2 \bool_if:nF {#1} { #3 \__nju_loop_until:nnn {#1} {#2} {#3} } }
\cs_new:Npn \__nju_breakpar_loop:n #1
@@ -357,15 +353,6 @@
\__nju_get_width:NV \l__nju_tmpa_dim #1
\__nju_uuline:N \l__nju_tmpa_dim #1
}
-\msg_new:nnn { njuthesis } { abs-title-too-long }
- {
- Your~ title~ is~ too~ long~ to~ fit~ in~ two~ lines.\\
- I~ have~ drawn~ additional~ lines~ to~ contain~ it,~
- which~ will~ probably~ make~ your~ abstract~ page~
- look~ slightly~ different~ from~ the~ standard.\\
- You~ can~ use~ the~ "abstract/title-style"~ key~
- to~ disable~ this~ message.
- }
\cs_new_protected:Npn \__nju_uline_list:NNn #1#2#3
{
\vbox_set:Nn \l__nju_tmpa_box
@@ -469,10 +456,71 @@
{ \DeclareInstance { nju } {#1} { element } {#2} }
\cs_new:Npn \__nju_declare_page:nn #1#2
{ \DeclareInstance { nju } {#1} { page } {#2} }
+\__nju_msg:nn { abs-title-too-long }
+ {
+ Your~ title~ seems~ too~ long~ to~ fit~ in~ two~ lines.\\
+ I~ have~ drawn~ additional~ lines~ to~ contain~ it,~
+ which~ will~ probably~ make~ your~ abstract~ page~
+ look~ slightly~ different~ from~ the~ standard.~
+ You~ can~ use~ the~ "abstract/title-style"~ key~
+ to~ disable~ this~ message.
+ }
+\__nju_msg:nn { empty-theorem-type }
+ {
+ Empty~ theorem~ list~ to~ define.\\
+ The~ key~ "theorem/type"~ should~ not~ be~ left~ empty.
+ }
+\__nju_msg:nn { load-config }
+ { I~ am~ loading~ config~ file~ "#1". }
+\__nju_msg:nn { missing-image }
+ {
+ You~ have~ not~ selected~ local~ files~
+ for~ emblem~ and~ name~ images.\\
+ It~ seems~ that~ you~ haven't~ fill~ in~ both~
+ "image/nju-emblem"~ and~ "image/nju-name",~ therefore
+ I~ am~ using~ the~ package~ "njuvisual"~ instead,~
+ which~ may~ slow~ down~ the~ compilation.
+ }
+\__nju_msg:nn { missing-ntheorem }
+ {
+ "ntheorem"~ package~ not~ detected.\\
+ The~ functionality~ of~ built-in~ theorem~ settings~
+ requires~ loading~ the~ class~ with~ "ntheorem"~ option~
+ set~ to~ "true".
+ }
+\__nju_msg:nn { missing-title }
+ {
+ Thesis~ title~ should~ not~ be~ left~ blank.\\
+ Please~ check~ whether~ you~ have~ fill~ in~
+ both Chinese~ and~ English~ titles.
+ }
+\__nju_msg:nn { no-small-caps }
+ {
+ I~ am~ using~ TeX~ Gyre~ Termes~ as~ default~ Roman~ font.\\
+ This~ is~ because~ the~ "Times~ New~ Roman"~ font~ in~ your~
+ system~ does~ not~ embed~ glyphs~ for~ small~ capitals.~
+ You~ can~ ignore~ this~ warning~ if~ you~ do~ not~ need~
+ \string\textsc.~ For~ more~ information,~
+ please~ refer~ to~ section~ 3.2.6~ of~ the~ documentation.
+ }
+\__nju_msg:nn { package-too-old }
+ {
+ Package~ "#1"~ is~ too~ old.\\
+ The~ "njuthesis"~ class only~ supports~ "#1"~ with~
+ a~ version~ higher~ than~ v#2.~
+ Please~ update~ an~ up-to-date~ version~ of~ it~
+ using~ your~ TeX~ package~ manager~ or~ from~ CTAN.
+ }
+\__nju_msg:nn { package-conflict }
+ {
+ The~ "#2"~ package~ is~ incompatible~ with~ "#1".\\
+ I~ have~ loaded~ "#1"~ by~ default.~ Maybe~ You~ should~
+ refer~ to~ section~ 4~ of~ the~ documentation.
+ }
\keys_define:nn { nju }
{
type .choices:nn = { bachelor, master, doctor, postdoc }
- { \int_gset_eq:NN \g__nju_info_type_int \l_keys_choice_int },
+ { \int_gset_eq:NN \g__nju_info_type_int \l_keys_choice_int },
type .initial:n = bachelor,
degree .choice:,
degree / academic .code:n =
@@ -652,14 +700,6 @@
\RequirePackage { lua-ul }
\NewDocumentCommand \njuline { m } { \underLine{#1} \__nju_null: }
}
-\msg_new:nnn { njuthesis } { package-too-old }
- {
- Package~ "#1"~ is~ too~ old.\\
- The~ njuthesis~ class~ only~ supports~ "#1"~ with~
- a~ version higher~ than~ v#2.\\
- Please~ update~ an~ up-to-date~ version~ of~ it~
- using~ your TeX~ package~ manager~ or~ from~ CTAN.
- }
\cs_new_protected:Npn \__nju_check_pkg_version:nnn #1#2#3
{
\@ifpackagelater {#1} {#2}
@@ -667,12 +707,6 @@
}
\sys_if_engine_luatex:T
{ \__nju_check_pkg_version:nnn { luatexja } { 2021/10/24 } { 20211024.0 } }
-\msg_new:nnn { njuthesis } { package-conflict }
- {
- The~ "#2"~ package~ is~ incompatible~ with~ "#1".\\
- I~ have~ loaded~ "#1"~ by~ default.~ Maybe~ You~ should~
- refer~ to~ section~ 4~ of~ the~ "njuthesis"~ manual.
- }
\cs_new_protected:Npn \__nju_check_pkg_conflict:nn #1#2
{
\ctex_at_begin_package:nn { #2 }
@@ -699,8 +733,6 @@
}
.def
}
-\msg_new:nnn { njuthesis } { load-config }
- { I~ am~ loading~ config~ file~ "#1". }
\clist_map_inline:Nn \g__nju_config_clist
{
\msg_info:nnn { njuthesis } { load-config } { #1 }
@@ -750,17 +782,18 @@
{ \keys_define:nn { nju / info } { #1 * .groups:n = { anonymous } } }
\__nju_at_begin_document:n
{
- \clist_map_inline:nn
- { \g__nju_info_supv_clist, \g__nju_info_supvii_clist }
+ \tl_set:Nx \g__nju_info_supvfull_tl
+ { \clist_use:Nn \g__nju_info_supv_clist { \__nju_hskip: } }
+ \clist_if_empty:NF \g__nju_info_supvii_clist
{
\tl_gput_right:Nx \g__nju_info_supvfull_tl
- { \clist_use:Nn #1 { \__nju_hskip: } \__nju_quad: }
+ { \__nju_quad: \clist_use:Nn \g__nju_info_supv_clist { \__nju_hskip: } }
}
- \tl_gput_right:Nn \g__nju_info_supvfull_tl { \tex_unskip:D }
- \tl_set:Nn \g__nju_info_supvfull_en_tl
+ \tl_set_eq:NN \g__nju_info_supvfull_en_tl \g__nju_info_supv_en_tl
+ \tl_if_empty:NF \g__nju_info_supvii_en_tl
{
- \g__nju_info_supv_en_tl \__nju_quad:
- \g__nju_info_supvii_en_tl \tex_unskip:D
+ \tl_gput_right:Nx \g__nju_info_supvfull_en_tl
+ { \__nju_quad: \g__nju_info_supvii_en_tl }
}
}
\bool_if:NT \g__nju_opt_anon_bool
@@ -768,87 +801,63 @@
\tl_gclear:N \c__nju_name_nju_tl
\tl_gclear:N \c__nju_name_nju_en_tl
}
-\bool_lazy_or:nnT
- { \tl_if_empty_p:N \g__nju_font_latin_tl }
- { \tl_if_empty_p:N \g__nju_font_cjk_tl }
- {
- \sys_if_platform_windows:TF
- {
- \tl_set:Nn \g__nju_font_latin_tl { win }
- \tl_set:Nn \g__nju_font_cjk_tl { win }
- }
- {
- \ctex_if_platform_macos:TF
- {
- \tl_set:Nn \g__nju_font_latin_tl { mac }
- \tl_set:Nn \g__nju_font_cjk_tl { mac }
- }
- {
- \tl_set:Nn \g__nju_font_latin_tl { gyre }
- \tl_set:Nn \g__nju_font_cjk_tl { fandol }
- }
- }
- }
-\cs_new_protected:Npn \__nju_loadfont_latin_win:
+\ctex_detect_platform:
+\tl_if_empty:NT \g__nju_font_latin_tl
+ { \tl_gset_eq:NN \g__nju_font_latin_tl \g__ctex_fontset_tl }
+\tl_if_empty:NT \g__nju_font_cjk_tl
+ { \tl_gset_eq:NN \g__nju_font_cjk_tl \g__ctex_fontset_tl }
+\cs_new_protected:Npn \__nju_loadfont_latin:n #1
{
\__fontspec_main_setmainfont:nn { } { Times~New~Roman }
\__fontspec_main_setsansfont:nn { } { Arial }
- \__fontspec_main_setmonofont:nn
- { Scale = MatchLowercase }
- { Courier~New }
+ \__fontspec_main_setmonofont:nn { Scale = MatchLowercase } { #1 }
}
+\cs_new_protected:Npn \__nju_loadfont_latin_win:
+ { \__nju_loadfont_latin:n { Courier~New } }
\cs_new_protected:Npn \__nju_loadfont_latin_mac:
{
- \__fontspec_main_setmainfont:nn { } { Times~New~Roman }
- \__fontspec_main_setsansfont:nn { } { Arial }
- \__fontspec_main_setmonofont:nn
- { Scale = MatchLowercase }
- { Menlo }
+ \__nju_loadfont_latin:n { Menlo }
+ \fontspec_if_small_caps:F
+ {
+ \msg_warning:nn { njuthesis } { no-small-caps }
+ \__fontspec_main_setmainfont:nn
+ { \c__nju_name_gyrefeature_clist } { texgyretermes }
+ }
}
\cs_new_protected:Npn \__nju_loadfont_latin_gyre:
{
\__fontspec_main_setmainfont:nn
- {
- Extension = .otf,
- UprightFont = *-regular,
- BoldFont = *-bold,
- ItalicFont = *-italic,
- BoldItalicFont = *-bolditalic
- }
- { texgyretermes }
+ { \c__nju_name_gyrefeature_clist } { texgyretermes }
\__fontspec_main_setsansfont:nn
+ { \c__nju_name_gyrefeature_clist } { texgyreheros }
+ \__fontspec_main_setmonofont:nn
{
- Extension = .otf,
- UprightFont = *-regular,
- BoldFont = *-bold,
- ItalicFont = *-italic,
- BoldItalicFont = *-bolditalic
+ \c__nju_name_gyrefeature_clist,
+ Scale = MatchLowercase,
+ Ligatures = CommonOff
}
- { texgyreheros }
- \__fontspec_main_setmonofont:nn
+ { texgyrecursor }
+ }
+\clist_const:Nn \c__nju_name_gyrefeature_clist
{
Extension = .otf,
UprightFont = *-regular,
BoldFont = *-bold,
ItalicFont = *-italic,
- BoldItalicFont = *-bolditalic,
- Scale = MatchLowercase,
- Ligatures = CommonOff
+ BoldItalicFont = *-bolditalic
}
- { texgyrecursor }
- }
\cs_new_protected:Npn \__nju_hide_no_script_msg:
{ \msg_redirect_name:nnn { fontspec } { no-script } { info } }
\cs_new_protected:Npn \__nju_loadfont_cjk_win:
{
\setCJKmainfont { SimSun }
- [ AutoFakeBold = 2.17, ItalicFont = KaiTi ]
- \setCJKsansfont { SimHei } [ AutoFakeBold = 2.17 ]
- \setCJKmonofont { FangSong } [ AutoFakeBold = 2.17 ]
- \setCJKfamilyfont { zhsong } { SimSun } [ AutoFakeBold = 2.17 ]
- \setCJKfamilyfont { zhhei } { SimHei } [ AutoFakeBold = 2.17 ]
- \setCJKfamilyfont { zhfs } { FangSong } [ AutoFakeBold = 2.17 ]
- \setCJKfamilyfont { zhkai } { KaiTi } [ AutoFakeBold = 2.17 ]
+ [ \c__nju_name_fakebold_tl, ItalicFont = KaiTi ]
+ \setCJKsansfont { SimHei } [ \c__nju_name_fakebold_tl ]
+ \setCJKmonofont { FangSong } [ \c__nju_name_fakebold_tl ]
+ \setCJKfamilyfont { zhsong } { SimSun } [ \c__nju_name_fakebold_tl ]
+ \setCJKfamilyfont { zhhei } { SimHei } [ \c__nju_name_fakebold_tl ]
+ \setCJKfamilyfont { zhfs } { FangSong } [ \c__nju_name_fakebold_tl ]
+ \setCJKfamilyfont { zhkai } { KaiTi } [ \c__nju_name_fakebold_tl ]
}
\cs_new_protected:Npn \__nju_loadfont_cjk_mac:
{
@@ -871,34 +880,31 @@
\__nju_hide_no_script_msg:
\setCJKmainfont { FandolSong-Regular }
[
- Extension = .otf,
- BoldFont = FandolSong-Bold,
- ItalicFont = FandolKai-Regular
+ Extension = .otf,
+ BoldFont = FandolSong-Bold,
+ ItalicFont = FandolKai-Regular
]
\setCJKsansfont { FandolHei-Regular }
[
- Extension = .otf,
- BoldFont = FandolHei-Bold
+ Extension = .otf,
+ BoldFont = FandolHei-Bold
]
\setCJKmonofont { FandolFang-Regular }
- [ Extension = .otf ]
+ [ Extension = .otf ]
\setCJKfamilyfont { zhsong } { FandolSong-Regular }
[
- Extension = .otf,
- BoldFont = FandolSong-Bold
+ Extension = .otf,
+ BoldFont = FandolSong-Bold
]
\setCJKfamilyfont { zhhei } { FandolHei-Regular }
[
- Extension = .otf,
- BoldFont = FandolHei-Bold
+ Extension = .otf,
+ BoldFont = FandolHei-Bold
]
\setCJKfamilyfont { zhfs } { FandolFang-Regular }
- [ Extension = .otf ]
+ [ Extension = .otf ]
\setCJKfamilyfont { zhkai } { FandolKai-Regular }
- [
- Extension = .otf,
- AutoFakeBold = 2.17
- ]
+ [ Extension = .otf, \c__nju_name_fakebold_tl ]
}
\cs_new_protected:Npn \__nju_loadfont_cjk_founder:
{
@@ -913,32 +919,18 @@
\setCJKfamilyfont { zhsong } { FZShuSong-Z01 }
[ BoldFont = FZXiaoBiaoSong-B05 ]
\setCJKfamilyfont { zhhei } { FZHei-B01 }
- [ AutoFakeBold = 2.17 ]
+ [ \c__nju_name_fakebold_tl ]
\setCJKfamilyfont { zhkai } { FZKai-Z03 }
- [ AutoFakeBold = 2.17 ]
+ [ \c__nju_name_fakebold_tl ]
\setCJKfamilyfont { zhfs } { FZFangSong-Z02 }
- \defaultCJKfontfeatures{}
+ \defaultCJKfontfeatures { }
}
\cs_new_protected:Npn \__nju_loadfont_cjk_noto:
{
- \setCJKmainfont
- [
- UprightFont = NotoSerifCJKsc-Regular,
- BoldFont = NotoSerifCJKsc-Bold,
- ItalicFont = NotoSerifCJKsc-Regular,
- BoldItalicFont = NotoSerifCJKsc-Bold,
- ItalicFeatures = FakeSlant,
- BoldItalicFeatures = FakeSlant
- ] { Noto~Serif~CJK~SC }
- \setCJKsansfont
- [
- UprightFont = NotoSansCJKsc-Regular,
- BoldFont = NotoSansCJKsc-Bold,
- ItalicFont = NotoSansCJKsc-Regular,
- BoldItalicFont = NotoSansCJKsc-Bold,
- ItalicFeatures = FakeSlant,
- BoldItalicFeatures = FakeSlant
- ] { Noto~Sans~CJK~SC }
+ \setCJKmainfont [ \c__nju_name_notofeature_clist ]
+ { NotoSerifCJKsc }
+ \setCJKsansfont [ \c__nju_name_notofeature_clist ]
+ { NotoSansCJKsc }
\setCJKmonofont { Noto~Sans~Mono~CJK~SC }
\setCJKfamilyfont { zhsong } { Noto~Serif~CJK~SC }
\setCJKfamilyfont { zhhei } { Noto~Sans~CJK~SC }
@@ -948,30 +940,27 @@
}
\cs_new_protected:Npn \__nju_loadfont_cjk_source:
{
- \setCJKmainfont
- [
- UprightFont = SourceHanSerifSC-Regular,
- BoldFont = SourceHanSerifSC-Bold,
- ItalicFont = SourceHanSerifSC-Regular,
- BoldItalicFont = SourceHanSerifSC-Bold,
- ItalicFeatures = FakeSlant,
- BoldItalicFeatures = FakeSlant
- ] { Source~Han~Serif~SC }
- \setCJKsansfont
- [
- UprightFont = SourceHanSansSC-Regular,
- BoldFont = SourceHanSansSC-Bold,
- ItalicFont = SourceHanSansSC-Regular,
- BoldItalicFont = SourceHanSansSC-Bold,
- ItalicFeatures = FakeSlant,
- BoldItalicFeatures = FakeSlant
- ] { Source~Han~Sans~SC }
- \setCJKmonofont { FZFangSong-Z02 }
+ \setCJKmainfont [ \c__nju_name_notofeature_clist ]
+ { SourceHanSerifSC }
+ \setCJKsansfont [ \c__nju_name_notofeature_clist ]
+ { SourceHanSansSC }
+ \setCJKmonofont { FZFangSong-Z02 }
\setCJKfamilyfont { zhsong } { Source~Han~Serif~SC }
\setCJKfamilyfont { zhhei } { Source~Han~Sans~SC }
\setCJKfamilyfont { zhfs } { FZFangSong-Z02 }
\setCJKfamilyfont { zhkai } { FZKai-Z03 }
- [AutoFakeBold=2.17]
+ [ \c__nju_name_fakebold_tl ]
+ }
+\tl_const:Nn \c__nju_name_fakebold_tl { AutoFakeBold = 2.17 }
+\clist_const:Nn \c__nju_name_notofeature_clist
+ {
+ Extension = .otf,
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ ItalicFont = *-Regular,
+ BoldItalicFont = *-Bold,
+ ItalicFeatures = FakeSlant,
+ BoldItalicFeatures = FakeSlant
}
\cs_new:Npn \__nju_define_math_font:nn #1#2
{
@@ -1069,7 +1058,10 @@
}
{ NewCMMono10 }
}
-\cs_new:Npn \__nju_loadfont_math_none: { }
+\__nju_cs_clear:N \__nju_loadfont_math_none:
+\cs_new_eq:NN \__nju_loadfont_latin_windows: \__nju_loadfont_latin_win:
+\cs_new_eq:NN \__nju_loadfont_latin_fandol: \__nju_loadfont_latin_gyre:
+\cs_new_eq:NN \__nju_loadfont_cjk_windows: \__nju_loadfont_cjk_win:
\cs_new_protected:Npn \__nju_loadfont:
{
\use:c { __nju_loadfont_latin_ \g__nju_font_latin_tl : }
@@ -1370,7 +1362,16 @@
},
circledtext-option .code:n =
{ \clist_gput_right:Nn \g__nju_fn_ctext_option_clist {#1} },
- hang .bool_gset:N = \g__nju_fn_hang_bool,
+ hang .choice:,
+ hang / true .code:n =
+ {
+ \cs_set:Npn \__nju_fn_hang:
+ {
+ \int_set:Nn \tex_hangafter:D { 1 }
+ \dim_set_eq:NN \tex_hangindent:D \c__nju_fnhang_dim
+ }
+ },
+ hang / false .code:n = { \__nju_cs_clear:N \__nju_fn_hang: },
hang .initial:n = true
}
\cs_new:Npn \__nju_fn_number_pifont:N #1 { \ding { \int_eval:n { 171 + #1 } } }
@@ -1392,11 +1393,7 @@
\mode_leave_vertical:
\hbox_to_wd:nn { \c__nju_fnhang_dim } { \@thefnmark \tex_hfil:D }
\tex_penalty:D \@M
- \bool_if:NT \g__nju_fn_hang_bool
- {
- \int_set:Nn \tex_hangafter:D { 1 }
- \dim_set_eq:NN \tex_hangindent:D \c__nju_fnhang_dim
- }
+ \__nju_fn_hang:
#1
}
}
@@ -1479,17 +1476,6 @@
{ \__nju_thm_define:nn ##1 }
}
}
-\msg_new:nnn { njuthesis } { empty-theorem-type }
- {
- Empty~ theorem~ list~ to~ define.\\
- The~ key~ "theorem/type"~ should~ not~ be~ set~ empty.
- }
-\msg_new:nnn { njuthesis } { missing-ntheorem }
- {
- "ntheorem"~ package~ not~ detected.\\
- The~ functionality~ of~ built-in~ theorem~ settings~ require~
- loading~ the~ class~ with~ "ntheorem"~ option~ set~ to~ "true".
- }
\cs_new_protected:Npn \__nju_thm_define:nn #1#2
{
\bool_if:NF \g__nju_opt_load_nthm_bool
@@ -1651,14 +1637,6 @@
nju-emblem .code:n = { \__nju_new_img_cmd:nn { emblem } {#1} },
nju-name .code:n = { \__nju_new_img_cmd:nn { name } {#1} }
}
-\msg_new:nnn { njuthesis } { missing-image }
- {
- Local~ images~ not~ designated.\\
- It~ seems~ that~ you~ haven't~ fill~ in~ both~
- "style/emblem-img"~ and~ "style/name-img",~
- therefore~ I~ am~ using~ package~ "njuvisual"~
- instead,~ which~ may~ slow~ down~ the~ compilation.
- }
\ctex_at_end_preamble:n
{
\bool_lazy_and:nnF