Skip to content
Snippets Groups Projects
Commit a8663993 authored by Yu Xiong's avatar Yu Xiong :confounded:
Browse files

feat: 主要代码转为Docstrip,开始编辑说明文档

parent ae482a45
No related branches found
No related tags found
No related merge requests found
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
"name": "makedoc", "name": "makedoc",
"command": "latexmk", "command": "latexmk",
"args": [ "args": [
"-pv", "-xelatex",
"njuthesis.dtx" "njuthesis.dtx"
] ]
} }
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
从0.9.0版以后,本模板以DocStrip(`.dtx`)格式进行维护,同时在仓库提供`.cls`文件以降低使用门槛。 从0.9.0版以后,本模板以DocStrip(`.dtx`)格式进行维护,同时在仓库提供`.cls`文件以降低使用门槛。
### 使用DocStrip文件 ### 如何使用DocStrip文件
DocStrip合并了LaTeX源代码和文档,更有利于宏包的发布。要使用该文件,请在当前工作目录下打开终端: DocStrip合并了LaTeX源代码和文档,更有利于宏包的发布。要使用该文件,请在当前工作目录下打开终端:
...@@ -39,8 +39,8 @@ DocStrip合并了LaTeX源代码和文档,更有利于宏包的发布。要使 ...@@ -39,8 +39,8 @@ DocStrip合并了LaTeX源代码和文档,更有利于宏包的发布。要使
### [南大TeX](https://tex.nju.edu.cn)编译 ### [南大TeX](https://tex.nju.edu.cn)编译
1. 从release下载包含[模板全部文件](https://github.com/nju-lug/NJUThesis/releases/latest)压缩包 1. 从release下载包含[模板全部文件](https://github.com/nju-lug/NJUThesis/releases/latest)`njuthesis.zip`
2. 登录[南大TeX](https://tex.nju.edu.cn),点击New Project -> Upload Project上传刚刚得到的zip文件,上传后`njuthesis-sample.tex``njuthesis.cls`等文件应在根目录,0.9.0以后的目录结构如下所示: 2. 登录[南大TeX](https://tex.nju.edu.cn),点击New Project -> Upload Project上传刚刚得到的压缩包,上传后`njuthesis-sample.tex``njuthesis.cls`等文件应在根目录,0.9.0以后的目录结构如下所示:
```shell ```shell
NJUThesis-master/ NJUThesis-master/
......
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% NJU Thesis % NJU Thesis
% 南京大学毕业论文LaTeX模板 % 南京大学毕业论文LaTeX模板
% Version 0.9.0 (2021-09-14) % Version 0.9.0 (2021-09-15)
% %
% 请关注项目地址以获取最新变化 % 请关注项目地址以获取最新变化
% https://github.com/nju-lug/NJUThesis % https://github.com/nju-lug/NJUThesis
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
%% %%
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3} \RequirePackage{expl3}
\GetIdInfo $Id: njuthesis.dtx 0.9.0 2020-09-14 12:00:00 +0800 NJU LUG <my@yaoge123.com> $ \GetIdInfo $Id: njuthesis.dtx 0.9.0 2020-09-15 12:00:00 +0800 NJU LUG <my@yaoge123.com> $
{Thesis template for Nanjing University} {Thesis template for Nanjing University}
\ProvidesExplClass{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} \ProvidesExplClass{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
\LoadClass[ \LoadClass[
...@@ -75,19 +75,15 @@ ...@@ -75,19 +75,15 @@
MajorEN .tl_set:N = \nju_major_en, MajorEN .tl_set:N = \nju_major_en,
Field .tl_set:N = \nju_field, Field .tl_set:N = \nju_field,
FieldEN .tl_set:N = \nju_field_en, FieldEN .tl_set:N = \nju_field_en,
% 导师
MentorA .tl_set:N = \nju_mentor_a, MentorA .tl_set:N = \nju_mentor_a,
MentorAEN .tl_set:N = \nju_mentor_a_en, MentorAEN .tl_set:N = \nju_mentor_a_en,
MentorATitle .tl_set:N = \nju_mentor_a_title, MentorATitle .tl_set:N = \nju_mentor_a_title,
MentorATitleEN .tl_set:N = \nju_mentor_a_title_en, MentorATitleEN .tl_set:N = \nju_mentor_a_title_en,
% 第二导师
MentorB .tl_set:N = \nju_mentor_b, MentorB .tl_set:N = \nju_mentor_b,
MentorBEN .tl_set:N = \nju_mentor_b_en, MentorBEN .tl_set:N = \nju_mentor_b_en,
MentorBTitle .tl_set:N = \nju_mentor_b_title, MentorBTitle .tl_set:N = \nju_mentor_b_title,
MentorBTitleEN .tl_set:N = \nju_mentor_b_title_en, MentorBTitleEN .tl_set:N = \nju_mentor_b_title_en,
% 提交日期
SubmitDate .tl_set:N = \nju_submit_date, SubmitDate .tl_set:N = \nju_submit_date,
% 答辩
DefendDate .tl_set:N = \nju_defend_date, DefendDate .tl_set:N = \nju_defend_date,
ReviewerChairman .tl_set:N = \nju_reviewer_chairman, ReviewerChairman .tl_set:N = \nju_reviewer_chairman,
ReviewerA .tl_set:N = \nju_reviewer_a, ReviewerA .tl_set:N = \nju_reviewer_a,
...@@ -127,7 +123,7 @@ ...@@ -127,7 +123,7 @@
\RequirePackage{multicol} % Multiple columns in dictionary \RequirePackage{multicol} % Multiple columns in dictionary
\RequirePackage{siunitx} % 用于书写单位符号 \RequirePackage{siunitx} % 用于书写单位符号
\RequirePackage[version=4]{mhchem} % 用于绘制分子式 \RequirePackage[version=4]{mhchem} % 用于绘制分子式
\RequirePackage{hologo} % 用于生成可以被插入书签的LaTeX logo \RequirePackage{hologo}
\sys_if_engine_xetex:T \sys_if_engine_xetex:T
{ {
\RequirePackage{microtype} \RequirePackage{microtype}
...@@ -149,8 +145,8 @@ ...@@ -149,8 +145,8 @@
% For windows. % For windows.
% Shipped with the best `grinning-face-with-sweat' support. % Shipped with the best `grinning-face-with-sweat' support.
} }
\RequirePackage{blindtext} % 生成用于测试的大段无意义英文文字 \RequirePackage{blindtext}
\RequirePackage{zhlipsum} % 生成用于测试的大段无意义中文文字 \RequirePackage{zhlipsum}
\RequirePackage{amsmath} % Must be loaded before unicode-math \RequirePackage{amsmath} % Must be loaded before unicode-math
\RequirePackage{amsthm} % Mathematical environments \RequirePackage{amsthm} % Mathematical environments
\RequirePackage{mathtools} % Mathematical tools to use with amsmath \RequirePackage{mathtools} % Mathematical tools to use with amsmath
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
从0.9.0版以后,本模板以DocStrip(`.dtx`)格式进行维护,同时在仓库提供`.cls`文件以降低使用门槛。 从0.9.0版以后,本模板以DocStrip(`.dtx`)格式进行维护,同时在仓库提供`.cls`文件以降低使用门槛。
### 使用DocStrip文件 ### 如何使用DocStrip文件
DocStrip合并了LaTeX源代码和文档,更有利于宏包的发布。要使用该文件,请在当前工作目录下打开终端: DocStrip合并了LaTeX源代码和文档,更有利于宏包的发布。要使用该文件,请在当前工作目录下打开终端:
...@@ -65,8 +65,8 @@ DocStrip合并了LaTeX源代码和文档,更有利于宏包的发布。要使 ...@@ -65,8 +65,8 @@ DocStrip合并了LaTeX源代码和文档,更有利于宏包的发布。要使
### [南大TeX](https://tex.nju.edu.cn)编译 ### [南大TeX](https://tex.nju.edu.cn)编译
1. 从release下载包含[模板全部文件](https://github.com/nju-lug/NJUThesis/releases/latest)的压缩包 1. 从release下载包含[模板全部文件](https://github.com/nju-lug/NJUThesis/releases/latest)的`njuthesis.zip`
2. 登录[南大TeX](https://tex.nju.edu.cn),点击New Project -> Upload Project上传刚刚得到的zip文件,上传后`njuthesis-sample.tex`、`njuthesis.cls`等文件应在根目录,0.9.0以后的目录结构如下所示: 2. 登录[南大TeX](https://tex.nju.edu.cn),点击New Project -> Upload Project上传刚刚得到的压缩包,上传后`njuthesis-sample.tex`、`njuthesis.cls`等文件应在根目录,0.9.0以后的目录结构如下所示:
```shell ```shell
NJUThesis-master/ NJUThesis-master/
...@@ -79,7 +79,7 @@ DocStrip合并了LaTeX源代码和文档,更有利于宏包的发布。要使 ...@@ -79,7 +79,7 @@ DocStrip合并了LaTeX源代码和文档,更有利于宏包的发布。要使
│ njuthesis.cls │ njuthesis.cls
│ njuthesis-sample.tex │ njuthesis-sample.tex
``` ```
3. 在南大TeX项目内页面左上角的`Menu`中,将编译器改为`XeLaTeX` 3. 在南大TeX项目内页面左上角的`Menu`中,将编译器改为`XeLaTeX`
4. 编写TeX文档 4. 编写TeX文档
...@@ -207,7 +207,7 @@ through XeTeX. ...@@ -207,7 +207,7 @@ through XeTeX.
% %
%<class>\NeedsTeXFormat{LaTeX2e} %<class>\NeedsTeXFormat{LaTeX2e}
%<class>\RequirePackage{expl3} %<class>\RequirePackage{expl3}
%<!readme> \GetIdInfo $Id: njuthesis.dtx 0.9.0 2020-09-14 12:00:00 +0800 NJU LUG <my@yaoge123.com> $ %<!(readme|readme-en)> \GetIdInfo $Id: njuthesis.dtx 0.9.0 2020-09-15 12:00:00 +0800 NJU LUG <my@yaoge123.com> $
%<class> {Thesis template for Nanjing University} %<class> {Thesis template for Nanjing University}
%<class>\ProvidesExplClass{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} %<class>\ProvidesExplClass{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
% %
...@@ -627,19 +627,19 @@ through XeTeX. ...@@ -627,19 +627,19 @@ through XeTeX.
Field .tl_set:N = \nju_field, Field .tl_set:N = \nju_field,
FieldEN .tl_set:N = \nju_field_en, FieldEN .tl_set:N = \nju_field_en,
% \end{macrocode} % \end{macrocode}
% %
% 导师
% Put text here. % Put text here.
% \begin{macrocode} % \begin{macrocode}
% 导师
MentorA .tl_set:N = \nju_mentor_a, MentorA .tl_set:N = \nju_mentor_a,
MentorAEN .tl_set:N = \nju_mentor_a_en, MentorAEN .tl_set:N = \nju_mentor_a_en,
MentorATitle .tl_set:N = \nju_mentor_a_title, MentorATitle .tl_set:N = \nju_mentor_a_title,
MentorATitleEN .tl_set:N = \nju_mentor_a_title_en, MentorATitleEN .tl_set:N = \nju_mentor_a_title_en,
% \end{macrocode} % \end{macrocode}
% %
% 第二导师
% Put text here. % Put text here.
% \begin{macrocode} % \begin{macrocode}
% 第二导师
MentorB .tl_set:N = \nju_mentor_b, MentorB .tl_set:N = \nju_mentor_b,
MentorBEN .tl_set:N = \nju_mentor_b_en, MentorBEN .tl_set:N = \nju_mentor_b_en,
MentorBTitle .tl_set:N = \nju_mentor_b_title, MentorBTitle .tl_set:N = \nju_mentor_b_title,
...@@ -647,14 +647,14 @@ through XeTeX. ...@@ -647,14 +647,14 @@ through XeTeX.
% \end{macrocode} % \end{macrocode}
% %
% Put text here. % Put text here.
% 提交日期
% \begin{macrocode} % \begin{macrocode}
% 提交日期
SubmitDate .tl_set:N = \nju_submit_date, SubmitDate .tl_set:N = \nju_submit_date,
% \end{macrocode} % \end{macrocode}
% %
% Put text here. % Put text here.
% 答辩
% \begin{macrocode} % \begin{macrocode}
% 答辩
DefendDate .tl_set:N = \nju_defend_date, DefendDate .tl_set:N = \nju_defend_date,
ReviewerChairman .tl_set:N = \nju_reviewer_chairman, ReviewerChairman .tl_set:N = \nju_reviewer_chairman,
ReviewerA .tl_set:N = \nju_reviewer_a, ReviewerA .tl_set:N = \nju_reviewer_a,
...@@ -722,8 +722,16 @@ through XeTeX. ...@@ -722,8 +722,16 @@ through XeTeX.
\RequirePackage{multirow} % Cells occupying multiple rows in tables \RequirePackage{multirow} % Cells occupying multiple rows in tables
\RequirePackage{multicol} % Multiple columns in dictionary \RequirePackage{multicol} % Multiple columns in dictionary
\RequirePackage{siunitx} % 用于书写单位符号 \RequirePackage{siunitx} % 用于书写单位符号
% \end{macrocode}
%
% 用于化学
% \begin{macrocode}
\RequirePackage[version=4]{mhchem} % 用于绘制分子式 \RequirePackage[version=4]{mhchem} % 用于绘制分子式
\RequirePackage{hologo} % 用于生成可以被插入书签的LaTeX logo % \end{macrocode}
%
% 用于生成可以被插入书签的LaTeX logo,TODO 使用hologo创建|latex{}|命令
% \begin{macrocode}
\RequirePackage{hologo}
% \RequirePackage{needspace} % Required to prevent page break right after a sectioning command % \RequirePackage{needspace} % Required to prevent page break right after a sectioning command
% \RequirePackage{xspace} % Better print trailing whitespace % \RequirePackage{xspace} % Better print trailing whitespace
% \end{macrocode} % \end{macrocode}
...@@ -753,11 +761,15 @@ through XeTeX. ...@@ -753,11 +761,15 @@ through XeTeX.
} }
% \end{macrocode} % \end{macrocode}
% %
% 几个用来进行开发测试的包 % 生成用于测试的大段无意义英文文字
% \begin{macrocode}
\RequirePackage{blindtext}
\RequirePackage{zhlipsum}
% \end{macrocode}
%
% 加载以后展示内容边界
% \begin{macrocode} % \begin{macrocode}
\RequirePackage{blindtext} % 生成用于测试的大段无意义英文文字 % \RequirePackage{showframe}
\RequirePackage{zhlipsum} % 生成用于测试的大段无意义中文文字
% \RequirePackage{showframe} % 加载以后展示内容边界
% \end{macrocode} % \end{macrocode}
% %
% 数学 % 数学
...@@ -781,15 +793,14 @@ through XeTeX. ...@@ -781,15 +793,14 @@ through XeTeX.
\RequirePackage{wrapfig} % Wrap text around figures \RequirePackage{wrapfig} % Wrap text around figures
% \end{macrocode} % \end{macrocode}
% %
% Put text here.
% \begin{macrocode}
% 必须以该顺序加载以下三个包 % 必须以该顺序加载以下三个包
% \begin{macrocode}
% \RequirePackage{varioref} % \RequirePackage{varioref}
\RequirePackage[hidelinks,bookmarksnumbered=true]{hyperref} \RequirePackage[hidelinks,bookmarksnumbered=true]{hyperref}
\RequirePackage[capitalise,nameinlink,noabbrev]{cleveref} \RequirePackage[capitalise,nameinlink,noabbrev]{cleveref}
% \end{macrocode} % \end{macrocode}
% %
% and so forth. % \subsection{字体设置}
% \begin{macrocode} % \begin{macrocode}
% 设置西文字体 % 设置西文字体
\NewDocumentCommand\set_latin_fontset_windows{}{ \NewDocumentCommand\set_latin_fontset_windows{}{
...@@ -1465,7 +1476,7 @@ through XeTeX. ...@@ -1465,7 +1476,7 @@ through XeTeX.
]{theorem} ]{theorem}
% \end{macrocode} % \end{macrocode}
% %
% \section{封面设计} % \subsection{封面绘制}
% \begin{macrocode} % \begin{macrocode}
% 拼合标题 % 拼合标题
\tl_const:Nn \nju_title {\nju_title_a \nju_title_b \nju_title_c} \tl_const:Nn \nju_title {\nju_title_a \nju_title_b \nju_title_c}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment