Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
N
NJUThesis
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to JiHu GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
NJU LUG
NJU LaTeX Templates
NJUThesis
Commits
1e419156
Commit
1e419156
authored
3 years ago
by
Yu Xiong
Browse files
Options
Downloads
Patches
Plain Diff
fix: 设置参考文献默认选项
- 在模板中进行相关设置,现在无需在\printbibliography后修改参数。 - 更改了说明文档中代码内容的呈现方式 - 修改说明文档的相关内容 - 代码缩进样式调整
parent
802e66ac
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
source/njuthesis.dtx
+207
-183
207 additions, 183 deletions
source/njuthesis.dtx
with
207 additions
and
183 deletions
source/njuthesis.dtx
+
207
−
183
View file @
1e419156
...
...
@@ -113,7 +113,7 @@ through XeTeX.
%<*driver>
\ProvidesFile{njuthesis.dtx}
\documentclass{ctxdoc}
\usepackage{floatrow,tabularray,njuvisual}
\usepackage{floatrow,
listings,
tabularray,njuvisual}
\usepackage[firstpage=true]{background}
\backgroundsetup{contents={\njuemblem[white!85!gray]{22cm}{!}},scale=1,angle=0,hshift=-4cm}
\setlist[1]{labelindent=0.5em}
...
...
@@ -121,6 +121,45 @@ through XeTeX.
\DefTblrTemplate{caption-tag}{default}{表\hspace{0.25em}\thetable}
\SetTblrStyle{caption-tag}{font=\bfseries}
\DefTblrTemplate{caption-sep}{default}{\quad}
\lstdefinestyle{style@base}
{
basewidth = 0.5 em,
gobble = 3,
lineskip = 3 pt,
frame = l,
framerule = 1 pt,
framesep = 0 pt,
xleftmargin = 2 em,
xrightmargin = 3 em,
escapeinside = {(*}{*)},
basicstyle = \small\ttfamily,
keywordstyle = \bfseries\color{njuviolet},
commentstyle = \itshape\color{white!50!gray},
stringstyle = \color{nju-chem-red},
backgroundcolor = \color{white!95!gray}
}
\lstdefinestyle{style@shell}
{
style = style@base,
rulecolor = \color{njumagenta},
language = bash,
alsoletter = {-},
emphstyle = \color{green}
}
\lstdefinestyle{style@latex}
{
style = style@base,
rulecolor = \color{njublue},
language = [LaTeX]TeX,
alsoletter = {*, -},
texcsstyle = *\color{njuviolet},
emphstyle = [1]\color{nju-ai-orange},
emphstyle = [2]\color{nju-cs-green}
}
\lstnewenvironment{shellexample}[1][]{%
\lstset{style=style@shell, #1}}{}
\lstnewenvironment{latexexample}[1][]{%
\lstset{style=style@latex, #1}}{}
\begin{document}
\DocInput{njuthesis.dtx}
\PrintChanges
...
...
@@ -154,6 +193,7 @@ through XeTeX.
% \changes{v0.12}{2021/11/28}{删除内置的 \pkg{njuvisual} 代码。}
% \changes{v0.12}{2021/11/29}{更新了说明文档封面设计。}
% \changes{v0.12}{2021/11/30}{区分测试文件和空白模板。}
% \changes{v0.12}{2021/12/06}{修改了说明文档的代码呈现样式。}
%
% \maketitle
%
...
...
@@ -252,9 +292,9 @@ through XeTeX.
% \ref{subsec:onlinecompile}。
% 您可以通过 \hologo{TeX}\,Live Manager 或者 \hologo{MiKTeX} Console 等图形化包管理器
% 直接安装并使用以上两个宏包最新的稳定版,也可以使用 \pkg{tlmgr} 的终端命令:
% \begin{
ctexexam}
% \begin{
shellexample}[morekeywords={tlmgr,install}]
% tlmgr install njuthesis njuvisual
% \end{
ctex
exam}
% \end{
shell
exam
ple
}
%
% 我们\emph{强烈建议}使用这一类安装方式。
%
...
...
@@ -380,22 +420,25 @@ through XeTeX.
% 编译命令具体为引擎名称加文件名,在编译 \file{.tex} 文件时,文件扩展名可以省略不写。
% 现阶段 \cls{njuthesis} 仅支持 \hologo{XeLaTeX} 与 \hologo{LuaLaTeX}。请注意,几种命令的输出文件基本相同,可以任取一种;但如果你不清楚这两种编译引擎的区别,我们建议优先使用|latexmk -xelatex|。
%
% \subparagraph{使用 \hologo{XeLaTeX}}
% \subparagraph{使用 \hologo{XeLaTeX}}
% 标准的 \hologo{XeLaTeX} 引擎编译方法。
%
% \begin{
ctexexam}
% \begin{
shellexample}[morekeywords={xelatex,biber}]
% xelatex njuthesis-sample
% biber njuthesis-sample
% xelatex njuthesis-sample
% xelatex njuthesis-sample
% \end{
ctex
exam}
% \end{
shell
exam
ple
}
%
% \subparagraph{使用 \hologo{LuaLaTeX}}
% \begin{ctexexam}
% 标准的 \hologo{LuaLaTeX} 引擎编译方法。
%
% \begin{shellexample}[morekeywords={lualatex,biber}]
% lualatex njuthesis-sample
% biber njuthesis-sample
% lualatex njuthesis-sample
% lualatex njuthesis-sample
% \end{
ctex
exam}
% \end{
shell
exam
ple
}
%
% \subparagraph{使用 \pkg{latexmk}}
% \href{https://mg.readthedocs.io/latexmk.html}{\pkg{latexmk}} 是一个基于 Perl 脚本的自动编译工具,宗旨是通过单一命令简化上述的多次编译流程。在使用该命令前,请确保安装了以下软件:
...
...
@@ -405,19 +448,19 @@ through XeTeX.
% \end{description}
%
% 该命令的使用方法为
% \begin{
ctexexam}
% \begin{
shellexample}[morekeywords={latexmk}]
% latexmk njuthesis-sample
% \end{
ctex
exam}
% \end{
shell
exam
ple
}
%
% 如需指定编译器,可以加入 |-xelatex| 或 |-lualatex| 参数,例如指定 \hologo{XeLaTeX} 的命令为
% \begin{
ctexexam}
% \begin{
shellexample}[morekeywords={latexmk,xelatex}]
% latexmk -xelatex njuthesis-sample
% \end{
ctex
exam}
% \end{
shell
exam
ple
}
%
% 此外可以选择使用以下命令清理编译生成的临时文件。
% \begin{
ctexexam}
% \begin{
shellexample}[morekeywords={latexmk}]
% latexmk -c
% \end{
ctex
exam}
% \end{
shell
exam
ple
}
%
% \subsection{在线编译}
% \label{subsec:onlinecompile}
...
...
@@ -454,31 +497,26 @@ through XeTeX.
%
% 典型的\cls{njuthesis}主文件结构应该如下所示:
%
% \begin{ctexexam}
% \documentclass[<options>]{njuthesis}
% \njusetup { info = {<info>} }
% \graphicspath{{figure/}}
% \addbibresource{njuthesis.bib}
% \begin{latexexample}[moretexcs={\njusetup,\graphicspath,\addbibresource,\maketitle,\tableofcontents,\listoffigures,\listoftables,\mainmatter,\chapter,\printbibliography,\appendix},emph={[1]document}]
% \documentclass{njuthesis}
% \njusetup{}
% \begin{document}
% \maketitle
% <abstract>
% <preface>
% \tableofcontents
% \listoffigures
% \listoftables
% \mainmatter
% <text>
% \printbibliography[heading=bibintoc,title=参考文献]
% <acknowledgement>
% \appendix
% <appendix>
% \chapter{欢迎}
% 使用 \hologo{LaTeX}
% \printbibliography
% \end{document}
% \end{
c
texexam}
% \end{
la
texexam
ple
}
%
% 如果你尝试编译上面的代码,会发现自己得到了一个5页的 PDF 文档,是一份空白的本科生论文。
% 当然,这个文档实际上没有任何内容,接下来将会介绍具体填写内容的方法。
%
%
% \subsection{模板选项}
%
% 模板选项位于\tn{documentclass}后的方括号内,用于指定模板的行为。
% 模板选项位于
\tn{documentclass}
后的方括号内,用于指定模板的行为。
% 下文中尖括号内列出了若干个允许的选项,其中加粗的为默认选项。
%
% \subsubsection{学位信息}
...
...
@@ -502,7 +540,6 @@ through XeTeX.
% type = <(thesis)|design>
% \end{syntax}
% 用于选择文档类型并将相关字段输出在封面和摘要页,可选值分别为毕业论文和毕业设计。
%
% \end{function}
%
%
...
...
@@ -718,7 +755,7 @@ through XeTeX.
%
% 本科生可以参考如下范例输入个人信息。注意不能有空行。
%
% \begin{
c
texexam
}
% \begin{
la
texexam
ple}[moretexcs={\njusetup},emph={[2]info}]
% \njusetup {
% info = {
% titlea = {第一行标题},
...
...
@@ -741,11 +778,11 @@ through XeTeX.
% submit-date = {2021年8月10日},
% }
% }
% \end{
c
texexam}
% \end{
la
texexam
ple
}
%
% 研究生可以参考如下列表输入个人信息
%
% \begin{
c
texexam
}
% \begin{
la
texexam
ple}[moretexcs={\njusetup},emph={[2]info}]
% \njusetup {
% info = {
% titlea = {第一行标题},
...
...
@@ -779,7 +816,7 @@ through XeTeX.
% supervisor-contact = {拉太赫科学与技术学院 枝江市结丘路 19 号 114514},
% }
% }
% \end{
c
texexam}
% \end{
la
texexam
ple
}
%
%
% \subsection{编写正文}
...
...
@@ -801,13 +838,6 @@ through XeTeX.
% \end{syntax}
% \pkg{ctex} 宏集提供了其中用于处理长标题的可选参数。对于过长的标题,目录中会使用其短描述。
% \end{function}
%
% \begin{ctexexam}
% \begin{document}
% \chapter[短描述]{我的标题}
% 我的正文
% \end{document}
% \end{ctexexam}
%
%
% \subsubsection{文字}
...
...
@@ -840,29 +870,29 @@ through XeTeX.
%
% 下面这个例子展示了如何插入一张名称为\file{myfig.jpg},宽度占页面文字宽度一半的图片。注意标签命令\tn{label}必须放在图注命令\tn{caption}之后。
%
% \begin{
c
texexam
}
% \begin{
la
texexam
ple}[moretexcs={\includegraphics},emph={[1]figure}]
% \begin{figure}[h]
% \includegraphics[width=0.5\textwidth]{myfig}
% \caption{我的图}
% \label{fig:myfig}
% \end{figure}
% \end{
c
texexam}
% \end{
la
texexam
ple
}
%
%
% 对于较为瘦长,或者仅起到辅助作用的图像,可以使用\env{wrapfigure}实现文字环绕效果。注意这个环境后紧跟的一行不能为空。
%
% \begin{
c
texexam
}
% \begin{
la
texexam
ple}[moretexcs={\includegraphics},emph={[1]wrapfigure}]
% \begin{wrapfigure}{r}{0cm}
% \includegraphics[width=0.15\textwidth]{myfig}
% \caption{我的图}
% \label{fig:myfig}
% \end{wrapfigure}
% <text>
% \end{
c
texexam}
% \end{
la
texexam
ple
}
%
% 使用 \pkg{caption} 内置的 \pkg{subcaption} 提供 \env{subfigure} 环境,实现多张图片并排的效果。较为老旧的 \pkg{subfigure} 并不在此受到支持。
%
% \begin{
c
texexam
}
% \begin{
la
texexam
ple}[moretexcs={\includegraphics},emph={[1]figure,subfigure}]
% \begin{figure}
% \begin{subfigure}{.32\textwidth}
% \centering
...
...
@@ -881,13 +911,13 @@ through XeTeX.
% \end{subfigure}
% \caption{subfigures}
% \end{figure}
% \end{
c
texexam}
% \end{
la
texexam
ple
}
%
%
% \subsubsection{表格}
%
% 下面这个例子展示了如何插入一张表格。通过 \pkg{booktabs} 提供的 \tn{toprule}、\tn{midrule} 和 \tn{bottomrule},我们可以很轻松地绘制出一张漂亮规范的三线表。
% \begin{
c
texexam
}
% \begin{
la
texexam
ple}[moretexcs={\toprule,\midrule,\bottomrule},emph={[1]table,tabular}]
% \begin{table}[htbp]
% \caption{我的表}
% \label{tab:testtab}
...
...
@@ -899,7 +929,7 @@ through XeTeX.
% \bottomrule
% \end{tabular}
% \end{table}
% \end{
c
texexam}
% \end{
la
texexam
ple
}
%
% \begin{function}{\multirow,\multicolumn}
% \begin{syntax}
...
...
@@ -915,11 +945,11 @@ through XeTeX.
% \subsubsection{代码}
%
% 由\pkg{listings}提供代码排版。代码块\env{lstlisting},注意这个环境中的缩进空格会如实输出
% \begin{
c
texexam
}
% \begin{
la
texexam
ple}[emph={[1]lstlisting}]
% \begin{lstlisting}
% <code>
% \end{lstlisting}
% \end{
c
texexam}
% \end{
la
texexam
ple
}
%
% 行间代码可以使用抄录环境 \tn{verb} (或者 \pkg{listings} 提供的 \tn{lstinline}),
% 格式如 |\verb!<code>!|。其中包裹代码的两个感叹号并不是绝对的,可以替换成任何两个相同的没有在这段代码中出现过的符号。
...
...
@@ -932,27 +962,27 @@ through XeTeX.
% 行内公式形如|$\mathrm{e}^{(a+2b)x}$|
%
% 带有编号的行间公式\env{equation}
% \begin{
c
texexam
}
% \begin{
la
texexam
ple}[emph={[1]equation}]
% \begin{equation}\label{eq:myeqlabel}
% \pi
% \end{equation}
% \end{
c
texexam}
% \end{
la
texexam
ple
}
%
% 如不需要编号,可以用\env{equation*}或者 |\[<eq>\]|
%
% 本模板也提供了一系列的数学环境。证明环境会在结尾添加证毕符号。
% \begin{
c
texexam}
% \begin{
la
texexam
ple
}
% \begin{proof}
% 证明我是我
% \end{proof}
% \end{
c
texexam}
% \end{
la
texexam
ple
}
%
% 普通环境
% \begin{
c
texexam}
% \begin{
la
texexam
ple
}
% \begin{definition}[他人]
% 定义他人即地狱
% \end{definition}
% \end{
c
texexam}
% \end{
la
texexam
ple
}
%
%
% \subsubsection{引用}
...
...
@@ -979,7 +1009,7 @@ through XeTeX.
%
% \subsection{特殊页面}
%
% 本模板还提供一系列环境用于生成所需的特殊页面
% 本模板还提供一系列
命令与
环境用于生成所需的特殊页面
。
%
% \subsubsection{封面}
%
...
...
@@ -993,15 +1023,15 @@ through XeTeX.
% \subsubsection{摘要页}
% \changes{v0.11}{2021/10/01}{简化了摘要的编写方式。}
%
% \begin{
c
texexam
}
% \begin{
la
texexam
ple}[emph={[1]abstract,abstract*}]
% \begin{abstract}
% 我的中文摘要
% \end{abstract}
%
% \begin{abstract*}
%
My a
bstract in English
%
A
bstract in English
% \end{abstract*}
% \end{
c
texexam}
% \end{
la
texexam
ple
}
%
%
% \subsubsection{前言页}
...
...
@@ -1010,7 +1040,7 @@ through XeTeX.
% 使用\env{preface}环境定义
% \end{function}
%
% \begin{
c
texexam
}
% \begin{
la
texexam
ple}[emph={[1]preface,flushright}]
% \begin{preface}
% 我的前言
% \vspace{1cm}
...
...
@@ -1019,7 +1049,7 @@ through XeTeX.
% 时间地点
% \end{flushright}
% \end{preface}
% \end{
c
texexam}
% \end{
la
texexam
ple
}
%
% \subsubsection{目录页}
%
...
...
@@ -1034,30 +1064,18 @@ through XeTeX.
% 同前言,使用\env{acknowledgement}环境
% \end{function}
%
% \begin{
c
texexam
}
% \begin{
la
texexam
ple}[emph={[1]acknowledgement}]
% \begin{acknowledgement}
% 感谢NJU LUG
% \end{acknowledgement}
% \end{ctexexam}
%
%
% \subsubsection{参考文献页}
%
% 使用以下命令,\opt{bibintoc}可以将参考文献页插入目录
%
% \begin{ctexexam}
% \printbibliography[heading=bibintoc,title=参考文献]
% \end{ctexexam}
% \end{latexexample}
%
%
% \subsubsection{附录页}
%
% \begin{function}{\appendix}
%
% 附录放在本命令后,以英文字母进行编号,编写方式同正文
% \end{function}
%
% 是否需要索引?
%
%
% \subsubsection{成果列表}
...
...
@@ -1071,27 +1089,21 @@ through XeTeX.
%
% \subsection{参考文献}
%
% 符合GB7714-2015规范。使用\hologo{biber}作为
\hologo{BibTeX}
后端。需要使用|biber|命令手动编译才会显示
% 符合GB7714-2015规范。使用\hologo{biber}作为后端。需要使用
|biber|
命令手动编译才会显示
%
% \begin{function}{\addbibresource}
% \begin{syntax}
% \tn{addbibresource}\Arg{文件}
% \end{syntax}
%
% 默认参考文献存储于主目录下的\file{njuthesis.bib},直接向其中粘贴新的参考文献即可。如果希望额外添加参考文献列表,可以在导言区中多次调用\tn{addbibresource}命令。注意本命令与|\bibliography{bibfile1,bibfile2}|不同,不可以用逗号分隔多个输入文件,且必须使用带扩展名的完整文件名。
% 添加参考文献源文件。
% \end{function}
%
%
% \subsubsection{使用EndNote}
%
% 南京大学信息化建设管理服务中心已购买\href{https://itsc.nju.edu.cn/EndNote/list.htm}{EndNote}供全校师生免费试用,最新版为EndNote 20。
% 示例参考文献存储于 \file{njuthesis-sample.bib},直接向其中粘贴新的参考文献即可。如果希望额外添加参考文献列表,可以在导言区中多次调用 \tn{addbibresource} 命令。注意本命令与 |\bibliography{bibfile1,bibfile2}| 不同,不可以用逗号分隔多个输入文件,且必须使用带扩展名的完整文件名。
%
% \begin{function}{\printbibliography}
% 生成参考文献列表页面。
% \end{function}
%
% \subsubsection{使用Zotero}
%
% \href{https://www.zotero.org/}{Zotero}是一款免费的文献管理软件,支持所有桌面平台。
%
% 在保持Zotero程序运行的情况下,点击浏览器工具栏的Zotero Connector插件即可自动从网页抓取参考文件信息。Zotero可以通过\href{https://github.com/l0o0/jasminum}{jasminum插件}支持中文参考文献的识别。在选中希望使用的文献后右键导出文献条目即可生成\file{.bib}文件。
%
% \subsubsection{文段内引用}
%
...
...
@@ -1103,23 +1115,39 @@ through XeTeX.
% \end{syntax}
% 引用文献
% \end{function}
%
%
% \subsubsection{文献管理}
%
% \subparagraph{使用EndNote}
%
% 南京大学信息化建设管理服务中心已购买\href{https://itsc.nju.edu.cn/EndNote/list.htm}{EndNote}供全校师生免费试用,最新版为EndNote 20。
%
%
% \subparagraph{使用Zotero}
%
% \href{https://www.zotero.org/}{Zotero}是一款免费的文献管理软件,支持所有桌面平台。
%
% 在保持Zotero程序运行的情况下,点击浏览器工具栏的Zotero Connector插件即可自动从网页抓取参考文件信息。Zotero可以通过\href{https://github.com/l0o0/jasminum}{jasminum插件}支持中文参考文献的识别。在选中希望使用的文献后右键导出文献条目即可生成\file{.bib}文件。
%
%
% \subsection{视觉识别系统}
%
% 视觉识别系统 \pkg{njuvisual} 现已被分离为独立宏包,基本使用方法举例如下:
% \begin{
c
texexam
}
% \begin{
la
texexam
ple}[moretexcs={\njuemblem}]
% \njuemblem{!}{3cm} % 默认生成指定大小的紫色南大校徽
% \njuname{4cm}{!} % 默认生成指定大小的紫色南大中文校名
% \njuname*{4cm}{!} % 默认生成指定大小的紫色南大英文校名
% \njuemblem[black]{!}{3cm} % 黑色的南大校徽
% \njuemblem[department=dii]{!}{4cm} % 紫色匡院徽标
% \njuemblem[department=cs,color=blue]{!}{3cm} % 纯蓝色计科徽标
% \end{
c
texexam}
% \end{
la
texexam
ple
}
%
% 本宏包的详细使用方法请参考其\href{http://mirrors.ctan.org/macros/latex/contrib/njuvisual/njuvisual.pdf}{说明文档}。
%
% \end{documentation}
%
%
% \begin{implementation}
%
% \section{代码实现}
...
...
@@ -1134,9 +1162,9 @@ through XeTeX.
% “|*|”和“|/|”的 guard 出现在行号右侧,它们用来确定
% 单独一行代码的归属。这些 guard 的颜色深浅不一,用以明确嵌套关系。
%
% 另有若干包含|@@|的guard,
在 \pkg{l3docstrip} 中
表示名空间(模块)。
% 在删除注释生成格式文件时,变量名称中的|@@|会被等号后的字段替换,
% 譬如在本模板\cls{njuthesis}中 |@@=nju|。
% 另有若干包含
|@@|
的guard,
用以
表示名空间(模块)。
% 在删除注释生成格式文件时,变量名称中的
|@@|
会被等号后的字段替换,
% 譬如在本模板
\cls{njuthesis}
中 |@@=nju|。
%
%
% \subsection{准备}
...
...
@@ -1269,53 +1297,53 @@ through XeTeX.
% 学位信息的设置
% \begin{macrocode}
\keys_define:nn { nju }
{
{
% \end{macrocode}
%
% \begin{macro}{degree}
% 学位类型。
% \begin{macrocode}
degree .choices:nn =
{ ug, mg, mf, phd }
{ \int_set_eq:NN \g_@@_info_degree_int \l_keys_choice_int
degree .choices:nn =
{ ug, mg, mf, phd }
{ \int_set_eq:NN \g_@@_info_degree_int \l_keys_choice_int
% \end{macrocode}
% 进行学位的判断。
% \begin{macrocode}
\int_compare:nTF { \g_@@_info_degree_int == 1 }
{ \tl_set:Nn \g_@@_info_diploma_tl { ug } }
{ \tl_set:Nn \g_@@_info_diploma_tl { g } } },
degree .initial:n = ug,
\int_compare:nTF { \g_@@_info_degree_int == 1 }
{ \tl_set:Nn \g_@@_info_diploma_tl { ug } }
{ \tl_set:Nn \g_@@_info_diploma_tl { g } } },
degree .initial:n = ug,
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{type}
% 论文类型。
% \begin{macrocode}
type .choices:nn =
{ thesis, design }
{ \int_set_eq:NN \g_@@_info_type_int \l_keys_choice_int },
type .initial:n = thesis,
type .choices:nn =
{ thesis, design }
{ \int_set_eq:NN \g_@@_info_type_int \l_keys_choice_int },
type .initial:n = thesis,
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{nlcover}
% 是否需要国家图书馆封面的设置。
% \begin{macrocode}
nlcover .bool_set:N = \g_@@_nlcover_bool,
nlcover .initial:n = false,
nlcover .bool_set:N = \g_@@_nlcover_bool,
nlcover .initial:n = false,
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{customlatinfont,customchinesefont}
% 定义字体选项
% \begin{macrocode}
customlatinfont .choices:nn =
{ gyre, macos, windows, none }
{ \tl_set_eq:NN \g_@@_latin_fontset_tl \l_keys_choice_tl },
customchinesefont .choices:nn =
{ fandol, founder, macos, noto, windows, none }
{ \tl_set_eq:NN \g_@@_cjk_fontset_tl \l_keys_choice_tl },
}
customlatinfont .choices:nn =
{ gyre, macos, windows, none }
{ \tl_set_eq:NN \g_@@_latin_fontset_tl \l_keys_choice_tl },
customchinesefont .choices:nn =
{ fandol, founder, macos, noto, windows, none }
{ \tl_set_eq:NN \g_@@_cjk_fontset_tl \l_keys_choice_tl },
}
% \end{macrocode}
% \end{macro}
%
...
...
@@ -1330,24 +1358,21 @@ through XeTeX.
% \subsection{个人信息}
% 输入个人信息的区域。
% \begin{macrocode}
\keys_define:nn { nju }
{
info.meta:nn = { nju / info } { #1 }
}
\keys_define:nn { nju } { info.meta:nn = { nju / info } { #1 } }
% \end{macrocode}
%
% \begin{macrocode}
\keys_define:nn { nju / info }
{
{
% \end{macrocode}
%
% \begin{macro}{info/titlea,info/titleb,info/titlec,info/title*}
% 题目。以下标注星号(*)的为对应的英文字段。
% \begin{macrocode}
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,
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}
% \end{macro}
%
...
...
@@ -1355,78 +1380,78 @@ through XeTeX.
% \changes{v0.11}{2021/10/01}{修改了添加关键词的方式。}
% 关键词列表。
% \begin{macrocode}
keywords .clist_set:N = \l_@@_info_keywords_clist,
keywords* .clist_set:N = \l_@@_info_keywords_en_clist,
keywords .clist_set:N = \l_@@_info_keywords_clist,
keywords* .clist_set:N = \l_@@_info_keywords_en_clist,
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{info/grade,info/student-id,info/author,info/author*}
% 年级、学号、姓名。
% \begin{macrocode}
grade .tl_set:N = \l_@@_info_grade_tl,
student-id .tl_set:N = \l_@@_info_id_tl,
author .tl_set:N = \l_@@_info_author_tl,
author* .tl_set:N = \l_@@_info_author_en_tl,
grade .tl_set:N = \l_@@_info_grade_tl,
student-id .tl_set:N = \l_@@_info_id_tl,
author .tl_set:N = \l_@@_info_author_tl,
author* .tl_set:N = \l_@@_info_author_en_tl,
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{info/department,info/department*,info/major,info/major*,info/field,info/field*}
% 院系、专业、方向。
% \begin{macrocode}
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,
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}
% \end{macro}
%
% \begin{macro}{info/supervisora,info/supervisora*,info/supervisora-title,info/supervisora-title*}
% 导师
% \begin{macrocode}
supervisora .tl_set:N = \l_@@_info_supv_a_tl,
supervisora* .tl_set:N = \l_@@_info_supv_a_en_tl,
supervisora-title .tl_set:N = \l_@@_info_supv_a_title_tl,
supervisora-title*.tl_set:N = \l_@@_info_supv_a_title_en_tl,
supervisora .tl_set:N = \l_@@_info_supv_a_tl,
supervisora* .tl_set:N = \l_@@_info_supv_a_en_tl,
supervisora-title .tl_set:N = \l_@@_info_supv_a_title_tl,
supervisora-title*.tl_set:N = \l_@@_info_supv_a_title_en_tl,
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{info/supervisorb,info/supervisorb*,info/supervisorb-title,info/supervisorb-title*}
% 第二导师
% \begin{macrocode}
supervisorb .tl_set:N = \l_@@_info_supv_b_tl,
supervisorb* .tl_set:N = \l_@@_info_supv_b_en_tl,
supervisorb-title .tl_set:N = \l_@@_info_supv_b_title_tl,
supervisorb-title*.tl_set:N = \l_@@_info_supv_b_title_en_tl,
supervisorb .tl_set:N = \l_@@_info_supv_b_tl,
supervisorb* .tl_set:N = \l_@@_info_supv_b_en_tl,
supervisorb-title .tl_set:N = \l_@@_info_supv_b_title_tl,
supervisorb-title*.tl_set:N = \l_@@_info_supv_b_title_en_tl,
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{info/submit-date,info/submit-date*}
% 提交日期
% \begin{macrocode}
submit-date .tl_set:N = \l_@@_submit_date_tl,
submit-date* .tl_set:N = \l_@@_submit_date_en_tl,
submit-date .tl_set:N = \l_@@_submit_date_tl,
submit-date* .tl_set:N = \l_@@_submit_date_en_tl,
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{info/defend-date,info/chairman,info/reviewer}
% 答辩信息。
% \begin{macrocode}
defend-date .tl_set:N = \l_@@_defend_date_tl,
chairman .tl_set:N = \l_@@_info_chairman_tl,
reviewer .clist_set:N = \l_@@_info_reviewer_clist,
defend-date .tl_set:N = \l_@@_defend_date_tl,
chairman .tl_set:N = \l_@@_info_chairman_tl,
reviewer .clist_set:N = \l_@@_info_reviewer_clist,
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{info/clc,info/secret-level,info/udc,info/supervisor-contact}
% 国家图书馆封面相关信息。
% \begin{macrocode}
clc .tl_set:N = \l_@@_info_clc_tl,
secret-level .tl_set:N = \l_@@_info_seclv_tl,
udc .tl_set:N = \l_@@_info_udc_tl,
supervisor-contact.tl_set:N = \l_@@_info_supv_cont_tl,
}
clc .tl_set:N = \l_@@_info_clc_tl,
secret-level .tl_set:N = \l_@@_info_seclv_tl,
udc .tl_set:N = \l_@@_info_udc_tl,
supervisor-contact.tl_set:N = \l_@@_info_supv_cont_tl,
}
% \end{macrocode}
% \end{macro}
%
...
...
@@ -1435,8 +1460,7 @@ keywords* .clist_set:N = \l_@@_info_keywords_en_clist,
% \changes{v0.11}{2021/10/01}{将个人信息变量名改为小写字母加连字符的形式。}
% 定义用于设置个人信息的命令
% \begin{macrocode}
\NewDocumentCommand \njusetup { m }
{ \keys_set:nn { nju } { #1 } }
\NewDocumentCommand \njusetup { m } { \keys_set:nn { nju } { #1 } }
% \end{macrocode}
% \end{macro}
%
...
...
@@ -1467,29 +1491,19 @@ keywords* .clist_set:N = \l_@@_info_keywords_en_clist,
% \pkg{emptypage}用于清除空白页的页码。
% \begin{macrocode}
\RequirePackage
{
geometry,
caption,
floatrow,
setspace,
emptypage,
fancyhdr,
}
{
geometry,
caption,
floatrow,
setspace,
emptypage,
fancyhdr,
hologo
}
\RequirePackage[titles]{tocloft}
\RequirePackage[hyphens]{url} % generate better linebreaks in the url
% \end{macrocode}
%
% 用于生成可以被插入书签的LaTeX logo,TODO: 使用hologo创建|latex{}|命令
% \begin{macrocode}
\RequirePackage{hologo}
% \end{macrocode}
%
% \begin{macrocode}
% Required to prevent page break right after a sectioning command
% \RequirePackage{needspace}
% \RequirePackage{xspace} % Better print trailing whitespace
% \end{macrocode}
%
% \begin{macro}{\njuline}
% 针对编译引擎,使用不同的宏包构建可以对中文正常换行的下划线命令。\pkg{lua-ul} 中需要在结尾使用\tn{null}保护尾部空白。
% \begin{macrocode}
...
...
@@ -1583,10 +1597,10 @@ keywords* .clist_set:N = \l_@@_info_keywords_en_clist,
% \begin{macrocode}
\tl_if_empty:NTF \g_@@_latin_fontset_tl
{ \bool_gset_true:N \g_@@_load_system_fontset_bool }
{
\tl_if_empty:NT \g_@@_cjk_fontset_tl
{ \bool_gset_true:N \g_@@_load_system_fontset_bool }
}
{
\tl_if_empty:NT \g_@@_cjk_fontset_tl
{ \bool_gset_true:N \g_@@_load_system_fontset_bool }
}
% \end{macrocode}
%
% 进行系统检测。
...
...
@@ -1950,7 +1964,7 @@ keywords* .clist_set:N = \l_@@_info_keywords_en_clist,
% \end{macrocode}
%
% \begin{macro}{\tableofcontents}
% 重定义目录命令,修改标题格式并插入书签。
% 重定义目录命令,修改标题格式并插入书签。
% \begin{macrocode}
\RenewDocumentCommand \tableofcontents { }
{
...
...
@@ -2045,7 +2059,7 @@ keywords* .clist_set:N = \l_@@_info_keywords_en_clist,
% \end{macro}
%
% \subsection{参考文献}
%
%
% biblatex设置
% \begin{macrocode}
\RequirePackage[
...
...
@@ -2075,6 +2089,16 @@ keywords* .clist_set:N = \l_@@_info_keywords_en_clist,
]{biblatex}
% \end{macrocode}
%
% \changes{v0.12}{2021/12/06}{设置输出参考文献的默认选项。}
% 设置参考文献名称
% \begin{macrocode}
\ctexset{ bibname = {参考文献} }
% \end{macrocode}
% 将参考文献插入目录
% \begin{macrocode}
\DeclarePrintbibliographyDefaults{ heading = bibintoc }
% \end{macrocode}
%
% 忽略不需要的文献信息。
% \begin{macrocode}
\AtEveryBibitem{
...
...
@@ -2119,7 +2143,7 @@ keywords* .clist_set:N = \l_@@_info_keywords_en_clist,
% \crefname{assumption}{假设}{假设}
% \end{macrocode}
%
% \pkg{hyperref}
% \pkg{hyperref}
覆写了大量命令,因此需要在最后载入。
% \changes{v0.11}{2021/10/01}{写入PDF元数据。}
% \begin{macrocode}
\ctex_at_end_preamble:n
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment