diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 74934c5..4667a9b 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -23,7 +23,7 @@ about: 报告模板中的 bug,帮助我们改进 复现上述问题的代码: ```TeX -\documentclass[doctor]{ustcthesis} +\documentclass[degree=doctor]{ustcthesis} \begin{document} abc \end{document} diff --git a/Makefile b/Makefile index 4c21554..382cb4b 100644 --- a/Makefile +++ b/Makefile @@ -52,6 +52,6 @@ zip : main doc ln -sf . $(NAME) zip -r ../$(NAME)-$(VERSION).zip $(NAME)/{README.md,LICENSE,\ $(NAME).dtx,$(NAME).pdf,$(NAME).cls,*.bst,figures,\ - $(MAIN).tex,math-commands.tex,chapters,bib,$(MAIN).pdf,\ + $(MAIN).tex,ustcsetup.tex,math-commands.tex,chapters,bib,$(MAIN).pdf,\ latexmkrc,Makefile} rm $(NAME) diff --git a/chapters/abstract.tex b/chapters/abstract.tex index 17fa577..ef20ca5 100644 --- a/chapters/abstract.tex +++ b/chapters/abstract.tex @@ -1,5 +1,15 @@ % !TeX root = ../main.tex +\ustcsetup{ + keywords = { + 中国科学技术大学, 学位论文, \LaTeX{} 模板, 学士, 硕士, 博士 + }, + keywords* = { + University of Science and Technology of China (USTC), Thesis, + \LaTeX{} Template, Bachelor, Master, PhD + }, +} + \begin{abstract} 摘要是论文内容的总结概括,应简要说明论文的研究目的、基本研究内容、 研究方法或 过程、结果和结论,突出论文的创新之处。摘要中不宜使用公式、图表,不引用文献。 @@ -9,7 +19,6 @@ 关键词另起一行并隔写在摘要下方,一般3~8个词,中文关键词间空一字或用分号“;”隔 开。英文摘要的关键词与中文摘要的关键词应完全一致,中间用逗号“,”或分号“;”隔开。 - \keywords{中国科学技术大学;学位论文;\LaTeX{} 模板;学士;硕士;博士} \end{abstract} \begin{enabstract} @@ -22,6 +31,4 @@ some features provided by the template. For more information, please refer to the template document ustcthesis.pdf. - \enkeywords{University of Science and Technology of China (USTC); Thesis; - \LaTeX{} Template; Bachelor; Master; PhD} \end{enabstract} diff --git a/chapters/citations.tex b/chapters/citations.tex index 0e3048d..731a24a 100644 --- a/chapters/citations.tex +++ b/chapters/citations.tex @@ -11,7 +11,9 @@ \section{顺序编码制} \subsection{角标数字标注法} -\citestyle{super} +\ustcsetup{ + cite-style = super, +} \noindent \begin{tabular}{l@{\quad$\Rightarrow$\quad}l} \verb|\cite{knuth86a}| & \cite{knuth86a} \\ @@ -24,7 +26,9 @@ \subsection{角标数字标注法} \subsection{数字标注法} -\citestyle{numbers} +\ustcsetup{ + cite-style = inline, +} \noindent \begin{tabular}{l@{\quad$\Rightarrow$\quad}l} \verb|\cite{knuth86a}| & \cite{knuth86a} \\ @@ -38,7 +42,9 @@ \subsection{数字标注法} \section{著者-出版年制标注法} -\citestyle{authoryear} +\ustcsetup{ + cite-style = authoryear, +} \noindent \begin{tabular}{l@{\quad$\Rightarrow$\quad}l} \verb|\cite{knuth86a}| & \cite{knuth86a} \\ @@ -49,6 +55,9 @@ \section{著者-出版年制标注法} \verb|\cite{knuth86a,knuth84}| & \cite{knuth86a,knuth84} \\ \end{tabular} -\vskip 2ex \citestyle{super} +\vskip 2ex +\ustcsetup{ + cite-style = super, +} 注意,参考文献列表中的每条文献在正文中都要被引用 \cite{slg,lyc,ljs,cgw,cjb,kqy,yhs,yx,dwx,jxz,wjk,syw,wf,xd,twh,huston}。 diff --git a/main.tex b/main.tex index 78fadea..a294e05 100644 --- a/main.tex +++ b/main.tex @@ -2,48 +2,12 @@ % !TeX program = xelatex % !TeX spellcheck = en_US -\documentclass[doctor]{ustcthesis} -% doctor|master|bachelor [academic|professional] [chinese|english] [print|pdf] -% [super|numebers|authoryear] - -\title{中国科学技术大学\\学位论文模板示例文档} -\author{李泽平} -\major{数学与应用数学} -\supervisor{XXX~教授} -\cosupervisor{XXX~教授} -% \date{二〇一七年五月一日} % 注释掉则为今日 -% \professionaltype{专业学位类型} -% \secretlevel{秘密} % 绝密|机密|秘密,注释本行则不保密 -% \secretyear{20} % 保密年限 - -\entitle{An example of thesis template for University of Science and Technology - of China} -\enauthor{Li Zeping} -\enmajor{Mathematics and Applied Mathematics} -\ensupervisor{Prof.~XXX} -\encosupervisor{Prof.~XXX} -% \endate{May 1, 2017} % Today if commented -% \enprofessionaltype{Professional degree type} -% \ensecretlevel{Secret} % Top secret|Highly secret|Secret - - -% 加载宏包和配置 -\usepackage{graphicx} -\graphicspath{{figures/}} -\usepackage{booktabs} -\usepackage{longtable} -\usepackage[ruled,linesnumbered]{algorithm2e} -\usepackage{siunitx} -\usepackage{amsthm} -\usepackage{hyperref} - -\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}} -\DeclareRobustCommand\pkg{\textsf} -\DeclareRobustCommand\file{\nolinkurl} - -\input{math-commands.tex} - +\documentclass[degree=doctor]{ustcthesis} +% degree = doctor|master|bachelor +% language = chinese|english +% 加载宏包、全部的配置 +\input{ustcsetup.tex} \begin{document} @@ -62,27 +26,31 @@ % appendix: 附录 \maketitle -\makestatement +\copyrightpage \frontmatter -\input{chapters/abstract} +\input{chapters/abstract.tex} \tableofcontents % \listoffigures % \listoftables -\input{chapters/notation} +\input{chapters/notation.tex} \mainmatter -\input{chapters/intro} -\input{chapters/floats} -\input{chapters/math} -\input{chapters/citations} +\input{chapters/intro.tex} +\input{chapters/floats.tex} +\input{chapters/math.tex} +\input{chapters/citations.tex} + +\backmatter +\bibliographystyle{ustcthesis-numerical} % 顺序编码制 +% \bibliography{ustcthesis-authoryear} % 著者出版年制 +% \bibliography{ustcthesis-bachelor} % 本科生参考文献的格式 \bibliography{bib/ustc} \appendix -\input{chapters/complementary} +\input{chapters/complementary.tex} -\backmatter -\input{chapters/acknowledgements} -\input{chapters/publications} +\input{chapters/acknowledgements.tex} +\input{chapters/publications.tex} \end{document} diff --git a/test/testfiles-bib/bib-authoryear.tex b/test/testfiles-bib/bib-authoryear.tex index 532cb26..ada4e9c 100644 --- a/test/testfiles-bib/bib-authoryear.tex +++ b/test/testfiles-bib/bib-authoryear.tex @@ -1,5 +1,5 @@ \input{regression-test.tex} -\documentclass[doctor,authoryear,fontset=fandol]{ustcthesis} +\documentclass[degree=doctor,fontset=fandol]{ustcthesis} \begin{document} \START @@ -7,6 +7,10 @@ \input{citations.tex} +\backmatter +\bibliographystyle{ustcthesis-authoryear} +\bibliography{refs} + \clearpage \end{document} \END diff --git a/test/testfiles-bib/bib-authoryear.tlg b/test/testfiles-bib/bib-authoryear.tlg index ef11273..fff4ab3 100644 --- a/test/testfiles-bib/bib-authoryear.tlg +++ b/test/testfiles-bib/bib-authoryear.tlg @@ -54,7 +54,7 @@ Underfull \hbox (badness 2050) in paragraph at lines 12--14 .\kern -0.00021 .\kern 0.0 .\glue(\rightskip) 0.0 -(bib-authoryear.bbl +) Completed box being shipped out [1] \vbox(722.98453+3.6135)x435.04271 .\glue -29.59084 @@ -625,7 +625,7 @@ Completed box being shipped out [1] ....\glue(\rightskip) 0.0 ...\penalty 300 ...\glue(\baselineskip) 8.48763 -...\hbox(9.33476+2.1801)x417.11752, glue set 268.24304fil +...\hbox(9.33476+2.1801)x417.11752, glue set 265.23183fil ....\TU/FandolSong-Regular(0)/m/n/12.04486 万 ....\glue 0.0 plus 0.61366 ....\TU/FandolSong-Regular(0)/m/n/12.04486 锦 @@ -655,6 +655,7 @@ Completed box being shipped out [1] ....\TU/texgyretermes(0)/m/n/12.04486 ) ....\kern -0.0002 ....\kern 0.0002 +....\glue 3.01122 plus 1.5056 minus 1.00374 ....\penalty 10000 ....\glue(\parfillskip) 0.0 plus 1.0fil ....\glue(\rightskip) 0.0 @@ -704,6 +705,7 @@ Completed box being shipped out [1] ..........\glue(\rightskip) 0.0 ....\glue 0.0 plus 1.0fil minus 1.0fil ...\special{color pop} +(bib-authoryear.bbl LaTeX Font Info: Calculating math sizes for size <10.53925> on input line .... LaTeX Font Info: Font shape `TU/XITSMath-Regular(2)/m/n' will be (Font) scaled to size 10.54036pt on input line .... @@ -717,7 +719,7 @@ LaTeX Font Info: Font shape `TU/XITSMath-Regular(3)/m/n' will be (Font) scaled to size 7.37663pt on input line .... LaTeX Font Info: Font shape `TU/XITSMath-Regular(3)/m/n' will be (Font) scaled to size 5.26906pt on input line .... -)) +) Completed box being shipped out [2] \vbox(722.98453+3.6135)x435.04271 .\glue -29.59084 @@ -774,6 +776,8 @@ Completed box being shipped out [2] ..\glue(\lineskip) 0.0 ..\vbox(700.50723+0.0)x417.11752, glue set 293.4369fil ...\write-{} +...\write1{\protect \FN@pp@footnotehinttrue } +...\write-{} ...\write1{\@writefile{toc}{\protect \contentsline {chapter}{参考文献}{\thepage \ET C.} ...\mark{{{\protect \ustc@spacetitle {参考文献}}}{}} diff --git a/test/testfiles-bib/bib-bachelor.tex b/test/testfiles-bib/bib-bachelor.tex index 586fb9c..119634c 100644 --- a/test/testfiles-bib/bib-bachelor.tex +++ b/test/testfiles-bib/bib-bachelor.tex @@ -1,5 +1,5 @@ \input{regression-test.tex} -\documentclass[bachelor,fontset=fandol]{ustcthesis} +\documentclass[degree=bachelor,fontset=fandol]{ustcthesis} \begin{document} \START @@ -7,6 +7,10 @@ \input{citations.tex} +\backmatter +\bibliographystyle{ustcthesis-bachelor} +\bibliography{refs} + \clearpage \end{document} \END diff --git a/test/testfiles-bib/bib-bachelor.tlg b/test/testfiles-bib/bib-bachelor.tlg index 648e859..d197a79 100644 --- a/test/testfiles-bib/bib-bachelor.tlg +++ b/test/testfiles-bib/bib-bachelor.tlg @@ -15,7 +15,7 @@ LaTeX Font Info: Font shape `TU/XITSMath-Regular(3)/m/n' will be (Font) scaled to size 8.43044pt on input line .... LaTeX Font Info: Font shape `TU/XITSMath-Regular(3)/m/n' will be (Font) scaled to size 6.02177pt on input line .... -(bib-bachelor.bbl +) Completed box being shipped out [1] \vbox(722.98453+3.6135)x435.04271 .\glue -29.59084 @@ -523,7 +523,7 @@ Completed box being shipped out [1] ...\kern 1.0 ...\glue(\parskip) 0.0 ...\glue(\baselineskip) 11.34259 -...\hbox(10.61922+0.0)x417.11752, glue set 371.45787fil +...\hbox(10.61922+0.0)x417.11752, glue set 368.44666fil ....\hbox(0.0+0.0)x24.08972 ....\mathon ....\hbox(5.80077+1.31528)x21.56993, shifted -4.81845 @@ -544,6 +544,7 @@ Completed box being shipped out [1] .....\kern -0.0002 .....\kern 0.0002 ....\mathoff +....\glue 3.01122 plus 1.5056 minus 1.00374 ....\penalty 10000 ....\glue(\parfillskip) 0.0 plus 1.0fil ....\glue(\rightskip) 0.0 @@ -592,7 +593,7 @@ Completed box being shipped out [1] ..........\glue(\rightskip) 0.0 ....\glue 0.0 plus 1.0fil minus 1.0fil ...\special{color pop} -)) +(bib-bachelor.bbl) Completed box being shipped out [2] \vbox(722.98453+3.6135)x435.04271 .\glue -29.59084 @@ -669,7 +670,8 @@ Completed box being shipped out [2] ..\glue(\lineskip) 0.0 ..\vbox(700.50723+0.0)x417.11752, glue set 257.11848fil ...\write-{} -...\write1{\@writefile{toc}{\protect \addvspace {12\bp@ }}} +...\write1{\protect \FN@pp@footnotehinttrue } +...\write-{} ...\write1{\@writefile{toc}{\protect \contentsline {chapter}{参考文献}{\thepage \ET C.} ...\write1{\@writefile{lof}{\protect \addvspace {10.0pt}}} diff --git a/test/testfiles-bib/bib-numbers.tex b/test/testfiles-bib/bib-numbers.tex index dcc2698..f5ee53d 100644 --- a/test/testfiles-bib/bib-numbers.tex +++ b/test/testfiles-bib/bib-numbers.tex @@ -1,12 +1,20 @@ \input{regression-test.tex} -\documentclass[doctor,numbers,fontset=fandol]{ustcthesis} +\documentclass[degree=doctor,fontset=fandol]{ustcthesis} \begin{document} \START \showoutput +\ustcsetup{ + cite-style = inline, +} + \input{citations.tex} +\backmatter +\bibliographystyle{ustcthesis-numerical} +\bibliography{refs} + \clearpage \end{document} \END diff --git a/test/testfiles-bib/bib-numbers.tlg b/test/testfiles-bib/bib-numbers.tlg index fbb3f87..159978d 100644 --- a/test/testfiles-bib/bib-numbers.tlg +++ b/test/testfiles-bib/bib-numbers.tlg @@ -15,7 +15,7 @@ LaTeX Font Info: Font shape `TU/XITSMath-Regular(3)/m/n' will be (Font) scaled to size 8.43044pt on input line .... LaTeX Font Info: Font shape `TU/XITSMath-Regular(3)/m/n' will be (Font) scaled to size 6.02177pt on input line .... -(bib-numbers.bbl +) Completed box being shipped out [1] \vbox(722.98453+3.6135)x435.04271 .\glue -29.59084 @@ -427,7 +427,7 @@ Completed box being shipped out [1] ....\glue(\rightskip) 0.0 ...\glue(\parskip) 0.0 ...\glue(\baselineskip) 9.90892 -...\hbox(8.28687+1.87898)x417.11752, glue set 362.92769fil +...\hbox(8.28687+1.87898)x417.11752, glue set 359.91647fil ....\hbox(0.0+0.0)x24.08972 ....\TU/texgyretermes(0)/m/n/12.04486 [ ....\hbox(8.28687+0.16861)x6.02243 @@ -446,6 +446,7 @@ Completed box being shipped out [1] ....\TU/texgyretermes(0)/m/n/12.04486 ] ....\kern -0.0002 ....\kern 0.0002 +....\glue 3.01122 plus 1.5056 minus 1.00374 ....\penalty 10000 ....\glue(\parfillskip) 0.0 plus 1.0fil ....\glue(\rightskip) 0.0 @@ -495,6 +496,7 @@ Completed box being shipped out [1] ..........\glue(\rightskip) 0.0 ....\glue 0.0 plus 1.0fil minus 1.0fil ...\special{color pop} +(bib-numbers.bbl LaTeX Font Info: Calculating math sizes for size <10.53925> on input line .... LaTeX Font Info: Font shape `TU/XITSMath-Regular(2)/m/n' will be (Font) scaled to size 10.54036pt on input line .... @@ -508,7 +510,7 @@ LaTeX Font Info: Font shape `TU/XITSMath-Regular(3)/m/n' will be (Font) scaled to size 7.37663pt on input line .... LaTeX Font Info: Font shape `TU/XITSMath-Regular(3)/m/n' will be (Font) scaled to size 5.26906pt on input line .... -)) +) Completed box being shipped out [2] \vbox(722.98453+3.6135)x435.04271 .\glue -29.59084 @@ -565,6 +567,8 @@ Completed box being shipped out [2] ..\glue(\lineskip) 0.0 ..\vbox(700.50723+0.0)x417.11752, glue set 294.48018fil ...\write-{} +...\write1{\protect \FN@pp@footnotehinttrue } +...\write-{} ...\write1{\@writefile{toc}{\protect \contentsline {chapter}{参考文献}{\thepage \ET C.} ...\mark{{{\protect \ustc@spacetitle {参考文献}}}{}} diff --git a/test/testfiles-bib/bib-super.tex b/test/testfiles-bib/bib-super.tex index 88b4eab..b8b9f54 100644 --- a/test/testfiles-bib/bib-super.tex +++ b/test/testfiles-bib/bib-super.tex @@ -1,5 +1,5 @@ \input{regression-test.tex} -\documentclass[doctor,super,fontset=fandol]{ustcthesis} +\documentclass[degree=doctor,fontset=fandol]{ustcthesis} \begin{document} \START @@ -7,6 +7,10 @@ \input{citations.tex} +\backmatter +\bibliographystyle{ustcthesis-numerical} +\bibliography{refs} + \clearpage \end{document} \END diff --git a/test/testfiles-bib/bib-super.tlg b/test/testfiles-bib/bib-super.tlg index fcd9c9e..86cd67d 100644 --- a/test/testfiles-bib/bib-super.tlg +++ b/test/testfiles-bib/bib-super.tlg @@ -15,7 +15,7 @@ LaTeX Font Info: Font shape `TU/XITSMath-Regular(3)/m/n' will be (Font) scaled to size 8.43044pt on input line .... LaTeX Font Info: Font shape `TU/XITSMath-Regular(3)/m/n' will be (Font) scaled to size 6.02177pt on input line .... -(bib-super.bbl +) Completed box being shipped out [1] \vbox(722.98453+3.6135)x435.04271 .\glue -29.59084 @@ -505,7 +505,7 @@ Completed box being shipped out [1] ...\kern 1.0 ...\glue(\parskip) 0.0 ...\glue(\baselineskip) 9.33511 -...\hbox(10.61922+0.0)x417.11752, glue set 371.45787fil +...\hbox(10.61922+0.0)x417.11752, glue set 368.44666fil ....\hbox(0.0+0.0)x24.08972 ....\mathon ....\hbox(5.80077+1.31528)x21.56993, shifted -4.81845 @@ -526,6 +526,7 @@ Completed box being shipped out [1] .....\kern -0.0002 .....\kern 0.0002 ....\mathoff +....\glue 3.01122 plus 1.5056 minus 1.00374 ....\penalty 10000 ....\glue(\parfillskip) 0.0 plus 1.0fil ....\glue(\rightskip) 0.0 @@ -574,6 +575,7 @@ Completed box being shipped out [1] ..........\glue(\rightskip) 0.0 ....\glue 0.0 plus 1.0fil minus 1.0fil ...\special{color pop} +(bib-super.bbl LaTeX Font Info: Calculating math sizes for size <10.53925> on input line .... LaTeX Font Info: Font shape `TU/XITSMath-Regular(2)/m/n' will be (Font) scaled to size 10.54036pt on input line .... @@ -587,7 +589,7 @@ LaTeX Font Info: Font shape `TU/XITSMath-Regular(3)/m/n' will be (Font) scaled to size 7.37663pt on input line .... LaTeX Font Info: Font shape `TU/XITSMath-Regular(3)/m/n' will be (Font) scaled to size 5.26906pt on input line .... -)) +) Completed box being shipped out [2] \vbox(722.98453+3.6135)x435.04271 .\glue -29.59084 @@ -644,6 +646,8 @@ Completed box being shipped out [2] ..\glue(\lineskip) 0.0 ..\vbox(700.50723+0.0)x417.11752, glue set 294.48018fil ...\write-{} +...\write1{\protect \FN@pp@footnotehinttrue } +...\write-{} ...\write1{\@writefile{toc}{\protect \contentsline {chapter}{参考文献}{\thepage \ET C.} ...\mark{{{\protect \ustc@spacetitle {参考文献}}}{}} diff --git a/test/testfiles-bib/support/citations.tex b/test/testfiles-bib/support/citations.tex index 1b98726..99b445e 100644 --- a/test/testfiles-bib/support/citations.tex +++ b/test/testfiles-bib/support/citations.tex @@ -21,5 +21,3 @@ \chapter{Citations} \citep{knuth86b,knuth86a,knuth84} \cite{slg,cgw,kqy,dwx,jxz,wjk,syw} - -\bibliography{refs} diff --git a/test/testfiles-nomencl/package-nomencl.tex b/test/testfiles-nomencl/package-nomencl.tex index 627fe56..78172c2 100644 --- a/test/testfiles-nomencl/package-nomencl.tex +++ b/test/testfiles-nomencl/package-nomencl.tex @@ -1,5 +1,5 @@ \input{regression-test.tex} -\documentclass[doctor,fontset=fandol]{ustcthesis} +\documentclass[degree=doctor,fontset=fandol]{ustcthesis} \usepackage{nomencl} \makenomenclature diff --git a/test/testfiles-toc/main-bachelor-arabic.tex b/test/testfiles-toc/main-bachelor-arabic.tex index 48a5af4..1ca5200 100644 --- a/test/testfiles-toc/main-bachelor-arabic.tex +++ b/test/testfiles-toc/main-bachelor-arabic.tex @@ -1,5 +1,5 @@ \input{regression-test.tex} -\documentclass[bachelor,arabic,fontset=fandol]{ustcthesis} +\documentclass[degree=bachelor,section-style=arabic,fontset=fandol]{ustcthesis} \begin{document} \START diff --git a/test/testfiles-toc/main-bachelor-english.tex b/test/testfiles-toc/main-bachelor-english.tex index 195de92..773a756 100644 --- a/test/testfiles-toc/main-bachelor-english.tex +++ b/test/testfiles-toc/main-bachelor-english.tex @@ -1,5 +1,5 @@ \input{regression-test.tex} -\documentclass[bachelor,english,fontset=fandol]{ustcthesis} +\documentclass[degree=bachelor,language=english,fontset=fandol]{ustcthesis} \begin{document} \START diff --git a/test/testfiles-toc/main-bachelor.tex b/test/testfiles-toc/main-bachelor.tex index 11c834a..4b89498 100644 --- a/test/testfiles-toc/main-bachelor.tex +++ b/test/testfiles-toc/main-bachelor.tex @@ -1,5 +1,5 @@ \input{regression-test.tex} -\documentclass[bachelor,fontset=fandol]{ustcthesis} +\documentclass[degree=bachelor,fontset=fandol]{ustcthesis} \begin{document} \START diff --git a/test/testfiles-toc/main-english.tex b/test/testfiles-toc/main-english.tex index 4461662..f08681a 100644 --- a/test/testfiles-toc/main-english.tex +++ b/test/testfiles-toc/main-english.tex @@ -1,5 +1,5 @@ \input{regression-test.tex} -\documentclass[doctor,english,fontset=fandol]{ustcthesis} +\documentclass[degree=doctor,language=english,fontset=fandol]{ustcthesis} \begin{document} \START diff --git a/test/testfiles-toc/main-english.tlg b/test/testfiles-toc/main-english.tlg index 054a7f3..0f094b6 100644 --- a/test/testfiles-toc/main-english.tlg +++ b/test/testfiles-toc/main-english.tlg @@ -282,10 +282,10 @@ Completed box being shipped out [2] ....\TU/texgyretermes(0)/m/n/12.04486 keywords ....\kern -0.0002 ....\kern 0.0002 -....\write1{\protect \FN@pp@footnotehinttrue } ....\penalty 10000 ....\glue(\parfillskip) 0.0 plus 1.0fil ....\glue(\rightskip) 0.0 +...\write1{\protect \FN@pp@footnotehinttrue } ...\glue -2.62576 ...\glue 0.0 plus 1.0fil ...\glue 0.0 diff --git a/test/testfiles-toc/main-lof.tex b/test/testfiles-toc/main-lof.tex index 38cac0c..3d5bbae 100644 --- a/test/testfiles-toc/main-lof.tex +++ b/test/testfiles-toc/main-lof.tex @@ -1,5 +1,5 @@ \input{regression-test.tex} -\documentclass[doctor,fontset=fandol]{ustcthesis} +\documentclass[degree=doctor,fontset=fandol]{ustcthesis} \begin{document} \START diff --git a/test/testfiles-toc/main-lot.tex b/test/testfiles-toc/main-lot.tex index 573bea1..95c6d1b 100644 --- a/test/testfiles-toc/main-lot.tex +++ b/test/testfiles-toc/main-lot.tex @@ -1,5 +1,5 @@ \input{regression-test.tex} -\documentclass[doctor,fontset=fandol]{ustcthesis} +\documentclass[degree=doctor,fontset=fandol]{ustcthesis} \begin{document} \START diff --git a/test/testfiles-toc/main.tex b/test/testfiles-toc/main.tex index 9702909..b76c64e 100644 --- a/test/testfiles-toc/main.tex +++ b/test/testfiles-toc/main.tex @@ -1,5 +1,5 @@ \input{regression-test.tex} -\documentclass[doctor,fontset=fandol]{ustcthesis} +\documentclass[degree=doctor,fontset=fandol]{ustcthesis} \begin{document} \START diff --git a/test/testfiles-toc/main.tlg b/test/testfiles-toc/main.tlg index f0c1ba0..c8a6f6b 100644 --- a/test/testfiles-toc/main.tlg +++ b/test/testfiles-toc/main.tlg @@ -282,10 +282,10 @@ Completed box being shipped out [2] ....\TU/texgyretermes(0)/m/n/12.04486 keywords ....\kern -0.0002 ....\kern 0.0002 -....\write1{\protect \FN@pp@footnotehinttrue } ....\penalty 10000 ....\glue(\parfillskip) 0.0 plus 1.0fil ....\glue(\rightskip) 0.0 +...\write1{\protect \FN@pp@footnotehinttrue } ...\glue -2.62576 ...\glue 0.0 plus 1.0fil ...\glue 0.0 diff --git a/test/testfiles-toc/support/chapters-bachelor.tex b/test/testfiles-toc/support/chapters-bachelor.tex index 59f8ed9..13e0381 100644 --- a/test/testfiles-toc/support/chapters-bachelor.tex +++ b/test/testfiles-toc/support/chapters-bachelor.tex @@ -7,12 +7,12 @@ \begin{abstract} 摘要内容。 - \keywords{关键词} + \ustcsetup{keywords = {关键词}} \end{abstract} \begin{enabstract} Abstract contents. - \enkeywords{keywords} + \ustcsetup{keywords* = {keywords}} \end{enabstract} \mainmatter @@ -31,6 +31,7 @@ \subsubsection{三级节标题} Subparagraph text. \chapter{浮动体} +\ustcsetup{cite-style=super} \cite{knuth86a} \begin{thebibliography}{1} diff --git a/test/testfiles-toc/support/chapters.tex b/test/testfiles-toc/support/chapters.tex index 7782fc2..c7ddf0e 100644 --- a/test/testfiles-toc/support/chapters.tex +++ b/test/testfiles-toc/support/chapters.tex @@ -1,12 +1,12 @@ \frontmatter \begin{abstract} 摘要内容。 - \keywords{关键词} + \ustcsetup{keywords = {关键词}} \end{abstract} \begin{enabstract} Abstract contents. - \enkeywords{keywords} + \ustcsetup{keywords* = {keywords}} \end{enabstract} \tableofcontents @@ -35,6 +35,7 @@ \subsubsection{三级节标题} Test “double” quotaion ‘marks’. \chapter{浮动体} +\ustcsetup{cite-style=super} \cite{knuth86a} \begin{thebibliography}{1} diff --git a/test/testfiles/package-siunitx.tex b/test/testfiles/package-siunitx.tex index 9fece8f..df3ce59 100644 --- a/test/testfiles/package-siunitx.tex +++ b/test/testfiles/package-siunitx.tex @@ -1,5 +1,5 @@ \input{regression-test.tex} -\documentclass[doctor,fontset=fandol]{ustcthesis} +\documentclass[degree=doctor,fontset=fandol]{ustcthesis} \usepackage{siunitx} diff --git a/test/testfiles/statement-secret.tex b/test/testfiles/statement-secret.tex index 037a0c7..66affe4 100644 --- a/test/testfiles/statement-secret.tex +++ b/test/testfiles/statement-secret.tex @@ -1,5 +1,5 @@ \input{regression-test.tex} -\documentclass[doctor,fontset=fandol]{ustcthesis} +\documentclass[degree=doctor,fontset=fandol]{ustcthesis} \input{info-secret.tex} @@ -7,7 +7,7 @@ \START \showoutput -\makestatement +\copyrightpage \clearpage \end{document} diff --git a/test/testfiles/statement.tex b/test/testfiles/statement.tex index 788de6e..e592309 100644 --- a/test/testfiles/statement.tex +++ b/test/testfiles/statement.tex @@ -1,5 +1,5 @@ \input{regression-test.tex} -\documentclass[doctor,fontset=fandol]{ustcthesis} +\documentclass[degree=doctor,fontset=fandol]{ustcthesis} \input{info.tex} @@ -7,7 +7,7 @@ \START \showoutput -\makestatement +\copyrightpage \clearpage \end{document} diff --git a/test/testfiles/support/info-secret.tex b/test/testfiles/support/info-secret.tex index feb7869..bd4c7de 100644 --- a/test/testfiles/support/info-secret.tex +++ b/test/testfiles/support/info-secret.tex @@ -1,19 +1,16 @@ -\title{中国科学技术大学\\学位论文模板示例文档} -\author{李泽平} -\major{数学与应用数学} -\supervisor{XXX~教授} -\cosupervisor{XXX~教授} -\date{二〇一七年五月一日} % 注释掉则为今日 -\professionaltype{专业学位类型} -\secretlevel{秘密} % 绝密|机密|秘密,注释本行则不保密 -\secretyear{20} % 保密年限 - -\entitle{An example of thesis template for University of Science and Technology - of China} -\enauthor{Li Zeping} -\enmajor{Mathematics and Applied Mathematics} -\ensupervisor{Prof.~XXX} -\encosupervisor{Prof.~XXX} -\endate{May 1, 2017} % Today if commented -\enprofessionaltype{Professional degree type} -\ensecretlevel{Secret} % Top secret|Highly secret|Secret +\ustcsetup{ + title = {中国科学技术大学\\学位论文模板示例文档}, + title* = {An example of thesis template for University of Science and Technology of China}, + author = {李泽平}, + author* = {Li Zeping}, + speciality = {数学与应用数学}, + speciality* = {Mathematics and Applied Mathematics}, + supervisor = {XXX~教授, XXX~教授}, + supervisor* = {Prof.~XXX, Prof.~XXX}, + date = {2017-05-01}, + professional-type = {专业学位类型}, + professional-type* = {Professional degree type}, + secret-level = {秘密}, + secret-level* = {Secret}, + secret-year = {20}, +} diff --git a/test/testfiles/support/info.tex b/test/testfiles/support/info.tex index f7aeffd..d9cc397 100644 --- a/test/testfiles/support/info.tex +++ b/test/testfiles/support/info.tex @@ -1,19 +1,13 @@ -\title{中国科学技术大学\\学位论文模板示例文档} -\author{李泽平} -\major{数学与应用数学} -\supervisor{XXX~教授} -\cosupervisor{XXX~教授} -\date{二〇一七年五月一日} % 注释掉则为今日 -\professionaltype{专业学位类型} -% \secretlevel{秘密} % 绝密|机密|秘密,注释本行则不保密 -% \secretyear{20} % 保密年限 - -\entitle{An example of thesis template for University of Science and Technology - of China} -\enauthor{Li Zeping} -\enmajor{Mathematics and Applied Mathematics} -\ensupervisor{Prof.~XXX} -\encosupervisor{Prof.~XXX} -\endate{May 1, 2017} % Today if commented -\enprofessionaltype{Professional degree type} -% \ensecretlevel{Secret} % Top secret|Highly secret|Secret +\ustcsetup{ + title = {中国科学技术大学\\学位论文模板示例文档}, + title* = {An example of thesis template for University of Science and Technology of China}, + author = {李泽平}, + author* = {Li Zeping}, + speciality = {数学与应用数学}, + speciality* = {Mathematics and Applied Mathematics}, + supervisor = {XXX~教授, XXX~教授}, + supervisor* = {Prof.~XXX, Prof.~XXX}, + date = {2017-05-01}, + professional-type = {专业学位类型}, + professional-type* = {Professional degree type}, +} diff --git a/test/testfiles/titlepage-bachelor.tex b/test/testfiles/titlepage-bachelor.tex index 0149522..5917f23 100644 --- a/test/testfiles/titlepage-bachelor.tex +++ b/test/testfiles/titlepage-bachelor.tex @@ -1,5 +1,5 @@ \input{regression-test.tex} -\documentclass[bachelor,fontset=fandol]{ustcthesis} +\documentclass[degree=bachelor,fontset=fandol]{ustcthesis} \input{info.tex} diff --git a/test/testfiles/titlepage-bachelor.tlg b/test/testfiles/titlepage-bachelor.tlg index adea0fb..582ad3e 100644 --- a/test/testfiles/titlepage-bachelor.tlg +++ b/test/testfiles/titlepage-bachelor.tlg @@ -214,13 +214,13 @@ Completed box being shipped out [1] ...\glue 17.07182 ...\glue(\parskip) 0.0 ...\glue(\lineskip) 1.0 -...\hbox(66.24713+58.21637)x452.96826, glue set 99.35463fil +...\hbox(66.24713+58.21637)x452.96826, glue set 97.34715fil ....\glue(\leftskip) 0.0 plus 1.0fil ....\hbox(0.0+0.0)x0.0 -....\hbox(66.24713+58.21637)x254.259 +....\hbox(66.24713+58.21637)x258.27396 .....\mathon -.....\vbox(66.24713+58.21637)x254.259 -......\hbox(21.78102+9.33485)x254.259 +.....\vbox(66.24713+58.21637)x258.27396 +......\hbox(21.78102+9.33485)x258.27396 .......\glue(\tabskip) 0.0 .......\hbox(21.78102+9.33485)x96.3589 ........\rule(21.78102+9.33485)x0.0 @@ -243,7 +243,7 @@ Completed box being shipped out [1] ........\glue 0.0 plus 1.0fil ........\glue 16.05981 .......\glue(\tabskip) 0.0 -.......\hbox(21.78102+9.33485)x157.9001, glue set 109.72064fil +.......\hbox(21.78102+9.33485)x161.91505, glue set 113.7356fil ........\glue 0.00002 ........\TU/FandolSong-Regular(0)/m/n/16.05981 李 ........\glue 0.0 plus 0.74435 @@ -255,7 +255,7 @@ Completed box being shipped out [1] ........\glue 0.0 plus 1.0fil .......\glue(\tabskip) 0.0 ......\glue(\lineskip) 0.0 -......\hbox(21.78102+9.33485)x254.259 +......\hbox(21.78102+9.33485)x258.27396 .......\glue(\tabskip) 0.0 .......\hbox(21.78102+9.33485)x96.3589 ........\rule(21.78102+9.33485)x0.0 @@ -278,7 +278,7 @@ Completed box being shipped out [1] ........\glue 0.0 plus 1.0fil ........\glue 16.05981 .......\glue(\tabskip) 0.0 -.......\hbox(21.78102+9.33485)x157.9001, glue set 45.48138fil +.......\hbox(21.78102+9.33485)x161.91505, glue set 49.49634fil ........\glue 0.00002 ........\TU/FandolSong-Regular(0)/m/n/16.05981 数 ........\glue 0.0 plus 0.74435 @@ -298,7 +298,7 @@ Completed box being shipped out [1] ........\glue 0.0 plus 1.0fil .......\glue(\tabskip) 0.0 ......\glue(\lineskip) 0.0 -......\hbox(21.78102+9.33485)x254.259 +......\hbox(21.78102+9.33485)x258.27396 .......\glue(\tabskip) 0.0 .......\hbox(21.78102+9.33485)x96.3589 ........\rule(21.78102+9.33485)x0.0 @@ -321,7 +321,7 @@ Completed box being shipped out [1] ........\glue 0.0 plus 1.0fil ........\glue 16.05981 .......\glue(\tabskip) 0.0 -.......\hbox(21.78102+9.33485)x157.9001 +.......\hbox(21.78102+9.33485)x161.91505 ........\glue 0.00002 ........\TU/texgyretermes(0)/m/n/16.05981 XXX ........\kern -0.0002 @@ -334,6 +334,7 @@ Completed box being shipped out [1] ........\kern -0.00017 ........\kern 0.00017 ........\glue 16.05981 +........\glue 4.01495 plus 2.00748 minus 1.33832 ........\TU/texgyretermes(0)/m/n/16.05981 XXX ........\kern -0.0002 ........\kern 0.0002 @@ -342,12 +343,12 @@ Completed box being shipped out [1] ........\TU/FandolSong-Regular(0)/m/n/16.05981 教 ........\glue 0.0 plus 0.74435 ........\TU/FandolSong-Regular(0)/m/n/16.05981 授 -........\kern -0.00017 -........\kern 0.00017 +........\kern -0.00018 +........\kern 0.00018 ........\glue 0.0 plus 1.0fil .......\glue(\tabskip) 0.0 ......\glue(\lineskip) 0.0 -......\hbox(21.78102+9.33485)x254.259 +......\hbox(21.78102+9.33485)x258.27396 .......\glue(\tabskip) 0.0 .......\hbox(21.78102+9.33485)x96.3589 ........\rule(21.78102+9.33485)x0.0 @@ -370,7 +371,7 @@ Completed box being shipped out [1] ........\glue 0.0 plus 1.0fil ........\glue 16.05981 .......\glue(\tabskip) 0.0 -.......\hbox(21.78102+9.33485)x157.9001, glue set 13.36176fil +.......\hbox(21.78102+9.33485)x161.91505, glue set 17.37671fil ........\glue 0.00002 ........\TU/FandolSong-Regular(0)/m/n/16.05981 二 ........\glue 0.0 plus 0.74435 @@ -677,7 +678,7 @@ Completed box being shipped out [3] ......\glue(\lineskip) 0.0 ......\hbox(21.0784+9.03374)x326.56563 .......\glue(\tabskip) 0.0 -.......\hbox(21.0784+9.03374)x326.56563, glue set 91.62125fil +.......\hbox(21.0784+9.03374)x326.56563, glue set 87.6063fil ........\rule(21.0784+9.03374)x0.0 ........\glue 0.00002 ........\TU/texgyretermes(0)/m/n/16.05981 Supervisors: @@ -693,6 +694,7 @@ Completed box being shipped out [3] ........\kern -0.00021 ........\kern 0.00021 ........\glue 4.01495 plus 2.00748 minus 1.33832 +........\glue 4.01495 plus 2.00748 minus 1.33832 ........\TU/texgyretermes(0)/m/n/16.05981 Prof. ........\kern -0.0002 ........\kern 0.0002 diff --git a/test/testfiles/titlepage-master.tex b/test/testfiles/titlepage-master.tex index 5722d51..ca148ee 100644 --- a/test/testfiles/titlepage-master.tex +++ b/test/testfiles/titlepage-master.tex @@ -1,5 +1,5 @@ \input{regression-test.tex} -\documentclass[master,professional,fontset=fandol]{ustcthesis} +\documentclass[degree=master,degree-type=professional,fontset=fandol]{ustcthesis} \input{info.tex} diff --git a/test/testfiles/titlepage-master.tlg b/test/testfiles/titlepage-master.tlg index 749a87d..458997c 100644 --- a/test/testfiles/titlepage-master.tlg +++ b/test/testfiles/titlepage-master.tlg @@ -246,13 +246,13 @@ Completed box being shipped out [1] ...\glue 17.07182 ...\glue(\parskip) 0.0 ...\glue(\lineskip) 1.0 -...\hbox(66.24713+58.21637)x452.96826, glue set 99.35463fil +...\hbox(66.24713+58.21637)x452.96826, glue set 97.34715fil ....\glue(\leftskip) 0.0 plus 1.0fil ....\hbox(0.0+0.0)x0.0 -....\hbox(66.24713+58.21637)x254.259 +....\hbox(66.24713+58.21637)x258.27396 .....\mathon -.....\vbox(66.24713+58.21637)x254.259 -......\hbox(21.78102+9.33485)x254.259 +.....\vbox(66.24713+58.21637)x258.27396 +......\hbox(21.78102+9.33485)x258.27396 .......\glue(\tabskip) 0.0 .......\hbox(21.78102+9.33485)x96.3589 ........\rule(21.78102+9.33485)x0.0 @@ -275,7 +275,7 @@ Completed box being shipped out [1] ........\glue 0.0 plus 1.0fil ........\glue 16.05981 .......\glue(\tabskip) 0.0 -.......\hbox(21.78102+9.33485)x157.9001, glue set 109.72064fil +.......\hbox(21.78102+9.33485)x161.91505, glue set 113.7356fil ........\glue 0.00002 ........\TU/FandolSong-Regular(0)/m/n/16.05981 李 ........\glue 0.0 plus 0.74435 @@ -287,7 +287,7 @@ Completed box being shipped out [1] ........\glue 0.0 plus 1.0fil .......\glue(\tabskip) 0.0 ......\glue(\lineskip) 0.0 -......\hbox(21.78102+9.33485)x254.259 +......\hbox(21.78102+9.33485)x258.27396 .......\glue(\tabskip) 0.0 .......\hbox(21.78102+9.33485)x96.3589 ........\rule(21.78102+9.33485)x0.0 @@ -310,7 +310,7 @@ Completed box being shipped out [1] ........\glue 0.0 plus 1.0fil ........\glue 16.05981 .......\glue(\tabskip) 0.0 -.......\hbox(21.78102+9.33485)x157.9001, glue set 45.48138fil +.......\hbox(21.78102+9.33485)x161.91505, glue set 49.49634fil ........\glue 0.00002 ........\TU/FandolSong-Regular(0)/m/n/16.05981 数 ........\glue 0.0 plus 0.74435 @@ -330,7 +330,7 @@ Completed box being shipped out [1] ........\glue 0.0 plus 1.0fil .......\glue(\tabskip) 0.0 ......\glue(\lineskip) 0.0 -......\hbox(21.78102+9.33485)x254.259 +......\hbox(21.78102+9.33485)x258.27396 .......\glue(\tabskip) 0.0 .......\hbox(21.78102+9.33485)x96.3589 ........\rule(21.78102+9.33485)x0.0 @@ -353,7 +353,7 @@ Completed box being shipped out [1] ........\glue 0.0 plus 1.0fil ........\glue 16.05981 .......\glue(\tabskip) 0.0 -.......\hbox(21.78102+9.33485)x157.9001 +.......\hbox(21.78102+9.33485)x161.91505 ........\glue 0.00002 ........\TU/texgyretermes(0)/m/n/16.05981 XXX ........\kern -0.0002 @@ -366,6 +366,7 @@ Completed box being shipped out [1] ........\kern -0.00017 ........\kern 0.00017 ........\glue 16.05981 +........\glue 4.01495 plus 2.00748 minus 1.33832 ........\TU/texgyretermes(0)/m/n/16.05981 XXX ........\kern -0.0002 ........\kern 0.0002 @@ -374,12 +375,12 @@ Completed box being shipped out [1] ........\TU/FandolSong-Regular(0)/m/n/16.05981 教 ........\glue 0.0 plus 0.74435 ........\TU/FandolSong-Regular(0)/m/n/16.05981 授 -........\kern -0.00017 -........\kern 0.00017 +........\kern -0.00018 +........\kern 0.00018 ........\glue 0.0 plus 1.0fil .......\glue(\tabskip) 0.0 ......\glue(\lineskip) 0.0 -......\hbox(21.78102+9.33485)x254.259 +......\hbox(21.78102+9.33485)x258.27396 .......\glue(\tabskip) 0.0 .......\hbox(21.78102+9.33485)x96.3589 ........\rule(21.78102+9.33485)x0.0 @@ -402,7 +403,7 @@ Completed box being shipped out [1] ........\glue 0.0 plus 1.0fil ........\glue 16.05981 .......\glue(\tabskip) 0.0 -.......\hbox(21.78102+9.33485)x157.9001, glue set 13.36176fil +.......\hbox(21.78102+9.33485)x161.91505, glue set 17.37671fil ........\glue 0.00002 ........\TU/FandolSong-Regular(0)/m/n/16.05981 二 ........\glue 0.0 plus 0.74435 @@ -728,7 +729,7 @@ Completed box being shipped out [3] ......\glue(\lineskip) 0.0 ......\hbox(21.0784+9.03374)x326.56563 .......\glue(\tabskip) 0.0 -.......\hbox(21.0784+9.03374)x326.56563, glue set 91.62125fil +.......\hbox(21.0784+9.03374)x326.56563, glue set 87.6063fil ........\rule(21.0784+9.03374)x0.0 ........\glue 0.00002 ........\TU/texgyretermes(0)/m/n/16.05981 Supervisors: @@ -744,6 +745,7 @@ Completed box being shipped out [3] ........\kern -0.00021 ........\kern 0.00021 ........\glue 4.01495 plus 2.00748 minus 1.33832 +........\glue 4.01495 plus 2.00748 minus 1.33832 ........\TU/texgyretermes(0)/m/n/16.05981 Prof. ........\kern -0.0002 ........\kern 0.0002 diff --git a/test/testfiles/titlepage-secret.tex b/test/testfiles/titlepage-secret.tex index 196ab56..c1d5a92 100644 --- a/test/testfiles/titlepage-secret.tex +++ b/test/testfiles/titlepage-secret.tex @@ -1,5 +1,5 @@ \input{regression-test.tex} -\documentclass[doctor,fontset=fandol]{ustcthesis} +\documentclass[degree=doctor,fontset=fandol]{ustcthesis} \input{info-secret.tex} diff --git a/test/testfiles/titlepage-secret.tlg b/test/testfiles/titlepage-secret.tlg index eb37072..2961615 100644 --- a/test/testfiles/titlepage-secret.tlg +++ b/test/testfiles/titlepage-secret.tlg @@ -227,13 +227,13 @@ Completed box being shipped out [1] ...\glue 17.07182 ...\glue(\parskip) 0.0 ...\glue(\lineskip) 1.0 -...\hbox(66.24713+58.21637)x452.96826, glue set 99.35463fil +...\hbox(66.24713+58.21637)x452.96826, glue set 97.34715fil ....\glue(\leftskip) 0.0 plus 1.0fil ....\hbox(0.0+0.0)x0.0 -....\hbox(66.24713+58.21637)x254.259 +....\hbox(66.24713+58.21637)x258.27396 .....\mathon -.....\vbox(66.24713+58.21637)x254.259 -......\hbox(21.78102+9.33485)x254.259 +.....\vbox(66.24713+58.21637)x258.27396 +......\hbox(21.78102+9.33485)x258.27396 .......\glue(\tabskip) 0.0 .......\hbox(21.78102+9.33485)x96.3589 ........\rule(21.78102+9.33485)x0.0 @@ -256,7 +256,7 @@ Completed box being shipped out [1] ........\glue 0.0 plus 1.0fil ........\glue 16.05981 .......\glue(\tabskip) 0.0 -.......\hbox(21.78102+9.33485)x157.9001, glue set 109.72064fil +.......\hbox(21.78102+9.33485)x161.91505, glue set 113.7356fil ........\glue 0.00002 ........\TU/FandolSong-Regular(0)/m/n/16.05981 李 ........\glue 0.0 plus 0.74435 @@ -268,7 +268,7 @@ Completed box being shipped out [1] ........\glue 0.0 plus 1.0fil .......\glue(\tabskip) 0.0 ......\glue(\lineskip) 0.0 -......\hbox(21.78102+9.33485)x254.259 +......\hbox(21.78102+9.33485)x258.27396 .......\glue(\tabskip) 0.0 .......\hbox(21.78102+9.33485)x96.3589 ........\rule(21.78102+9.33485)x0.0 @@ -291,7 +291,7 @@ Completed box being shipped out [1] ........\glue 0.0 plus 1.0fil ........\glue 16.05981 .......\glue(\tabskip) 0.0 -.......\hbox(21.78102+9.33485)x157.9001, glue set 45.48138fil +.......\hbox(21.78102+9.33485)x161.91505, glue set 49.49634fil ........\glue 0.00002 ........\TU/FandolSong-Regular(0)/m/n/16.05981 数 ........\glue 0.0 plus 0.74435 @@ -311,7 +311,7 @@ Completed box being shipped out [1] ........\glue 0.0 plus 1.0fil .......\glue(\tabskip) 0.0 ......\glue(\lineskip) 0.0 -......\hbox(21.78102+9.33485)x254.259 +......\hbox(21.78102+9.33485)x258.27396 .......\glue(\tabskip) 0.0 .......\hbox(21.78102+9.33485)x96.3589 ........\rule(21.78102+9.33485)x0.0 @@ -334,7 +334,7 @@ Completed box being shipped out [1] ........\glue 0.0 plus 1.0fil ........\glue 16.05981 .......\glue(\tabskip) 0.0 -.......\hbox(21.78102+9.33485)x157.9001 +.......\hbox(21.78102+9.33485)x161.91505 ........\glue 0.00002 ........\TU/texgyretermes(0)/m/n/16.05981 XXX ........\kern -0.0002 @@ -347,6 +347,7 @@ Completed box being shipped out [1] ........\kern -0.00017 ........\kern 0.00017 ........\glue 16.05981 +........\glue 4.01495 plus 2.00748 minus 1.33832 ........\TU/texgyretermes(0)/m/n/16.05981 XXX ........\kern -0.0002 ........\kern 0.0002 @@ -355,12 +356,12 @@ Completed box being shipped out [1] ........\TU/FandolSong-Regular(0)/m/n/16.05981 教 ........\glue 0.0 plus 0.74435 ........\TU/FandolSong-Regular(0)/m/n/16.05981 授 -........\kern -0.00017 -........\kern 0.00017 +........\kern -0.00018 +........\kern 0.00018 ........\glue 0.0 plus 1.0fil .......\glue(\tabskip) 0.0 ......\glue(\lineskip) 0.0 -......\hbox(21.78102+9.33485)x254.259 +......\hbox(21.78102+9.33485)x258.27396 .......\glue(\tabskip) 0.0 .......\hbox(21.78102+9.33485)x96.3589 ........\rule(21.78102+9.33485)x0.0 @@ -383,7 +384,7 @@ Completed box being shipped out [1] ........\glue 0.0 plus 1.0fil ........\glue 16.05981 .......\glue(\tabskip) 0.0 -.......\hbox(21.78102+9.33485)x157.9001, glue set 13.36176fil +.......\hbox(21.78102+9.33485)x161.91505, glue set 17.37671fil ........\glue 0.00002 ........\TU/FandolSong-Regular(0)/m/n/16.05981 二 ........\glue 0.0 plus 0.74435 @@ -701,7 +702,7 @@ Completed box being shipped out [3] ......\glue(\lineskip) 0.0 ......\hbox(21.0784+9.03374)x326.56563 .......\glue(\tabskip) 0.0 -.......\hbox(21.0784+9.03374)x326.56563, glue set 91.62125fil +.......\hbox(21.0784+9.03374)x326.56563, glue set 87.6063fil ........\rule(21.0784+9.03374)x0.0 ........\glue 0.00002 ........\TU/texgyretermes(0)/m/n/16.05981 Supervisors: @@ -717,6 +718,7 @@ Completed box being shipped out [3] ........\kern -0.00021 ........\kern 0.00021 ........\glue 4.01495 plus 2.00748 minus 1.33832 +........\glue 4.01495 plus 2.00748 minus 1.33832 ........\TU/texgyretermes(0)/m/n/16.05981 Prof. ........\kern -0.0002 ........\kern 0.0002 diff --git a/test/testfiles/titlepage.tex b/test/testfiles/titlepage.tex index 736ce57..03d1f7a 100644 --- a/test/testfiles/titlepage.tex +++ b/test/testfiles/titlepage.tex @@ -1,5 +1,5 @@ \input{regression-test.tex} -\documentclass[doctor,fontset=fandol]{ustcthesis} +\documentclass[degree=doctor,fontset=fandol]{ustcthesis} \input{info.tex} diff --git a/test/testfiles/titlepage.tlg b/test/testfiles/titlepage.tlg index 2f43e21..93f980a 100644 --- a/test/testfiles/titlepage.tlg +++ b/test/testfiles/titlepage.tlg @@ -214,13 +214,13 @@ Completed box being shipped out [1] ...\glue 17.07182 ...\glue(\parskip) 0.0 ...\glue(\lineskip) 1.0 -...\hbox(66.24713+58.21637)x452.96826, glue set 99.35463fil +...\hbox(66.24713+58.21637)x452.96826, glue set 97.34715fil ....\glue(\leftskip) 0.0 plus 1.0fil ....\hbox(0.0+0.0)x0.0 -....\hbox(66.24713+58.21637)x254.259 +....\hbox(66.24713+58.21637)x258.27396 .....\mathon -.....\vbox(66.24713+58.21637)x254.259 -......\hbox(21.78102+9.33485)x254.259 +.....\vbox(66.24713+58.21637)x258.27396 +......\hbox(21.78102+9.33485)x258.27396 .......\glue(\tabskip) 0.0 .......\hbox(21.78102+9.33485)x96.3589 ........\rule(21.78102+9.33485)x0.0 @@ -243,7 +243,7 @@ Completed box being shipped out [1] ........\glue 0.0 plus 1.0fil ........\glue 16.05981 .......\glue(\tabskip) 0.0 -.......\hbox(21.78102+9.33485)x157.9001, glue set 109.72064fil +.......\hbox(21.78102+9.33485)x161.91505, glue set 113.7356fil ........\glue 0.00002 ........\TU/FandolSong-Regular(0)/m/n/16.05981 李 ........\glue 0.0 plus 0.74435 @@ -255,7 +255,7 @@ Completed box being shipped out [1] ........\glue 0.0 plus 1.0fil .......\glue(\tabskip) 0.0 ......\glue(\lineskip) 0.0 -......\hbox(21.78102+9.33485)x254.259 +......\hbox(21.78102+9.33485)x258.27396 .......\glue(\tabskip) 0.0 .......\hbox(21.78102+9.33485)x96.3589 ........\rule(21.78102+9.33485)x0.0 @@ -278,7 +278,7 @@ Completed box being shipped out [1] ........\glue 0.0 plus 1.0fil ........\glue 16.05981 .......\glue(\tabskip) 0.0 -.......\hbox(21.78102+9.33485)x157.9001, glue set 45.48138fil +.......\hbox(21.78102+9.33485)x161.91505, glue set 49.49634fil ........\glue 0.00002 ........\TU/FandolSong-Regular(0)/m/n/16.05981 数 ........\glue 0.0 plus 0.74435 @@ -298,7 +298,7 @@ Completed box being shipped out [1] ........\glue 0.0 plus 1.0fil .......\glue(\tabskip) 0.0 ......\glue(\lineskip) 0.0 -......\hbox(21.78102+9.33485)x254.259 +......\hbox(21.78102+9.33485)x258.27396 .......\glue(\tabskip) 0.0 .......\hbox(21.78102+9.33485)x96.3589 ........\rule(21.78102+9.33485)x0.0 @@ -321,7 +321,7 @@ Completed box being shipped out [1] ........\glue 0.0 plus 1.0fil ........\glue 16.05981 .......\glue(\tabskip) 0.0 -.......\hbox(21.78102+9.33485)x157.9001 +.......\hbox(21.78102+9.33485)x161.91505 ........\glue 0.00002 ........\TU/texgyretermes(0)/m/n/16.05981 XXX ........\kern -0.0002 @@ -334,6 +334,7 @@ Completed box being shipped out [1] ........\kern -0.00017 ........\kern 0.00017 ........\glue 16.05981 +........\glue 4.01495 plus 2.00748 minus 1.33832 ........\TU/texgyretermes(0)/m/n/16.05981 XXX ........\kern -0.0002 ........\kern 0.0002 @@ -342,12 +343,12 @@ Completed box being shipped out [1] ........\TU/FandolSong-Regular(0)/m/n/16.05981 教 ........\glue 0.0 plus 0.74435 ........\TU/FandolSong-Regular(0)/m/n/16.05981 授 -........\kern -0.00017 -........\kern 0.00017 +........\kern -0.00018 +........\kern 0.00018 ........\glue 0.0 plus 1.0fil .......\glue(\tabskip) 0.0 ......\glue(\lineskip) 0.0 -......\hbox(21.78102+9.33485)x254.259 +......\hbox(21.78102+9.33485)x258.27396 .......\glue(\tabskip) 0.0 .......\hbox(21.78102+9.33485)x96.3589 ........\rule(21.78102+9.33485)x0.0 @@ -370,7 +371,7 @@ Completed box being shipped out [1] ........\glue 0.0 plus 1.0fil ........\glue 16.05981 .......\glue(\tabskip) 0.0 -.......\hbox(21.78102+9.33485)x157.9001, glue set 13.36176fil +.......\hbox(21.78102+9.33485)x161.91505, glue set 17.37671fil ........\glue 0.00002 ........\TU/FandolSong-Regular(0)/m/n/16.05981 二 ........\glue 0.0 plus 0.74435 @@ -677,7 +678,7 @@ Completed box being shipped out [3] ......\glue(\lineskip) 0.0 ......\hbox(21.0784+9.03374)x326.56563 .......\glue(\tabskip) 0.0 -.......\hbox(21.0784+9.03374)x326.56563, glue set 91.62125fil +.......\hbox(21.0784+9.03374)x326.56563, glue set 87.6063fil ........\rule(21.0784+9.03374)x0.0 ........\glue 0.00002 ........\TU/texgyretermes(0)/m/n/16.05981 Supervisors: @@ -693,6 +694,7 @@ Completed box being shipped out [3] ........\kern -0.00021 ........\kern 0.00021 ........\glue 4.01495 plus 2.00748 minus 1.33832 +........\glue 4.01495 plus 2.00748 minus 1.33832 ........\TU/texgyretermes(0)/m/n/16.05981 Prof. ........\kern -0.0002 ........\kern 0.0002 diff --git a/ustcsetup.tex b/ustcsetup.tex new file mode 100644 index 0000000..c1219c5 --- /dev/null +++ b/ustcsetup.tex @@ -0,0 +1,42 @@ +\ustcsetup{ + title = {中国科学技术大学\\学位论文模板示例文档}, + title* = {An example of thesis template for University of Science + and Technology of China}, + author = {李泽平}, + author* = {Li Zeping}, + speciality = {数学与应用数学}, + speciality* = {Mathematics and Applied Mathematics}, + supervisor = {XXX~教授, XXX~教授}, + supervisor* = {Prof. XXX, Prof. XXX}, + % date = {2017-05-01}, % 默认为今日 + % professional-type = {专业学位类型}, + % professional-type* = {Professional degree type}, + % secret-level = {秘密}, % 绝密|机密|秘密,注释本行则不保密 + % secret-level* = {Secret}, % Top secret|Highly secret|Secret + % secret-year = {10}, % 保密年限 +} + + +% 加载宏包 +\usepackage{graphicx} +\usepackage{booktabs} +\usepackage{longtable} +\usepackage[ruled,linesnumbered]{algorithm2e} +\usepackage{siunitx} +\usepackage{amsthm} + + +% 数学命令 +\input{math-commands.tex} + +% 配置图片的默认目录 +\graphicspath{{figures/}} + +% 用于写文档的命令 +\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}} +\DeclareRobustCommand\pkg{\textsf} +\DeclareRobustCommand\file{\nolinkurl} + + +% hyperref 宏包在最后调用 +\usepackage{hyperref} diff --git a/ustcthesis.cls b/ustcthesis.cls index 55929a7..40e216a 100644 --- a/ustcthesis.cls +++ b/ustcthesis.cls @@ -11,41 +11,157 @@ \ifXeTeX\else \ustc@error{XeLaTeX is required to compile this document} \fi -\newif\ifustc@degree@doctor -\newif\ifustc@degree@master -\newif\ifustc@degree@bachelor -\newif\ifustc@degree@type@academic -\newif\ifustc@language@chinese -\newif\ifustc@bib@style@numerical -\newif\ifustc@cite@style@super -\newif\ifustc@output@electronic -\newif\ifustc@badge@color@blue -\newif\ifustc@section@style@arabic -\DeclareOption{doctor}{\ustc@degree@doctortrue\ustc@degree@masterfalse\ustc@degree@bachelorfalse} -\DeclareOption{master}{\ustc@degree@doctorfalse\ustc@degree@mastertrue\ustc@degree@bachelorfalse} -\DeclareOption{bachelor}{\ustc@degree@doctorfalse\ustc@degree@masterfalse\ustc@degree@bachelortrue} -\DeclareOption{academic}{\ustc@degree@type@academictrue} -\DeclareOption{professional}{\ustc@degree@type@academicfalse} -\DeclareOption{chinese}{\ustc@language@chinesetrue} -\DeclareOption{english}{\ustc@language@chinesefalse\ustc@section@style@arabictrue} -\DeclareOption{print}{\ustc@output@electronicfalse} -\DeclareOption{pdf}{\ustc@output@electronictrue} -\DeclareOption{super}{\ustc@bib@style@numericaltrue\ustc@cite@style@supertrue} -\DeclareOption{numbers}{\ustc@bib@style@numericaltrue\ustc@cite@style@superfalse} -\DeclareOption{authoryear}{\ustc@bib@style@numericalfalse} -\DeclareOption{colorlogo}{\ustc@badge@color@bluetrue} -\DeclareOption{bwlogo}{\ustc@badge@color@bluefalse} -\DeclareOption{arabic}{\ustc@section@style@arabictrue} -\PassOptionsToClass{openany}{ctexbook} -\DeclareOption*{\PassOptionsToClass{\CurrentOption}{ctexbook}} -\ExecuteOptions{doctor,academic,chinese,print,colorlogo,super} -\ProcessOptions\relax +\RequirePackage{kvdefinekeys} +\RequirePackage{kvsetkeys} +\RequirePackage{kvoptions} +\newcommand\ustcsetup{% + \kvsetkeys{ustc}% +} +\newcommand\ustc@define@key[1]{% + \kvsetkeys{ustc@key}{#1}% +} +\kv@set@family@handler{ustc@key}{% + \@namedef{ustc@#1@@name}{#1}% + \def\ustc@@default{}% + \def\ustc@@choices{}% + \kv@define@key{ustc@value}{name}{% + \@namedef{ustc@#1@@name}{##1}% + }% + \kv@define@key{ustc@value}{code}{% + \@namedef{ustc@#1@@code}{##1}% + }% + \@namedef{ustc@#1@@check}{}% + \@namedef{ustc@#1@@code}{}% + \@namedef{ustc@#1@@hook}{% + \@nameuse{ustc@#1@@code}% + }% + \kv@define@key{ustc@value}{choices}{% + \def\ustc@@choices{##1}% + \@namedef{ustc@#1@@reset}{}% + \@namedef{ustc@#1@@check}{% + \@ifundefined{% + ifustc@\@nameuse{ustc@#1@@name}@\@nameuse{ustc@\@nameuse{ustc@#1@@name}}% + }{% + \ustc@error{Invalid value "#1 = \@nameuse{ustc@\@nameuse{ustc@#1@@name}}"}% + }% + \@nameuse{ustc@#1@@reset}% + \@nameuse{ustc@\@nameuse{ustc@#1@@name}@\@nameuse{ustc@\@nameuse{ustc@#1@@name}}true}% + }% + }% + \kv@define@key{ustc@value}{default}{% + \def\ustc@@default{##1}% + }% + \kvsetkeys{ustc@value}{#2}% + \@namedef{ustc@\@nameuse{ustc@#1@@name}}{}% + \kv@set@family@handler{ustc@choice}{% + \ifx\ustc@@default\@empty + \def\ustc@@default{##1}% + \fi + \expandafter\newif\csname ifustc@\@nameuse{ustc@#1@@name}@##1\endcsname + \expandafter\g@addto@macro\csname ustc@#1@@reset\endcsname{% + \@nameuse{ustc@\@nameuse{ustc@#1@@name}@##1false}% + }% + }% + \kvsetkeys@expandafter{ustc@choice}{\ustc@@choices}% + \expandafter\let\csname ustc@\@nameuse{ustc@#1@@name}\endcsname\ustc@@default + \expandafter\ifx\csname ustc@\@nameuse{ustc@#1@@name}\endcsname\@empty\else + \@nameuse{ustc@#1@@check}% + \@nameuse{ustc@#1@@hook}% + \fi + \kv@define@key{ustc}{#1}{% + \@namedef{ustc@\@nameuse{ustc@#1@@name}}{##1}% + \@nameuse{ustc@#1@@check}% + \@nameuse{ustc@#1@@hook}% + }% +} +\newcommand\ustc@addto[2]{% + \expandafter\g@addto@macro\csname ustc@#1@@code\endcsname{#2}% +} \newif\ifustc@degree@graduate +\newcommand\ustc@set@graduate{% + \ifustc@degree@bachelor + \ustc@degree@graduatefalse + \else + \ustc@degree@graduatetrue + \fi +} +\ustc@define@key{ + degree = { + choices = { + doctor, + master, + bachelor, + }, + default = doctor, + code = {\ustc@set@graduate}, + }, + degree-type = { + name = degree@type, + choices = { + academic, + professional, + }, + default = academic, + }, + language = { + choices = { + chinese, + english, + }, + default = chinese, + }, + cite-style = { + name = cite@style, + choices = { + super, + inline, + authoryear, + }, + }, + output = { + choices = { + print, + electronic, + }, + default = print, + }, + section-style = { + name = section@style, + choices = { + chinese, + arabic, + }, + default = chinese, + }, + badge-color = { + name = badge@color, + choices = { + blue, + black, + }, + default = blue, + }, +} \ifustc@degree@bachelor - \ustc@degree@graduatefalse -\else - \ustc@degree@graduatetrue + \ifustc@language@english + \ustcsetup{section-style = arabic} + \fi \fi +\ustc@addto{language}{% + \ifustc@degree@bachelor + \ifustc@language@english + \ustcsetup{section-style = arabic}% + \fi + \fi +} +\SetupKeyvalOptions{ + family = ustc, + prefix = ustc@, + setkeys = \kvsetkeys, +} +\PassOptionsToClass{openany}{ctexbook} +\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{ctexbook}} +\ProcessKeyvalOptions* \ifustc@language@chinese \PassOptionsToClass{scheme=chinese}{ctexbook} \else @@ -71,9 +187,6 @@ \RequirePackage[perpage]{footmisc} \RequirePackage{url} \RequirePackage{calc} -\ifustc@bib@style@numerical - \PassOptionsToPackage{sort&compress}{natbib} -\fi \RequirePackage{natbib} \RequirePackage{notoccite} \newcommand\ustc@strifeq{\csname str_if_eq_x:nnTF\endcsname} @@ -334,31 +447,94 @@ \fi \pagestyle{plain}% \@mainmattertrue} -\def\ustc@define@term#1#2#3{% - \expandafter\gdef\csname #2\endcsname##1{% - \expandafter\gdef\csname ustc@#1\endcsname{##1}% +\ustc@define@key{ + title = { + default = {论文题目}, + }, + title* = { + default = {Title}, + name = title@en, + }, + author = { + default = {作者姓名}, + }, + author* = { + default = {Author Name}, + name = author@en, + }, + speciality = { + default = {专业}, + }, + speciality* = { + default = {Speciality}, + name = speciality@en, + }, + supervisor = { + default = {导师姓名}, + }, + supervisor* = { + default = {Supervisor Name}, + name = supervisor@en, + }, + date = { + default = {\the\year-\two@digits{\month}-\two@digits{\day}}, + }, + professional-type = { + name = professional@type, + }, + professional-type* = { + name = professional@type@en, + }, + secret-level = { + name = secret@level, + }, + secret-level* = { + name = secret@level@en, + }, + secret-year = { + name = secret@year, + }, + keywords, + keywords* = { + name = keywords@en, + }, +} +\newcommand\ustc@clist@count[1]{% + \csname clist_count:N\endcsname{#1}% +} +\newcommand\ustc@clist@use[2]{% + \csname clist_use:Nn\endcsname{#1}{#2}% +} +\newcommand\ustc@supervisor@names{% + \ustc@clist@use{\ustc@supervisor}{\quad} +} +\newcounter{ustc@count} +\newcommand\ustc@supervisor@en@line{% + \setcounter{ustc@count}{\ustc@clist@count{\ustc@supervisor@en}}% + \ifnum\c@ustc@count>1\relax + Supervisors:% + \else + Supervisor:% + \fi + \space\ustc@clist@use{\ustc@supervisor@en}{, }% +} +\newcommand\ustc@format@date[2]{% + \edef\ustc@@date{#2}% + \def\ustc@@process@date##1-##2-##3\@nil{% + #1{##1}{##2}{##3}% }% - \csname #2\endcsname{#3}% -} -\ustc@define@term{title}{title}{论文题目} -\ustc@define@term{author}{author}{XXX} -\ustc@define@term{speciality}{major}{XXX} -\ustc@define@term{supervisor}{supervisor}{XXX\quad 教授} -\ustc@define@term{cosupervisor}{cosupervisor}{} -\ustc@define@term{date@zh}{date}{\zhnumsetup{time=Chinese}\zhtoday} -\ustc@define@term{professional@type}{professionaltype}{专业学位类型} -\ustc@define@term{secret@level}{secretlevel}{} -\ustc@define@term{secret@year}{secretyear}{} -\ustc@define@term{title@en}{entitle}{Title} -\ustc@define@term{author@en}{enauthor}{XXX} -\ustc@define@term{speciality@en}{enmajor}{XXX} -\ustc@define@term{supervisor@en}{ensupervisor}{Prof. XXX} -\ustc@define@term{cosupervisor@en}{encosupervisor}{} -\ustc@define@term{date@en}{endate}{\CTEX@todayold} -\ustc@define@term{professional@type@en}{enprofessionaltype}{Professional degree type} -\ustc@define@term{secret@level@en}{ensecretlevel}{} -\ustc@define@term{keywords}{keywords}{} -\ustc@define@term{keywords@en}{enkeywords}{} + \expandafter\ustc@@process@date\ustc@@date\@nil +} +\newcommand\ustc@date@format@zh[3]{\zhdigits{#1}年\zhnumber{#2}月\zhnumber{#3}日} +\newcommand\ustc@date@month[1]{% + \ifcase\number#1\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December% + \fi +} +\newcommand\ustc@date@format@en[3]{\ustc@date@month{#2} \number#3, #1} +\newcommand\ustc@date@zh{\ustc@format@date{\ustc@date@format@zh}{\ustc@date}} +\newcommand\ustc@date@en{\ustc@format@date{\ustc@date@format@en}{\ustc@date}} \ifustc@degree@doctor \newcommand\ustc@thesis@name{博士学位论文} \newcommand\ustc@thesis@name@en{A dissertation for doctor's degree} @@ -439,19 +615,12 @@ \begin{tabular}{@{}l@{\hspace{\ccwd}}l@{}}% \textsf{作者姓名:} & \ustc@author \\ \textsf{\ustc@speciality@name:} & \ustc@speciality \\ - \textsf{导师姓名:} & \ustc@supervisor\quad\ustc@cosupervisor \\ + \textsf{导师姓名:} & \ustc@supervisor@names \\ \textsf{完成时间:} & \ustc@date@zh \end{tabular}\par}% \end{titlepage}% \ustc@setdefaultlanguage } -\newcommand\ustc@supervisorline{% - \ifx\ustc@cosupervisor@en\@empty - Supervisor: \ustc@supervisor@en - \else - Supervisors: \ustc@supervisor@en, \ustc@cosupervisor@en - \fi -} \newcommand\ustc@makeentitle{% \ustc@setenglish \begin{titlepage}% @@ -485,7 +654,7 @@ \begin{tabular}{@{}l@{}}% Author: \ustc@author@en \\ Speciality: \ustc@speciality@en \\ - \ustc@supervisorline \\ + \ustc@supervisor@en@line \\ Finished time: \ustc@date@en \end{tabular}\par}% \end{titlepage}% @@ -518,7 +687,7 @@ \makebox[\z@][l]{$\square$}% \raisebox{-0.2ex}{\hspace{0.1em}$\checkmark$}% } -\newcommand\makestatement{% +\newcommand\copyrightpage{% \begin{titlepage}% \ustc@pdfbookmark{原创性和授权使用声明}% \null @@ -552,7 +721,7 @@ \end{titlepage}% } \ifustc@degree@bachelor - \renewcommand\makestatement{} + \let\copyrightpage\relax \fi \setcounter{secnumdepth}{5} \newcount\ustc@titlelength @@ -697,6 +866,12 @@ \chaptermark{#2}% }% \chapter*{#2}} +\newcommand\ustc@keywords@text{% + \ustc@clist@use{\ustc@keywords}{;}% +} +\newcommand\ustc@keywords@en@text{% + \ustc@clist@use{\ustc@keywords@en}{; }% +} \newenvironment{abstract}{% \ustc@setchinese \ifustc@degree@graduate @@ -709,7 +884,7 @@ \fi }{ \par\null\par\noindent\hangindent=4\ccwd\relax - \textbf{关键词}:\ustc@keywords + \textbf{关键词}:\ustc@keywords@text\par \ustc@setdefaultlanguage } \newenvironment{enabstract}{% @@ -721,7 +896,7 @@ \fi }{ \par\null\par\noindent\hangindent=5.3em\relax - \textbf{Key Words}: \ustc@keywords@en + \textbf{Key Words}: \ustc@keywords@en@text\par \ifustc@degree@graduate \cleardoublepage \fi @@ -949,29 +1124,29 @@ \newcommand\upe{\symup{e}} \newcommand\upi{\symup{i}} \newcommand\dif{\mathop{}\!\mathrm{d}} -\newcommand\bibstyle@super{\bibpunct{[}{]}{,}{s}{,}{\textsuperscript{,}}} -\newcommand\bibstyle@numbers{\bibpunct{[}{]}{,}{n}{,}{,}} -\newcommand\bibstyle@authoryear{\bibpunct{(}{)}{;}{a}{,}{,}} -\ifustc@degree@graduate - \ifustc@bib@style@numerical - \ifustc@cite@style@super - \citestyle{super} - \else - \citestyle{numbers} - \fi - \bibliographystyle{ustcthesis-numerical} - \else - \citestyle{authoryear} - \bibliographystyle{ustcthesis-authoryear} - \fi -\else - \ifustc@cite@style@super - \citestyle{super} - \else - \citestyle{numbers} - \fi - \bibliographystyle{ustcthesis-bachelor} -\fi +\newcommand\bibstyle@super{% + \bibpunct{[}{]}{,}{s}{,}{\textsuperscript{,}}% + \gdef\NAT@sort{\@ne}% + \gdef\NAT@cmprs{\@ne}% +} +\newcommand\bibstyle@inline{% + \bibpunct{[}{]}{,}{n}{,}{,}% + \gdef\NAT@sort{\@ne}% + \gdef\NAT@cmprs{\@ne}% +} +\newcommand\bibstyle@authoryear{% + \bibpunct{(}{)}{;}{a}{,}{,}% + \gdef\NAT@sort{\z@}% + \gdef\NAT@cmprs{\z@}% +} +\ustc@addto{cite-style}{% + \citestyle{\ustc@cite@style}% +} +\@namedef{bibstyle@ustcthesis-numerical}{\bibstyle@super} +\@namedef{bibstyle@ustcthesis-authoryear}{\bibstyle@authoryear} +\@namedef{bibstyle@ustcthesis-bachelor}{\bibstyle@super} +\DeclareRobustCommand\inlinecite{\@inlinecite} +\def\@inlinecite#1{\begingroup\let\@cite\NAT@citenum\citep{#1}\endgroup} \ustc@patchcmd{\NAT@citexnum}{% \@ifnum{\NAT@ctype=\z@}{% \if*#2*\else\NAT@cmt#2\fi @@ -1009,8 +1184,6 @@ }{% \def@NAT@last@yr{-\NAT@penalty}% } -\DeclareRobustCommand\inlinecite{\@inlinecite} -\def\@inlinecite#1{\begingroup\let\@cite\NAT@citenum\citep{#1}\endgroup} \ifustc@degree@graduate \renewcommand\bibfont{\fontsize{10.5\bp@}{20\bp@}\selectfont} \fi @@ -1020,7 +1193,6 @@ \renewcommand\bibsection{% \@mainmatterfalse \chapter{\bibname}% - \@mainmattertrue } \newenvironment{acknowledgements}{% \ifustc@degree@graduate diff --git a/ustcthesis.dtx b/ustcthesis.dtx index 996c0af..5fe9f06 100644 --- a/ustcthesis.dtx +++ b/ustcthesis.dtx @@ -676,41 +676,243 @@ % \subsection{处理选项} % % \begin{macrocode} -\newif\ifustc@degree@doctor -\newif\ifustc@degree@master -\newif\ifustc@degree@bachelor -\newif\ifustc@degree@type@academic -\newif\ifustc@language@chinese -\newif\ifustc@bib@style@numerical -\newif\ifustc@cite@style@super -\newif\ifustc@output@electronic -\newif\ifustc@badge@color@blue -\newif\ifustc@section@style@arabic -\DeclareOption{doctor}{\ustc@degree@doctortrue\ustc@degree@masterfalse\ustc@degree@bachelorfalse} -\DeclareOption{master}{\ustc@degree@doctorfalse\ustc@degree@mastertrue\ustc@degree@bachelorfalse} -\DeclareOption{bachelor}{\ustc@degree@doctorfalse\ustc@degree@masterfalse\ustc@degree@bachelortrue} -\DeclareOption{academic}{\ustc@degree@type@academictrue} -\DeclareOption{professional}{\ustc@degree@type@academicfalse} -\DeclareOption{chinese}{\ustc@language@chinesetrue} -\DeclareOption{english}{\ustc@language@chinesefalse\ustc@section@style@arabictrue} -\DeclareOption{print}{\ustc@output@electronicfalse} -\DeclareOption{pdf}{\ustc@output@electronictrue} -\DeclareOption{super}{\ustc@bib@style@numericaltrue\ustc@cite@style@supertrue} -\DeclareOption{numbers}{\ustc@bib@style@numericaltrue\ustc@cite@style@superfalse} -\DeclareOption{authoryear}{\ustc@bib@style@numericalfalse} -\DeclareOption{colorlogo}{\ustc@badge@color@bluetrue} -\DeclareOption{bwlogo}{\ustc@badge@color@bluefalse} -\DeclareOption{arabic}{\ustc@section@style@arabictrue} -\PassOptionsToClass{openany}{ctexbook} -\DeclareOption*{\PassOptionsToClass{\CurrentOption}{ctexbook}} -\ExecuteOptions{doctor,academic,chinese,print,colorlogo,super} -\ProcessOptions\relax +\RequirePackage{kvdefinekeys} +\RequirePackage{kvsetkeys} +\RequirePackage{kvoptions} +% \end{macrocode} +% +% \begin{macro}{\ustcsetup} +% 提供一个 \cs{ustcsetup} 命令支持 \emph{key-value} 的方式来设置。 +% \begin{macrocode} +\newcommand\ustcsetup{% + \kvsetkeys{ustc}% +} +% \end{macrocode} +% \end{macro} +% +% 同时用 \emph{key-value} 的方式来定义这些接口: +% \begin{latex} +% \ustc@define@key{ +% = { +% name = , +% choices = { +% , +% , +% }, +% default = , +% code = , +% }, +% } +% \end{latex} +% +% 其中 |choices| 设置允许使用的值,默认为第一个(或者 \meta{default}); +% \meta{code} 是相应的内容被设置时执行的代码。 +% +% \begin{macrocode} +\newcommand\ustc@define@key[1]{% + \kvsetkeys{ustc@key}{#1}% +} +\kv@set@family@handler{ustc@key}{% +% \end{macrocode} +% +% \cs{ustcsetup} 会将 \meta{value} 存到 \cs{ustc@\meta{key}}, +% 但是宏的名字包含 “-” 这样的特殊字符时不方便直接调用,比如 |key = math-style|, +% 这时可以用 |name| 设置 \meta{key} 的别称,比如 |key = math@style|, +% 这样就可以通过 \cs{ustc@math@style} 来引用。 +% |default| 是定义该 \meta{key} 时默认的值,缺省为空。 +% +% \begin{macrocode} + \@namedef{ustc@#1@@name}{#1}% + \def\ustc@@default{}% + \def\ustc@@choices{}% + \kv@define@key{ustc@value}{name}{% + \@namedef{ustc@#1@@name}{##1}% + }% + \kv@define@key{ustc@value}{code}{% + \@namedef{ustc@#1@@code}{##1}% + }% +% \end{macrocode} +% +% 由于在定义接口时,\cs{ustc@\meta{key}@@code} 不一定有定义, +% 而且在文档类/宏包中还有可能对该 |key| 的 |code| 进行添加。 +% 所以 \cs{ustc@\meta{key}@@code} 会检查如果在定义文档类/宏包时则推迟执行,否则立即执行。 +% +% \begin{macrocode} + \@namedef{ustc@#1@@check}{}% + \@namedef{ustc@#1@@code}{}% + \@namedef{ustc@#1@@hook}{% + \@nameuse{ustc@#1@@code}% + }% +% \end{macrocode} +% +% 保存下 |choices = {}| 定义的内容,在定义 \cs{ustc@\meta{name}} 后再执行。 +% +% \begin{macrocode} + \kv@define@key{ustc@value}{choices}{% + \def\ustc@@choices{##1}% + \@namedef{ustc@#1@@reset}{}% +% \end{macrocode} +% +% \cs{ustc@\meta{key}@check} 检查 |value| 是否有效, +% 并设置 \cs{ifustc@\meta{name}@\meta{value}}。 +% +% \begin{macrocode} + \@namedef{ustc@#1@@check}{% + \@ifundefined{% + ifustc@\@nameuse{ustc@#1@@name}@\@nameuse{ustc@\@nameuse{ustc@#1@@name}}% + }{% + \ustc@error{Invalid value "#1 = \@nameuse{ustc@\@nameuse{ustc@#1@@name}}"}% + }% + \@nameuse{ustc@#1@@reset}% + \@nameuse{ustc@\@nameuse{ustc@#1@@name}@\@nameuse{ustc@\@nameuse{ustc@#1@@name}}true}% + }% + }% + \kv@define@key{ustc@value}{default}{% + \def\ustc@@default{##1}% + }% + \kvsetkeys{ustc@value}{#2}% + \@namedef{ustc@\@nameuse{ustc@#1@@name}}{}% +% \end{macrocode} +% +% 第一个 \meta{choice} 设为 \meta{default}, +% 并且对每个 \meta{choice} 定义 \cs{ifustc@\meta{name}@\meta{choice}}。 +% +% \begin{macrocode} + \kv@set@family@handler{ustc@choice}{% + \ifx\ustc@@default\@empty + \def\ustc@@default{##1}% + \fi + \expandafter\newif\csname ifustc@\@nameuse{ustc@#1@@name}@##1\endcsname + \expandafter\g@addto@macro\csname ustc@#1@@reset\endcsname{% + \@nameuse{ustc@\@nameuse{ustc@#1@@name}@##1false}% + }% + }% + \kvsetkeys@expandafter{ustc@choice}{\ustc@@choices}% +% \end{macrocode} +% +% 将 \meta{default} 赋值到 \cs{ustc@\meta{name}},如果非空则执行相应的代码。 +% +% \begin{macrocode} + \expandafter\let\csname ustc@\@nameuse{ustc@#1@@name}\endcsname\ustc@@default + \expandafter\ifx\csname ustc@\@nameuse{ustc@#1@@name}\endcsname\@empty\else + \@nameuse{ustc@#1@@check}% + \@nameuse{ustc@#1@@hook}% + \fi +% \end{macrocode} +% +% 定义 \cs{ustcsetup} 接口。 +% +% \begin{macrocode} + \kv@define@key{ustc}{#1}{% + \@namedef{ustc@\@nameuse{ustc@#1@@name}}{##1}% + \@nameuse{ustc@#1@@check}% + \@nameuse{ustc@#1@@hook}% + }% +} +% \end{macrocode} +% +% 定义接口向 |key| 添加 |code|: +% +% \begin{macrocode} +\newcommand\ustc@addto[2]{% + \expandafter\g@addto@macro\csname ustc@#1@@code\endcsname{#2}% +} +% \end{macrocode} +% +% \begin{macrocode} \newif\ifustc@degree@graduate +\newcommand\ustc@set@graduate{% + \ifustc@degree@bachelor + \ustc@degree@graduatefalse + \else + \ustc@degree@graduatetrue + \fi +} +\ustc@define@key{ + degree = { + choices = { + doctor, + master, + bachelor, + }, + default = doctor, + code = {\ustc@set@graduate}, + }, + degree-type = { + name = degree@type, + choices = { + academic, + professional, + }, + default = academic, + }, + language = { + choices = { + chinese, + english, + }, + default = chinese, + }, + cite-style = { + name = cite@style, + choices = { + super, + inline, + authoryear, + }, + }, + output = { + choices = { + print, + electronic, + }, + default = print, + }, + section-style = { + name = section@style, + choices = { + chinese, + arabic, + }, + default = chinese, + }, + badge-color = { + name = badge@color, + choices = { + blue, + black, + }, + default = blue, + }, +} \ifustc@degree@bachelor - \ustc@degree@graduatefalse -\else - \ustc@degree@graduatetrue + \ifustc@language@english + \ustcsetup{section-style = arabic} + \fi \fi +\ustc@addto{language}{% + \ifustc@degree@bachelor + \ifustc@language@english + \ustcsetup{section-style = arabic}% + \fi + \fi +} +% \end{macrocode} +% +% 使用 \pkg{kvoptions} 提供的 key-value 接口, +% \begin{macrocode} +\SetupKeyvalOptions{ + family = ustc, + prefix = ustc@, + setkeys = \kvsetkeys, +} +% \end{macrocode} +% +% 载入 \cls{ctexbook}。 +% \begin{macrocode} +\PassOptionsToClass{openany}{ctexbook} +\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{ctexbook}} +\ProcessKeyvalOptions* % \end{macrocode} % % @@ -755,9 +957,6 @@ \RequirePackage[perpage]{footmisc} \RequirePackage{url} \RequirePackage{calc} -\ifustc@bib@style@numerical - \PassOptionsToPackage{sort&compress}{natbib} -\fi \RequirePackage{natbib} \RequirePackage{notoccite} % \end{macrocode} @@ -1207,37 +1406,111 @@ % \subsection{封面} % % \begin{macro}{\maketitle} -% 定义命令用于录入信息。 +% +% 定义用户接口: % \begin{macrocode} -\def\ustc@define@term#1#2#3{% - \expandafter\gdef\csname #2\endcsname##1{% - \expandafter\gdef\csname ustc@#1\endcsname{##1}% - }% - \csname #2\endcsname{#3}% +\ustc@define@key{ + title = { + default = {论文题目}, + }, + title* = { + default = {Title}, + name = title@en, + }, + author = { + default = {作者姓名}, + }, + author* = { + default = {Author Name}, + name = author@en, + }, + speciality = { + default = {专业}, + }, + speciality* = { + default = {Speciality}, + name = speciality@en, + }, + supervisor = { + default = {导师姓名}, + }, + supervisor* = { + default = {Supervisor Name}, + name = supervisor@en, + }, + date = { + default = {\the\year-\two@digits{\month}-\two@digits{\day}}, + }, + professional-type = { + name = professional@type, + }, + professional-type* = { + name = professional@type@en, + }, + secret-level = { + name = secret@level, + }, + secret-level* = { + name = secret@level@en, + }, + secret-year = { + name = secret@year, + }, + keywords, + keywords* = { + name = keywords@en, + }, } % \end{macrocode} % -% 定义用户接口: +% \begin{macro}{\ustc@clist@use} +% 导师一栏可能有多个姓名,所以用 \opt{supervisor} 进行收集, +% 然后使用本命令来输出要求的格式, +% 类似于 \LaTeX3 的 \cs{clist\_use:Nn}。 % \begin{macrocode} -\ustc@define@term{title}{title}{论文题目} -\ustc@define@term{author}{author}{XXX} -\ustc@define@term{speciality}{major}{XXX} -\ustc@define@term{supervisor}{supervisor}{XXX\quad 教授} -\ustc@define@term{cosupervisor}{cosupervisor}{} -\ustc@define@term{date@zh}{date}{\zhnumsetup{time=Chinese}\zhtoday} -\ustc@define@term{professional@type}{professionaltype}{专业学位类型} -\ustc@define@term{secret@level}{secretlevel}{} -\ustc@define@term{secret@year}{secretyear}{} -\ustc@define@term{title@en}{entitle}{Title} -\ustc@define@term{author@en}{enauthor}{XXX} -\ustc@define@term{speciality@en}{enmajor}{XXX} -\ustc@define@term{supervisor@en}{ensupervisor}{Prof. XXX} -\ustc@define@term{cosupervisor@en}{encosupervisor}{} -\ustc@define@term{date@en}{endate}{\CTEX@todayold} -\ustc@define@term{professional@type@en}{enprofessionaltype}{Professional degree type} -\ustc@define@term{secret@level@en}{ensecretlevel}{} -\ustc@define@term{keywords}{keywords}{} -\ustc@define@term{keywords@en}{enkeywords}{} +\newcommand\ustc@clist@count[1]{% + \csname clist_count:N\endcsname{#1}% +} +\newcommand\ustc@clist@use[2]{% + \csname clist_use:Nn\endcsname{#1}{#2}% +} +\newcommand\ustc@supervisor@names{% + \ustc@clist@use{\ustc@supervisor}{\quad} +} +\newcounter{ustc@count} +\newcommand\ustc@supervisor@en@line{% + \setcounter{ustc@count}{\ustc@clist@count{\ustc@supervisor@en}}% + \ifnum\c@ustc@count>1\relax + Supervisors:% + \else + Supervisor:% + \fi + \space\ustc@clist@use{\ustc@supervisor@en}{, }% +} +% \end{macrocode} +% \end{macro} +% +% 输出日期的给定格式:\cs{ustc@format@date}\marg{format}\marg{date}, +% 其中格式 \meta{format} 接受三个参数分别对应年、月、日, +% \meta{date} 是 ISO 格式的日期(yyyy-mm-dd)。 +% \begin{macrocode} +\newcommand\ustc@format@date[2]{% + \edef\ustc@@date{#2}% + \def\ustc@@process@date##1-##2-##3\@nil{% + #1{##1}{##2}{##3}% + }% + \expandafter\ustc@@process@date\ustc@@date\@nil +} +\newcommand\ustc@date@format@zh[3]{\zhdigits{#1}年\zhnumber{#2}月\zhnumber{#3}日} +\newcommand\ustc@date@month[1]{% + \ifcase\number#1\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December% + \fi +} +\newcommand\ustc@date@format@en[3]{\ustc@date@month{#2} \number#3, #1} +\newcommand\ustc@date@zh{\ustc@format@date{\ustc@date@format@zh}{\ustc@date}} +\newcommand\ustc@date@en{\ustc@format@date{\ustc@date@format@en}{\ustc@date}} % \end{macrocode} % % 定义一些常量。 @@ -1348,7 +1621,7 @@ \begin{tabular}{@{}l@{\hspace{\ccwd}}l@{}}% \textsf{作者姓名:} & \ustc@author \\ \textsf{\ustc@speciality@name:} & \ustc@speciality \\ - \textsf{导师姓名:} & \ustc@supervisor\quad\ustc@cosupervisor \\ + \textsf{导师姓名:} & \ustc@supervisor@names \\ \textsf{完成时间:} & \ustc@date@zh \end{tabular}\par}% \end{titlepage}% @@ -1356,17 +1629,6 @@ } % \end{macrocode} % -% 英文封面的 supervisor 一栏需要判断单复数 -% \begin{macrocode} -\newcommand\ustc@supervisorline{% - \ifx\ustc@cosupervisor@en\@empty - Supervisor: \ustc@supervisor@en - \else - Supervisors: \ustc@supervisor@en, \ustc@cosupervisor@en - \fi -} -% \end{macrocode} -% % 英文封面 % \begin{macrocode} \newcommand\ustc@makeentitle{% @@ -1402,7 +1664,7 @@ \begin{tabular}{@{}l@{}}% Author: \ustc@author@en \\ Speciality: \ustc@speciality@en \\ - \ustc@supervisorline \\ + \ustc@supervisor@en@line \\ Finished time: \ustc@date@en \end{tabular}\par}% \end{titlepage}% @@ -1461,9 +1723,9 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\makestatement} +% \begin{macro}{\copyrightpage} % \begin{macrocode} -\newcommand\makestatement{% +\newcommand\copyrightpage{% \begin{titlepage}% \ustc@pdfbookmark{原创性和授权使用声明}% \null @@ -1497,7 +1759,7 @@ \end{titlepage}% } \ifustc@degree@bachelor - \renewcommand\makestatement{} + \let\copyrightpage\relax \fi % \end{macrocode} % \end{macro} @@ -1736,6 +1998,12 @@ % 中文摘要环境。 % 判断 \cs{ustc@tocloaded} 是为了防止本科生未调整摘要位置时的目录页码缺失。 % \begin{macrocode} +\newcommand\ustc@keywords@text{% + \ustc@clist@use{\ustc@keywords}{;}% +} +\newcommand\ustc@keywords@en@text{% + \ustc@clist@use{\ustc@keywords@en}{; }% +} \newenvironment{abstract}{% \ustc@setchinese \ifustc@degree@graduate @@ -1748,7 +2016,7 @@ \fi }{ \par\null\par\noindent\hangindent=4\ccwd\relax - \textbf{关键词}:\ustc@keywords + \textbf{关键词}:\ustc@keywords@text\par \ustc@setdefaultlanguage } % \end{macrocode} @@ -1766,7 +2034,7 @@ \fi }{ \par\null\par\noindent\hangindent=5.3em\relax - \textbf{Key Words}: \ustc@keywords@en + \textbf{Key Words}: \ustc@keywords@en@text\par \ifustc@degree@graduate \cleardoublepage \fi @@ -2226,40 +2494,49 @@ % % \subsection{参考文献} % -% \begin{macro}{\citestyle} -% 定义接口切换引用文献的标注法,可用 \cs{citestyle} 调用 \opt{super} 、 -% \opt{authoryear} 或 \opt{numbers}。 +% 定义几种引用文献的标注法。 % \begin{macrocode} -\newcommand\bibstyle@super{\bibpunct{[}{]}{,}{s}{,}{\textsuperscript{,}}} -\newcommand\bibstyle@numbers{\bibpunct{[}{]}{,}{n}{,}{,}} -\newcommand\bibstyle@authoryear{\bibpunct{(}{)}{;}{a}{,}{,}} +\newcommand\bibstyle@super{% + \bibpunct{[}{]}{,}{s}{,}{\textsuperscript{,}}% + \gdef\NAT@sort{\@ne}% + \gdef\NAT@cmprs{\@ne}% +} +\newcommand\bibstyle@inline{% + \bibpunct{[}{]}{,}{n}{,}{,}% + \gdef\NAT@sort{\@ne}% + \gdef\NAT@cmprs{\@ne}% +} +\newcommand\bibstyle@authoryear{% + \bibpunct{(}{)}{;}{a}{,}{,}% + \gdef\NAT@sort{\z@}% + \gdef\NAT@cmprs{\z@}% +} % \end{macrocode} -% \end{macro} % -% 处理宏包选项。 +% 避免在 cite-style 接口的地方定义代码, +% 因为在导言区执行 \cs{citestyle} 会妨碍 \pkg{natbib} 的 \cs{bibstyle} +% 自动设置 \cs{citestyle}。 % \begin{macrocode} -\ifustc@degree@graduate - \ifustc@bib@style@numerical - \ifustc@cite@style@super - \citestyle{super} - \else - \citestyle{numbers} - \fi - \bibliographystyle{ustcthesis-numerical} - \else - \citestyle{authoryear} - \bibliographystyle{ustcthesis-authoryear} - \fi -\else - \ifustc@cite@style@super - \citestyle{super} - \else - \citestyle{numbers} - \fi - \bibliographystyle{ustcthesis-bachelor} -\fi +\ustc@addto{cite-style}{% + \citestyle{\ustc@cite@style}% +} % \end{macrocode} % +% 使用 \cs{bibliographystyle} 命令时自动切换为对应的引用风格。 +% \begin{macrocode} +\@namedef{bibstyle@ustcthesis-numerical}{\bibstyle@super} +\@namedef{bibstyle@ustcthesis-authoryear}{\bibstyle@authoryear} +\@namedef{bibstyle@ustcthesis-bachelor}{\bibstyle@super} +% \end{macrocode} +% +% \begin{macro}{\inlinecite} +% 如果文献序号作为叙述文字的一部分,需要临时将文献序号与正文平排 +% \begin{macrocode} +\DeclareRobustCommand\inlinecite{\@inlinecite} +\def\@inlinecite#1{\begingroup\let\@cite\NAT@citenum\citep{#1}\endgroup} +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\cite} % 下面修改引用标注的格式,主要是将页码写在上标位置。 % Numerical 模式的 \cs{citet} 的页码: @@ -2322,14 +2599,6 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\inlinecite} -% 如果文献序号作为叙述文字的一部分,需要临时将文献序号与 正文平排 -% \begin{macrocode} -\DeclareRobustCommand\inlinecite{\@inlinecite} -\def\@inlinecite#1{\begingroup\let\@cite\NAT@citenum\citep{#1}\endgroup} -% \end{macrocode} -% \end{macro} -% % \begin{environment}{thebibliography} % 参考文献列表格式:宋体 10.5 磅,行距 20 磅,续行缩进两字,左对齐。 % 本科生依然是小四宋体。 @@ -2347,7 +2616,6 @@ \renewcommand\bibsection{% \@mainmatterfalse \chapter{\bibname}% - \@mainmattertrue } % \end{macrocode} % \end{environment}