texlive[62409] Master: njustthesis (4mar22)

commits+karl at tug.org commits+karl at tug.org
Fri Mar 4 22:51:50 CET 2022


Revision: 62409
          http://tug.org/svn/texlive?view=revision&revision=62409
Author:   karl
Date:     2022-03-04 22:51:50 +0100 (Fri, 04 Mar 2022)
Log Message:
-----------
njustthesis (4mar22)

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/njustthesis/
    trunk/Master/texmf-dist/doc/latex/njustthesis/README.md
    trunk/Master/texmf-dist/doc/latex/njustthesis/njustthesis.pdf
    trunk/Master/texmf-dist/source/latex/njustthesis/
    trunk/Master/texmf-dist/source/latex/njustthesis/njustthesis.dtx
    trunk/Master/texmf-dist/source/latex/njustthesis/njustthesis.ins
    trunk/Master/texmf-dist/tex/latex/njustthesis/
    trunk/Master/texmf-dist/tex/latex/njustthesis/njustthesis.cls
    trunk/Master/tlpkg/tlpsrc/njustthesis.tlpsrc

Added: trunk/Master/texmf-dist/doc/latex/njustthesis/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/njustthesis/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/njustthesis/README.md	2022-03-04 21:51:50 UTC (rev 62409)
@@ -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.


Property changes on: trunk/Master/texmf-dist/doc/latex/njustthesis/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/njustthesis/njustthesis.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/njustthesis/njustthesis.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/njustthesis/njustthesis.pdf	2022-03-04 21:51:06 UTC (rev 62408)
+++ trunk/Master/texmf-dist/doc/latex/njustthesis/njustthesis.pdf	2022-03-04 21:51:50 UTC (rev 62409)

