diff --git a/.vscode/settings.json b/.vscode/settings.json index 6cacd4b3771426f0d0a3bfc488ff4e8778f05d46..f7792c8817d2bf30ce902173a833a2b14ffe866f 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,4 +1,5 @@ { + "latex-workshop.latex.autoBuild.run": "never", // 绂佹鑷姩缂栬瘧 "latex-workshop.latex.tools": [ { "name": "xelatex", diff --git a/njuthesis-sample.tex b/njuthesis-sample.tex index e67350e24e4347452ddb61eeeff8c68975776ad5..9b0c3b19dd7098fb36fcbd91afc159953f7f0819 100644 --- a/njuthesis-sample.tex +++ b/njuthesis-sample.tex @@ -31,35 +31,36 @@ % 璁剧疆涓汉淇℃伅 \njusetup { % 鏈鐢熸棤闇€濉啓鐨勯」鐩凡琚壒鍒爣娉� + % 娉ㄦ剰鑻辨枃棰樼洰蹇呴』浣跨敤澶ф嫭鍙凤紝鎴栬€呭皢绌烘牸鏇挎崲涓烘尝娴嚎 % 娉ㄦ剰涓嶈鏈夌┖琛岋紝鍚﹀垯鍙兘鎶ラ敊 info = { % 棰樼洰 TitleA = 涓€绉嶄娇鐢ㄥ崡浜ぇ瀛hologo{LaTeX}妯$増, TitleB = 缂栧啓姣曚笟璁烘枃鐨勭粡楠屾€ф柟娉�, % TitleC = , % 娌℃湁绗笁琛屽氨涓嶇敤濉繖涓摝 - TitleEN = An~Empirical~Way~of~Composing~Thesis~with~NJU~\hologo{LaTeX}~Template, % 娉ㄦ剰绌烘牸蹇呴』鏇挎崲涓烘尝娴嚎 + Title* = {An Empirical Way of Composing Thesis with NJU \hologo{LaTeX} Template}, % 濮撳悕瀛﹀彿 Grade = 2018, StudentID = 189114514, % dz18114514, StudentName = 鍛ㄧ厹鍗�, - StudentNameEN = Zhou~Yuhua, + StudentName* = Zhou~Yuhua, % 闄㈢郴涓撲笟 Department = 鎷夊お璧瀛︿笌鎶€鏈闄�, - DepartmentEN = School~of~\hologo{LaTeX}, + Department* = School~of~\hologo{LaTeX}, Major = 鎷夊お璧瑷€瀛�, - MajorEN = \hologo{LaTeX}~Linguistics, + Major* = \hologo{LaTeX}~Linguistics, Field = 鎷夊お璧瑷€鍦ㄧ幇褰撲唬鐨勪娇鐢�, % 鐮旂┒鐢熼」 - FieldEN = Contemporary~Usage~of~the~\hologo{LaTeX}~Language, % 鐮旂┒鐢熼」 + Field* = Contemporary~Usage~of~the~\hologo{LaTeX}~Language, % 鐮旂┒鐢熼」 % 瀵煎笀 - MentorA = 鏉庢垚娈�, - MentorAEN= Li~Chengdian, - MentorATitle = 鏁欐巿, - MentorATitleEN = Professor, + SupervisorA = 鏉庢垚娈�, + SupervisorA*= Li~Chengdian, + SupervisorATitle = 鏁欐巿, + SupervisorATitle* = Professor, % 绗簩瀵煎笀锛屽鏃犲垯蹇界暐 - MentorB = 瀛欒但寮�, - MentorBEN = Sun~Hemi, - MentorBTitle = 鍓暀鎺�, - MentorBTitleEN = Associate professor, + SupervisorB = 瀛欒但寮�, + SupervisorB* = Sun~Hemi, + SupervisorBTitle = 鍓暀鎺�, + SupervisorBTitle* = Associate professor, % 鎻愪氦鏃ユ湡 SubmitDate = 2021骞�8鏈�10鏃�, % 绛旇京锛屽潎涓虹爺绌剁敓椤� @@ -73,7 +74,7 @@ Classification = 0175.2, SecurityLevel = 闄愬埗, UDC = 004.72, - MentorInfo = 鎷夊お璧瀛︿笌鎶€鏈闄鏋濇睙甯傜粨涓樿矾~19~鍙穨114514, + SupervisorContact = {鎷夊お璧瀛︿笌鎶€鏈闄� 鏋濇睙甯傜粨涓樿矾 19 鍙� 114514}, } } diff --git a/njuthesis.cls b/njuthesis.cls index b78692870a645a8fe8dcfd173e091033dc5563ee..2190e63dbbf20f58eb2568ee86b6af203345bc26 100644 --- a/njuthesis.cls +++ b/njuthesis.cls @@ -6,7 +6,7 @@ %% %% njuthesis.dtx (with options: `class') %% -%% Copyright (C) 2021 by Nanjing University Linux User Group <my@yaoge123.com> +%% Copyright (C) 2021 by Nanjing University Linux User Group <nju.lug@yaoge123.cn> %% %% This file may be distributed and/or modified under the conditions of %% the LaTeX Project Public License, either version 1.3 of this license @@ -23,7 +23,7 @@ %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} - \GetIdInfo $Id: njuthesis.dtx 0.9.0 2021-09-15 12:00:00 +0800 NJU LUG <my@yaoge123.com> $ + \GetIdInfo $Id: njuthesis.dtx 0.9.0 2021-09-15 12:00:00 +0800 NJU LUG <nju.lug@yaoge123.cn> $ {Thesis template for Nanjing University} \ProvidesExplClass{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} \LoadClass[ @@ -40,8 +40,8 @@ { titlelength .int_set:N = \nju_titlelength, titlelength .initial:n = 1, - secondmentor .bool_set:N = \nju_second_mentor, - secondmentor .initial:n = false, + secondsupervisor .bool_set:N = \nju_second_supervisor, + secondsupervisor .initial:n = false, nlcover .bool_set:N = \nju_nl_cover, nlcover .initial:n = false, degree .tl_set:N = \nju_degree, @@ -59,42 +59,42 @@ \keys_define:nn { nju / info } { % 棰樼洰 - TitleA .tl_set:N = \nju_title_a, - TitleB .tl_set:N = \nju_title_b, - TitleC .tl_set:N = \nju_title_c, - TitleEN .tl_set:N = \nju_title_en, + TitleA .tl_set:N = \l__nju_info_title_a_tl, + TitleB .tl_set:N = \l__nju_info_title_b_tl, + TitleC .tl_set:N = \l__nju_info_title_c_tl, + Title* .tl_set:N = \l__nju_info_title_en_tl, % 骞寸骇瀛﹀彿濮撳悕 - Grade .tl_set:N = \nju_grade, - StudentID .tl_set:N = \nju_student_id, - StudentName .tl_set:N = \nju_student_name, - StudentNameEN .tl_set:N = \nju_student_name_en, + Grade .tl_set:N = \l__nju_info_grade_tl, + StudentID .tl_set:N = \l__nju_info_id_tl, + StudentName .tl_set:N = \l__nju_info_author_tl, + StudentName* .tl_set:N = \l__nju_info_author_en_tl, % 闄㈢郴涓撲笟鏂瑰悜 - Department .tl_set:N = \nju_department, - DepartmentEN .tl_set:N = \nju_department_en, - Major .tl_set:N = \nju_major, - MajorEN .tl_set:N = \nju_major_en, - Field .tl_set:N = \nju_field, - FieldEN .tl_set:N = \nju_field_en, - MentorA .tl_set:N = \nju_mentor_a, - MentorAEN .tl_set:N = \nju_mentor_a_en, - MentorATitle .tl_set:N = \nju_mentor_a_title, - MentorATitleEN .tl_set:N = \nju_mentor_a_title_en, - MentorB .tl_set:N = \nju_mentor_b, - MentorBEN .tl_set:N = \nju_mentor_b_en, - MentorBTitle .tl_set:N = \nju_mentor_b_title, - MentorBTitleEN .tl_set:N = \nju_mentor_b_title_en, - SubmitDate .tl_set:N = \nju_submit_date, - DefendDate .tl_set:N = \nju_defend_date, - ReviewerChairman .tl_set:N = \nju_reviewer_chairman, - ReviewerA .tl_set:N = \nju_reviewer_a, - ReviewerB .tl_set:N = \nju_reviewer_b, - ReviewerC .tl_set:N = \nju_reviewer_c, - ReviewerD .tl_set:N = \nju_reviewer_d, + Department .tl_set:N = \l__nju_info_dept_tl, + Department* .tl_set:N = \l__nju_info_dept_en_tl, + Major .tl_set:N = \l__nju_major_tl, + Major* .tl_set:N = \l__nju_major_en_tl, + Field .tl_set:N = \l__nju_field_tl, + Field* .tl_set:N = \l__nju_field_en_tl, + SupervisorA .tl_set:N = \l__nju_info_supv_a_tl, + SupervisorA* .tl_set:N = \l__nju_info_supv_a_en_tl, + SupervisorATitle .tl_set:N = \l__nju_info_supv_a_title_tl, + SupervisorATitle* .tl_set:N = \l__nju_info_supv_a_title_en_tl, + SupervisorB .tl_set:N = \l__nju_info_supv_b_tl, + SupervisorB* .tl_set:N = \l__nju_info_supv_b_en_tl, + SupervisorBTitle .tl_set:N = \l__nju_info_supv_b_title_tl, + SupervisorBTitle* .tl_set:N = \l__nju_info_supv_b_title_en_tl, + SubmitDate .tl_set:N = \l__nju_submit_date_tl, + DefendDate .tl_set:N = \l__nju_defend_date_tl, + ReviewerChairman .tl_set:N = \l__nju_info_chairman_tl, + ReviewerA .tl_set:N = \l__nju_info_reviewer_a_tl, + ReviewerB .tl_set:N = \l__nju_info_reviewer_b_tl, + ReviewerC .tl_set:N = \l__nju_info_reviewer_c_tl, + ReviewerD .tl_set:N = \l__nju_info_reviewer_d_tl, % 鍥藉鍥句功棣嗗皝闈㈢浉鍏� - Classification .tl_set:N = \nju_classification, - SecurityLevel .tl_set:N = \nju_securitylevel, - UDC .tl_set:N = \nju_udc, - MentorInfo .tl_set:N = \nju_mentor_info, + Classification .tl_set:N = \l__nju_info_classif_tl, + SecurityLevel .tl_set:N = \l__nju_info_seclv_tl, + UDC .tl_set:N = \l__nju_info_udc_tl, + SupervisorContact .tl_set:N = \l__nju_info_supv_cont_tl, } \NewDocumentCommand \njusetup { m } { \keys_set:nn { nju } { #1 } } @@ -108,7 +108,6 @@ ]{geometry} \RequirePackage{xparse} \RequirePackage{titletoc} % 淇敼鐩綍鍐呮爣棰樻牸寮� -\RequirePackage{fancyhdr} % 璋冩暣椤电湁椤佃剼 \RequirePackage[hyphens]{url} % generate better linebreaks in the url \RequirePackage{dashundergaps} \RequirePackage{setspace} @@ -368,6 +367,7 @@ \NewDocumentCommand\heiti{}{\CJKfamily{zhhei}} \NewDocumentCommand\fangsong{}{\CJKfamily{zhfs}} \NewDocumentCommand\kaishu{}{\CJKfamily{zhkai}} +\RequirePackage{fancyhdr} % 璋冩暣椤电湁椤佃剼 \fancypagestyle{njuplain}{% \fancyhead{} \fancyfoot[C]{\zihao{5}\thepage} % 椤佃剼灞呬腑 浜斿彿鏂扮綏椹綋鏁板瓧 @@ -657,28 +657,33 @@ refname={瀹氱悊,瀹氱悊}, Refname={瀹氱悊,瀹氱悊}, numberwithin=section, ]{theorem} -\tl_const:Nn \nju_title {\nju_title_a \nju_title_b \nju_title_c} -\bool_if:NTF \nju_second_mentor +\tl_const:Nn \l__nju_info_title_tl, +{ + \l__nju_info_title_a_tl + \l__nju_info_title_b_tl + \l__nju_info_title_c_tl +} +\bool_if:NTF \nju_second_supervisor { - \tl_const:Nn \nju_mentor_full + \tl_const:Nn \nju_supervisor_full { - \nju_mentor_a\ \nju_mentor_a_title - \ \ \nju_mentor_b\ \nju_mentor_b_title + \l__nju_info_supv_a_tl\ \l__nju_info_supv_a_title_tl + \ \ \l__nju_info_supv_b_tl\ \l__nju_info_supv_b_title_tl } - \tl_const:Nn \nju_mentor_full_en + \tl_const:Nn \nju_supervisor_full_en { - \nju_mentor_a_en\ \nju_mentor_a_title_en - \ \ \nju_mentor_b_en\ \nju_mentor_b_title_en + \l__nju_info_supv_a_en_tl\ \l__nju_info_supv_a_title_en_tl + \ \ \l__nju_info_supv_b_en_tl\ \l__nju_info_supv_b_title_en_tl } } { - \tl_const:Nn \nju_mentor_full + \tl_const:Nn \nju_supervisor_full { - \nju_mentor_a\ \nju_mentor_a_title + \l__nju_info_supv_a_tl\ \l__nju_info_supv_a_title_tl } - \tl_const:Nn \nju_mentor_full_en + \tl_const:Nn \nju_supervisor_full_en { - \nju_mentor_a_en\ \nju_mentor_a_title_en + \l__nju_info_supv_a_en_tl\ \l__nju_info_supv_a_title_en_tl } } \str_if_eq:NNTF {\nju_degree} { ug } @@ -745,58 +750,58 @@ numberwithin=section, { \begin{tabular}{p{4.2em}c} \nju_coverbox_ug:n {闄hfill 绯粆 - & \nju_cover_underline_ug:nn {250pt}{\nju_department}\\ + & \nju_cover_underline_ug:nn {250pt}{\l__nju_info_dept_tl}\\ \nju_coverbox_ug:n {涓揬hfill 涓殅 - & \nju_cover_underline_ug:nn {250pt}{\nju_major}\\ + & \nju_cover_underline_ug:nn {250pt}{\l__nju_major_tl}\\ % 鏍囬鎹㈣ \int_case:nn { \nju_titlelength } { { 1 } { \nju_coverbox_ug:n {棰榎hfill 鐩畗 - & \nju_cover_underline_ug:nn {250pt}{\bf{\nju_title_a}} \\ } + & \nju_cover_underline_ug:nn {250pt}{\bf{\l__nju_info_title_a_tl,}} \\ } { 2 } { \nju_coverbox_ug:n {棰榎hfill 鐩畗 - & \nju_cover_underline_ug:nn {250pt}{\bf{\nju_title_a}} \\ - & \nju_cover_underline_ug:nn {250pt}{\bf{\nju_title_b}} \\ } + & \nju_cover_underline_ug:nn {250pt}{\bf{\l__nju_info_title_a_tl,}} \\ + & \nju_cover_underline_ug:nn {250pt}{\bf{\l__nju_info_title_b_tl,}} \\ } { 3 } { \nju_coverbox_ug:n {棰榎hfill 鐩畗 - & \nju_cover_underline_ug:nn {250pt}{\bf{\nju_title_a}} \\ - & \nju_cover_underline_ug:nn {250pt}{\bf{\nju_title_b}} \\ - & \nju_cover_underline_ug:nn {250pt}{\bf{\nju_title_c}} \\} + & \nju_cover_underline_ug:nn {250pt}{\bf{\l__nju_info_title_a_tl,}} \\ + & \nju_cover_underline_ug:nn {250pt}{\bf{\l__nju_info_title_b_tl,}} \\ + & \nju_cover_underline_ug:nn {250pt}{\bf{\l__nju_info_title_c_tl,}} \\} } \end{tabular}\\ \begin{tabular}{p{4.2em}cp{4.2em}c} \nju_coverbox_ug:n {骞碶hfill 绾 - & \nju_cover_underline_ug:nn {90pt}{\nju_grade} + & \nju_cover_underline_ug:nn {90pt}{\l__nju_info_grade_tl} & \nju_coverbox_ug:n {瀛hfill 鍙穧 - & \nju_cover_underline_ug:nn {90pt}{\nju_student_id}\\ + & \nju_cover_underline_ug:nn {90pt}{\l__nju_info_id_tl}\\ \end{tabular}\\ \begin{tabular}{p{4.2em}c} \nju_coverbox_ug:n {瀛hfill 鐢焅hfill 濮揬hfill 鍚峿 - & \nju_cover_underline_ug:nn {250pt}{\nju_student_name} + & \nju_cover_underline_ug:nn {250pt}{\l__nju_info_author_tl} \end{tabular}\\ \begin{tabular}{p{4.2em}cp{4.2em}c} \nju_coverbox_ug:n {瀵糪hfill 甯坿 - & \nju_cover_underline_ug:nn {90pt}{\nju_mentor_a} + & \nju_cover_underline_ug:nn {90pt}{\l__nju_info_supv_a_tl} & \nju_coverbox_ug:n {鑱孿hfill 绉皚 - & \nju_cover_underline_ug:nn {90pt}{\nju_mentor_a_title}\\ + & \nju_cover_underline_ug:nn {90pt}{\l__nju_info_supv_a_title_tl}\\ % 绗簩瀵煎笀 - \bool_if:NT \nju_second_mentor + \bool_if:NT \nju_second_supervisor { \nju_coverbox_ug:n {绗琝hfill 浜孿hfill 瀵糪hfill 甯坿 - & \nju_cover_underline_ug:nn {90pt}{\nju_mentor_b} + & \nju_cover_underline_ug:nn {90pt}{\l__nju_info_supv_b_tl} & \nju_coverbox_ug:n {鑱孿hfill 绉皚 - & \nju_cover_underline_ug:nn {90pt}{\nju_mentor_b_title}\\ + & \nju_cover_underline_ug:nn {90pt}{\l__nju_info_supv_b_title_tl}\\ } \end{tabular}\\ \begin{tabular}{p{4.2em}c} \nju_coverbox_ug:n {鎻怽hfill 浜hfill 鏃hfill 鏈焳 - & \nju_cover_underline_ug:nn {250pt}{\nju_submit_date}\\ + & \nju_cover_underline_ug:nn {250pt}{\l__nju_submit_date_tl}\\ \end{tabular} } \tl_new:N \nju_printcoverinfo_g @@ -808,26 +813,26 @@ numberwithin=section, { { 1 } { \nju_coverbox_g:n {璁篭hfill 鏂嘰hfill 棰榎hfill 鐩畗 - & \nju_cover_underline_g:n {\nju_title_a} \\ } + & \nju_cover_underline_g:n {\l__nju_info_title_a_tl,} \\ } { 2 } { \nju_coverbox_g:n {璁篭hfill 鏂嘰hfill 棰榎hfill 鐩畗 - & \nju_cover_underline_g:n {\nju_title_a} \\ - & \nju_cover_underline_g:n {\nju_title_b} \\ } + & \nju_cover_underline_g:n {\l__nju_info_title_a_tl,} \\ + & \nju_cover_underline_g:n {\l__nju_info_title_b_tl,} \\ } { 3 } { \nju_coverbox_g:n {璁篭hfill 鏂嘰hfill 棰榎hfill 鐩畗 - & \nju_cover_underline_g:n {\nju_title_a} \\ - & \nju_cover_underline_g:n {\nju_title_b} \\ - & \nju_cover_underline_g:n {\nju_title_c} \\} + & \nju_cover_underline_g:n {\l__nju_info_title_a_tl,} \\ + & \nju_cover_underline_g:n {\l__nju_info_title_b_tl,} \\ + & \nju_cover_underline_g:n {\l__nju_info_title_c_tl,} \\} } \nju_coverbox_g:n {浣淺hfill 鑰匼hfill 濮揬hfill 鍚峿 - & \nju_cover_underline_g:n {\nju_student_name}\\ + & \nju_cover_underline_g:n {\l__nju_info_author_tl}\\ \nju_coverbox_g:n {涓揬hfill 涓歕hfill 鍚峔hfill 绉皚 - & \nju_cover_underline_g:n {\nju_major}\\ + & \nju_cover_underline_g:n {\l__nju_major_tl}\\ \nju_coverbox_g:n {鐮擻hfill 绌禱hfill 鏂筡hfill 鍚憓 - & \nju_cover_underline_g:n {\nju_field}\\ + & \nju_cover_underline_g:n {\l__nju_field_tl}\\ \nju_coverbox_g:n {鎸嘰hfill 瀵糪hfill 鏁橽hfill 甯坿 - & \nju_cover_underline_g:n {\nju_mentor_full}\\ + & \nju_cover_underline_g:n {\nju_supervisor_full}\\ \end{tabular} } \tl_new:N \nju_printcover_nl % 鍥藉鍥句功棣嗗皝闈� @@ -845,13 +850,13 @@ numberwithin=section, \vskip -20mm \hskip -15mm \songti\zihao{-4} \makebox[40pt][l]{鍒嗙被鍙穧 - \nju_cover_underline_nl:nn {150pt}{\nju_classification} + \nju_cover_underline_nl:nn {150pt}{\l__nju_info_classif_tl} \hfill \makebox[40pt][l]{瀵嗙骇} - \nju_cover_underline_nl:nn {150pt}{\nju_securitylevel} + \nju_cover_underline_nl:nn {150pt}{\l__nju_info_seclv_tl} \vskip 10pt \hskip -15mm \makebox[40pt][l]{UDC} - \nju_cover_underline_nl:nn {150pt}{\nju_udc} + \nju_cover_underline_nl:nn {150pt}{\l__nju_info_udc_tl} } % 涓儴 @@ -862,14 +867,14 @@ numberwithin=section, { \kaishu\zihao{1} \vskip \stretch{1} - \nju_cover_underline_nl:nn {14em}{\nju_title_a}\\ - \nju_cover_underline_nl:nn {14em}{\nju_title_b}\\ - \nju_cover_underline_nl:nn {14em}{\nju_title_c}\\ + \nju_cover_underline_nl:nn {14em}{\l__nju_info_title_a_tl,}\\ + \nju_cover_underline_nl:nn {14em}{\l__nju_info_title_b_tl,}\\ + \nju_cover_underline_nl:nn {14em}{\l__nju_info_title_c_tl,}\\ } \vskip \stretch{1} {\kaishu\zihao{4}锛堥鍚嶅拰鍓鍚嶏級} \vskip \stretch{1} \vskip 5mm - {\kaishu\zihao{1}\uline{\makebox{\nju_student_name}}} + {\kaishu\zihao{1}\uline{\makebox{\l__nju_info_author_tl}}} \vskip \stretch{1} {\kaishu\zihao{4}锛堜綔鑰呭鍚嶏級} \end{center} @@ -879,25 +884,25 @@ numberwithin=section, { \kaishu\zihao{4} \noindent 鎸囧鏁欏笀濮撳悕銆佽亴鍔°€佽亴绉般€佸浣嶃€佸崟浣嶅悕绉板強鍦板潃% - \nju_cover_underline_nl:nn {94pt}{\nju_mentor_a}\par + \nju_cover_underline_nl:nn {94pt}{\l__nju_info_supv_a_tl}\par \noindent\nju_cover_underline_nl:nn {\textwidth}{% - \nju_mentor_info}\par + \l__nju_info_supv_cont_tl}\par \noindent 鐢宠瀛︿綅绾у埆% \nju_cover_underline_nl:nn {9em}{\nju_degree_title}% \noindent 涓撲笟鍚嶇О% - \uline{\hfill\nju_major\hfill}\par% 闇€瑕佽皟鏁翠笅鍒掔嚎闀垮害 + \uline{\hfill\l__nju_major_tl\hfill}\par% 闇€瑕佽皟鏁翠笅鍒掔嚎闀垮害 \noindent 璁烘枃鎻愪氦鏃ユ湡% - \nju_cover_underline_nl:nn {9em}{\nju_submit_date}% + \nju_cover_underline_nl:nn {9em}{\l__nju_submit_date_tl}% 璁烘枃绛旇京鏃ユ湡% - \uline{\hfill\nju_defend_date\hfill}\par% 闇€瑕佽皟鏁翠笅鍒掔嚎闀垮害 + \uline{\hfill\l__nju_defend_date_tl\hfill}\par% 闇€瑕佽皟鏁翠笅鍒掔嚎闀垮害 \noindent 瀛︿綅鎺堜簣鍗曚綅鍜屾棩鏈焅uline{\hfill}\par \noindent\hfill 绛旇京濮斿憳浼氫富甯細% - \nju_cover_underline_nl:nn {9em}{\nju_reviewer_chairman}\par + \nju_cover_underline_nl:nn {9em}{\l__nju_info_chairman_tl}\par \noindent\hfill 璇勯槄浜猴細% - \nju_cover_underline_nl:nn {9em}{\nju_reviewer_a}\par - \noindent\hfill\nju_cover_underline_nl:nn {9em}{\nju_reviewer_b}\par - \noindent\hfill\nju_cover_underline_nl:nn {9em}{\nju_reviewer_c}\par - \noindent\hfill\nju_cover_underline_nl:nn {9em}{\nju_reviewer_d}\par + \nju_cover_underline_nl:nn {9em}{\l__nju_info_reviewer_a_tl}\par + \noindent\hfill\nju_cover_underline_nl:nn {9em}{\l__nju_info_reviewer_b_tl}\par + \noindent\hfill\nju_cover_underline_nl:nn {9em}{\l__nju_info_reviewer_c_tl}\par + \noindent\hfill\nju_cover_underline_nl:nn {9em}{\l__nju_info_reviewer_d_tl}\par \begin{center} \kaishu\zihao{3}\hspace{2em} 骞碶hspace{1em} 鏈圽hspace{1em} 鏃� @@ -963,7 +968,7 @@ numberwithin=section, \egroup} \vfill \vskip 10mm - \bf\kaishu\zihao{4}\nju_submit_date + \bf\kaishu\zihao{4}\l__nju_submit_date_tl \vskip 15mm \end{center} \end{spacing} @@ -975,9 +980,9 @@ numberwithin=section, \hspace{0pt} \vfill {\bgroup \kaishu\zihao{3} - \makebox[6em][s]{\bf\kaishu 瀛hfill 鍙穧锛歕MakeUppercase{\nju_student_id} + \makebox[6em][s]{\bf\kaishu 瀛hfill 鍙穧锛歕MakeUppercase{\l__nju_info_id_tl} \par - \makebox[6em][s]{\bf\kaishu 璁烘枃绛旇京鏃ユ湡}锛歕nju_defend_date + \makebox[6em][s]{\bf\kaishu 璁烘枃绛旇京鏃ユ湡}锛歕l__nju_defend_date_tl \par \makebox[6em][s]{\bf\kaishu 鎸嘰hfill 瀵糪hfill 鏁橽hfill 甯坿锛歕hspace{50mm}锛堢瀛楋級 \par @@ -1016,11 +1021,11 @@ numberwithin=section, \tl_set:Nn \tabcolsep {0pt} \tl_set:Nn \arraystretch {0.8} \noindent - 棰樼洰锛� \nju_title \\ - 闄㈢郴锛� \nju_department \\ - 涓撲笟锛� \nju_major \\ - 鏈鐢熷鍚嶏細 \nju_student_name \\ - 鎸囧鏁欏笀锛堝鍚嶃€佽亴绉帮級锛歕nju_mentor_full \\ + 棰樼洰锛� \l__nju_info_title_tl \\ + 闄㈢郴锛� \l__nju_info_dept_tl \\ + 涓撲笟锛� \l__nju_major_tl \\ + 鏈鐢熷鍚嶏細 \l__nju_info_author_tl \\ + 鎸囧鏁欏笀锛堝鍚嶃€佽亴绉帮級锛歕nju_supervisor_full \\ 鎽樿锛� \egroup } @@ -1047,11 +1052,11 @@ numberwithin=section, \end{center} { \bgroup - THESIS: ~~\nju_title_en \\ - DEPARTMENT: ~~\nju_department_en \\ - SPECIALIZATION: ~~\nju_major_en \\ - UNDERGRADUATE:~~\nju_student_name_en \\ - MENTOR:~~\nju_mentor_full_en \\ + THESIS: ~~\l__nju_info_title_en_tl, \\ + DEPARTMENT: ~~\l__nju_info_dept_en_tl \\ + SPECIALIZATION: ~~\l__nju_major_en_tl \\ + UNDERGRADUATE:~~\l__nju_info_author_en_tl \\ + MENTOR:~~\nju_supervisor_full_en \\ ABSTRACT: \egroup } @@ -1085,11 +1090,11 @@ numberwithin=section, \tl_set:Nn \tabcolsep {0pt} \tl_set:Nn \arraystretch {0.8} \noindent - 姣曚笟璁烘枃棰樼洰锛歕hspace{0.5em}\nju_underline:n {\nju_title\hfill}\\ - \uline{\makebox[9em]{\nju_major}}涓撲笟\uline{\makebox[4em]{\nju_grade}}绾� + 姣曚笟璁烘枃棰樼洰锛歕hspace{0.5em}\nju_underline:n {\l__nju_info_title_tl\hfill}\\ + \uline{\makebox[9em]{\l__nju_major_tl}}涓撲笟\uline{\makebox[4em]{\l__nju_info_grade_tl}}绾� \str_if_eq:NNTF {\nju_degree} { phd } {鍗殅{纭晑 - 澹敓濮撳悕锛歕uline{\hfill\nju_student_name\hfill} \\ - 鎸囧鏁欏笀锛堝鍚嶃€佽亴绉帮級锛歕uline{\hfill\nju_mentor_full\hfill}\par + 澹敓濮撳悕锛歕uline{\hfill\l__nju_info_author_tl\hfill} \\ + 鎸囧鏁欏笀锛堝鍚嶃€佽亴绉帮級锛歕uline{\hfill\nju_supervisor_full\hfill}\par \egroup \kaishu\zihao{4}\par% @@ -1116,10 +1121,10 @@ numberwithin=section, { \bgroup \zihao{4} - THESIS: ~~\nju_title_en \\ - SPECIALIZATION: ~~\nju_major_en \\ - POSTGRADUATE:~~\nju_student_name_en \\ - MENTOR:~~\nju_mentor_full_en\par + THESIS: ~~\l__nju_info_title_en_tl, \\ + SPECIALIZATION: ~~\l__nju_major_en_tl \\ + POSTGRADUATE:~~\l__nju_info_author_en_tl \\ + MENTOR:~~\nju_supervisor_full_en\par \egroup } \zihao{4}\par% diff --git a/njuthesis.dtx b/njuthesis.dtx index 1b15202d3bdc837e52cb0e509e615b984217e57f..a2b3b250b8b1fd23e0c0d4071a029a06ec4ac213 100644 --- a/njuthesis.dtx +++ b/njuthesis.dtx @@ -2,7 +2,7 @@ % !TeX program = XeLaTeX % !TeX encoding = UTF-8 % -% Copyright (C) 2021 by Nanjing University Linux User Group <my@yaoge123.com> +% Copyright (C) 2021 by Nanjing University Linux User Group <nju.lug@yaoge123.cn> % % It may be distributed and/or modified under the conditions of the % LaTeX Project Public License (LPPL), either version 1.3c of this @@ -146,7 +146,7 @@ Copyright 漏 NJU-LUG \preamble -Copyright (C) 2021 by Nanjing University Linux User Group <my@yaoge123.com> +Copyright (C) 2021 by Nanjing University Linux User Group <nju.lug@yaoge123.cn> This file may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 of this license @@ -207,23 +207,28 @@ through XeTeX. % %<class>\NeedsTeXFormat{LaTeX2e} %<class>\RequirePackage{expl3} -%<!(readme-zh|readme-en)> \GetIdInfo $Id: njuthesis.dtx 0.9.0 2021-09-15 12:00:00 +0800 NJU LUG <my@yaoge123.com> $ +%<!(readme-zh|readme-en)> \GetIdInfo $Id: njuthesis.dtx 0.9.0 2021-09-15 12:00:00 +0800 NJU LUG <nju.lug@yaoge123.cn> $ %<class> {Thesis template for Nanjing University} %<class>\ProvidesExplClass{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} % %<*driver> \ProvidesFile{njuthesis.dtx} \documentclass{ctxdoc} +\usepackage{listings,xcolor} +\definecolor{njuviolet}{cmyk}{0.5,1,0,0.4} +\definecolor{njumagenta}{cmyk}{0.05,1,0.55,0} +\definecolor{njublue}{cmyk}{0.8,0.5,0,0} +\definecolor{njuyellow}{cmyk}{0,0.3,1,0} \begin{document} \DocInput{njuthesis.dtx} \end{document} %</driver> % \fi % -% \title{The \textsc{NJuThesis} class\\ 鍗椾含澶у瀛︿綅璁烘枃妯℃澘} +% \title{\color{njuviolet}The \textsc{NJuThesis} class\\ 鍗椾含澶у瀛︿綅璁烘枃妯℃澘} % % \author{^^A -% Nanjing University Linux User Group\thanks{E-mail: \href{mailto:my@yaoge123.com}{my@yaoge123.com}}} +% Nanjing University Linux User Group\thanks{E-mail: \href{mailto:nju.lug@yaoge123.cn}{nju.lug@yaoge123.cn}}} % % \date{v0.9.0 \\ Released 2021-09-15} % @@ -255,12 +260,15 @@ through XeTeX. % % Put text here. % -% \section{閰嶇疆鐜} +% \section{瀹夎} % \label{sec:setup} % +% 鏈妭涓昏浠嬬粛鏈畯鍖呯殑鑾峰彇銆佸畨瑁呬互鍙婄紪璇戞柟寮� +% % 涓嬭〃鏄洰鍓嶇粡杩囨祴璇曠殑鐜銆傚鏋滄湁鍏朵粬鍙敤涓嶅彲鐢ㄧ殑鐜锛屾杩庤ˉ鍏呫€� % % \begin{table}[ht] +% \centering % \caption{缁忚繃娴嬭瘯鐨勭幆澧儅 % % \label{tab:1} % \begin{tabular}{ccc} @@ -298,15 +306,35 @@ through XeTeX. % 鑻ヤ娇鐢� LaTeX Workshop 鎻掍欢锛屾湰椤圭洰鍦▅.vscode/|涓彁渚涗竴浠界畝鏄撻厤缃紝鍙互鐪佺暐鍒濆閰嶇疆姝ラ鐩存帴浣跨敤銆� % % \subsubsection{缂栬瘧椤哄簭} +% 鍋囪鍗冲皢浣跨敤鐨勬枃浠跺悕涓篭file{mynjuthesis.tex} % 搴旈噰鐢ㄤ互涓嬪懡浠ら『搴忚繘琛岀紪璇戯紝浠ョ敓鎴愭纭殑鐩綍銆佺紪鍙峰拰鍙傝€冩枃鐚潯鐩€� -% \begin{enumerate} -% \item |xelatex| / |lualatex| -% \item |biber| -% \item |xelatex| / |lualatex| -% \item |xelatex| / |lualatex| -% \end{enumerate} -% -% 缂栬瘧浜х墿\footnote{浣滀负鍖栧瀛︾敓锛屼亢璁や负鐢ㄢ€滀骇鐗┾€濅唬鏇库€滅紪璇戠敓鎴愮殑鏂囦欢鈥濇槸涓€涓€氫織鏄撴噦鐨勮娉晑涓簗njuthesis.pdf|锛屼綅浜庝富鐩綍涓嬨€傛澶栬繕浼氱敓鎴愪竴绯诲垪涓棿鏂囦欢锛屽彲浠ラ€夋嫨浣跨敤|latexmk -c|杩涜娓呯悊銆� +% \begin{lstlisting} +% xelatex mynjuthesis +% biber mynjuthesis +% xelatex mynjuthesis +% xelatex mynjuthesis +% \end{lstlisting} +% 浣跨敤 \pkg{latexmk} +% \begin{lstlisting} +% latexmk -xelatex mynjuthesis +% \end{lstlisting} +% +% \begin{lstlisting} +% lualatex mynjuthesis +% biber mynjuthesis +% lualatex mynjuthesis +% lualatex mynjuthesis +% \end{lstlisting} +% 浣跨敤 \pkg{latexmk} +% \begin{lstlisting} +% latexmk -lualatex mynjuthesis +% \end{lstlisting} +% +% 缂栬瘧浜х墿涓篭file{njuthesis.pdf}锛屼綅浜庝富鐩綍涓嬨€傛澶栬繕浼氱敓鎴愪竴绯诲垪涓棿鏂囦欢锛屽彲浠ラ€夋嫨浣跨敤浠ヤ笅鍛戒护杩涜娓呯悊銆� +% +% \begin{lstlisting} +% latexmk -c +% \end{lstlisting} % % \subsection{鍦ㄧ嚎缂栬瘧} % @@ -338,22 +366,22 @@ through XeTeX. % % \subsection{鑷畾涔夐€夐」} % -% 鍔犵矖鐨勪负榛樿閫夐」 +% 灏栨嫭鍙峰唴鍒楀嚭浜嗚嫢骞蹭釜鍏佽鐨勯€夐」锛屽叾涓姞绮楃殑涓洪粯璁ら€夐」 % % \begin{function}[added=2021-09-07]{titlelength} % \begin{syntax} % titlelength = <(1)|2|3> % \end{syntax} % -% 涓轰簡浣胯緝闀跨殑璁烘枃棰樼洰涔熻兘缇庤鍦板憟鐜板湪灏侀潰椤典笂锛宯juthesis绫绘彁渚涗簡\texttt{TitleLength}杩欎竴閫夐」锛岀敤浜庢帶鍒跺皝闈㈡爣棰樼殑琛屾暟銆傚彲閫夊€间负1銆�2銆�3锛岀己鐪佸€间负1銆� +% 涓轰簡浣胯緝闀跨殑璁烘枃棰樼洰涔熻兘缇庤鍦板憟鐜板湪灏侀潰椤典笂锛宯juthesis绫绘彁渚涗簡{TitleLength}杩欎竴閫夐」锛岀敤浜庢帶鍒跺皝闈㈡爣棰樼殑琛屾暟銆傛渶澶�3琛� % \end{function} % -% \begin{function}[added=2021-09-07]{secondmentor} +% \begin{function}[added=2021-09-07]{secondsupervisor} % \begin{syntax} -% secondmentor = <\TFF> +% secondsupervisor = <\TFF> % \end{syntax} % -% 鐢ㄤ簬鍦ㄥ皝闈㈠拰鎽樿娣诲姞绗簩瀵煎笀锛岀己鐪佸€间负false銆� +% 鐢ㄤ簬鍦ㄥ皝闈㈠拰鎽樿娣诲姞绗簩瀵煎笀銆傜敱浜庣洰鍓嶆潵璇存嫢鏈変袱浣嶆寚瀵艰€佸笀骞朵笉鏄竴绉嶆櫘閬嶇姸鍐碉紝鍥犳姝ら」榛樿涓篭opt{false}銆� % \opt{true}锛孿opt{false}锛堥粯璁わ級銆� % \end{function} % @@ -362,8 +390,7 @@ through XeTeX. % nlcover = <\TTF> % \end{syntax} % -% 鐢ㄤ簬娣诲姞鍥藉鍥句功棣嗗皝闈紝缂虹渷鍊间负true銆� -% \opt{true}锛孿opt{false}锛堥粯璁わ級銆� +% 閫氳繃姝ら」鍙€夋嫨鏄惁娣诲姞鍥藉鍥句功棣嗗皝闈紝鏈€夐」浠呭浜庣爺绌剁敓鏈夋晥 % \end{function} % % @@ -374,7 +401,7 @@ through XeTeX. % \end{syntax} % % 閫夋嫨瀛︿綅锛屽彲閫夛細 -% \opt{ug}锛堥粯璁ゆ湰绉戯級锛孿opt{mg}锛孿opt{mf}锛孿opt{phd}銆� +% \opt{ug}锛堥粯璁ゆ湰绉戯級锛孿opt{mg}鍗冲鏈澹紝\opt{mf}锛孿opt{phd}銆� % \end{function} % % @@ -420,11 +447,11 @@ through XeTeX. % 鎵嬪姩鎸囧畾涓枃瀛椾綋锛屽彲閫夛細 % \opt{windows}锛堥粯璁わ級锛� \opt{macos}锛� \opt{fandol}锛� \opt{founder}锛孿opt{noto}锛孿opt{null}銆� % -% FZSSK 鏂规涔﹀畫锛堢畝绻佹墿灞曪級 http://www.foundertype.com/index.php/FontInfo/index/id/151 鍏嶈垂鍟嗙敤 +% FZSSK 鏂规涔﹀畫锛堢畝绻佹墿灞曪級 \href{http://www.foundertype.com/index.php/FontInfo/index/id/151 鍏嶈垂鍟嗙敤}{涓嬭浇閾炬帴} % -% FZXBSK 鏂规灏忔爣瀹嬶紙绠€绻佹墿灞曪級 http://www.foundertype.com/index.php/FontInfo/index/id/164 璁捐甯堥潪鍟嗗厤璐� +% FZXBSK 鏂规灏忔爣瀹嬶紙绠€绻佹墿灞曪級 \href{http://www.foundertype.com/index.php/FontInfo/index/id/164 璁捐甯堥潪鍟嗗厤璐箎{涓嬭浇閾炬帴} % -% FZKTK 鏂规妤蜂綋锛堢畝绻佹墿灞曪級 http://www.foundertype.com/index.php/FontInfo/index/id/137 鍏嶈垂鍟嗙敤 +% FZKTK 鏂规妤蜂綋锛堢畝绻佹墿灞曪級 \href{http://www.foundertype.com/index.php/FontInfo/index/id/137 鍏嶈垂鍟嗙敤}{涓嬭浇閾炬帴} % % 鍚勪釜绯荤粺鐨勯粯璁ゅ瓧浣撹鍙傝€冦€傚彲浠ョ湅鍒帮紝涓嶅悓绯荤粺涓婁娇鐢ㄧ殑瀛椾綋鏈夋墍宸埆锛屽疄闄呰緭鍑虹粨鏋滃彲鑳藉瓨鍦ㄧ粏寰笉鍚�, 浣跨敤鏃惰娉ㄦ剰銆備緥濡傦紝鍦↙inux骞冲彴鎴栬€呬娇鐢ㄤ簡Ubuntu鍚庣鐨勫崡澶hologo{TeX}涓婏紝瀹嬩綋鍔犵矖鏁堟灉鏇存槑鏄撅紱鍙︿竴鏂归潰锛屽湪Windows骞冲彴杩涜缂栬瘧鐨勬晥鏋滄洿鎺ヨ繎Word鍔犵矖\footnote{鍥犱负SimSun娌℃湁鍘熺敓绮椾綋锛岄€氳繃AutoFakeBold=2.17杩涜妯′豢}锛岀鍚堣瑙変範鎯€� % @@ -435,16 +462,20 @@ through XeTeX. % % \subsection{杈撳叆涓汉淇℃伅} % -% \texttt{njusetup}瀹氫箟浜嗙敤浜庢枃妗e皝闈㈢殑璇稿灞炴€у弬鏁帮紝 +% \begin{function}{\njusetup} +% +% 瀹氫箟浜嗙敤浜庢枃妗e皝闈㈢殑璇稿灞炴€у弬鏁帮紝 % 鍐欎綔鏃朵慨鏀圭浉搴斿瓧绗︿覆鍗冲彲銆傛敞鎰忎笉瑕佹湁绌鸿锛屽惁鍒欏彲鑳芥姤閿� % +% \end{function} +% % % \subsubsection{璁烘枃鏍囬} % \begin{description} % \item[\texttt{TitleA}] 鍗曡鏍囬锛屾垨澶氳鏍囬鐨勭涓€琛屻€傚叧浜庢槸鍚﹀簲璇ユ姌琛岋紝鍗曡鑳藉绾崇殑鏈€闀挎爣棰樹负\emph{15涓腑鏂囧瓧绗锛岃鑷閫夋嫨鍚堥€傜殑鎴柇澶勩€� % \item[\texttt{TitleB}] 澶氳鏍囬鐨勭浜岃 % \item[\texttt{TitleC}] 澶氳鏍囬鐨勭涓夎 -% \item[\texttt{TitleEN}] 鑻辨枃鏍囬锛屾敞鎰忕┖鏍艰鐢ㄦ尝娴嚎锛圽textasciitilde锛夋浛浠� +% \item[\texttt{Title*}] 鑻辨枃鏍囬锛屾敞鎰忕┖鏍艰鐢ㄦ尝娴嚎锛圽textasciitilde锛夋浛浠� % \end{description} % % \subsubsection{涓汉骞寸骇銆佸鍙枫€佸鍚峿 @@ -452,7 +483,7 @@ through XeTeX. % \item[\texttt{Grade}] 骞寸骇 % \item[\texttt{StudentID}] 鏈鐢熶负9浣嶆暟瀛楀鍙凤紝鐮旂┒鐢熶负涓や綅鑻辨枃瀛楁瘝鏍囪瘑鍔�8浣嶆暟瀛楀鍙凤紝涓や綅瀛楁瘝鑷姩澶у啓 % \item[\texttt{StudentName}] 濮撳悕 -% \item[\texttt{StudentNameEN}] 濮撳悕鎷奸煶 +% \item[\texttt{StudentName*}] 濮撳悕鎷奸煶 % \end{description} % % \subsubsection{灏辫闄㈢郴涓撲笟} @@ -460,20 +491,20 @@ through XeTeX. % 鏈鐢熸棤闇€濉啓鐮旂┒鏂瑰悜銆� % \begin{description} % \item[\texttt{Department}] 瀛﹂櫌鍚嶇О -% \item[\texttt{DepartmentEN}] 瀛﹂櫌鑻辨枃鍚嶇О +% \item[\texttt{Department*}] 瀛﹂櫌鑻辨枃鍚嶇О % \item[\texttt{Major}] 涓撲笟鍚嶇О -% \item[\texttt{MajorEN}] 涓撲笟鑻辨枃鍚嶇О +% \item[\texttt{Major*}] 涓撲笟鑻辨枃鍚嶇О % \item[\texttt{Field}] 鐮旂┒鏂瑰悜 -% \item[\texttt{FieldEN}] 鐮旂┒鏂瑰悜鑻辨枃鍚嶇О +% \item[\texttt{Field*}] 鐮旂┒鏂瑰悜鑻辨枃鍚嶇О % \end{description} % % \subsubsection{瀵煎笀淇℃伅} % 娉ㄦ剰鏍囨敞A鐨勪负绗竴瀵煎笀 % \begin{description} -% \item[\texttt{Mentor<A/B>}] 瀵煎笀濮撳悕 -% \item[\texttt{Mentor<A/B>EN}] 瀵煎笀濮撳悕鐨勮嫳鏂囨嫾闊� -% \item[\texttt{Mentor<A/B>Title}] 瀵煎笀鑱岀О -% \item[\texttt{Mentor<A/B>TitleEN}] 瀵煎笀鑱岀О鑻辨枃 +% \item[\texttt{Supervisor<A/B>}] 瀵煎笀濮撳悕 +% \item[\texttt{Supervisor<A/B>*}] 瀵煎笀濮撳悕鐨勮嫳鏂囨嫾闊� +% \item[\texttt{Supervisor<A/B>Title}] 瀵煎笀鑱岀О +% \item[\texttt{Supervisor<A/B>Title*}] 瀵煎笀鑱岀О鑻辨枃 % \end{description} % % \subsubsection{鎻愪氦鏃ユ湡} @@ -500,7 +531,7 @@ through XeTeX. % \item[\texttt{Classification}] 鍒嗙被鍙� % \item[\texttt{SecurityLevel}] 闄愬埗 % \item[\texttt{UDC}] UDC -% \item[\texttt{MentorInfo}] 鎸囧鏁欏笀鑱屽姟銆佽亴绉般€佸浣嶃€佸崟浣嶅悕绉板強鍦板潃 +% \item[\texttt{SupervisorContact}] 鎸囧鏁欏笀鑱屽姟銆佽亴绉般€佸浣嶃€佸崟浣嶅悕绉板強鍦板潃 % \end{description} % % \subsection{鎽樿椤祡 @@ -536,9 +567,11 @@ through XeTeX. % \begin{implementation} % % \section{浠g爜瀹炵幇} +% @@鍦╨3docstrip涓〃绀哄悕绌洪棿锛屽湪鐢熸垚cls鏃朵細琚浉搴斿瓧娈垫浛鎹紝璀鍦╪juthesis涓瑻@=nju % % laTex榛樿1.2琛岃窛锛寃ord榛樿琛岃窛鏄�1.3锛岃姹�1.5鍊峸ord琛岃窛锛屾晠1.5/1.2*1.3 = 1.625 % \begin{macrocode} +%<@@=nju> %<*class> \LoadClass[ a4paper, @@ -565,8 +598,8 @@ through XeTeX. % % Put text here. % \begin{macrocode} - secondmentor .bool_set:N = \nju_second_mentor, - secondmentor .initial:n = false, + secondsupervisor .bool_set:N = \nju_second_supervisor, + secondsupervisor .initial:n = false, % \end{macrocode} % % Put text here. @@ -618,74 +651,74 @@ through XeTeX. % Put text here. % \begin{macrocode} % 棰樼洰 - TitleA .tl_set:N = \nju_title_a, - TitleB .tl_set:N = \nju_title_b, - TitleC .tl_set:N = \nju_title_c, - TitleEN .tl_set:N = \nju_title_en, + TitleA .tl_set:N = \l_@@_info_title_a_tl, + TitleB .tl_set:N = \l_@@_info_title_b_tl, + TitleC .tl_set:N = \l_@@_info_title_c_tl, + Title* .tl_set:N = \l_@@_info_title_en_tl, % \end{macrocode} % % Put text here. % \begin{macrocode} % 骞寸骇瀛﹀彿濮撳悕 - Grade .tl_set:N = \nju_grade, - StudentID .tl_set:N = \nju_student_id, - StudentName .tl_set:N = \nju_student_name, - StudentNameEN .tl_set:N = \nju_student_name_en, + Grade .tl_set:N = \l_@@_info_grade_tl, + StudentID .tl_set:N = \l_@@_info_id_tl, + StudentName .tl_set:N = \l_@@_info_author_tl, + StudentName* .tl_set:N = \l_@@_info_author_en_tl, % \end{macrocode} % % Put text here. % \begin{macrocode} % 闄㈢郴涓撲笟鏂瑰悜 - Department .tl_set:N = \nju_department, - DepartmentEN .tl_set:N = \nju_department_en, - Major .tl_set:N = \nju_major, - MajorEN .tl_set:N = \nju_major_en, - Field .tl_set:N = \nju_field, - FieldEN .tl_set:N = \nju_field_en, + Department .tl_set:N = \l_@@_info_dept_tl, + Department* .tl_set:N = \l_@@_info_dept_en_tl, + Major .tl_set:N = \l_@@_major_tl, + Major* .tl_set:N = \l_@@_major_en_tl, + Field .tl_set:N = \l_@@_field_tl, + Field* .tl_set:N = \l_@@_field_en_tl, % \end{macrocode} % % 瀵煎笀 % Put text here. % \begin{macrocode} - MentorA .tl_set:N = \nju_mentor_a, - MentorAEN .tl_set:N = \nju_mentor_a_en, - MentorATitle .tl_set:N = \nju_mentor_a_title, - MentorATitleEN .tl_set:N = \nju_mentor_a_title_en, + SupervisorA .tl_set:N = \l_@@_info_supv_a_tl, + SupervisorA* .tl_set:N = \l_@@_info_supv_a_en_tl, + SupervisorATitle .tl_set:N = \l_@@_info_supv_a_title_tl, + SupervisorATitle* .tl_set:N = \l_@@_info_supv_a_title_en_tl, % \end{macrocode} % % 绗簩瀵煎笀 % Put text here. % \begin{macrocode} - MentorB .tl_set:N = \nju_mentor_b, - MentorBEN .tl_set:N = \nju_mentor_b_en, - MentorBTitle .tl_set:N = \nju_mentor_b_title, - MentorBTitleEN .tl_set:N = \nju_mentor_b_title_en, + SupervisorB .tl_set:N = \l_@@_info_supv_b_tl, + SupervisorB* .tl_set:N = \l_@@_info_supv_b_en_tl, + SupervisorBTitle .tl_set:N = \l_@@_info_supv_b_title_tl, + SupervisorBTitle* .tl_set:N = \l_@@_info_supv_b_title_en_tl, % \end{macrocode} % % Put text here. % 鎻愪氦鏃ユ湡 % \begin{macrocode} - SubmitDate .tl_set:N = \nju_submit_date, + SubmitDate .tl_set:N = \l_@@_submit_date_tl, % \end{macrocode} % % Put text here. % 绛旇京 % \begin{macrocode} - DefendDate .tl_set:N = \nju_defend_date, - ReviewerChairman .tl_set:N = \nju_reviewer_chairman, - ReviewerA .tl_set:N = \nju_reviewer_a, - ReviewerB .tl_set:N = \nju_reviewer_b, - ReviewerC .tl_set:N = \nju_reviewer_c, - ReviewerD .tl_set:N = \nju_reviewer_d, + DefendDate .tl_set:N = \l_@@_defend_date_tl, + ReviewerChairman .tl_set:N = \l_@@_info_chairman_tl, + ReviewerA .tl_set:N = \l_@@_info_reviewer_a_tl, + ReviewerB .tl_set:N = \l_@@_info_reviewer_b_tl, + ReviewerC .tl_set:N = \l_@@_info_reviewer_c_tl, + ReviewerD .tl_set:N = \l_@@_info_reviewer_d_tl, % \end{macrocode} % % Put text here. % \begin{macrocode} % 鍥藉鍥句功棣嗗皝闈㈢浉鍏� - Classification .tl_set:N = \nju_classification, - SecurityLevel .tl_set:N = \nju_securitylevel, - UDC .tl_set:N = \nju_udc, - MentorInfo .tl_set:N = \nju_mentor_info, + Classification .tl_set:N = \l_@@_info_classif_tl, + SecurityLevel .tl_set:N = \l_@@_info_seclv_tl, + UDC .tl_set:N = \l_@@_info_udc_tl, + SupervisorContact .tl_set:N = \l_@@_info_supv_cont_tl, } % \end{macrocode} % @@ -717,7 +750,6 @@ through XeTeX. % \RequirePackage{titlesec} % 淇敼绔犺妭鏍囬鍔熻兘鐢盋TeX鎻愪緵 \RequirePackage{titletoc} % 淇敼鐩綍鍐呮爣棰樻牸寮� % \RequirePackage{appendix} % 瀹氫箟闄勫綍鏍峰紡 -\RequirePackage{fancyhdr} % 璋冩暣椤电湁椤佃剼 \RequirePackage[hyphens]{url} % generate better linebreaks in the url % \RequirePackage[normalem]{ulem} % 缁樺埗涓嬪垝绾� % \RequirePackage{soul} % 鐢ㄤ笉璧锋潵 @@ -1082,6 +1114,7 @@ through XeTeX. % % Put text here. % \begin{macrocode} +\RequirePackage{fancyhdr} % 璋冩暣椤电湁椤佃剼 % 鏈鐢熼〉鐪夐〉鑴� \fancypagestyle{njuplain}{% \fancyhead{} @@ -1503,33 +1536,38 @@ through XeTeX. % \subsection{灏侀潰缁樺埗} % \begin{macrocode} % 鎷煎悎鏍囬 -\tl_const:Nn \nju_title {\nju_title_a \nju_title_b \nju_title_c} +\tl_const:Nn \l_@@_info_title_tl, +{ + \l_@@_info_title_a_tl + \l_@@_info_title_b_tl + \l_@@_info_title_c_tl +} % \end{macrocode} % % Put text here. % \begin{macrocode} % 鎷煎悎瀵煎笀 -\bool_if:NTF \nju_second_mentor +\bool_if:NTF \nju_second_supervisor { - \tl_const:Nn \nju_mentor_full + \tl_const:Nn \nju_supervisor_full { - \nju_mentor_a\ \nju_mentor_a_title - \ \ \nju_mentor_b\ \nju_mentor_b_title + \l_@@_info_supv_a_tl\ \l_@@_info_supv_a_title_tl + \ \ \l_@@_info_supv_b_tl\ \l_@@_info_supv_b_title_tl } - \tl_const:Nn \nju_mentor_full_en + \tl_const:Nn \nju_supervisor_full_en { - \nju_mentor_a_en\ \nju_mentor_a_title_en - \ \ \nju_mentor_b_en\ \nju_mentor_b_title_en + \l_@@_info_supv_a_en_tl\ \l_@@_info_supv_a_title_en_tl + \ \ \l_@@_info_supv_b_en_tl\ \l_@@_info_supv_b_title_en_tl } } { - \tl_const:Nn \nju_mentor_full + \tl_const:Nn \nju_supervisor_full { - \nju_mentor_a\ \nju_mentor_a_title + \l_@@_info_supv_a_tl\ \l_@@_info_supv_a_title_tl } - \tl_const:Nn \nju_mentor_full_en + \tl_const:Nn \nju_supervisor_full_en { - \nju_mentor_a_en\ \nju_mentor_a_title_en + \l_@@_info_supv_a_en_tl\ \l_@@_info_supv_a_title_en_tl } } % \end{macrocode} @@ -1611,58 +1649,58 @@ through XeTeX. { \begin{tabular}{p{4.2em}c} \nju_coverbox_ug:n {闄hfill 绯粆 - & \nju_cover_underline_ug:nn {250pt}{\nju_department}\\ + & \nju_cover_underline_ug:nn {250pt}{\l_@@_info_dept_tl}\\ \nju_coverbox_ug:n {涓揬hfill 涓殅 - & \nju_cover_underline_ug:nn {250pt}{\nju_major}\\ + & \nju_cover_underline_ug:nn {250pt}{\l_@@_major_tl}\\ % 鏍囬鎹㈣ \int_case:nn { \nju_titlelength } { { 1 } { \nju_coverbox_ug:n {棰榎hfill 鐩畗 - & \nju_cover_underline_ug:nn {250pt}{\bf{\nju_title_a}} \\ } + & \nju_cover_underline_ug:nn {250pt}{\bf{\l_@@_info_title_a_tl,}} \\ } { 2 } { \nju_coverbox_ug:n {棰榎hfill 鐩畗 - & \nju_cover_underline_ug:nn {250pt}{\bf{\nju_title_a}} \\ - & \nju_cover_underline_ug:nn {250pt}{\bf{\nju_title_b}} \\ } + & \nju_cover_underline_ug:nn {250pt}{\bf{\l_@@_info_title_a_tl,}} \\ + & \nju_cover_underline_ug:nn {250pt}{\bf{\l_@@_info_title_b_tl,}} \\ } { 3 } { \nju_coverbox_ug:n {棰榎hfill 鐩畗 - & \nju_cover_underline_ug:nn {250pt}{\bf{\nju_title_a}} \\ - & \nju_cover_underline_ug:nn {250pt}{\bf{\nju_title_b}} \\ - & \nju_cover_underline_ug:nn {250pt}{\bf{\nju_title_c}} \\} + & \nju_cover_underline_ug:nn {250pt}{\bf{\l_@@_info_title_a_tl,}} \\ + & \nju_cover_underline_ug:nn {250pt}{\bf{\l_@@_info_title_b_tl,}} \\ + & \nju_cover_underline_ug:nn {250pt}{\bf{\l_@@_info_title_c_tl,}} \\} } \end{tabular}\\ \begin{tabular}{p{4.2em}cp{4.2em}c} \nju_coverbox_ug:n {骞碶hfill 绾 - & \nju_cover_underline_ug:nn {90pt}{\nju_grade} + & \nju_cover_underline_ug:nn {90pt}{\l_@@_info_grade_tl} & \nju_coverbox_ug:n {瀛hfill 鍙穧 - & \nju_cover_underline_ug:nn {90pt}{\nju_student_id}\\ + & \nju_cover_underline_ug:nn {90pt}{\l_@@_info_id_tl}\\ \end{tabular}\\ \begin{tabular}{p{4.2em}c} \nju_coverbox_ug:n {瀛hfill 鐢焅hfill 濮揬hfill 鍚峿 - & \nju_cover_underline_ug:nn {250pt}{\nju_student_name} + & \nju_cover_underline_ug:nn {250pt}{\l_@@_info_author_tl} \end{tabular}\\ \begin{tabular}{p{4.2em}cp{4.2em}c} \nju_coverbox_ug:n {瀵糪hfill 甯坿 - & \nju_cover_underline_ug:nn {90pt}{\nju_mentor_a} + & \nju_cover_underline_ug:nn {90pt}{\l_@@_info_supv_a_tl} & \nju_coverbox_ug:n {鑱孿hfill 绉皚 - & \nju_cover_underline_ug:nn {90pt}{\nju_mentor_a_title}\\ + & \nju_cover_underline_ug:nn {90pt}{\l_@@_info_supv_a_title_tl}\\ % 绗簩瀵煎笀 - \bool_if:NT \nju_second_mentor + \bool_if:NT \nju_second_supervisor { \nju_coverbox_ug:n {绗琝hfill 浜孿hfill 瀵糪hfill 甯坿 - & \nju_cover_underline_ug:nn {90pt}{\nju_mentor_b} + & \nju_cover_underline_ug:nn {90pt}{\l_@@_info_supv_b_tl} & \nju_coverbox_ug:n {鑱孿hfill 绉皚 - & \nju_cover_underline_ug:nn {90pt}{\nju_mentor_b_title}\\ + & \nju_cover_underline_ug:nn {90pt}{\l_@@_info_supv_b_title_tl}\\ } \end{tabular}\\ \begin{tabular}{p{4.2em}c} \nju_coverbox_ug:n {鎻怽hfill 浜hfill 鏃hfill 鏈焳 - & \nju_cover_underline_ug:nn {250pt}{\nju_submit_date}\\ + & \nju_cover_underline_ug:nn {250pt}{\l_@@_submit_date_tl}\\ \end{tabular} } % \end{macrocode} @@ -1679,26 +1717,26 @@ through XeTeX. { { 1 } { \nju_coverbox_g:n {璁篭hfill 鏂嘰hfill 棰榎hfill 鐩畗 - & \nju_cover_underline_g:n {\nju_title_a} \\ } + & \nju_cover_underline_g:n {\l_@@_info_title_a_tl,} \\ } { 2 } { \nju_coverbox_g:n {璁篭hfill 鏂嘰hfill 棰榎hfill 鐩畗 - & \nju_cover_underline_g:n {\nju_title_a} \\ - & \nju_cover_underline_g:n {\nju_title_b} \\ } + & \nju_cover_underline_g:n {\l_@@_info_title_a_tl,} \\ + & \nju_cover_underline_g:n {\l_@@_info_title_b_tl,} \\ } { 3 } { \nju_coverbox_g:n {璁篭hfill 鏂嘰hfill 棰榎hfill 鐩畗 - & \nju_cover_underline_g:n {\nju_title_a} \\ - & \nju_cover_underline_g:n {\nju_title_b} \\ - & \nju_cover_underline_g:n {\nju_title_c} \\} + & \nju_cover_underline_g:n {\l_@@_info_title_a_tl,} \\ + & \nju_cover_underline_g:n {\l_@@_info_title_b_tl,} \\ + & \nju_cover_underline_g:n {\l_@@_info_title_c_tl,} \\} } \nju_coverbox_g:n {浣淺hfill 鑰匼hfill 濮揬hfill 鍚峿 - & \nju_cover_underline_g:n {\nju_student_name}\\ + & \nju_cover_underline_g:n {\l_@@_info_author_tl}\\ \nju_coverbox_g:n {涓揬hfill 涓歕hfill 鍚峔hfill 绉皚 - & \nju_cover_underline_g:n {\nju_major}\\ + & \nju_cover_underline_g:n {\l_@@_major_tl}\\ \nju_coverbox_g:n {鐮擻hfill 绌禱hfill 鏂筡hfill 鍚憓 - & \nju_cover_underline_g:n {\nju_field}\\ + & \nju_cover_underline_g:n {\l_@@_field_tl}\\ \nju_coverbox_g:n {鎸嘰hfill 瀵糪hfill 鏁橽hfill 甯坿 - & \nju_cover_underline_g:n {\nju_mentor_full}\\ + & \nju_cover_underline_g:n {\nju_supervisor_full}\\ \end{tabular} } % \end{macrocode} @@ -1726,13 +1764,13 @@ through XeTeX. \vskip -20mm \hskip -15mm \songti\zihao{-4} \makebox[40pt][l]{鍒嗙被鍙穧 - \nju_cover_underline_nl:nn {150pt}{\nju_classification} + \nju_cover_underline_nl:nn {150pt}{\l_@@_info_classif_tl} \hfill \makebox[40pt][l]{瀵嗙骇} - \nju_cover_underline_nl:nn {150pt}{\nju_securitylevel} + \nju_cover_underline_nl:nn {150pt}{\l_@@_info_seclv_tl} \vskip 10pt \hskip -15mm \makebox[40pt][l]{UDC} - \nju_cover_underline_nl:nn {150pt}{\nju_udc} + \nju_cover_underline_nl:nn {150pt}{\l_@@_info_udc_tl} } % 涓儴 @@ -1743,14 +1781,14 @@ through XeTeX. { \kaishu\zihao{1} \vskip \stretch{1} - \nju_cover_underline_nl:nn {14em}{\nju_title_a}\\ - \nju_cover_underline_nl:nn {14em}{\nju_title_b}\\ - \nju_cover_underline_nl:nn {14em}{\nju_title_c}\\ + \nju_cover_underline_nl:nn {14em}{\l_@@_info_title_a_tl,}\\ + \nju_cover_underline_nl:nn {14em}{\l_@@_info_title_b_tl,}\\ + \nju_cover_underline_nl:nn {14em}{\l_@@_info_title_c_tl,}\\ } \vskip \stretch{1} {\kaishu\zihao{4}锛堥鍚嶅拰鍓鍚嶏級} \vskip \stretch{1} \vskip 5mm - {\kaishu\zihao{1}\uline{\makebox{\nju_student_name}}} + {\kaishu\zihao{1}\uline{\makebox{\l_@@_info_author_tl}}} \vskip \stretch{1} {\kaishu\zihao{4}锛堜綔鑰呭鍚嶏級} \end{center} @@ -1760,25 +1798,25 @@ through XeTeX. { \kaishu\zihao{4} \noindent 鎸囧鏁欏笀濮撳悕銆佽亴鍔°€佽亴绉般€佸浣嶃€佸崟浣嶅悕绉板強鍦板潃% - \nju_cover_underline_nl:nn {94pt}{\nju_mentor_a}\par + \nju_cover_underline_nl:nn {94pt}{\l_@@_info_supv_a_tl}\par \noindent\nju_cover_underline_nl:nn {\textwidth}{% - \nju_mentor_info}\par + \l_@@_info_supv_cont_tl}\par \noindent 鐢宠瀛︿綅绾у埆% \nju_cover_underline_nl:nn {9em}{\nju_degree_title}% \noindent 涓撲笟鍚嶇О% - \uline{\hfill\nju_major\hfill}\par% 闇€瑕佽皟鏁翠笅鍒掔嚎闀垮害 + \uline{\hfill\l_@@_major_tl\hfill}\par% 闇€瑕佽皟鏁翠笅鍒掔嚎闀垮害 \noindent 璁烘枃鎻愪氦鏃ユ湡% - \nju_cover_underline_nl:nn {9em}{\nju_submit_date}% + \nju_cover_underline_nl:nn {9em}{\l_@@_submit_date_tl}% 璁烘枃绛旇京鏃ユ湡% - \uline{\hfill\nju_defend_date\hfill}\par% 闇€瑕佽皟鏁翠笅鍒掔嚎闀垮害 + \uline{\hfill\l_@@_defend_date_tl\hfill}\par% 闇€瑕佽皟鏁翠笅鍒掔嚎闀垮害 \noindent 瀛︿綅鎺堜簣鍗曚綅鍜屾棩鏈焅uline{\hfill}\par \noindent\hfill 绛旇京濮斿憳浼氫富甯細% - \nju_cover_underline_nl:nn {9em}{\nju_reviewer_chairman}\par + \nju_cover_underline_nl:nn {9em}{\l_@@_info_chairman_tl}\par \noindent\hfill 璇勯槄浜猴細% - \nju_cover_underline_nl:nn {9em}{\nju_reviewer_a}\par - \noindent\hfill\nju_cover_underline_nl:nn {9em}{\nju_reviewer_b}\par - \noindent\hfill\nju_cover_underline_nl:nn {9em}{\nju_reviewer_c}\par - \noindent\hfill\nju_cover_underline_nl:nn {9em}{\nju_reviewer_d}\par + \nju_cover_underline_nl:nn {9em}{\l_@@_info_reviewer_a_tl}\par + \noindent\hfill\nju_cover_underline_nl:nn {9em}{\l_@@_info_reviewer_b_tl}\par + \noindent\hfill\nju_cover_underline_nl:nn {9em}{\l_@@_info_reviewer_c_tl}\par + \noindent\hfill\nju_cover_underline_nl:nn {9em}{\l_@@_info_reviewer_d_tl}\par \begin{center} \kaishu\zihao{3}\hspace{2em} 骞碶hspace{1em} 鏈圽hspace{1em} 鏃� @@ -1854,7 +1892,7 @@ through XeTeX. \egroup} \vfill \vskip 10mm - \bf\kaishu\zihao{4}\nju_submit_date + \bf\kaishu\zihao{4}\l_@@_submit_date_tl \vskip 15mm \end{center} \end{spacing} @@ -1866,9 +1904,9 @@ through XeTeX. \hspace{0pt} \vfill {\bgroup \kaishu\zihao{3} - \makebox[6em][s]{\bf\kaishu 瀛hfill 鍙穧锛歕MakeUppercase{\nju_student_id} + \makebox[6em][s]{\bf\kaishu 瀛hfill 鍙穧锛歕MakeUppercase{\l_@@_info_id_tl} \par - \makebox[6em][s]{\bf\kaishu 璁烘枃绛旇京鏃ユ湡}锛歕nju_defend_date + \makebox[6em][s]{\bf\kaishu 璁烘枃绛旇京鏃ユ湡}锛歕l_@@_defend_date_tl \par \makebox[6em][s]{\bf\kaishu 鎸嘰hfill 瀵糪hfill 鏁橽hfill 甯坿锛歕hspace{50mm}锛堢瀛楋級 \par @@ -1918,11 +1956,11 @@ through XeTeX. \tl_set:Nn \tabcolsep {0pt} \tl_set:Nn \arraystretch {0.8} \noindent - 棰樼洰锛� \nju_title \\ - 闄㈢郴锛� \nju_department \\ - 涓撲笟锛� \nju_major \\ - 鏈鐢熷鍚嶏細 \nju_student_name \\ - 鎸囧鏁欏笀锛堝鍚嶃€佽亴绉帮級锛歕nju_mentor_full \\ + 棰樼洰锛� \l_@@_info_title_tl \\ + 闄㈢郴锛� \l_@@_info_dept_tl \\ + 涓撲笟锛� \l_@@_major_tl \\ + 鏈鐢熷鍚嶏細 \l_@@_info_author_tl \\ + 鎸囧鏁欏笀锛堝鍚嶃€佽亴绉帮級锛歕nju_supervisor_full \\ 鎽樿锛� \egroup } @@ -1949,11 +1987,11 @@ through XeTeX. \end{center} { \bgroup - THESIS: ~~\nju_title_en \\ - DEPARTMENT: ~~\nju_department_en \\ - SPECIALIZATION: ~~\nju_major_en \\ - UNDERGRADUATE:~~\nju_student_name_en \\ - MENTOR:~~\nju_mentor_full_en \\ + THESIS: ~~\l_@@_info_title_en_tl, \\ + DEPARTMENT: ~~\l_@@_info_dept_en_tl \\ + SPECIALIZATION: ~~\l_@@_major_en_tl \\ + UNDERGRADUATE:~~\l_@@_info_author_en_tl \\ + MENTOR:~~\nju_supervisor_full_en \\ ABSTRACT: \egroup } @@ -1991,11 +2029,11 @@ through XeTeX. \tl_set:Nn \tabcolsep {0pt} \tl_set:Nn \arraystretch {0.8} \noindent - 姣曚笟璁烘枃棰樼洰锛歕hspace{0.5em}\nju_underline:n {\nju_title\hfill}\\ - \uline{\makebox[9em]{\nju_major}}涓撲笟\uline{\makebox[4em]{\nju_grade}}绾� + 姣曚笟璁烘枃棰樼洰锛歕hspace{0.5em}\nju_underline:n {\l_@@_info_title_tl\hfill}\\ + \uline{\makebox[9em]{\l_@@_major_tl}}涓撲笟\uline{\makebox[4em]{\l_@@_info_grade_tl}}绾� \str_if_eq:NNTF {\nju_degree} { phd } {鍗殅{纭晑 - 澹敓濮撳悕锛歕uline{\hfill\nju_student_name\hfill} \\ - 鎸囧鏁欏笀锛堝鍚嶃€佽亴绉帮級锛歕uline{\hfill\nju_mentor_full\hfill}\par + 澹敓濮撳悕锛歕uline{\hfill\l_@@_info_author_tl\hfill} \\ + 鎸囧鏁欏笀锛堝鍚嶃€佽亴绉帮級锛歕uline{\hfill\nju_supervisor_full\hfill}\par \egroup \kaishu\zihao{4}\par% @@ -2022,10 +2060,10 @@ through XeTeX. { \bgroup \zihao{4} - THESIS: ~~\nju_title_en \\ - SPECIALIZATION: ~~\nju_major_en \\ - POSTGRADUATE:~~\nju_student_name_en \\ - MENTOR:~~\nju_mentor_full_en\par + THESIS: ~~\l_@@_info_title_en_tl, \\ + SPECIALIZATION: ~~\l_@@_major_en_tl \\ + POSTGRADUATE:~~\l_@@_info_author_en_tl \\ + MENTOR:~~\nju_supervisor_full_en\par \egroup } \zihao{4}\par%