%=============================================================== % npreport.cls % npreport: Lab Report of Network Practice in NUDT % version 1.0 (2022年10月) % 国防科技大学网络相关实习实验报告LaTeX模板 % LaTeX Template for Lab Report of Network Practice in NUDT % by Jing Xia % 部分参考了“清华大学近代物理实验实验报告LaTeX模板(非官方)” % https://thu.services/templates/ %=============================================================== \NeedsTeXFormat{LaTeX2e} \ProvidesClass{npreport} [2021/03/28 v1.0 The LaTeX Template for Lab Report of Network Practice in NUDT] \typeout{Document Class `npreport' v1.0 by Jing Xia (2022/10)} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{ctexart}} \ProcessOptions\relax \LoadClass[twocolumn,twoside,a4paper,UTF8]{ctexart} %=============================================================== % packages %=============================================================== \usepackage{fancyhdr} \usepackage{amsmath,amsfonts,amssymb,graphicx} % EPS 图片支持 \usepackage{subfigure} % 使用子图形 % \usepackage{indentfirst} % 中文段落首行缩进 \usepackage{bm} % 公式中的粗体字符(用命令\boldsymbol) \usepackage{amsthm} % 使用定理 \usepackage{booktabs} % 使用表格 \usepackage{titlesec} % \usepackage{ccaption} \usepackage{caption} \usepackage{graphicx} \usepackage{environ} \usepackage{lmodern} \usepackage{unicode-math} \usepackage[sort&compress]{gbt7714} \usepackage{anyfontsize} \usepackage[colorlinks,bookmarksnumbered,urlcolor=blue, linkcolor=black,citecolor=red,plainpages=false]{hyperref} \usepackage{tabu} \usepackage{longtable} \usepackage{makecell} \usepackage{tikz} \usepackage{calc} \usetikzlibrary{calc} %=============================================================== % 基础格式 %=============================================================== % 字体 \setmainfont{Times New Roman} % 字号设置 \newcommand{\erhao}{\fontsize{22pt}{\baselineskip}\selectfont} \newcommand{\sihao}{\fontsize{14pt}{\baselineskip}\selectfont} \newcommand{\xiaosihao}{\fontsize{12pt}{\baselineskip}\selectfont} \newcommand{\wuhao}{\fontsize{10.5pt}{\baselineskip}\selectfont} \newcommand{\xiaowuhao}{\fontsize{9pt}{\baselineskip}\selectfont} \newcommand{\liuhao}{\fontsize{7.875pt}{\baselineskip}\selectfont} \newcommand{\myxiaoliuhao}{\fontsize{6.5pt}{\baselineskip}\selectfont} \newcommand{\qihao}{\fontsize{5.25pt}{\baselineskip}\selectfont} \DeclareRobustCommand{\ttfamily}{\fontencoding{T1}\fontfamily{lmtt}\selectfont} % 图表 \renewcommand{\tablename}{表} \renewcommand{\figurename}{图} % \captiondelim{123} \setlength{\abovecaptionskip}{2pt} \setlength{\belowcaptionskip}{2pt} \DeclareCaptionFont{heiti}{\heiti} \captionsetup{format=plain,labelformat=simple, labelsep=space,justification=centering, font={small,heiti}} \captionsetup[sub]{font=footnotesize} \DeclareMathSizes{10.5}{10}{6.8}{4.2} \setlength{\abovedisplayskip}{2.5mm} \setlength{\belowdisplayskip}{2.5mm} % 页边距(符合中文刊物习惯) \usepackage{lettrine} \setlength{\parindent}{2em} \setlength{\voffset}{-4mm} \setlength{\parskip}{1pt} \renewcommand{\baselinestretch}{1.15} %定义行间距1.15 \renewcommand\section{\@startsection {section}{1}{\z@}% {1.5ex }% {1.5ex}% {\normalfont\bfseries\sihao}} \renewcommand\subsection{\@startsection {subsection}{1}{\z@}% {-1pt }% {1pt}% {\normalfont\bfseries\heiti\wuhao}} \renewcommand\subsubsection{\@startsection {subsubsection}{1}{\z@}% {-1pt }% {1pt}% {\normalfont\wuhao}} \usepackage{geometry} \newgeometry{ top=25.4mm, bottom=22.5mm, left=20mm, right=20mm, headsep=5mm, headheight=10mm, footskip=10mm, } \savegeometry{mastergeometry} \loadgeometry{mastergeometry} \setlength{\columnsep}{10mm} % 枚举 \newcommand*\bigcdot{\mathpalette\bigcdot@{1.2}} \newcommand*\bigcdot@[2]{\mathbin{\vcenter{\hbox{\scalebox{#2}{$\m@th#1\bullet$}}}}} \usepackage{enumitem} \setenumerate[1]{itemsep=0pt,partopsep=0pt,parsep=\parskip,topsep=0pt} \setitemize[1]{itemsep=0pt,partopsep=0pt,parsep=\parskip,topsep=0pt,label={$\bigcdot$}} %=============================================================== % 文档风格 %=============================================================== % 停用CTex模板文档参数 \title{} \author{} \date{} % 全局图片目录 \graphicspath{{./figures/}} % npreport 内置文档参数 \newcommand{\coursename}[1]{ % 课程名称 \def\@coursename{#1}} \newcommand{\studentname}[1]{ % 学生姓名 \def\@studentname{#1}} \newcommand{\studentid}[1]{ % 学号 \def\@studentid{#1}} \newcommand{\studenttype}[1]{ % 培养类型 \def\@studenttype{#1}} \newcommand{\studentgrade}[1]{% 年级 \def\@studentgrade{#1}} \newcommand{\major}[1]{ % 专业 \def\@major{#1}} \newcommand{\school}[1]{ % 所属学院 \def\@school{#1}} \newcommand{\teacher}[1]{ % 授课教员 \def\@teacher{#1}} % 封面 \newcommand{\makecover}{ \thispagestyle{empty} \begin{tikzpicture}[overlay,remember picture] \node[anchor=center,scale=3] at ([yshift=8.5cm]current page.center) {\heiti 本\ 科\ 实\ 验\ 报\ 告}; \node[anchor=center,scale=1.6,inner sep=0pt] at ([yshift=5cm]current page.center) {课程名称:\underline{\quad\quad\@coursename\quad\quad}}; \node[anchor=center,scale=1.3,inner sep=0pt] at ([yshift=-1cm]current page.center) { \renewcommand{\arraystretch}{0.8} \begin{tabular}{b{1.7cm}b{2.5cm}<{\centering}b{2cm}p{2.5cm}<{\centering}} 学  员: & \@studentname &  学  号: & \@studentid \\ \cline{2-2} \cline{4-4} \\ 培养类型: & \@studenttype &  年  级: & \@studentgrade \\ \cline{2-2} \cline{4-4} \\ 专  业: & \multicolumn{3}{c}{\@major} \\ \cline{2-4} \\ 所属学院: & \@school &  授课教员: & \@teacher \\ \cline{2-2} \cline{4-4} \end{tabular} \renewcommand{\arraystretch}{1} }; \node at ([xshift=0.5cm,yshift=-9.5cm]current page.center) {\includegraphics[width=6cm]{logo-long}}; \end{tikzpicture} \clearpage{\thispagestyle{empty}\cleardoublepage} } % 目录 \ctexset{contentsname=目~~~~录} \renewcommand\tableofcontents{% \onecolumn \thispagestyle{empty} \pdfbookmark[0]{\contentsname}{toc} \centerline{\erhao\heiti\contentsname} \vspace*{0.5em} \@starttoc{toc} \clearpage{\thispagestyle{empty}\cleardoublepage} } \addtocontents{toc}{\let\string\CTEX@spaceChar\relax} % 页眉页脚 \pagestyle{fancy} \fancyhf{} \fancyhead[CO]{{\footnotesize \@coursename \quad 实验报告}} \fancyhead[CE]{{\footnotesize \leftmark}} \fancyhead[LE,RO]{~~~\footnotesize\thepage ~~~} \lfoot{} \cfoot{} \rfoot{} % 摘要 & 关键词 \NewEnviron{Abstract}{ \setcounter{page}{1} \twocolumn[ \begin{@twocolumnfalse} \begin{center} \parbox{\textwidth}{ \wuhao\setlength{\parindent}{2em} \newlength{\somelength} {\heiti\wuhao \makebox[\widthof{【关键词】}][s]{【摘 要】}} {\xiaowuhao \BODY } {\heiti\wuhao \makebox[\widthof{【关键词】}][s]{【关键词】}} \heiti \wuhao \@keyword \vspace*{1.5em}} \end{center} \end{@twocolumnfalse} ] } \newcommand{\keyword}[1]{ \def\@keyword{#1} } %=============================================================== % 代码着色支持 %=============================================================== \usepackage[breakable,minted]{tcolorbox} \newtcblisting{code}[1][]{ center, width=\linewidth, listing only, breakable=true, minted language=#1, extras={frame empty}, fontupper=\linespread{1.3}\footnotesize, % minted style=colorful, minted options={ %自动移除前置空白、制表为4字符、mathhe和||内的不处理 fontfamily=tt, autogobble, tabsize=2, startinline, breaklines, mathescape } } %=============================================================== % 参考文献 %=============================================================== \renewcommand\refname{\heiti\wuhao\centerline{参考文献}\global\def\refname{参考文献}} \vskip 12pt \let\OLDthebibliography\thebibliography \renewcommand\thebibliography[1]{ \OLDthebibliography{#1} \setlength{\parskip}{0pt} \setlength{\itemsep}{0pt plus 0.3ex} } \newcommand{\makebibliography}[1]{ { \vspace*{1em} \renewcommand{\baselinestretch}{0.9} \liuhao \bibliographystyle{gbt7714-numerical} \bibliography{#1} } }