% \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} % % \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 % \def\filename{njustthesis.cls} % \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]{% % \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> % 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|sty> \endinput % % \end{macrocode} % \IfFileExists{./CHANGELOG.md}{\markdownInput{CHANGELOG.md}}{} % \Finale