Property changes on: trunk/Master/texmf-dist/doc/latex/njustthesis/njustthesis.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/source/latex/njustthesis/njustthesis.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/njustthesis/njustthesis.dtx	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/njustthesis/njustthesis.dtx	2022-03-04 21:51:50 UTC (rev 62409)
@@ -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 at define@key[1]{%
+  \kvsetkeys{njust at key}{#1}
+}
+\newcommand\njust at error[1]{%
+%<cls> \ClassError{njustthesis}{#1}{}
+}
+\kv at set@family at handler{njust at key}{%
+  \@namedef{njust@#1@@name}{#1}
+  \def\njust@@default{}
+  \def\njust@@choices{}
+  \kv at define@key{njust at value}{name}{%
+    \@namedef{njust@#1@@name}{##1}
+  }
+  \kv at define@key{njust at 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 at define@key{njust at 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 at 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 at define@key{njust at value}{default}{%
+    \def\njust@@default{##1}
+  }
+  \kvsetkeys{njust at value}{#2}
+  \@namedef{njust@\@nameuse{njust@#1@@name}}{}
+  \kv at set@family at handler{njust at choice}{%
+    \ifx\njust@@default\@empty
+      \def\njust@@default{##1}
+    \fi
+    \expandafter\newif\csname ifnjust@\@nameuse{njust@#1@@name}@##1\endcsname
+    \expandafter\g at addto@macro\csname njust@#1@@reset\endcsname{%
+      \@nameuse{njust@\@nameuse{njust@#1@@name}@##1false}
+    }
+  }
+  \kvsetkeys at expandafter{njust at 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 at define@key{njust}{#1}{%
+    \@namedef{njust@\@nameuse{njust@#1@@name}}{##1}
+    \@nameuse{njust@#1@@check}
+    \@nameuse{njust@#1@@hook}
+  }
+}
+\newcommand\njust at addto[2]{%
+  \expandafter\g at addto@macro\csname njust@#1@@code\endcsname{#2}
+}
+
+% Fakechapter default
+\njust at define@key{%
+  logo = {%
+    default = \njustwhole[njust][0.5],
+  },
+  cover-title = {%
+    name = cover at title,
+    default = {毕业设计说明书},
+  },
+  author = {%
+    default = {佚名},
+  },
+  id = {%
+    default = {916101630000},
+  },
+  department = {%
+    default = {电子工程与光电技术学院},
+  },
+  discipline = {%
+    default = {电子工程与光电技术},
+  },
+  title = {%
+  },
+  subtitle = {%
+  },
+  supervisor = {%
+    default = {张三},
+  },
+  associate-supervisor = {%
+    name = associate at supervisor,
+  },
+  judge = {%
+    default = {王五},
+  },
+  supervisor-title = {%
+    name = supervisor at title,
+    default = {教授},
+  },
+  associate-supervisor-title = {%
+    name = associate at supervisor@title,
+  },
+  judge-title = {%
+    name = judge at title,
+    default = {教授},
+  },
+  year = {%
+    default = \the\year,
+  },
+  month = {%
+    default = \the\month,
+  },
+  day = {%
+    default = \the\day,
+  },
+  signature = {%
+    default = \makebox[4em]{},
+  },
+  signature* = {%
+    name = signature at teacher,
+    default = \makebox[4em]{},
+  },
+  abstract-prefix = {%
+    name = abstract at prefix,
+    default = {毕业论文},
+  },
+  title* = {%
+    name = title at en,
+  },
+  subtitle* = {%
+    name = subtitle at en,
+  },
+  header-title = {%
+    name = header at 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 at fancy}{%
+  \renewcommand{\headrulewidth}{0.4pt}
+  \fancyhead[OC, EC]{\zihao{-2}\njust at header@title}
+  \fancyhead[EL, OR]{\zihao{5}第\thepage~页}
+  \fancyhead[ER, OL]{}
+  \fancyfoot[EC, OC]{}
+}
+\fancypagestyle{plain}{%
+  \pagestyle{njust at fancy}
+}
+\pagestyle{njust at 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 at title}
+\author{\njust at 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 at logo
+
+      \vspace{0.2\ccwd}
+
+      \fontsize{45pt}{45pt}\selectfont\heiti%
+      \njust at 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 at author}} &
+        \textbf{学  号:} &
+        \underline{\makebox[4cm][c]{\kaishu\njust at id}} \\
+        \textbf{学   院:} &
+        \multicolumn{3}{c}{\underline{\makebox[11cm][c]
+        {\kaishu\njust at department}}} \\
+        \textbf{专业(方向):} &
+        \multicolumn{3}{c}{
+          \underline{\makebox[11cm][c]{\kaishu\njust at discipline}}} \\
+        \textbf{题   目:} &
+        \multicolumn{3}{c}{
+          \underline{\makebox[11cm][c]{\kaishu\njust at title}}} \\
+        \textbf{} &
+        \multicolumn{3}{c}{
+          \underline{\makebox[11cm][c]{\kaishu\njust at 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 at supervisor\hspace{1em}\njust at supervisor@title}}
+
+      \hspace{5em}
+
+      \phantom{指导者:}\underline{\makebox[15.5\ccwd][c]{\njust at associate@supervisor\hspace{1em}\njust at associate@supervisor at title}}
+
+      \hspace{5em}
+
+      \textbf{评阅者:}\underline{\makebox[15.5\ccwd][c]{\njust at judge\hspace{1em}\njust at judge@title}}
+
+      \hspace{5em}
+
+      \zihao{-2}
+      \njust at year 年\njust at 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 at abstract@prefix 及其研究工作和所取得的成果是本人在导师的指导
+    下独立完成的。研究过程中利用的所有资料均已在参考文献中列出,其他人员或机
+    构对本\njust at abstract@prefix 工作做出的贡献也已在致谢部分说明。
+
+    本\njust at abstract@prefix 不涉及任何秘密,南京理工大学有权保存其电子和纸质文档
+    ,可以借阅或网上公布其部分或全部内容,可以向有关部门或机构送交并授权保存
+    、借阅或网上公布其部分或全部内容。
+
+    \vspace{2\ccwd}
+
+    \begin{flushright}
+      学生签名:\njust at signature
+
+      \vspace{1\ccwd}
+
+      \njust at year 年\njust at month 月\njust at day 日
+
+      \vspace{2\ccwd}
+
+      指导教师签名:\njust at signature@teacher
+
+      \vspace{1\ccwd}
+
+      \njust at year 年\njust at month 月\njust at 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 at 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 at 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 at title@en}} \\
+        \phantom{Title} &
+        \hspace{2em}\underline{
+          \makebox[15em][c]{\zihao{4}\njust at 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


Property changes on: trunk/Master/texmf-dist/source/latex/njustthesis/njustthesis.dtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/source/latex/njustthesis/njustthesis.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/njustthesis/njustthesis.ins	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/njustthesis/njustthesis.ins	2022-03-04 21:51:50 UTC (rev 62409)
@@ -0,0 +1,11 @@
+\input docstrip
+\usedir{tex/latex/\jobname}
+\preamble%
+Copyright (C) 2022-\the\year\ by wzy <wuzy01 at 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%

Added: trunk/Master/texmf-dist/tex/latex/njustthesis/njustthesis.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/njustthesis/njustthesis.cls	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/njustthesis/njustthesis.cls	2022-03-04 21:51:50 UTC (rev 62409)
@@ -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 at 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 at define@key[1]{%
+  \kvsetkeys{njust at key}{#1}
+}
+\newcommand\njust at error[1]{%
+ \ClassError{njustthesis}{#1}{}
+}
+\kv at set@family at handler{njust at key}{%
+  \@namedef{njust@#1@@name}{#1}
+  \def\njust@@default{}
+  \def\njust@@choices{}
+  \kv at define@key{njust at value}{name}{%
+    \@namedef{njust@#1@@name}{##1}
+  }
+  \kv at define@key{njust at 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 at define@key{njust at 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 at 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 at define@key{njust at value}{default}{%
+    \def\njust@@default{##1}
+  }
+  \kvsetkeys{njust at value}{#2}
+  \@namedef{njust@\@nameuse{njust@#1@@name}}{}
+  \kv at set@family at handler{njust at choice}{%
+    \ifx\njust@@default\@empty
+      \def\njust@@default{##1}
+    \fi
+    \expandafter\newif\csname ifnjust@\@nameuse{njust@#1@@name}@##1\endcsname
+    \expandafter\g at addto@macro\csname njust@#1@@reset\endcsname{%
+      \@nameuse{njust@\@nameuse{njust@#1@@name}@##1false}
+    }
+  }
+  \kvsetkeys at expandafter{njust at 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 at define@key{njust}{#1}{%
+    \@namedef{njust@\@nameuse{njust@#1@@name}}{##1}
+    \@nameuse{njust@#1@@check}
+    \@nameuse{njust@#1@@hook}
+  }
+}
+\newcommand\njust at addto[2]{%
+  \expandafter\g at addto@macro\csname njust@#1@@code\endcsname{#2}
+}
+
+\njust at define@key{%
+  logo = {%
+    default = \njustwhole[njust][0.5],
+  },
+  cover-title = {%
+    name = cover at title,
+    default = {毕业设计说明书},
+  },
+  author = {%
+    default = {佚名},
+  },
+  id = {%
+    default = {916101630000},
+  },
+  department = {%
+    default = {电子工程与光电技术学院},
+  },
+  discipline = {%
+    default = {电子工程与光电技术},
+  },
+  title = {%
+  },
+  subtitle = {%
+  },
+  supervisor = {%
+    default = {张三},
+  },
+  associate-supervisor = {%
+    name = associate at supervisor,
+  },
+  judge = {%
+    default = {王五},
+  },
+  supervisor-title = {%
+    name = supervisor at title,
+    default = {教授},
+  },
+  associate-supervisor-title = {%
+    name = associate at supervisor@title,
+  },
+  judge-title = {%
+    name = judge at title,
+    default = {教授},
+  },
+  year = {%
+    default = \the\year,
+  },
+  month = {%
+    default = \the\month,
+  },
+  day = {%
+    default = \the\day,
+  },
+  signature = {%
+    default = \makebox[4em]{},
+  },
+  signature* = {%
+    name = signature at teacher,
+    default = \makebox[4em]{},
+  },
+  abstract-prefix = {%
+    name = abstract at prefix,
+    default = {毕业论文},
+  },
+  title* = {%
+    name = title at en,
+  },
+  subtitle* = {%
+    name = subtitle at en,
+  },
+  header-title = {%
+    name = header at 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 at fancy}{%
+  \renewcommand{\headrulewidth}{0.4pt}
+  \fancyhead[OC, EC]{\zihao{-2}\njust at header@title}
+  \fancyhead[EL, OR]{\zihao{5}第\thepage~页}
+  \fancyhead[ER, OL]{}
+  \fancyfoot[EC, OC]{}
+}
+\fancypagestyle{plain}{%
+  \pagestyle{njust at fancy}
+}
+\pagestyle{njust at 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 at title}
+\author{\njust at 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 at logo
+
+      \vspace{0.2\ccwd}
+
+      \fontsize{45pt}{45pt}\selectfont\heiti%
+      \njust at 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 at author}} &
+        \textbf{学  号:} &
+        \underline{\makebox[4cm][c]{\kaishu\njust at id}} \\
+        \textbf{学   院:} &
+        \multicolumn{3}{c}{\underline{\makebox[11cm][c]
+        {\kaishu\njust at department}}} \\
+        \textbf{专业(方向):} &
+        \multicolumn{3}{c}{
+          \underline{\makebox[11cm][c]{\kaishu\njust at discipline}}} \\
+        \textbf{题   目:} &
+        \multicolumn{3}{c}{
+          \underline{\makebox[11cm][c]{\kaishu\njust at title}}} \\
+        \textbf{} &
+        \multicolumn{3}{c}{
+          \underline{\makebox[11cm][c]{\kaishu\njust at 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 at supervisor\hspace{1em}\njust at supervisor@title}}
+
+      \hspace{5em}
+
+      \phantom{指导者:}\underline{\makebox[15.5\ccwd][c]{\njust at associate@supervisor\hspace{1em}\njust at associate@supervisor at title}}
+
+      \hspace{5em}
+
+      \textbf{评阅者:}\underline{\makebox[15.5\ccwd][c]{\njust at judge\hspace{1em}\njust at judge@title}}
+
+      \hspace{5em}
+
+      \zihao{-2}
+      \njust at year 年\njust at 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 at abstract@prefix 及其研究工作和所取得的成果是本人在导师的指导
+    下独立完成的。研究过程中利用的所有资料均已在参考文献中列出,其他人员或机
+    构对本\njust at abstract@prefix 工作做出的贡献也已在致谢部分说明。
+
+    本\njust at abstract@prefix 不涉及任何秘密,南京理工大学有权保存其电子和纸质文档
+    ,可以借阅或网上公布其部分或全部内容,可以向有关部门或机构送交并授权保存
+    、借阅或网上公布其部分或全部内容。
+
+    \vspace{2\ccwd}
+
+    \begin{flushright}
+      学生签名:\njust at signature
+
+      \vspace{1\ccwd}
+
+      \njust at year 年\njust at month 月\njust at day 日
+
+      \vspace{2\ccwd}
+
+      指导教师签名:\njust at signature@teacher
+
+      \vspace{1\ccwd}
+
+      \njust at year 年\njust at month 月\njust at 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 at 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 at 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 at title@en}} \\
+        \phantom{Title} &
+        \hspace{2em}\underline{
+          \makebox[15em][c]{\zihao{4}\njust at 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'.


Property changes on: trunk/Master/texmf-dist/tex/latex/njustthesis/njustthesis.cls
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2022-03-04 21:51:06 UTC (rev 62408)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2022-03-04 21:51:50 UTC (rev 62409)
@@ -567,7 +567,7 @@
     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

Modified: trunk/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc	2022-03-04 21:51:06 UTC (rev 62408)
+++ trunk/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc	2022-03-04 21:51:50 UTC (rev 62409)
@@ -142,6 +142,7 @@
 depend navydocs
 depend nddiss
 depend ndsu-thesis
+depend njustthesis
 depend njuthesis
 depend njuvisual
 depend novel

Added: trunk/Master/tlpkg/tlpsrc/njustthesis.tlpsrc
===================================================================


More information about the tex-live-commits mailing list.