summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-03-04 21:51:50 +0000
committerKarl Berry <karl@freefriends.org>2022-03-04 21:51:50 +0000
commitcb855af5b89733507bd5aaaf86660aaaa9f4d161 (patch)
tree5be941fc008c8e1de9239f5035e528d319ff2260 /Master
parent454c26c4dfbb6db4a4f172ca916a861f51ee81fc (diff)
njustthesis (4mar22)
git-svn-id: svn://tug.org/texlive/trunk@62409 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/njustthesis/README.md134
-rw-r--r--Master/texmf-dist/doc/latex/njustthesis/njustthesis.pdfbin0 -> 211883 bytes
-rw-r--r--Master/texmf-dist/source/latex/njustthesis/njustthesis.dtx635
-rw-r--r--Master/texmf-dist/source/latex/njustthesis/njustthesis.ins11
-rw-r--r--Master/texmf-dist/tex/latex/njustthesis/njustthesis.cls585
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rw-r--r--Master/tlpkg/tlpsrc/collection-publishers.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/njustthesis.tlpsrc0
8 files changed, 1367 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/njustthesis/README.md b/Master/texmf-dist/doc/latex/njustthesis/README.md
new file mode 100644
index 00000000000..7026370d435
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/njustthesis/README.md
@@ -0,0 +1,134 @@
+# njustthesis
+
+Thesis template for [NJUST](https://njust.edu.cn).
+
+## Dependent
+
+### Required
+
+- A `LaTex` distribution. Such as
+ [texlive](https://github.com/TeX-Live/texlive-source).
+- [cnlogo](https://github.com/yuxtech/cnlogo/) provides the logos of many
+ Chinese Universities.
+
+## Install
+
+### Use Package Manager
+
+```shell
+tlmgr install njustthesis
+```
+
+### Install From Source Code
+
+```shell
+l3build install
+```
+
+## Customize
+
+Default values:
+
+```latex
+\njustsetup{
+ logo = \njustwhole[njust][0.5], % depend on cnlogo
+ cover-title = 毕业设计说明书,
+ author = 佚名,
+ id = 916101630000,
+ department = 电子工程与光电技术学院,
+ discipline = 电子工程与光电技术,
+ title = ,
+ subtitle = ,
+ supervisor = 张三,
+ associate-supervisor = 李四,
+ judge = 王五,
+ supervisor-title = 教授,
+ associate-supervisor-title = 教授,
+ judge-title = 教授,
+ year = \the\year, % the time of paper
+ month = \the\month,
+ day = \the\day,
+ abstract-prefix = 毕业论文,
+ signature = ,
+ signature* = , % star means english
+ abstract-prefix = 毕业论文,
+ title* = ,
+ subtitle* = ,
+ header-title = 本科毕业设计说明书,
+}
+```
+
+**Note**: Add `{}` around the string which contain ' ','=', and','.
+
+Example:
+
+```latex
+\documentclass{njustthesis}
+\njustsetup{%
+ author = 张不三,
+ id = 916101630000,
+ discipline = 电子信息工程,
+ title = {论文名字带逗号,或空格 },
+ subtitle = 所以加花括弧括起来,
+ title* = {English name},
+ supervisor = ,
+ supervisor-title = 教授,
+ judge = ,
+ % signature = \includegraphics{signature.pdf},
+ judge-title = 教授,
+}
+\usepackage{subfiles}
+\begin{document}
+
+\maketitle
+
+\frontmatter
+\tableofcontents
+\listoffigures
+\listoftables
+
+\mainmatter%
+% \subfile{subfiles/chapter1.tex}
+
+\backmatter%
+% \bibliography{refs/main.bib}
+
+\appendix
+% \subfile{subfiles/appendix1.tex}
+
+\end{document}
+```
+
+See more [examples](https://github.com/Freed-Wu?tab=repositories&q=njust&language=tex).
+
+## Tips
+
+```shell
+texdoc njusthesis
+```
+
+## Todo
+
+- [pandoc](https://github.com/jgm/pandoc) template for user can
+ write markdown then convert it to latex.
+- Change format from `ctexbook` to `ctexart` in order to use
+ `beamerarticle.sty` more conveniently.
+
+## FAQ
+
+Q: Why another wheel?
+
+A: Because former wheels cannot satisfy me. Some even only provide a
+`*.tex` not `*.cls`. So crude.
+
+Q: 100% compatible with official `docx` template?
+
+A: If you find something unreasonable, welcome to pull request!
+
+More questions see [issues](https://github.com/Freed-Wu/njustthesis/issues).
+
+## Reference
+
+- [thuthesis](https://github.com/tuna/thuthesis) May be the best thesis
+ template among all Chinese theses. Any one can learn something from it. Such
+ as literate programming, separation of content and presentation, etc.
diff --git a/Master/texmf-dist/doc/latex/njustthesis/njustthesis.pdf b/Master/texmf-dist/doc/latex/njustthesis/njustthesis.pdf
new file mode 100644
index 00000000000..9af23f7d750
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/njustthesis/njustthesis.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/njustthesis/njustthesis.dtx b/Master/texmf-dist/source/latex/njustthesis/njustthesis.dtx
new file mode 100644
index 00000000000..1a7180ec0fc
--- /dev/null
+++ b/Master/texmf-dist/source/latex/njustthesis/njustthesis.dtx
@@ -0,0 +1,635 @@
+% \iffalse
+%<*driver>
+\ProvidesFile{njustthesis.dtx}[2022-03-04 0.0.1]
+\documentclass{ltxdoc}
+\usepackage{hypdoc}
+\usepackage[scheme=plain]{ctex}
+\usepackage[citations, definitionLists, fencedCode, footnotes, hashEnumerators,
+html, inlineFootnotes, pipeTables, tableCaptions]{markdown}
+\EnableCrossrefs%
+\CodelineIndex%
+\begin{document}
+ \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+% \fi
+% \title{njustthesis 0.0.1}
+% \author{wzy}
+% \maketitle
+% \tableofcontents
+% \IfFileExists{./README.md}{\markdownInput{README.md}}{}
+% \IndexPrologue{\section{\indexname}}
+% \StopEventually{\PrintIndex}
+% \appendix
+% \section{Implement}%
+% \label{sec:Implement}
+% \begin{macrocode}
+%<*cls|sty>
+% Fakechapter information
+\@ifundefined{NeedsTeXFormat}{% 2.09 version
+%<cls> \def\filename{njustthesis.cls}
+%<sty> \def\filename{njustthesis.sty}
+ \def\filedate{2022-03-04}
+ \def\fileversion{0.0.1}
+ \typeout{Package: `\filename' \fileversion<\filedate>}
+}{% 2e version
+ \NeedsTeXFormat{LaTeX2e}[1994/12/01]
+ \ProvidesClass{njustthesis}[2022-03-04 0.0.1]
+}
+
+% Fakechapter kvset
+\RequirePackage{kvdefinekeys}
+\RequirePackage{kvsetkeys}
+\RequirePackage{kvoptions}
+\SetupKeyvalOptions{%
+ family = njust,
+ prefix = njust@,
+ setkeys = \kvsetkeys,
+}
+\newcommand\njustsetup{%
+ \kvsetkeys{njust}
+}
+\newcommand\njust@define@key[1]{%
+ \kvsetkeys{njust@key}{#1}
+}
+\newcommand\njust@error[1]{%
+%<cls> \ClassError{njustthesis}{#1}{}
+}
+\kv@set@family@handler{njust@key}{%
+ \@namedef{njust@#1@@name}{#1}
+ \def\njust@@default{}
+ \def\njust@@choices{}
+ \kv@define@key{njust@value}{name}{%
+ \@namedef{njust@#1@@name}{##1}
+ }
+ \kv@define@key{njust@value}{code}{%
+ \@namedef{njust@#1@@code}{##1}
+ }
+ \@namedef{njust@#1@@check}{}
+ \@namedef{njust@#1@@code}{}
+ \@namedef{njust@#1@@hook}{%
+ \expandafter
+ \ifx\csname\@currname.\@currext-h@@k\endcsname\relax
+ \@nameuse{njust@#1@@code}
+ \else
+ \AtEndOfClass{%
+ \@nameuse{njust@#1@@code}
+ }
+ \fi
+ }
+ \kv@define@key{njust@value}{choices}{%
+ \def\njust@@choices{##1}
+ \@namedef{njust@#1@@reset}{}
+ \@namedef{njust@#1@@check}{%
+ \@ifundefined{%
+ ifnjust@\@nameuse{njust@#1@@name}@\@nameuse{njust@\@nameuse{njust@#1@@name}}
+ }{%
+ \njust@error{Invalid value ``#1 = \@nameuse{njust@\@nameuse{njust@#1@@name}}''}
+ }
+ \@nameuse{njust@#1@@reset}
+ \@nameuse{njust@\@nameuse{njust@#1@@name}@\@nameuse{njust@\@nameuse{njust@#1@@name}}true}
+ }
+ }
+ \kv@define@key{njust@value}{default}{%
+ \def\njust@@default{##1}
+ }
+ \kvsetkeys{njust@value}{#2}
+ \@namedef{njust@\@nameuse{njust@#1@@name}}{}
+ \kv@set@family@handler{njust@choice}{%
+ \ifx\njust@@default\@empty
+ \def\njust@@default{##1}
+ \fi
+ \expandafter\newif\csname ifnjust@\@nameuse{njust@#1@@name}@##1\endcsname
+ \expandafter\g@addto@macro\csname njust@#1@@reset\endcsname{%
+ \@nameuse{njust@\@nameuse{njust@#1@@name}@##1false}
+ }
+ }
+ \kvsetkeys@expandafter{njust@choice}{\njust@@choices}
+ \expandafter\let\csname njust@\@nameuse{njust@#1@@name}\endcsname\njust@@default
+ \expandafter
+ \ifx\csname njust@\@nameuse{njust@#1@@name}\endcsname\@empty
+ \else
+ \@nameuse{njust@#1@@check}
+ \@nameuse{njust@#1@@hook}
+ \fi
+ \kv@define@key{njust}{#1}{%
+ \@namedef{njust@\@nameuse{njust@#1@@name}}{##1}
+ \@nameuse{njust@#1@@check}
+ \@nameuse{njust@#1@@hook}
+ }
+}
+\newcommand\njust@addto[2]{%
+ \expandafter\g@addto@macro\csname njust@#1@@code\endcsname{#2}
+}
+
+% Fakechapter default
+\njust@define@key{%
+ logo = {%
+ default = \njustwhole[njust][0.5],
+ },
+ cover-title = {%
+ name = cover@title,
+ default = {毕业设计说明书},
+ },
+ author = {%
+ default = {佚名},
+ },
+ id = {%
+ default = {916101630000},
+ },
+ department = {%
+ default = {电子工程与光电技术学院},
+ },
+ discipline = {%
+ default = {电子工程与光电技术},
+ },
+ title = {%
+ },
+ subtitle = {%
+ },
+ supervisor = {%
+ default = {张三},
+ },
+ associate-supervisor = {%
+ name = associate@supervisor,
+ },
+ judge = {%
+ default = {王五},
+ },
+ supervisor-title = {%
+ name = supervisor@title,
+ default = {教授},
+ },
+ associate-supervisor-title = {%
+ name = associate@supervisor@title,
+ },
+ judge-title = {%
+ name = judge@title,
+ default = {教授},
+ },
+ year = {%
+ default = \the\year,
+ },
+ month = {%
+ default = \the\month,
+ },
+ day = {%
+ default = \the\day,
+ },
+ signature = {%
+ default = \makebox[4em]{},
+ },
+ signature* = {%
+ name = signature@teacher,
+ default = \makebox[4em]{},
+ },
+ abstract-prefix = {%
+ name = abstract@prefix,
+ default = {毕业论文},
+ },
+ title* = {%
+ name = title@en,
+ },
+ subtitle* = {%
+ name = subtitle@en,
+ },
+ header-title = {%
+ name = header@title,
+ default = {本科毕业设计说明书},
+ },
+}
+%</cls|sty>
+
+%<*cls>
+% Fakechapter class
+\ProcessKeyvalOptions*
+\LoadClass[
+ twoside,
+ openright,
+ UTF8,
+ heading = true,
+ scheme = plain,
+ zihao = -4,
+ sub4section,
+]{ctexbook}
+\ctexset{%
+ today = small,
+ chapter = {%
+ name = {},
+ number = \arabic{chapter},
+ aftername = \hspace{1\ccwd},
+ format = \ifthenelse{\value{chapter}=0}{\centering}{}
+ \zihao{3}\heiti\bfseries,
+ beforeskip = 0.5\ccwd,
+ afterskip = 0.5\ccwd,
+ },
+ section = {%
+ aftername = \hspace{1\ccwd},
+ format = \ifthenelse{\value{chapter}=0}{\centering}{}
+ \zihao{-3}\heiti\bfseries,
+ beforeskip = 0.5\ccwd,
+ afterskip = 0.5\ccwd,
+ },
+ subsection = {%
+ format = \zihao{4}\heiti\bfseries,
+ },
+ appendixname = 附录,
+ contentsname = {目\hspace{\ccwd}次},
+ listfigurename = 插图索引,
+ listtablename = 表格索引,
+ figurename = 图,
+ tablename = 表,
+ bibname = 参考文献,
+ indexname = 索引,
+}
+\counterwithout{figure}{chapter}
+\counterwithout{table}{chapter}
+\counterwithout{equation}{chapter}
+
+% Fakechapter package
+% Fakesection text
+% Fakesubsection punctuation
+\RequirePackage{csquotes}
+% Fakesubsubsection 中文引号
+\DeclareQuoteStyle{zh}
+{\symbol{"201C}}%“
+{\symbol{"201D}}%”
+{\symbol{"2018}}%‘
+{\symbol{"2019}}%’
+\setquotestyle{zh}
+% Fakesubsubsection 日文引号
+\DeclareQuoteStyle{ja}
+{\symbol{"300E}}%『
+{\symbol{"300F}}%』
+{\symbol{"300C}}%「
+{\symbol{"300D}}%」
+% Fakesubsubsection 书名号
+\DeclareQuoteStyle{book}
+{\symbol{"300A}}%《
+{\symbol{"300B}}%》
+{\symbol{"3008}}%〈
+{\symbol{"3009}}%〉
+% Fakesubsection indent
+\RequirePackage{indentfirst}
+% Fakesubsection space
+\RequirePackage{setspace}
+
+% Fakesection style
+% Fakesubsection toc
+\RequirePackage{titletoc}
+\titlecontents{chapter}[0pt]{\filright}{\contentspush{\thecontentslabel}}{}
+{\titlerule*{.}\contentspage}
+\RequirePackage[nottoc]{tocbibind}
+% Fakesubsection header
+\RequirePackage{fancyhdr}
+\fancypagestyle{njust@fancy}{%
+ \renewcommand{\headrulewidth}{0.4pt}
+ \fancyhead[OC, EC]{\zihao{-2}\njust@header@title}
+ \fancyhead[EL, OR]{\zihao{5}第\thepage~页}
+ \fancyhead[ER, OL]{}
+ \fancyfoot[EC, OC]{}
+}
+\fancypagestyle{plain}{%
+ \pagestyle{njust@fancy}
+}
+\pagestyle{njust@fancy}
+
+% Fakesubsection footnote
+\RequirePackage{pifont}
+\RequirePackage[
+ perpage,
+ symbol*
+]{footmisc}
+\DefineFNsymbols{circled}{%
+ {\ding{192}}
+ {\ding{193}}
+ {\ding{194}}
+ {\ding{195}}
+ {\ding{196}}
+ {\ding{197}}
+ {\ding{198}}
+ {\ding{199}}
+ {\ding{200}}
+ {\ding{201}}
+}
+\setfnsymbol{circled}
+% Fakesubsection reference
+\RequirePackage[
+ square, comma, numbers, super, sort&compress, longnamesfirst, sectionbib,
+ nonamebreak
+]{natbib}
+\bibliographystyle{gbt7714-plain}
+
+% Fakesection figure
+\RequirePackage{graphicx}
+\graphicspath{%
+ {fig/}
+ {fig/\arabic{chapter}/}
+ {figures/}
+ {figures/\arabic{chapter}/}
+ {images/}
+}
+\RequirePackage[njust]{cnlogo}
+
+% Fakesection formula
+
+% Fakesection table
+\RequirePackage{tabu}
+\RequirePackage{multicol}
+
+% Fakesubsection math
+\RequirePackage{newtxmath}
+\setlength{\abovedisplayskip}{0.5em}
+\setlength{\belowdisplayskip}{0.5em}
+% Fakesubsection exercise
+\RequirePackage{exercise}
+\renewcommand{\ExerciseName}{问题}
+\renewcommand{\AnswerName}{回答}
+\renewcommand{\listexercisename}{问题}
+
+% Fakesection item
+\RequirePackage{enumitem}
+\setlist[enumerate, 1]{%
+ fullwidth,
+ label = (\arabic*),
+ font = \textup,
+ itemindent = 2em,
+}
+\setlist[enumerate, 2]{%
+ fullwidth,
+ label = (\alph*),
+ font = \textup,
+ itemindent = 4em,
+}
+
+% Fakesection other
+\RequirePackage{boxedminipage}
+
+\title{\njust@title}
+\author{\njust@author}
+
+% Fakechapter command
+\renewcommand\maketitle{%
+ \thispagestyle{empty}
+ \begin{titlepage}
+ \centering
+ \begin{spacing}{1}
+ \zihao{4}
+ \vspace{0.5\ccwd}
+
+ \vspace{1\ccwd}
+
+ \fontsize{30pt}{30pt}\selectfont\kaishu%
+ \njust@logo
+
+ \vspace{0.2\ccwd}
+
+ \fontsize{45pt}{45pt}\selectfont\heiti%
+ \njust@cover@title
+
+ \zihao{-1}
+ \vspace{1\ccwd}
+ \end{spacing}
+
+ \begin{spacing}{1.5}
+ \zihao{3}
+ \begin{tabu}
+ {@{}X[r, 5cm]@{}X[l, 3cm]
+ X[r, 4cm]@{}X[l, 4cm]@{}}
+ \textbf{作   者:} &
+ \underline{\makebox[3cm][c]{\kaishu\njust@author}} &
+ \textbf{学  号:} &
+ \underline{\makebox[4cm][c]{\kaishu\njust@id}} \\
+ \textbf{学   院:} &
+ \multicolumn{3}{c}{\underline{\makebox[11cm][c]
+ {\kaishu\njust@department}}} \\
+ \textbf{专业(方向):} &
+ \multicolumn{3}{c}{
+ \underline{\makebox[11cm][c]{\kaishu\njust@discipline}}} \\
+ \textbf{题   目:} &
+ \multicolumn{3}{c}{
+ \underline{\makebox[11cm][c]{\kaishu\njust@title}}} \\
+ \textbf{} &
+ \multicolumn{3}{c}{
+ \underline{\makebox[11cm][c]{\kaishu\njust@subtitle}}}
+ \end{tabu}
+ \vspace{0em}
+ \end{spacing}
+
+ \begin{spacing}{1}
+ \zihao{3}
+ \vspace{1\ccwd}
+
+ \zihao{-3}
+ \textbf{指导者:}\underline{\makebox[15.5\ccwd][c]{\njust@supervisor\hspace{1em}\njust@supervisor@title}}
+
+ \hspace{5em}
+
+ \phantom{指导者:}\underline{\makebox[15.5\ccwd][c]{\njust@associate@supervisor\hspace{1em}\njust@associate@supervisor@title}}
+
+ \hspace{5em}
+
+ \textbf{评阅者:}\underline{\makebox[15.5\ccwd][c]{\njust@judge\hspace{1em}\njust@judge@title}}
+
+ \hspace{5em}
+
+ \zihao{-2}
+ \njust@year 年\njust@month 月
+ \end{spacing}
+ \vspace{0em}
+ \end{titlepage}
+}
+
+\newcommand\copyrightpage{%
+ \newpage
+ \thispagestyle{empty}
+ \begin{center}
+ \heiti\zihao{3}声\hspace{2\ccwd}明
+ \end{center}
+
+ \begin{spacing}{1.5}
+ \zihao{4}
+
+ 我声明,本\njust@abstract@prefix 及其研究工作和所取得的成果是本人在导师的指导
+ 下独立完成的。研究过程中利用的所有资料均已在参考文献中列出,其他人员或机
+ 构对本\njust@abstract@prefix 工作做出的贡献也已在致谢部分说明。
+
+ 本\njust@abstract@prefix 不涉及任何秘密,南京理工大学有权保存其电子和纸质文档
+ ,可以借阅或网上公布其部分或全部内容,可以向有关部门或机构送交并授权保存
+ 、借阅或网上公布其部分或全部内容。
+
+ \vspace{2\ccwd}
+
+ \begin{flushright}
+ 学生签名:\njust@signature
+
+ \vspace{1\ccwd}
+
+ \njust@year 年\njust@month 月\njust@day 日
+
+ \vspace{2\ccwd}
+
+ 指导教师签名:\njust@signature@teacher
+
+ \vspace{1\ccwd}
+
+ \njust@year 年\njust@month 月\njust@day 日
+ \end{flushright}
+ \end{spacing}
+ \clearpage
+}
+
+\newcommand\reviewpage{%
+ \begin{tabu}to.75\linewidth{@{}|X[l]|X[l]|@{}}
+ \hline
+ 论文选题符合课程考核要求,具有一定的理论意义和实用价值,作者阅读较广泛,参考文献较充足。
+&
+\begin{tabu}{@{}X[l]@{}}
+ 很好$ \square $ 较好$ \square $
+
+ 一般$ \square $ 尚可$ \square $
+
+ 差$ \square $
+\end{tabu}
+
+\hline
+论文观点正确,结构较合理,层次较清晰,逻辑性强,论述较全面,工作量较充实,结论具有一定的现实指导意义。
+&
+\begin{tabu}{@{}X[l]@{}}
+ 很好$ \square $ 较好$ \square $
+
+ 一般$ \square $ 尚可$ \square $
+
+ 差$ \square $
+\end{tabu}
+
+\hline
+该生平时学习较认真,善于思考,到课率高,不迟到早退。文章语言表达较好,格
+式符合规范要求,体现了较好的学风。
+&
+\begin{tabu}{@{}X[l]@{}}
+ 很好$ \square $ 较好$ \square $
+
+ 一般$ \square $ 尚可$ \square $
+
+ 差$ \square $
+\end{tabu}
+
+\hline
+\begin{tabu}{@{}X[l]@{}}
+ 教师签名:
+
+ 年~月~日
+\end{tabu}
+&
+
+\hline
+ \end{tabu}
+
+ \begin{flushleft}
+ \makebox[5\ccwd][c]{}注:请将该封面与论文装订成册(论文双面打印)。
+ \end{flushleft}$0
+
+ \begin{boxedminipage}{\linewidth}
+ \zihao{4}
+
+ 任课老师评语:
+
+ \vspace{40mm}
+
+ \begin{flushright}
+ 签名: \underline{\makebox[6\ccwd][c]{}}
+
+ 年\makebox[2\ccwd][c]{}月\makebox[2\ccwd][c]{}日
+ \end{flushright}
+
+ \vspace{20mm}
+
+ \end{boxedminipage}
+ \clearpage
+}
+
+% Fakechapter environment
+\newenvironment{abstract}{%
+ \newpage
+ \thispagestyle{empty}
+ \centering
+ \zihao{3}{\ziju{0.5}\heiti\njust@abstract@prefix
+ 中文摘要}
+
+ \vspace{0.3em}
+
+ \begin{boxedminipage}[][18cm]{\linewidth}
+ \begin{spacing}{1.5}
+ \zihao{-4}
+
+ \vspace{1\ccwd}
+
+}{%
+ \end{spacing}
+ \end{boxedminipage}
+}
+
+\newenvironment{abstract*}{%
+ \newpage
+ \thispagestyle{empty}
+ \centering
+ \zihao{3}\ziju{0.5}\heiti\njust@abstract@prefix
+ 英文摘要
+
+ \vspace{0.3em}
+
+ \begin{boxedminipage}[][18cm]{\linewidth}
+ \begin{spacing}{1}
+ \zihao{4}
+
+ \vspace{1em}
+
+ \begin{tabu} to \linewidth{@{}X[l]@{}X[l, 8]@{}}
+ \textbf{Title} &
+ \hspace{2em}\underline{
+ \makebox[15em][c]{\zihao{4}\njust@title@en}} \\
+ \phantom{Title} &
+ \hspace{2em}\underline{
+ \makebox[15em][c]{\zihao{4}\njust@subtitle@en}} \\
+ \end{tabu}
+
+ \textbf{Abstract}
+
+ \zihao{-4}
+
+ \vspace{2em}
+
+}{%
+ \end{spacing}
+ \end{boxedminipage}
+}
+
+\newenvironment{keyword}{%
+ \vspace{1em}
+ \noindent\textbf{关键词}\hspace{1\ccwd}
+}{%
+}
+
+\newenvironment{keyword*}{%
+ \vspace{1em}
+ \noindent\textbf{Keywords}\hspace{1em}
+}{%
+}
+
+\newenvironment{acknowledgement}{%
+ \newpage
+ \begin{center}
+ \zihao{3}致谢
+ \end{center}
+
+}{%
+}
+%</cls>
+
+%<*cls|sty>
+\endinput
+%</cls|sty>
+% \end{macrocode}
+% \IfFileExists{./CHANGELOG.md}{\markdownInput{CHANGELOG.md}}{}
+% \Finale
diff --git a/Master/texmf-dist/source/latex/njustthesis/njustthesis.ins b/Master/texmf-dist/source/latex/njustthesis/njustthesis.ins
new file mode 100644
index 00000000000..6e4f6ea6e91
--- /dev/null
+++ b/Master/texmf-dist/source/latex/njustthesis/njustthesis.ins
@@ -0,0 +1,11 @@
+\input docstrip
+\usedir{tex/latex/\jobname}
+\preamble%
+Copyright (C) 2022-\the\year\ by wzy <wuzy01@qq.com>
+
+This work may be distributed and/or modified under the conditions of GPLv3+.
+\endpreamble%
+\generate{%
+ \file{\jobname.cls}{\from{\jobname.dtx}{cls}}
+}
+\endbatchfile%
diff --git a/Master/texmf-dist/tex/latex/njustthesis/njustthesis.cls b/Master/texmf-dist/tex/latex/njustthesis/njustthesis.cls
new file mode 100644
index 00000000000..763a170ab26
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/njustthesis/njustthesis.cls
@@ -0,0 +1,585 @@
+%%
+%% This is file `njustthesis.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% njustthesis.dtx (with options: `cls')
+%% Copyright (C) 2022-2022\ by wzy <wuzy01@qq.com>
+%%
+%% This work may be distributed and/or modified under the conditions of GPLv3+.
+\@ifundefined{NeedsTeXFormat}{% 2.09 version
+ \def\filename{njustthesis.cls}
+ \def\filedate{2022-03-04}
+ \def\fileversion{0.0.1}
+ \typeout{Package: `\filename' \fileversion<\filedate>}
+}{% 2e version
+ \NeedsTeXFormat{LaTeX2e}[1994/12/01]
+ \ProvidesClass{njustthesis}[2022-03-04 0.0.1]
+}
+
+\RequirePackage{kvdefinekeys}
+\RequirePackage{kvsetkeys}
+\RequirePackage{kvoptions}
+\SetupKeyvalOptions{%
+ family = njust,
+ prefix = njust@,
+ setkeys = \kvsetkeys,
+}
+\newcommand\njustsetup{%
+ \kvsetkeys{njust}
+}
+\newcommand\njust@define@key[1]{%
+ \kvsetkeys{njust@key}{#1}
+}
+\newcommand\njust@error[1]{%
+ \ClassError{njustthesis}{#1}{}
+}
+\kv@set@family@handler{njust@key}{%
+ \@namedef{njust@#1@@name}{#1}
+ \def\njust@@default{}
+ \def\njust@@choices{}
+ \kv@define@key{njust@value}{name}{%
+ \@namedef{njust@#1@@name}{##1}
+ }
+ \kv@define@key{njust@value}{code}{%
+ \@namedef{njust@#1@@code}{##1}
+ }
+ \@namedef{njust@#1@@check}{}
+ \@namedef{njust@#1@@code}{}
+ \@namedef{njust@#1@@hook}{%
+ \expandafter
+ \ifx\csname\@currname.\@currext-h@@k\endcsname\relax
+ \@nameuse{njust@#1@@code}
+ \else
+ \AtEndOfClass{%
+ \@nameuse{njust@#1@@code}
+ }
+ \fi
+ }
+ \kv@define@key{njust@value}{choices}{%
+ \def\njust@@choices{##1}
+ \@namedef{njust@#1@@reset}{}
+ \@namedef{njust@#1@@check}{%
+ \@ifundefined{%
+ ifnjust@\@nameuse{njust@#1@@name}@\@nameuse{njust@\@nameuse{njust@#1@@name}}
+ }{%
+ \njust@error{Invalid value ``#1 = \@nameuse{njust@\@nameuse{njust@#1@@name}}''}
+ }
+ \@nameuse{njust@#1@@reset}
+ \@nameuse{njust@\@nameuse{njust@#1@@name}@\@nameuse{njust@\@nameuse{njust@#1@@name}}true}
+ }
+ }
+ \kv@define@key{njust@value}{default}{%
+ \def\njust@@default{##1}
+ }
+ \kvsetkeys{njust@value}{#2}
+ \@namedef{njust@\@nameuse{njust@#1@@name}}{}
+ \kv@set@family@handler{njust@choice}{%
+ \ifx\njust@@default\@empty
+ \def\njust@@default{##1}
+ \fi
+ \expandafter\newif\csname ifnjust@\@nameuse{njust@#1@@name}@##1\endcsname
+ \expandafter\g@addto@macro\csname njust@#1@@reset\endcsname{%
+ \@nameuse{njust@\@nameuse{njust@#1@@name}@##1false}
+ }
+ }
+ \kvsetkeys@expandafter{njust@choice}{\njust@@choices}
+ \expandafter\let\csname njust@\@nameuse{njust@#1@@name}\endcsname\njust@@default
+ \expandafter
+ \ifx\csname njust@\@nameuse{njust@#1@@name}\endcsname\@empty
+ \else
+ \@nameuse{njust@#1@@check}
+ \@nameuse{njust@#1@@hook}
+ \fi
+ \kv@define@key{njust}{#1}{%
+ \@namedef{njust@\@nameuse{njust@#1@@name}}{##1}
+ \@nameuse{njust@#1@@check}
+ \@nameuse{njust@#1@@hook}
+ }
+}
+\newcommand\njust@addto[2]{%
+ \expandafter\g@addto@macro\csname njust@#1@@code\endcsname{#2}
+}
+
+\njust@define@key{%
+ logo = {%
+ default = \njustwhole[njust][0.5],
+ },
+ cover-title = {%
+ name = cover@title,
+ default = {毕业设计说明书},
+ },
+ author = {%
+ default = {佚名},
+ },
+ id = {%
+ default = {916101630000},
+ },
+ department = {%
+ default = {电子工程与光电技术学院},
+ },
+ discipline = {%
+ default = {电子工程与光电技术},
+ },
+ title = {%
+ },
+ subtitle = {%
+ },
+ supervisor = {%
+ default = {张三},
+ },
+ associate-supervisor = {%
+ name = associate@supervisor,
+ },
+ judge = {%
+ default = {王五},
+ },
+ supervisor-title = {%
+ name = supervisor@title,
+ default = {教授},
+ },
+ associate-supervisor-title = {%
+ name = associate@supervisor@title,
+ },
+ judge-title = {%
+ name = judge@title,
+ default = {教授},
+ },
+ year = {%
+ default = \the\year,
+ },
+ month = {%
+ default = \the\month,
+ },
+ day = {%
+ default = \the\day,
+ },
+ signature = {%
+ default = \makebox[4em]{},
+ },
+ signature* = {%
+ name = signature@teacher,
+ default = \makebox[4em]{},
+ },
+ abstract-prefix = {%
+ name = abstract@prefix,
+ default = {毕业论文},
+ },
+ title* = {%
+ name = title@en,
+ },
+ subtitle* = {%
+ name = subtitle@en,
+ },
+ header-title = {%
+ name = header@title,
+ default = {本科毕业设计说明书},
+ },
+}
+
+\ProcessKeyvalOptions*
+\LoadClass[
+ twoside,
+ openright,
+ UTF8,
+ heading = true,
+ scheme = plain,
+ zihao = -4,
+ sub4section,
+]{ctexbook}
+\ctexset{%
+ today = small,
+ chapter = {%
+ name = {},
+ number = \arabic{chapter},
+ aftername = \hspace{1\ccwd},
+ format = \ifthenelse{\value{chapter}=0}{\centering}{}
+ \zihao{3}\heiti\bfseries,
+ beforeskip = 0.5\ccwd,
+ afterskip = 0.5\ccwd,
+ },
+ section = {%
+ aftername = \hspace{1\ccwd},
+ format = \ifthenelse{\value{chapter}=0}{\centering}{}
+ \zihao{-3}\heiti\bfseries,
+ beforeskip = 0.5\ccwd,
+ afterskip = 0.5\ccwd,
+ },
+ subsection = {%
+ format = \zihao{4}\heiti\bfseries,
+ },
+ appendixname = 附录,
+ contentsname = {目\hspace{\ccwd}次},
+ listfigurename = 插图索引,
+ listtablename = 表格索引,
+ figurename = 图,
+ tablename = 表,
+ bibname = 参考文献,
+ indexname = 索引,
+}
+\counterwithout{figure}{chapter}
+\counterwithout{table}{chapter}
+\counterwithout{equation}{chapter}
+
+\RequirePackage{csquotes}
+\DeclareQuoteStyle{zh}
+{\symbol{"201C}}%“
+{\symbol{"201D}}%”
+{\symbol{"2018}}%‘
+{\symbol{"2019}}%’
+\setquotestyle{zh}
+\DeclareQuoteStyle{ja}
+{\symbol{"300E}}%『
+{\symbol{"300F}}%』
+{\symbol{"300C}}%「
+{\symbol{"300D}}%」
+\DeclareQuoteStyle{book}
+{\symbol{"300A}}%《
+{\symbol{"300B}}%》
+{\symbol{"3008}}%〈
+{\symbol{"3009}}%〉
+\RequirePackage{indentfirst}
+\RequirePackage{setspace}
+
+\RequirePackage{titletoc}
+\titlecontents{chapter}[0pt]{\filright}{\contentspush{\thecontentslabel}}{}
+{\titlerule*{.}\contentspage}
+\RequirePackage[nottoc]{tocbibind}
+\RequirePackage{fancyhdr}
+\fancypagestyle{njust@fancy}{%
+ \renewcommand{\headrulewidth}{0.4pt}
+ \fancyhead[OC, EC]{\zihao{-2}\njust@header@title}
+ \fancyhead[EL, OR]{\zihao{5}第\thepage~页}
+ \fancyhead[ER, OL]{}
+ \fancyfoot[EC, OC]{}
+}
+\fancypagestyle{plain}{%
+ \pagestyle{njust@fancy}
+}
+\pagestyle{njust@fancy}
+
+\RequirePackage{pifont}
+\RequirePackage[
+ perpage,
+ symbol*
+]{footmisc}
+\DefineFNsymbols{circled}{%
+ {\ding{192}}
+ {\ding{193}}
+ {\ding{194}}
+ {\ding{195}}
+ {\ding{196}}
+ {\ding{197}}
+ {\ding{198}}
+ {\ding{199}}
+ {\ding{200}}
+ {\ding{201}}
+}
+\setfnsymbol{circled}
+\RequirePackage[
+ square, comma, numbers, super, sort&compress, longnamesfirst, sectionbib,
+ nonamebreak
+]{natbib}
+\bibliographystyle{gbt7714-plain}
+
+\RequirePackage{graphicx}
+\graphicspath{%
+ {fig/}
+ {fig/\arabic{chapter}/}
+ {figures/}
+ {figures/\arabic{chapter}/}
+ {images/}
+}
+\RequirePackage[njust]{cnlogo}
+
+
+\RequirePackage{tabu}
+\RequirePackage{multicol}
+
+\RequirePackage{newtxmath}
+\setlength{\abovedisplayskip}{0.5em}
+\setlength{\belowdisplayskip}{0.5em}
+\RequirePackage{exercise}
+\renewcommand{\ExerciseName}{问题}
+\renewcommand{\AnswerName}{回答}
+\renewcommand{\listexercisename}{问题}
+
+\RequirePackage{enumitem}
+\setlist[enumerate, 1]{%
+ fullwidth,
+ label = (\arabic*),
+ font = \textup,
+ itemindent = 2em,
+}
+\setlist[enumerate, 2]{%
+ fullwidth,
+ label = (\alph*),
+ font = \textup,
+ itemindent = 4em,
+}
+
+\RequirePackage{boxedminipage}
+
+\title{\njust@title}
+\author{\njust@author}
+
+\renewcommand\maketitle{%
+ \thispagestyle{empty}
+ \begin{titlepage}
+ \centering
+ \begin{spacing}{1}
+ \zihao{4}
+ \vspace{0.5\ccwd}
+
+ \vspace{1\ccwd}
+
+ \fontsize{30pt}{30pt}\selectfont\kaishu%
+ \njust@logo
+
+ \vspace{0.2\ccwd}
+
+ \fontsize{45pt}{45pt}\selectfont\heiti%
+ \njust@cover@title
+
+ \zihao{-1}
+ \vspace{1\ccwd}
+ \end{spacing}
+
+ \begin{spacing}{1.5}
+ \zihao{3}
+ \begin{tabu}
+ {@{}X[r, 5cm]@{}X[l, 3cm]
+ X[r, 4cm]@{}X[l, 4cm]@{}}
+ \textbf{作   者:} &
+ \underline{\makebox[3cm][c]{\kaishu\njust@author}} &
+ \textbf{学  号:} &
+ \underline{\makebox[4cm][c]{\kaishu\njust@id}} \\
+ \textbf{学   院:} &
+ \multicolumn{3}{c}{\underline{\makebox[11cm][c]
+ {\kaishu\njust@department}}} \\
+ \textbf{专业(方向):} &
+ \multicolumn{3}{c}{
+ \underline{\makebox[11cm][c]{\kaishu\njust@discipline}}} \\
+ \textbf{题   目:} &
+ \multicolumn{3}{c}{
+ \underline{\makebox[11cm][c]{\kaishu\njust@title}}} \\
+ \textbf{} &
+ \multicolumn{3}{c}{
+ \underline{\makebox[11cm][c]{\kaishu\njust@subtitle}}}
+ \end{tabu}
+ \vspace{0em}
+ \end{spacing}
+
+ \begin{spacing}{1}
+ \zihao{3}
+ \vspace{1\ccwd}
+
+ \zihao{-3}
+ \textbf{指导者:}\underline{\makebox[15.5\ccwd][c]{\njust@supervisor\hspace{1em}\njust@supervisor@title}}
+
+ \hspace{5em}
+
+ \phantom{指导者:}\underline{\makebox[15.5\ccwd][c]{\njust@associate@supervisor\hspace{1em}\njust@associate@supervisor@title}}
+
+ \hspace{5em}
+
+ \textbf{评阅者:}\underline{\makebox[15.5\ccwd][c]{\njust@judge\hspace{1em}\njust@judge@title}}
+
+ \hspace{5em}
+
+ \zihao{-2}
+ \njust@year 年\njust@month 月
+ \end{spacing}
+ \vspace{0em}
+ \end{titlepage}
+}
+
+\newcommand\copyrightpage{%
+ \newpage
+ \thispagestyle{empty}
+ \begin{center}
+ \heiti\zihao{3}声\hspace{2\ccwd}明
+ \end{center}
+
+ \begin{spacing}{1.5}
+ \zihao{4}
+
+ 我声明,本\njust@abstract@prefix 及其研究工作和所取得的成果是本人在导师的指导
+ 下独立完成的。研究过程中利用的所有资料均已在参考文献中列出,其他人员或机
+ 构对本\njust@abstract@prefix 工作做出的贡献也已在致谢部分说明。
+
+ 本\njust@abstract@prefix 不涉及任何秘密,南京理工大学有权保存其电子和纸质文档
+ ,可以借阅或网上公布其部分或全部内容,可以向有关部门或机构送交并授权保存
+ 、借阅或网上公布其部分或全部内容。
+
+ \vspace{2\ccwd}
+
+ \begin{flushright}
+ 学生签名:\njust@signature
+
+ \vspace{1\ccwd}
+
+ \njust@year 年\njust@month 月\njust@day 日
+
+ \vspace{2\ccwd}
+
+ 指导教师签名:\njust@signature@teacher
+
+ \vspace{1\ccwd}
+
+ \njust@year 年\njust@month 月\njust@day 日
+ \end{flushright}
+ \end{spacing}
+ \clearpage
+}
+
+\newcommand\reviewpage{%
+ \begin{tabu}to.75\linewidth{@{}|X[l]|X[l]|@{}}
+ \hline
+ 论文选题符合课程考核要求,具有一定的理论意义和实用价值,作者阅读较广泛,参考文献较充足。
+&
+\begin{tabu}{@{}X[l]@{}}
+ 很好$ \square $ 较好$ \square $
+
+ 一般$ \square $ 尚可$ \square $
+
+ 差$ \square $
+\end{tabu}
+
+\hline
+论文观点正确,结构较合理,层次较清晰,逻辑性强,论述较全面,工作量较充实,结论具有一定的现实指导意义。
+&
+\begin{tabu}{@{}X[l]@{}}
+ 很好$ \square $ 较好$ \square $
+
+ 一般$ \square $ 尚可$ \square $
+
+ 差$ \square $
+\end{tabu}
+
+\hline
+该生平时学习较认真,善于思考,到课率高,不迟到早退。文章语言表达较好,格
+式符合规范要求,体现了较好的学风。
+&
+\begin{tabu}{@{}X[l]@{}}
+ 很好$ \square $ 较好$ \square $
+
+ 一般$ \square $ 尚可$ \square $
+
+ 差$ \square $
+\end{tabu}
+
+\hline
+\begin{tabu}{@{}X[l]@{}}
+ 教师签名:
+
+ 年~月~日
+\end{tabu}
+&
+
+\hline
+ \end{tabu}
+
+ \begin{flushleft}
+ \makebox[5\ccwd][c]{}注:请将该封面与论文装订成册(论文双面打印)。
+ \end{flushleft}$0
+
+ \begin{boxedminipage}{\linewidth}
+ \zihao{4}
+
+ 任课老师评语:
+
+ \vspace{40mm}
+
+ \begin{flushright}
+ 签名: \underline{\makebox[6\ccwd][c]{}}
+
+ 年\makebox[2\ccwd][c]{}月\makebox[2\ccwd][c]{}日
+ \end{flushright}
+
+ \vspace{20mm}
+
+ \end{boxedminipage}
+ \clearpage
+}
+
+\newenvironment{abstract}{%
+ \newpage
+ \thispagestyle{empty}
+ \centering
+ \zihao{3}{\ziju{0.5}\heiti\njust@abstract@prefix
+ 中文摘要}
+
+ \vspace{0.3em}
+
+ \begin{boxedminipage}[][18cm]{\linewidth}
+ \begin{spacing}{1.5}
+ \zihao{-4}
+
+ \vspace{1\ccwd}
+
+}{%
+ \end{spacing}
+ \end{boxedminipage}
+}
+
+\newenvironment{abstract*}{%
+ \newpage
+ \thispagestyle{empty}
+ \centering
+ \zihao{3}\ziju{0.5}\heiti\njust@abstract@prefix
+ 英文摘要
+
+ \vspace{0.3em}
+
+ \begin{boxedminipage}[][18cm]{\linewidth}
+ \begin{spacing}{1}
+ \zihao{4}
+
+ \vspace{1em}
+
+ \begin{tabu} to \linewidth{@{}X[l]@{}X[l, 8]@{}}
+ \textbf{Title} &
+ \hspace{2em}\underline{
+ \makebox[15em][c]{\zihao{4}\njust@title@en}} \\
+ \phantom{Title} &
+ \hspace{2em}\underline{
+ \makebox[15em][c]{\zihao{4}\njust@subtitle@en}} \\
+ \end{tabu}
+
+ \textbf{Abstract}
+
+ \zihao{-4}
+
+ \vspace{2em}
+
+}{%
+ \end{spacing}
+ \end{boxedminipage}
+}
+
+\newenvironment{keyword}{%
+ \vspace{1em}
+ \noindent\textbf{关键词}\hspace{1\ccwd}
+}{%
+}
+
+\newenvironment{keyword*}{%
+ \vspace{1em}
+ \noindent\textbf{Keywords}\hspace{1em}
+}{%
+}
+
+\newenvironment{acknowledgement}{%
+ \newpage
+ \begin{center}
+ \zihao{3}致谢
+ \end{center}
+
+}{%
+}
+
+\endinput
+%%
+%% End of file `njustthesis.cls'.
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 5c3d784181c..7403d80d2f1 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -567,7 +567,7 @@ my @TLP_working = qw(
newverbs nextpage
nfssext-cfr nicefilelist niceframe niceframe-type1 nicematrix nicetext
nidanfloat nih nihbiosketch
- nimbus15 nimsticks ninecolors njurepo njuthesis njuvisual
+ nimbus15 nimsticks ninecolors njurepo njustthesis njuthesis njuvisual
nkarta nl-interval nlctdoc
nmbib nndraw nnext noconflict nodetree noindentafter noitcrul nolbreaks
nomencl nomentbl nonfloat nonumonpart nopageno norasi-c90 normalcolor
diff --git a/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc b/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc
index 3bfd7fd4bfa..b95aaa54bec 100644
--- a/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc
@@ -142,6 +142,7 @@ depend nature
depend navydocs
depend nddiss
depend ndsu-thesis
+depend njustthesis
depend njuthesis
depend njuvisual
depend novel
diff --git a/Master/tlpkg/tlpsrc/njustthesis.tlpsrc b/Master/tlpkg/tlpsrc/njustthesis.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/njustthesis.tlpsrc