forked from liubenyuan/nudtpaper
-
Notifications
You must be signed in to change notification settings - Fork 0
/
mynudt.sty
118 lines (108 loc) · 3.66 KB
/
mynudt.sty
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
\ProvidesPackage{mynudt}[2009/08/20 by you]
% 这里添加你的论文中专门使用的宏包
% 原先preamble中的\usepackage{...}用\RequirePackage{...}代替
% 算法以及列表环境
\RequirePackage{cases,listings}
\RequirePackage{fancyvrb}
\RequirePackage[chapter]{algorithm}
\RequirePackage{algorithmic}
% 配置Lstlisting
\lstset{
columns=flexible,sensitive=true,lineskip=-3pt,
basicstyle=\small\ttfamily,
keywordstyle=\color{blue}\bfseries,
stringstyle=\ttfamily,
commentstyle=\color{red!50!green!50!blue!50},
numbers=left,numberstyle=\tiny,
xleftmargin=0.5em,xrightmargin=0.5em,aboveskip=0.5em,
showstringspaces=false,breaklines=true,extendedchars=true,escapeinside=``,
frame=shadowbox,rulesepcolor=\color{red!20!green!20!blue!20}}
% 配置算法包
\algsetup{indent=3em}
\floatname{algorithm}{算法}
\renewcommand{\algorithmicrequire}{\textbf{已知:}}
\renewcommand{\algorithmicensure}{\textbf{求:}}
\DefineVerbatimEnvironment{code}{Verbatim}%
{frame=lines,framerule=0.5mm,rulecolor=\color{black},%
fontseries=tt,xleftmargin=4mm,numbers=left,numbersep=1.5mm}
% gobble=2,numbers=left,xleftmargin=5mm}
% 自定义其他命令
\newcommand{\mynudt}{我的导言}
\newcommand{\ve}[1]{\ensuremath{\mathbf{#1}}}
\newcommand{\bhat}[1]{\ensuremath{\mathbf{\hat{{#1}}}}}
\newcommand{\expect}[1]{\ensuremath{\langle #1\rangle}}
\newcommand{\fcite}[1]{[{\bf #1}]}
\newcommand{\rcite}{[{\bf\textcolor{red}{R}}]}
\newcommand{\SI}[2]{\ensuremath{\mathrm{#1}^{#2}}}
\newcommand{\abs}[1]{\ensuremath{\vert #1\vert}}
\newcommand{\norm}[1]{\ensuremath{\Vert #1\Vert}}
\newcommand{\wmark}{{\color{red}$\square$}}
\newcommand{\rd}{\ensuremath{\mathrm{d}}}
\newcommand{\lby}[1]{{\color{red}\kai #1}}
\newcommand{\done}{{\color{red}\bf\ensuremath{\checkmark}}}
\newcommand{\diag}{\ensuremath{\mathrm{diag}}}
% defining values of gray
\definecolor{shadecolor}{gray}{.85}%
\definecolor{tintedcolor}{gray}{.90}%
\RequirePackage{framed}%
%
\newenvironment{tinted}{%
\def\FrameCommand{\colorbox{tintedcolor}}%
\MakeFramed {\FrameRestore}}%
{\endMakeFramed}%
%
\newenvironment{svgraybox}%
{\fboxsep=12pt\relax
\begin{shaded}%
\list{}{\leftmargin=12pt\rightmargin=2\leftmargin\leftmargin=\z@\topsep=\z@\relax}%
\expandafter\item\parindent=0pt
\hskip-\listparindent}%
{\endlist\end{shaded}}%
%
\newenvironment{svtintedbox}%
{\fboxsep=6pt\relax
\begin{tinted}%
\list{}{\leftmargin=0pt\rightmargin=2\leftmargin\leftmargin=\z@\topsep=\z@\relax}%
\expandafter\item\parindent=0pt
\relax}%
{\endlist\end{tinted}}%
%
% tabularx 中的 Z 环境,居中自动调整
\newcolumntype{Z}{>{\centering\arraybackslash}X}
% 0. 符号表
\RequirePackage[intoc,norefeq,refpage]{nomencl}
\renewcommand{\nomname}{重要符号表}
\renewcommand{\nomgroup}[1]{}%
% 1. 定制nom条目
\def\pagedeclaration#1{\nobreakspace#1}%
\def\@@nomenclature[#1]#2#3#4{\endgroup\@esphack}
\def\@@@nomenclature[#1]#2#3#4{%
\def\@tempa{#2}\def\@tempb{#3}%
\protected@write\@nomenclaturefile{}%
{\string\nomenclatureentry{#1\nom@verb\@tempa @{\nom@verb\@tempa}&%
\begingroup\nom@verb\@tempb\endgroup &\begingroup#4\endgroup&%
\begingroup\protect%
|nompageref}{\thepage}}%
\endgroup%
\@esphack}
% 2. 定制nom表格
\def\thenomenclature{%
\@ifundefined{chapter}%
{
\section*{\nomname}
\if@intoc\addcontentsline{toc}{section}{\nomname}\fi%
}%
{
\chapter*{\nomname}
\if@intoc\addcontentsline{toc}{chapter}{\nomname}\fi%
}%
\nompreamble%
\begin{longtable}[c]{@{}lp{23em}ll@{}}%
{\hei 符~号} & {\hei 定~义} & {\hei 单~位} & {\hei 页~码} \\
}
\def\endthenomenclature{%
\end{longtable}%
\nompostamble%
}
% %
\endinput