diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fa1bc50 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +*.aux +*.bcf +*.log +*.out +*.run.xml +*.synctex.gz +*.toc \ No newline at end of file diff --git a/AirPopulationControlEngineering/AirPolutionControlEngineering(HaiJieming)4thEditionbook.tex b/AirPopulationControlEngineering/AirPolutionControlEngineering(HaiJieming)4thEditionbook.tex new file mode 100644 index 0000000..40a12d1 --- /dev/null +++ b/AirPopulationControlEngineering/AirPolutionControlEngineering(HaiJieming)4thEditionbook.tex @@ -0,0 +1,493 @@ +% !TeX program = XeLaTeX +% !TeX encoding = UTF-8 +\documentclass[lang=cn,11pt,a4paper,toc=twocol,chinese,thmcnt=section]{elegantbookzero} + +\usepackage{amsmath} +\usepackage{ctex} +\usepackage[normalem,normalbf]{xeCJKfntef} +\usepackage{circledsteps,enumitem} +\usepackage[version=4]{mhchem} +\usepackage{tikz} +% \usepackage[normalem]{ulem} +\usepackage{mathspec} +\usepackage{titlesec} + +\usepackage{array} + +\setmathsfont(Latin)[Lowercase]{XITS} +%% 设置默认数学字体为 XITS + +\setlength{\ULdepth}{0.2334em} +%% 调整下划线的深度(距离字符的垂直距离)ulem + + + + +\newcommand{\circlnum}[1]{ + \tikz[baseline=(char.base)]{ + \node[shape=circle, draw, inner sep=0pt, minimum size=0.95em] (char) {#1}; + } +} + +\newlist{indentlist}{enumerate}{3} +%% 定义新列表,用于(1)(2)··· 序号开头的段落,最大嵌套3层 + +\setlist[indentlist]{ + labelindent=2em, + %% 标签缩进2字符 + leftmargin=*, + %% 列表左侧空白宽度 + label=(\arabic*)\hspace{-0.425em}, + %% 序号格式以及 ")" 后空白的调整 + itemindent=4em, + %% 首行缩进(相对于列表项目非首行的) + listparindent=0em, + %% 非首行缩进 + parsep=0pt + %% 同一项内部段落行间距 +} + + + + + +\cover{cover1.png} +\title{大气污染控制工程} +\author{KWL} +\date{} + +\begin{document} + +\maketitle + +\pagenumbering{roman} +\tableofcontents + +\mainmatter +% \pagenumbering{arabic} +\chapter{概论} +\begin{introduction} + \item 大气污染 + \item 一次污染物 + \item 二次污染物 + \item 光化学烟雾 + \item 二次颗粒物 + \item 环境空气功能区 + \item 空气质量指数 +\end{introduction} +\newpage + \section{大气与大气污染} + + \subsection*{大气污染的定义及其分类} + \begin{definition}[大气污染] + 如果大气中的物质达到一定浓度,并持续足够的时间,以致对公众 + 健康、动物、植物、材料、大气特性或环境美学产生可测量的不利影响,这就是大气污染。 + \end{definition} + + 空气污染三要素: + \begin{enumerate}[itemindent=1.5em,label=(\alph*)] + \item 污染源 + \item 污染物浓度 + \item 对人和生物的危害 + \end{enumerate} + + 按照影响范围,大气污染大致可分为四类: + \begin{enumerate}[itemindent=1.5em] + \item 局部地区污染 + \item 地区性污染 + \item 广域性污染 + \item 全球性污染 + \end{enumerate} + + 大气污染研究的主要内容是:污染源和控制方法。 + + 污染源分为人为源(Anthropogenic sources)和自然源(Natural sources)。 + + 基本控制方程: + \begin{equation*} + Total \ Emissions = Population \times Activity level \times Emission \ factor + \end{equation*} + + \subsection*{全球性大气污染问题} + + 全球性大气污染问题包括\textbf{温室效应}、\textbf{臭氧层破坏}和\textbf{酸雨}等三大问题。 + + \section{大气污染物及其来源} + + \subsection*{大气污染物} + + \begin{definition}[大气污染物] + 大气污染物系指由于人类活动或自然过程排入大气的、并对人和环境产生有害影响的物质。 + \end{definition} + + 大气污染物按其存在形态可概括为两大类:\textbf{气溶胶状态污染物}和\textbf{气体状态污染物}。 + + \subsubsection*{一次污染物与二次污染物} + + \begin{definition}[一次污染物] + 一次污染物是指直接从污染源排放到大气的污染物质,包括气溶胶状态和气体状态污染物。 + \end{definition} + \begin{definition}[二次污染物] + 二次污染物是由一次污染物与大气中已有组分,或几种一次污染物之间经历一系列化学或光化学反应而生成的新污染物质。 + \end{definition} + + 会导致二次污染物形成的\textbf{一次污染物}称为前体物,主要包括\textbf{硫氧化物}(\ce{SO_x})、\textbf{氮氧化物}(\ce{NO_x})、 + \textbf{碳氧化物}(\ce{CO}、\ce{CO2})、\textbf{挥发性有机化合物}(\ce{C1} \textasciitilde \ \ce{C10}化合物)和\textbf{氨}等。 + + 二次污染物包括\textbf{光化学烟雾}(photochemical smog)和\textbf{二次颗粒物}(secondary particles)等。 + + \begin{definition}[光化学烟雾] + 光化学烟雾是在阳光照射下,大气中的氮氧化物、挥发性有机化合物之间发生一系列光化学反应而生成的蓝色烟雾(有时带些紫色或者 + 黄褐色),主要成分有臭氧(\ce{O3})、过氧乙酰硝酸酯(PAN)、酮类和醛类等。 + \end{definition} + + \begin{definition}[二次颗粒物] + 二次颗粒物是大气中气态污染物经过一系列的物理、化学或光化学过程而形成的颗粒物,包括\heiti{硫酸盐}、\heiti{硝酸盐}、 + \heiti{凝结的有机物}、\heiti{重金属粒子}等。 + \end{definition} + + \subsection*{大气污染物的来源和排放量} + + \subsubsection*{大气污染源} + + 大气污染物的来源可分为\textbf{自然污染源}和\textbf{人为污染源}。 + + 人为源\textbf{按污染源的空间分布}可分为: + \begin{enumerate}[itemindent=1.5em] + \item 点源 + \item 面源 + \item 线源 + \end{enumerate} + + 在大气污染及其控制研究中,通常根据\textbf{污染形成原因},将\textbf{大气污染}分为:\circlnum{1}\ \textbf{煤烟型污染}, + 即煤炭燃烧产生的大气污染,主要污染物包括烟尘、\ce{SO2}、\ce{NO_x}和重金属等;\circlnum{2}\ \textbf{机动车尾气污染}, + 即机动车燃用汽油、柴油、天然气和液化石油气等化石燃料造成的低空大气污染,主要污染物包括\ce{NO_x}、\ce{CO}和碳氢化合物(HC); + 柴油车还会排放黑烟\circlnum{3}\ \textbf{生产性污染},即工业企业生产过程引起的大气污染,如金属冶炼、建材生产、石油化工等 + 造成的大气污染,其污染物类型取决于生产原料和生产工艺条件;\circlnum{4}\ \textbf{面源污染},因道路扬尘、裸露土壤、餐饮油 + 烟、秸秆和垃圾焚烧等形成的污染,面源污染的特点是大多以无组织方式排放、释放面积大或数量多但单一污染源强度不大。 + + \section{大气环境保护的法律法规与标准} + + \subsection*{环境空气质量标准} + 该标准将环境空气功能区划分为两类:一类区为自然保护区、风景名胜区和其他需要特殊保护的区域;二类区为居住区、商业交通 + 居民混合区、文化区、工业区和农村地区。一类区适用一级浓度限值,二类区适用二级浓度限值。 + + 该标准规定了\ce{SO2}、\ce{NO2}、\ce{CO}、\ce{O3}、\ce{PM10}、\ce{PM_{2.5}},以及\ce{TSP}、\ce{NO_x}、铅(\ce{Pb}) + 和\ce{BaP}的浓度限值。同时,还提出了环境空气中镉(\ce{Cd})、汞(\ce{Hg})、砷(\ce{As})、六价铬(\ce{Cr(VI)})和氟化物的 + 参考浓度限值。 + \subsection*{空气质量指数分级及其浓度限值} + + 空气质量指数(air quality index,AQI)是我国定量描述空气质量状况的量纲为1的指数。参与空气质量指数评价的污染物为 + \ce{PM_{2.5}}、\ce{PM10}、\ce{SO2}、\ce{NO2}、\ce{O3}、\ce{CO}。针对单项污染物还规定了空气质量分指数(IAQI)。 + + 根据《环境空气质量指数(AQI)技术规定(试行)》(HJ 633-2012),空气质量指数划分为0\~{}50、51\~{}100、101\~{}150、151\~{}200、 + 201\~{}300和大于300六个级别,对应于空气质量的六个级别(优、良、轻度污染、重度污染、中度污染、重度污染、严重污染)。 + +\chapter{燃烧与大气污染} +\begin{introduction} + \item 燃料最重要的属性 + \item 煤的分类 + \item 煤的工业分析 + \item 煤的元素分析 + \item 煤中硫的形态 + \item 煤的成分表示方法 +\end{introduction} +\newpage + + \section{燃料的性质} + + \begin{definition}[燃料] + 燃料是指用以产生热量或动力的可燃性物质。 + \end{definition} + + 燃料按\textbf{物理状态}分为\textbf{固体燃料}、\textbf{液体燃料}和\textbf{气体燃料}三类。 + + 燃料最重要的属性是\textbf{热值}和\textbf{组成(杂质)}。 + + 热值决定燃料的消耗量;杂质决定污染物的来源。 + + \subsection*{煤} + + 煤的可燃成分主要是碳、氢以及少量氧、氮和硫等一起构成的有机聚合物。 + + \subsubsection*{煤的分类} + + \begin{indentlist} + \item \textbf{褐煤}:最低品位的煤,是由泥煤形成的初始煤化物,形成年代最短。 + \item \textbf{烟煤}:形成年代较褐煤长,呈黑色,外形有可见条纹,挥发分含量为20\%{}\~{}45\%{},碳含量为75\%{}\~{}90\%{}。烟煤的成焦性较强,且氧含量低,水分和挥发分含量一般不高,适宜\textbf{工业上的一般应用}。在空气中,比褐煤更能抵抗风化。 + \item \textbf{无烟煤}:含碳量最高、煤化时间最长的煤。有明亮的黑色光泽,机械强度高。碳含量一般高于93\%{},无机物含量低于10\%{},因而着火困难,储存稳定,不宜自燃。无烟煤成焦性极差。 + \end{indentlist} + + \subsubsection*{煤的工业分析} + + 煤的工业分析包括测定煤中的\textbf{水分}、\textbf{灰分}、\textbf{挥发分}和\textbf{固定碳},以及\textbf{估计硫含量}和\textbf{热值},是评价工业用煤的主要指标。 + + \begin{indentlist} + \item 水分:水分包括外部水分和内部水分。 + + \item 灰分:灰分是煤中不可燃物质的总称,其含量和组成因煤种及粗加工的不同而异,我国煤炭的平均灰分约为25\%{}。煤中灰分的存在,降低了煤的热值, + 也增加了烟尘污染及出渣量。高灰分、低熔点的煤极易结渣,使煤不能充分燃烧,从而影响热效率。 + + \item 挥发分:煤在隔绝空气条件下加热分解出的可燃气态物质称为挥发分,通过将风干的煤样在1200K的炉中加热7min而测定。主要由氢气、碳氢化合物、一氧化碳及少量的 + 硫化氢组成。在相同的热值下,煤中的挥发分越多,就越容易燃着,火焰持续时间越长,越容易燃烧完全。挥发分含量过高,容易造成炉膛内没有充分的空间、时间使氧气与 + 逸出的挥发分充分混合,这时分解的大量碳分子与烟气形成浓烟从烟囱冒出,污染环境。 + + \item 固定碳:从煤中扣除水分、灰分及挥发分后剩下的部分就是固定碳,是煤的主要可燃物质。煤中的碳不以单质状态存在,而是与氢、氮、硫、氧等组成有机化合物。 + + \end{indentlist} + + \subsubsection*{煤的元素分析} + + 煤的元素分析旨在用化学方法测定去掉外部水分的煤中主要成分碳、氢、氮、硫和氧等的量。 + + + \subsubsection*{煤中硫的形态} + + 煤中主要含有四种形态的硫:黄铁矿硫、硫酸盐硫、有机硫和单质硫。 + + 人们一般把硫划分为硫化铁硫、有机硫和硫酸盐硫三种。硫化铁硫和有机硫能燃烧放出热量,称为挥发硫;硫酸盐硫不参加燃烧,是灰分的一部分,但在高温下硫酸盐硫会分解形成金属氧化物,并释放出二氧化硫。 + + \subsubsection*{煤的成分表示方法} + + 常用的基准有:\textbf{收到基}、\textbf{空气干燥基}、\textbf{干燥基}和\textbf{干燥无灰基}四种。 + + \begin{indentlist} + \item 收到基:以包括全部水分和灰分的燃料作为100\%{}的成分,亦即锅炉燃料的实际成分(锅炉炉前使用的燃料),用上标 \fontspec{Times New Roman}"ar"表示。 + \item 空气干燥基:以去掉\uline{外部水分}的燃料作为100\%{}的成分,亦即在实验室内进行燃烧分析时的样品成分,用上标 \fontspec{Times New Roman}"ad"表示。 + \item 干燥基:以去掉\uline{全部水分}的燃料作为100\%{}的成分,用上标 \fontspec{Times New Roman}"d"表示。灰分含量常用干燥基表示。 + \item 干燥无灰基:以去掉\uline{全部水分和灰分}的燃料作为100\%{}的成分,用上标 \fontspec{Times New Roman}{"daf"}表示。干燥无灰基避免了水分和灰分的影响,可用于元素分析。 + \end{indentlist} + + \subsection*{石油} + + 石油经过蒸馏、裂化和重整等,可生产出汽油、柴油、溶剂、化学产品和燃料油。 + + \subsection*{天然气} + + 天然气中的\textbf{硫化氢}(\ce{H2S})具有\textbf{腐蚀性}。 + + \subsection*{非常规燃料} + + 非常规燃料常需要一些专门的制备技术,才能将其转变为更易使用的形式;必须考虑可能导致的空气污染问题。 + + \section{燃料燃烧过程} + + \subsection*{影响过程及燃烧产物} + + \begin{definition*}[燃烧] + 燃烧是指可燃混合物的快速氧化过程,并伴随着能量(光和热)的释放,同时使燃料的组成元素转化为相应的氧化物。 + \end{definition*} + + \newpage + \subsection*{燃料完全燃烧的条件} + + 要使燃料完全燃烧,必须具备如下条件: + \begin{indentlist} + \item 空气条件:燃料燃烧必须保证供应与燃料燃烧相适应的空气量。空气供应不足,燃烧就不完全;空气量过大,会降低炉温,增加排烟热损失。 + \item 温度条件:燃料只有达到着火温度,才能与氧作用而燃烧。温度高于着火温度且燃烧过程的放热速率高于向周围的散热速率,使温度维持在较高水平才能让燃烧持续进行。 + \item 时间条件:燃料在燃烧室中的停留时间是影响燃烧完全程度的另一基本因素。燃料在高温区的停留时间应超过燃料燃烧所需要的时间。在所要求的燃烧反应速率下,停留时间取决于燃烧室的大小和设计。反应速率随温度升高而加快,故较高温度下燃烧所需要的时间较短。燃烧室越小,在可利用时间内氧化一定量的燃料的温度越高。 + \item 燃料与空气的混合条件:燃料和空气中氧的充分混合也是有效燃烧的基本条件。混合程度取决于空气的湍流度。混合不充分将导致不完全燃烧产物的产生。对蒸汽相的燃料,湍流可加速热体燃料的蒸发;对固体燃料的燃烧,湍流有助于破坏燃烧产物在燃料颗粒表面形成的边界层,从而提高表面反应的氧利用率,使燃烧过程加速。 + \end{indentlist} + + 适当地控制这四个因素——空气与燃料之比、温度、时间和湍流度,是在大气污染物排放最低条件下实现有效燃烧所必需的,评价燃烧过程和燃烧设备时,必须认真考虑这些因素。 + + 通常把\textbf{温度}(temperature)、\textbf{时间}(time)和\textbf{湍流度}(turbulance)称为燃烧过程的“3T”。 + + \subsection*{燃料燃烧的理论空气量} + + \subsubsection*{理论空气量} + + \begin{definition}[理论空气量] + 单位量燃料按燃烧反应方程式完全燃烧所需要的空气量称为理论空气量。 + \end{definition} + + 理论空气量由燃料的组成决定,可根据燃烧方程式计算求得。建立燃烧反应方程式时,通常假定: + \begin{indentlist} + \item 空气仅是由氮和氧组成的,其体积比为79.1/20.9=3.78 + \item 燃料中的固定态氧可用于燃烧 + \item 燃料中的硫主要被氧化为\ce{SO2} + \item 热力型\ce{NO_x}的生成量较小,燃料中的含氮量也较低,在计算理论空气量时可忽略 + \item 燃料中的氮在燃烧时转化为\ce{N2}和\ce{NO},一般以\ce{N2}为主 + \item 燃料的化学式为\ce{C_xH_yS_zO_w},其中下标x、y、z、w分别代表碳、氢、硫、氧的原子数 + \end{indentlist} + + 由此可以得到燃料与空气中氧完全燃烧的化学反应方程式: + + + \begin{multline*} + \vspace{1em} + $\ce{C_xH_yS_zO_w + $\left( x+\dfrac{y}{4} + z -\dfrac{w}{2} \right)$ O2 + 3.78$\left( x+\dfrac{y}{4} + z -\dfrac{w}{2} \right)$ N2 ->}$ \\[1em] + \ce{x CO2 + $\ce{ $\cfrac{y}{2}$ H2O}$ + z SO2 + 3.78$\left( x+\dfrac{y}{4} + z -\dfrac{w}{2} \right)$ N2 + $Q$} + \end{multline*} + + 式中:$Q\text{——燃烧热}$ + + % \newpage + + 那么,理论空气量: + \begin{align*} + V_{a}^{0}&=22.4 \times 4.78 \left(x+\dfrac{y}{4}+z-\dfrac{w}{2}\right)/\left(12x-1.008y+32z+16w\right)\\ + &=107.1\left(x+\dfrac{y}{4}+z-\dfrac{w}{2}\right)/\left(12x-1.008y+32z+16w\right)\quad (\mathrm{m^{3}/kg}) + \end{align*} + + \subsubsection*{空气过剩系数} + + 燃料完全燃烧时所需要的实际空气量取决于所需的的理论空气量和“3T”条件的保证程度。在理想的混合状态下,理论量的空气即可保证完全燃烧;但在实际的燃烧装置中,“3T”条件的保证程度 + 不可能达到理想化的程度,因此为使燃料完全燃烧,必须供给过量的空气。 + \CJKunderline{一般把超过理论空气量而多供给的空气量称为}\textbf{\uline{过剩空气量}}, + 并把\textbf{\CJKunderline{实际空气量 $V_a$ 与理论空气量 $V_{a}^{0}$ 之比}}定义为空气过剩系数 $\alpha$ ,即: + + \begin{equation*} + \alpha = \dfrac{V_a}{V^{0}_a} %% \alpha = \dfrac{V_a}{V^{\mkern4mu 0}_a}上标与主体间适当空白间隔 + \end{equation*} + 通常 $\alpha >1$ ,$\alpha$ 值的大小取决于燃料种类、燃烧装置形式及燃烧条件等因素。 + + \subsubsection*{空燃比} + + \begin{definition}[空燃比(AF)] + 单位质量燃料燃烧所需要的空气质量。 + \end{definition} + + 汽油 $(\ce{C8H18})$ 的理论空燃比为15。汽油内燃机的空燃比控制在理论空燃比,未完全燃烧的汽油在三相催化剂的作用下消除 $\ce{NO_x}$ 。 + + \subsection*{燃烧产生的污染物} + + 燃烧可能释放出的污染物有:二氧化碳、一氧化碳、硫氧化物、氮氧化物、烟、飞灰、金属及其氧化物、金属盐类、醛、酮和多环芳烃等。 + + 影响因素有燃烧温度、燃料组成、燃烧方式。 + + \subsection*{热化学关系式} + + \subsubsection*{发热量} + + \begin{definition*} + 单位燃料完全燃烧时发生的热量变化 (即在反应物开始状态和反应产物终了状态相同的情况下(通常为 298K 和 101325 Pa)的热量变化)称为燃料的发热量。 + \end{definition*} + + 燃料的发热量有\textbf{高位发热量}和\textbf{低位发热量}之分。高位发热量包括燃料燃烧生成物中水蒸气的汽化潜热;低位发热量指燃烧产物中的水蒸气仍以气态存在时,完全燃烧过程所释放的热量。 + 一般燃烧设备的排烟温度均远远超过水蒸气的凝结温度,因此大多都\CJKunderline{按低位发热量计算燃料发热量}。 + + \subsubsection*{燃烧设备的热损失} + + \begin{indentlist} + \item \textbf{排烟热损失}:主要是由于\uline{排烟带走了一部分热量造成的} + \item \textbf{不完全燃烧热损失}:包括\uline{化学不完全燃烧热损失}(烟气中含有残余的可燃气体所致)和\uline{机械不完全燃烧热损失}(灰中含有未燃尽的碳造成的) + \item \textbf{炉体散热损失}:由于锅炉炉壁、锅筒、联箱、汽水管道等部分温度高于周围空气温度,因而有部分热量散失到空气中而造成的损失。 + \end{indentlist} + + \textbf{在充分混合的条件下,热量总损失在理论空气量条件下最低。混合不充分时,热量总损失的最小值出现在空气过量一侧。}精准位置取决于 + 燃料与空气之间的混合程度以及燃料的特征燃烧速率。 + + \section{烟气体积及污染物排放量计算} + + \subsection*{烟气体积计算} + + \subsubsection*{理论烟气体积} + + \begin{definition}[理论烟气体积] + 在理论空气量下,燃料完全燃烧所生成的烟气体积称为理论烟气体积,以 $V^0_{\rm{fg}}$ 表示。 + \end{definition} + + 烟气成分主要是\ce{CO2}、\ce{SO2}、\ce{N2}、水蒸气(\ce{H2O})。通常把烟气中水蒸气以外的部分称为\textbf{干烟气},把包括水蒸气在内的烟气称为\textbf{湿烟气} + + 理论水蒸气体积由三部分组成:\circlnum{1}燃料中氢燃烧后生成的水蒸气的体积;\circlnum{2}燃料中所含的水蒸气的体积;\circlnum{3}供给的理论空气量代入的水蒸气的体积。 + + \subsubsection*{烟气体积和密度的校正} + + 标准状况下的烟气体积: + $$V_N = V_s \cfrac{p_s}{p_N} \cdot \dfrac{T_N}{T_s}$$ \\ + + 标准状况下的烟气密度: + $$\rho _N = \rho_s \cfrac{p_N}{p_s} \cdot \dfrac{T_s}{T_N}$$ + + \subsubsection*{过剩空气校正} + + 实际燃烧过程中有过剩空气,实际烟气体积应为理论烟气体积与过剩烟气体积之和。用奥萨特仪测定干烟气中\ce{CO2}、\ce{O2}和\ce{CO}的含量,可以确定燃烧设备在运行中的烟气成分和空气过剩系数。 + + 以碳在空气中的完全燃烧为例: + $$\ce{C + O2 + 3.78N2 -> CO2 + 3.78 N2}$$ + 烟气中仅含有\ce{CO2} 和 \ce{N2},若空气过量,则燃烧方程式变为: + $$\ce{C + $(1 + a)$ O2 + $(1 + a)$ 3.78N2 -> CO2 + $a$ O2 + $(1 + a)$ 3.78 N2}$$ + 式中:$a$——过剩空气中\ce{O2}的过剩物质的量。根据定义,空气过剩率为: + $$\alpha = \cfrac{\text{实际空气量}}{\text{理论空气量}} = \cfrac{(1+a)[M(\ce{O2}) + 3.78M(\ce{N2})]}{1 \times [M(\ce{O2}) + 3.78M(\ce{N2})]} = 1 + a$$ + 要计算$\alpha$,必须知道过剩氧的量。 + + 若燃烧完全,过剩空气中的氧仅以\ce{O2}的形式存在,假如燃烧产物以下标$\rm{p}$表示: + $$\ce{C + $(1 + a)$ O2 + $(1 + a)$ 3.78N2 -> CO_{\rm{p}} + O_{2\rm{p}} + N_{2\rm{p}}}$$ + + \begin{tabular}{@{}lr@{}l} %% “@{}”取消边距 + 式中:& $\ce{O_{2\rm{p}}} = a \ce{O_2}$ &——过剩氧;\\ + &$\ce{N_{2\rm{p}}}$ &——实际空气量中所含的总氮。\\ + \end{tabular} + + 假定空气的体积组成为 20.9\%{} \ce{O2} 和 79.1\%{} \ce{N2} ,则实际空气量中所含的总氧量为: + $$\cfrac{20.9}{79.1} \varphi (\ce{N_{2\rm{p}}}) = 0.264 \varphi (\ce{N_{2\rm{p}}}) $$ + 理论需氧量为 $0.264 \varphi (\ce{N_{2\rm{p}}}) - \varphi (\ce{O_{2\rm{p}}})$ ,因此空气过剩系数: + $$\alpha = 1 + \cfrac{\varphi (\ce{O_{2\rm{p}}})}{0.264 \varphi (\ce{N_{2\rm{p}}}) - \varphi (\ce{O_{2\rm{p}}})}$$ + 假如燃烧过程产生 \ce{CO} ,过剩氧量必须加以校正,即\CJKunderline{从测得的过剩氧中减去氧化 \ce{CO} 为 \ce{CO2} 所需的氧}。因此: + $$\alpha = 1 + \cfrac{\varphi (\ce{O_{2\rm{p}}}) - 0.5 \varphi (\ce{CO_{\rm{p}}})}{0.264 \varphi (\ce{N_{2\rm{p}}}) - [\varphi (\ce{O_{2\rm{p}}}) - 0.5 \varphi (\ce{CO_{\rm{p}}})]}$$ + + 考虑过剩空气校正后,实际烟气的体积: + $$V_{\rm{fg}} = V^{0}_{\rm{fg}} + V^{0}_{\rm{a}} (\alpha - 1)$$ + + 依据给出的空气过剩系数 $\alpha_{\text{折}}$ 校正实测的污染物在烟气中的浓度: + $$\rho_{\text{折}} = \rho_{\text{实}} \cfrac{\alpha_{\text{实}}}{\alpha_{\text{折}}}$$ + + \section{燃烧过程硫氧化物的形成} + + \subsection*{硫的氧化机理} + + 有机硫的分解温度较低;无机硫的分解温度较高;含硫燃料燃烧的特征是火焰呈浅蓝色,这是由于以下反应产生的: + \begin{equation*} + \ce{O + SO -> SO2 + $h\nu$} + \end{equation*} + + 在所有情况下,它都作为一种重要的反应中间体出现。 + + \subsection*{\ce{SO2} 和 \ce{SO3} 之间的转化} + + 燃料燃烧后烟气中含有部分水蒸气,这些水分和生成的 \ce{SO3} 化合生成 \ce{H2SO4} 蒸气。 + \ce{SO3} 向 \ce{H2SO4} 转化的转化率与温度的关系很大。温度越低,转化率越大。 + 温度低至 383K 时,几乎全部的 \ce{SO3} 都和水蒸气结合生成硫酸蒸气。硫酸蒸气的存在使得 + 烟气的露点(通常称为酸露点)显著升高。\uline{硫酸浓度越高,酸露点越高。烟气露点的升高极易引起管道和 + 空气净化设施的腐蚀。} + + \section{燃烧过程中颗粒污染物的形成} + + \subsection*{碳粒子的生成} + + \subsubsection*{积碳的生成} + + \circlnum{1} 第一阶段:核化过程,即发生气相脱氢反应并产生凝聚相固体碳; + \circlnum{2} 第二阶段:这些核表面发生非均质反应; + \circlnum{3} 第三阶段:较为缓慢的聚团或凝聚过程。 + + 火焰的结构:燃料和空气在燃烧前充分混合产生的火焰称为\textbf{预混火焰}(premixed flame); + 燃料和空气分别进入燃烧区、通过扩散和湍流混合的火焰称为\textbf{扩散火焰}(diffusion flame)。 + 扩散火焰总比预混火焰产生的碳粒多。 + + 层流火焰(Laminar flame):Re<2200,由分子扩散和热传导主导;湍流火焰(turbulent flame):Re>2200, + 湍流的作用显著,但分子扩散仍起作用。 + + 乙炔火焰中生碳反应过程是个生成积碳的典型例子。 + + 影响因素: + \begin{itemize} + \item 燃料的分子结构是影响积碳的主导因素 + \item 积碳的生成与火焰的结构有关 + \item 提高氧气量可以防止积碳生成 + \item 压力越低则积碳的生成趋势越小 + \end{itemize} + + + + + + + + + + + + +\end{document} \ No newline at end of file diff --git a/AirPopulationControlEngineering/Images/cover1.png b/AirPopulationControlEngineering/Images/cover1.png new file mode 100644 index 0000000..9f97d92 Binary files /dev/null and b/AirPopulationControlEngineering/Images/cover1.png differ diff --git a/AirPopulationControlEngineering/chap1.tex b/AirPopulationControlEngineering/chap1.tex new file mode 100644 index 0000000..ceee78e --- /dev/null +++ b/AirPopulationControlEngineering/chap1.tex @@ -0,0 +1,117 @@ +\chapter{概论} +\begin{introduction} + \item 大气污染 + \item 一次污染物 + \item 二次污染物 + \item 光化学烟雾 + \item 二次颗粒物 + \item 环境空气功能区 + \item 空气质量指数 +\end{introduction} +\newpage + \section{大气与大气污染} + + \subsection*{大气污染的定义及其分类} + \begin{definition}[大气污染] + 如果大气中的物质达到一定浓度,并持续足够的时间,以致对公众 + 健康、动物、植物、材料、大气特性或环境美学产生可测量的不利影响,这就是大气污染。 + \end{definition} + + 空气污染三要素: + \begin{enumerate}[itemindent=1.5em,label=(\alph*)] + \item 污染源 + \item 污染物浓度 + \item 对人和生物的危害 + \end{enumerate} + + 按照影响范围,大气污染大致可分为四类: + \begin{enumerate}[itemindent=1.5em] + \item 局部地区污染 + \item 地区性污染 + \item 广域性污染 + \item 全球性污染 + \end{enumerate} + + 大气污染研究的主要内容是:污染源和控制方法。 + + 污染源分为人为源(Anthropogenic sources)和自然源(Natural sources)。 + + 基本控制方程: + \begin{equation*} + Total \ Emissions = Population \times Activity level \times Emission \ factor + \end{equation*} + + \subsection*{全球性大气污染问题} + + 全球性大气污染问题包括\textbf{温室效应}、\textbf{臭氧层破坏}和\textbf{酸雨}等三大问题。 + + \section{大气污染物及其来源} + + \subsection*{大气污染物} + + \begin{definition}[大气污染物] + 大气污染物系指由于人类活动或自然过程排入大气的、并对人和环境产生有害影响的物质。 + \end{definition} + + 大气污染物按其存在形态可概括为两大类:\textbf{气溶胶状态污染物}和\textbf{气体状态污染物}。 + + \subsubsection*{一次污染物与二次污染物} + + \begin{definition}[一次污染物] + 一次污染物是指直接从污染源排放到大气的污染物质,包括气溶胶状态和气体状态污染物。 + \end{definition} + \begin{definition}[二次污染物] + 二次污染物是由一次污染物与大气中已有组分,或几种一次污染物之间经历一系列化学或光化学反应而生成的新污染物质。 + \end{definition} + + 会导致二次污染物形成的\textbf{一次污染物}称为前体物,主要包括\textbf{硫氧化物}(\ce{SO_x})、\textbf{氮氧化物}(\ce{NO_x})、 + \textbf{碳氧化物}(\ce{CO}、\ce{CO2})、\textbf{挥发性有机化合物}(\ce{C1} \textasciitilde \ \ce{C10}化合物)和\textbf{氨}等。 + + 二次污染物包括\textbf{光化学烟雾}(photochemical smog)和\textbf{二次颗粒物}(secondary particles)等。 + + \begin{definition}[光化学烟雾] + 光化学烟雾是在阳光照射下,大气中的氮氧化物、挥发性有机化合物之间发生一系列光化学反应而生成的蓝色烟雾(有时带些紫色或者 + 黄褐色),主要成分有臭氧(\ce{O3})、过氧乙酰硝酸酯(PAN)、酮类和醛类等。 + \end{definition} + + \begin{definition}[二次颗粒物] + 二次颗粒物是大气中气态污染物经过一系列的物理、化学或光化学过程而形成的颗粒物,包括\heiti{硫酸盐}、\heiti{硝酸盐}、 + \heiti{凝结的有机物}、\heiti{重金属粒子}等。 + \end{definition} + + \subsection*{大气污染物的来源和排放量} + + \subsubsection*{大气污染源} + + 大气污染物的来源可分为\textbf{自然污染源}和\textbf{人为污染源}。 + + 人为源\textbf{按污染源的空间分布}可分为: + \begin{enumerate}[itemindent=1.5em] + \item 点源 + \item 面源 + \item 线源 + \end{enumerate} + + 在大气污染及其控制研究中,通常根据\textbf{污染形成原因},将\textbf{大气污染}分为:\circlnum{1}\ \textbf{煤烟型污染}, + 即煤炭燃烧产生的大气污染,主要污染物包括烟尘、\ce{SO2}、\ce{NO_x}和重金属等;\circlnum{2}\ \textbf{机动车尾气污染}, + 即机动车燃用汽油、柴油、天然气和液化石油气等化石燃料造成的低空大气污染,主要污染物包括\ce{NO_x}、\ce{CO}和碳氢化合物(HC); + 柴油车还会排放黑烟\circlnum{3}\ \textbf{生产性污染},即工业企业生产过程引起的大气污染,如金属冶炼、建材生产、石油化工等 + 造成的大气污染,其污染物类型取决于生产原料和生产工艺条件;\circlnum{4}\ \textbf{面源污染},因道路扬尘、裸露土壤、餐饮油 + 烟、秸秆和垃圾焚烧等形成的污染,面源污染的特点是大多以无组织方式排放、释放面积大或数量多但单一污染源强度不大。 + + \section{大气环境保护的法律法规与标准} + + \subsection*{环境空气质量标准} + 该标准将环境空气功能区划分为两类:一类区为自然保护区、风景名胜区和其他需要特殊保护的区域;二类区为居住区、商业交通 + 居民混合区、文化区、工业区和农村地区。一类区适用一级浓度限值,二类区适用二级浓度限值。 + + 该标准规定了\ce{SO2}、\ce{NO2}、\ce{CO}、\ce{O3}、\ce{PM10}、\ce{PM_{2.5}},以及\ce{TSP}、\ce{NO_x}、铅(\ce{Pb}) + 和\ce{BaP}的浓度限值。同时,还提出了环境空气中镉(\ce{Cd})、汞(\ce{Hg})、砷(\ce{As})、六价铬(\ce{Cr(VI)})和氟化物的 + 参考浓度限值。 + \subsection*{空气质量指数分级及其浓度限值} + + 空气质量指数(air quality index,AQI)是我国定量描述空气质量状况的量纲为1的指数。参与空气质量指数评价的污染物为 + \ce{PM_{2.5}}、\ce{PM10}、\ce{SO2}、\ce{NO2}、\ce{O3}、\ce{CO}。针对单项污染物还规定了空气质量分指数(IAQI)。 + + 根据《环境空气质量指数(AQI)技术规定(试行)》(HJ 633-2012),空气质量指数划分为0\~{}50、51\~{}100、101\~{}150、151\~{}200、 + 201\~{}300和大于300六个级别,对应于空气质量的六个级别(优、良、轻度污染、重度污染、中度污染、重度污染、严重污染)。 diff --git a/AirPopulationControlEngineering/chap2.tex b/AirPopulationControlEngineering/chap2.tex new file mode 100644 index 0000000..2ac0d16 --- /dev/null +++ b/AirPopulationControlEngineering/chap2.tex @@ -0,0 +1,325 @@ +\chapter{燃烧与大气污染} +\begin{introduction} + \item 燃料最重要的属性 + \item 煤的分类 + \item 煤的工业分析 + \item 煤的元素分析 + \item 煤中硫的形态 + \item 煤的成分表示方法 +\end{introduction} +\newpage + + \section{燃料的性质} + + \begin{definition}[燃料] + 燃料是指用以产生热量或动力的可燃性物质。 + \end{definition} + + 燃料按\textbf{物理状态}分为\textbf{固体燃料}、\textbf{液体燃料}和\textbf{气体燃料}三类。 + + 燃料最重要的属性是\textbf{热值}和\textbf{组成(杂质)}。 + + 热值决定燃料的消耗量;杂质决定污染物的来源。 + + \subsection*{煤} + + 煤的可燃成分主要是碳、氢以及少量氧、氮和硫等一起构成的有机聚合物。 + + \subsubsection*{煤的分类} + + \begin{indentlist} + \item \textbf{褐煤}:最低品位的煤,是由泥煤形成的初始煤化物,形成年代最短。 + \item \textbf{烟煤}:形成年代较褐煤长,呈黑色,外形有可见条纹,挥发分含量为20\%{}\~{}45\%{},碳含量为75\%{}\~{}90\%{}。烟煤的成焦性较强,且氧含量低,水分和挥发分含量一般不高,适宜\textbf{工业上的一般应用}。在空气中,比褐煤更能抵抗风化。 + \item \textbf{无烟煤}:含碳量最高、煤化时间最长的煤。有明亮的黑色光泽,机械强度高。碳含量一般高于93\%{},无机物含量低于10\%{},因而着火困难,储存稳定,不宜自燃。无烟煤成焦性极差。 + \end{indentlist} + + \subsubsection*{煤的工业分析} + + 煤的工业分析包括测定煤中的\textbf{水分}、\textbf{灰分}、\textbf{挥发分}和\textbf{固定碳},以及\textbf{估计硫含量}和\textbf{热值},是评价工业用煤的主要指标。 + + \begin{indentlist} + \item 水分:水分包括外部水分和内部水分。 + + \item 灰分:灰分是煤中不可燃物质的总称,其含量和组成因煤种及粗加工的不同而异,我国煤炭的平均灰分约为25\%{}。煤中灰分的存在,降低了煤的热值, + 也增加了烟尘污染及出渣量。高灰分、低熔点的煤极易结渣,使煤不能充分燃烧,从而影响热效率。 + + \item 挥发分:煤在隔绝空气条件下加热分解出的可燃气态物质称为挥发分,通过将风干的煤样在1200K的炉中加热7min而测定。主要由氢气、碳氢化合物、一氧化碳及少量的 + 硫化氢组成。在相同的热值下,煤中的挥发分越多,就越容易燃着,火焰持续时间越长,越容易燃烧完全。挥发分含量过高,容易造成炉膛内没有充分的空间、时间使氧气与 + 逸出的挥发分充分混合,这时分解的大量碳分子与烟气形成浓烟从烟囱冒出,污染环境。 + + \item 固定碳:从煤中扣除水分、灰分及挥发分后剩下的部分就是固定碳,是煤的主要可燃物质。煤中的碳不以单质状态存在,而是与氢、氮、硫、氧等组成有机化合物。 + + \end{indentlist} + + \subsubsection*{煤的元素分析} + + 煤的元素分析旨在用化学方法测定去掉外部水分的煤中主要成分碳、氢、氮、硫和氧等的量。 + + + \subsubsection*{煤中硫的形态} + + 煤中主要含有四种形态的硫:黄铁矿硫、硫酸盐硫、有机硫和单质硫。 + + 人们一般把硫划分为硫化铁硫、有机硫和硫酸盐硫三种。硫化铁硫和有机硫能燃烧放出热量,称为挥发硫;硫酸盐硫不参加燃烧,是灰分的一部分,但在高温下硫酸盐硫会分解形成金属氧化物,并释放出二氧化硫。 + + \subsubsection*{煤的成分表示方法} + + 常用的基准有:\textbf{收到基}、\textbf{空气干燥基}、\textbf{干燥基}和\textbf{干燥无灰基}四种。 + + \begin{indentlist} + \item 收到基:以包括全部水分和灰分的燃料作为100\%{}的成分,亦即锅炉燃料的实际成分(锅炉炉前使用的燃料),用上标 \fontspec{Times New Roman}"ar"表示。 + \item 空气干燥基:以去掉\uline{外部水分}的燃料作为100\%{}的成分,亦即在实验室内进行燃烧分析时的样品成分,用上标 \fontspec{Times New Roman}"ad"表示。 + \item 干燥基:以去掉\uline{全部水分}的燃料作为100\%{}的成分,用上标 \fontspec{Times New Roman}"d"表示。灰分含量常用干燥基表示。 + \item 干燥无灰基:以去掉\uline{全部水分和灰分}的燃料作为100\%{}的成分,用上标 \fontspec{Times New Roman}{"daf"}表示。干燥无灰基避免了水分和灰分的影响,可用于元素分析。 + \end{indentlist} + + \subsection*{石油} + + 石油经过蒸馏、裂化和重整等,可生产出汽油、柴油、溶剂、化学产品和燃料油。 + + \subsection*{天然气} + + 天然气中的\textbf{硫化氢}(\ce{H2S})具有\textbf{腐蚀性}。 + + \subsection*{非常规燃料} + + 非常规燃料常需要一些专门的制备技术,才能将其转变为更易使用的形式;必须考虑可能导致的空气污染问题。 + + \section{燃料燃烧过程} + + \subsection*{影响过程及燃烧产物} + + \begin{definition*}[燃烧] + 燃烧是指可燃混合物的快速氧化过程,并伴随着能量(光和热)的释放,同时使燃料的组成元素转化为相应的氧化物。 + \end{definition*} + + % \newpage + \subsection*{燃料完全燃烧的条件} + + 要使燃料完全燃烧,必须具备如下条件: + \begin{indentlist} + \item 空气条件:燃料燃烧必须保证供应与燃料燃烧相适应的空气量。空气供应不足,燃烧就不完全;空气量过大,会降低炉温,增加排烟热损失。 + \item 温度条件:燃料只有达到着火温度,才能与氧作用而燃烧。温度高于着火温度且燃烧过程的放热速率高于向周围的散热速率,使温度维持在较高水平才能让燃烧持续进行。 + \item 时间条件:燃料在燃烧室中的停留时间是影响燃烧完全程度的另一基本因素。燃料在高温区的停留时间应超过燃料燃烧所需要的时间。在所要求的燃烧反应速率下,停留时间取决于燃烧室的大小和设计。反应速率随温度升高而加快,故较高温度下燃烧所需要的时间较短。燃烧室越小,在可利用时间内氧化一定量的燃料的温度越高。 + \item 燃料与空气的混合条件:燃料和空气中氧的充分混合也是有效燃烧的基本条件。混合程度取决于空气的湍流度。混合不充分将导致不完全燃烧产物的产生。对蒸汽相的燃料,湍流可加速热体燃料的蒸发;对固体燃料的燃烧,湍流有助于破坏燃烧产物在燃料颗粒表面形成的边界层,从而提高表面反应的氧利用率,使燃烧过程加速。 + \end{indentlist} + + 适当地控制这四个因素——空气与燃料之比、温度、时间和湍流度,是在大气污染物排放最低条件下实现有效燃烧所必需的,评价燃烧过程和燃烧设备时,必须认真考虑这些因素。 + + 通常把\textbf{温度}(temperature)、\textbf{时间}(time)和\textbf{湍流度}(turbulance)称为燃烧过程的“3T”。 + + \subsection*{燃料燃烧的理论空气量} + + \subsubsection*{理论空气量} + + \begin{definition}[理论空气量] + 单位量燃料按燃烧反应方程式完全燃烧所需要的空气量称为理论空气量。 + \end{definition} + + 理论空气量由燃料的组成决定,可根据燃烧方程式计算求得。建立燃烧反应方程式时,通常假定: + \begin{indentlist} + \item 空气仅是由氮和氧组成的,其体积比为79.1/20.9=3.78 + \item 燃料中的固定态氧可用于燃烧 + \item 燃料中的硫主要被氧化为\ce{SO2} + \item 热力型\ce{NO_x}的生成量较小,燃料中的含氮量也较低,在计算理论空气量时可忽略 + \item 燃料中的氮在燃烧时转化为\ce{N2}和\ce{NO},一般以\ce{N2}为主 + \item 燃料的化学式为\ce{C_xH_yS_zO_w},其中下标x、y、z、w分别代表碳、氢、硫、氧的原子数 + \end{indentlist} + + 由此可以得到燃料与空气中氧完全燃烧的化学反应方程式: + + + \begin{multline*} + \vspace{1em} + $\ce{C_xH_yS_zO_w + $\left( x+\dfrac{y}{4} + z -\dfrac{w}{2} \right)$ O2 + 3.78$\left( x+\dfrac{y}{4} + z -\dfrac{w}{2} \right)$ N2 ->}$ \\[1em] + \ce{x CO2 + $\ce{ $\cfrac{y}{2}$ H2O}$ + z SO2 + 3.78$\left( x+\dfrac{y}{4} + z -\dfrac{w}{2} \right)$ N2 + $Q$} + \end{multline*} + + 式中:$Q\text{——燃烧热}$ + + \newpage + + 那么,理论空气量: + \begin{align*} + V_{a}^{0}&=22.4 \times 4.78 \left(x+\dfrac{y}{4}+z-\dfrac{w}{2}\right)/\left(12x-1.008y+32z+16w\right)\\ + &=107.1\left(x+\dfrac{y}{4}+z-\dfrac{w}{2}\right)/\left(12x-1.008y+32z+16w\right)\quad (\mathrm{m^{3}/kg}) + \end{align*} + + \subsubsection*{空气过剩系数} + + 燃料完全燃烧时所需要的实际空气量取决于所需的的理论空气量和“3T”条件的保证程度。在理想的混合状态下,理论量的空气即可保证完全燃烧;但在实际的燃烧装置中,“3T”条件的保证程度 + 不可能达到理想化的程度,因此为使燃料完全燃烧,必须供给过量的空气。 + \CJKunderline{一般把超过理论空气量而多供给的空气量称为}\textbf{\uline{过剩空气量}}, + 并把\textbf{\CJKunderline{实际空气量 $V_a$ 与理论空气量 $V_{a}^{0}$ 之比}}定义为空气过剩系数 $\alpha$ ,即: + + \begin{equation*} + \alpha = \dfrac{V_a}{V^{0}_a} %% \alpha = \dfrac{V_a}{V^{\mkern4mu 0}_a}上标与主体间适当空白间隔 + \end{equation*} + 通常 $\alpha>1$ ,$\alpha$ 值的大小取决于燃料种类、燃烧装置形式及燃烧条件等因素。 + + \subsubsection*{空燃比} + + \begin{definition}[空燃比(AF)] + 单位质量燃料燃烧所需要的空气质量。 + \end{definition} + + 汽油 $(\ce{C8H18})$ 的理论空燃比为15。汽油内燃机的空燃比控制在理论空燃比,未完全燃烧的汽油在三相催化剂的作用下消除 $\ce{NO_x}$ 。 + + \subsection*{燃烧产生的污染物} + + 燃烧可能释放出的污染物有:二氧化碳、一氧化碳、硫氧化物、氮氧化物、烟、飞灰、金属及其氧化物、金属盐类、醛、酮和多环芳烃等。 + + 影响因素有燃烧温度、燃料组成、燃烧方式。 + + \subsection*{热化学关系式} + + \subsubsection*{发热量} + + \begin{definition*} + 单位燃料完全燃烧时发生的热量变化 (即在反应物开始状态和反应产物终了状态相同的情况下(通常为 298K 和 101325 Pa)的热量变化)称为燃料的发热量。 + \end{definition*} + + 燃料的发热量有\textbf{高位发热量}和\textbf{低位发热量}之分。高位发热量包括燃料燃烧生成物中水蒸气的汽化潜热;低位发热量指燃烧产物中的水蒸气仍以气态存在时,完全燃烧过程所释放的热量。 + 一般燃烧设备的排烟温度均远远超过水蒸气的凝结温度,因此大多都\CJKunderline{按低位发热量计算燃料发热量}。 + + \subsubsection*{燃烧设备的热损失} + + \begin{indentlist} + \item \textbf{排烟热损失}:主要是由于\uline{排烟带走了一部分热量造成的} + \item \textbf{不完全燃烧热损失}:包括\uline{化学不完全燃烧热损失}(烟气中含有残余的可燃气体所致)和\uline{机械不完全燃烧热损失}(灰中含有未燃尽的碳造成的) + \item \textbf{炉体散热损失}:由于锅炉炉壁、锅筒、联箱、汽水管道等部分温度高于周围空气温度,因而有部分热量散失到空气中而造成的损失。 + \end{indentlist} + + \textbf{在充分混合的条件下,热量总损失在理论空气量条件下最低。混合不充分时,热量总损失的最小值出现在空气过量一侧。}精准位置取决于 + 燃料与空气之间的混合程度以及燃料的特征燃烧速率。 + + \section{烟气体积及污染物排放量计算} + + \subsection*{烟气体积计算} + + \subsubsection*{理论烟气体积} + + \begin{definition}[理论烟气体积] + 在理论空气量下,燃料完全燃烧所生成的烟气体积称为理论烟气体积,以 $V^0_{\rm{fg}}$ 表示。 + \end{definition} + + 烟气成分主要是\ce{CO2}、\ce{SO2}、\ce{N2}、水蒸气(\ce{H2O})。通常把烟气中水蒸气以外的部分称为\textbf{干烟气},把包括水蒸气在内的烟气称为\textbf{湿烟气} + + 理论水蒸气体积由三部分组成:\circlnum{1}燃料中氢燃烧后生成的水蒸气的体积;\circlnum{2}燃料中所含的水蒸气的体积;\circlnum{3}供给的理论空气量代入的水蒸气的体积。 + + \subsubsection*{烟气体积和密度的校正} + + 标准状况下的烟气体积: + $$V_N = V_s \cfrac{p_s}{p_N} \cdot \dfrac{T_N}{T_s}$$ + + 标准状况下的烟气密度: + $$\rho _N = \rho_s \cfrac{p_N}{p_s} \cdot \dfrac{T_s}{T_N}$$ + + + \subsubsection*{过剩空气校正} + + 实际燃烧过程中有过剩空气,实际烟气体积应为理论烟气体积与过剩烟气体积之和。用奥萨特仪测定干烟气中 \ce{CO2}、\ce{O2} + 和 \ce{CO}的含量,可以确定燃烧设备在运行中的烟气成分和空气过剩系数。 + + 以碳在空气中的完全燃烧为例: + $$\ce{C + O2 + 3.78N2 -> CO2 + 3.78 N2}$$ + 烟气中仅含有 \ce{CO2} 和 \ce{N2},若空气过量,则燃烧方程式变为: + $$\ce{C + $(1 + a)$ O2 + $(1 + a)$ 3.78N2 -> CO2 + $a$ O2 + $(1 + a)$ 3.78 N2}$$ + 式中:$a$——过剩空气中 \ce{O2}的过剩物质的量。根据定义,空气过剩率为: + $$\alpha = \cfrac{\text{实际空气量}}{\text{理论空气量}} = \cfrac{(1+a)[M(\ce{O2}) + 3.78M(\ce{N2})]}{1 \times [M(\ce{O2}) + 3.78M(\ce{N2})]} = 1 + a$$ + 要计算$\alpha$,必须知道过剩氧的量。 + + 若燃烧完全,过剩空气中的氧仅以 \ce{O2}的形式存在,假如燃烧产物以下标$\rm{p}$表示: + $$\ce{C + $(1 + a)$ O2 + $(1 + a)$ 3.78N2 -> CO_{\rm{p}} + O_{2\rm{p}} + N_{2\rm{p}}}$$ + \begin{tabular}{@{}lr@{}l} %% “@{}”取消边距 + 式中:& $\ce{O_{2\rm{p}}} = a \ce{O_2}$ &——过剩氧;\\ + &$\ce{N_{2\rm{p}}}$ &——实际空气量中所含的总氮。\\ + \end{tabular} + + 假定空气的体积组成为 20.9\%{} \ce{O2} 和 79.1\%{} \ce{N2} ,则实际空气量中所含的总氧量为: + $$\cfrac{20.9}{79.1} \varphi (\ce{N_{2\rm{p}}}) = 0.264 \varphi (\ce{N_{2\rm{p}}}) $$ + 理论需氧量为 $0.264 \varphi (\ce{N_{2\rm{p}}}) - \varphi (\ce{O_{2\rm{p}}})$ ,因此空气过剩系数: + $$\alpha = 1 + \cfrac{\varphi (\ce{O_{2\rm{p}}})}{0.264 \varphi (\ce{N_{2\rm{p}}}) - \varphi (\ce{O_{2\rm{p}}})}$$ + 假如燃烧过程产生 \ce{CO} ,过剩氧量必须加以校正,即\CJKunderline{从测得的过剩氧中减去氧化 \ce{CO} 为 \ce{CO2} 所需的氧}。因此: + $$\alpha = 1 + \cfrac{\varphi (\ce{O_{2\rm{p}}}) - 0.5 \varphi (\ce{CO_{\rm{p}}})}{0.264 \varphi (\ce{N_{2\rm{p}}}) - [\varphi (\ce{O_{2\rm{p}}}) - 0.5 \varphi (\ce{CO_{\rm{p}}})]}$$ + + 考虑过剩空气校正后,实际烟气的体积: + $$V_{\rm{fg}} = V^{0}_{\rm{fg}} + V^{0}_{\rm{a}} (\alpha - 1)$$ + + 依据给出的空气过剩系数 $\alpha_{\text{折}}$ 校正实测的污染物在烟气中的浓度: + $$\rho_{\text{折}} = \rho_{\text{实}} \cfrac{\alpha_{\text{实}}}{\alpha_{\text{折}}}$$ + + \section{燃烧过程硫氧化物的形成} + + \subsection*{硫的氧化机理} + + 有机硫的分解温度较低;无机硫的分解温度较高;含硫燃料燃烧的特征是火焰呈浅蓝色,这是由于以下反应产生的: + \begin{equation*} + \ce{O + SO -> SO2 + $h\nu$} + \end{equation*} + + 在所有情况下,它都作为一种重要的反应中间体出现。 + + \subsection*{\ce{SO2} 和 \ce{SO3} 之间的转化} + + 燃料燃烧后烟气中含有部分水蒸气,这些水分和生成的 \ce{SO3} 化合生成 \ce{H2SO4} 蒸气。 + \ce{SO3} 向 \ce{H2SO4} 转化的转化率与温度的关系很大。温度越低,转化率越大。 + 温度低至 383K 时,几乎全部的 \ce{SO3} 都和水蒸气结合生成硫酸蒸气。硫酸蒸气的存在使得 + 烟气的露点(通常称为酸露点)显著升高。\uline{硫酸浓度越高,酸露点越高。烟气露点的升高极易引起管道和 + 空气净化设施的腐蚀。} + + \section{燃烧过程中颗粒污染物的形成} + + \subsection*{碳粒子的生成} + + 由于碳粒子的导电性强,易失去电荷,所以电除尘的效果不佳。 + + \subsubsection*{积碳的生成} + + \circlnum{1} 第一阶段:核化过程,即发生气相脱氢反应并产生凝聚相固体碳; + \circlnum{2} 第二阶段:这些核表面发生非均质反应; + \circlnum{3} 第三阶段:较为缓慢的聚团或凝聚过程。 + + 火焰的结构:燃料和空气在燃烧前充分混合产生的火焰称为\textbf{预混火焰}(premixed flame); + 燃料和空气分别进入燃烧区、通过扩散和湍流混合的火焰称为\textbf{扩散火焰}(diffusion flame)。 + 扩散火焰总比预混火焰产生的碳粒多。 + + 层流火焰(Laminar flame):Re<2200,由分子扩散和热传导主导;湍流火焰(turbulent flame):Re>2200, + 湍流的作用显著,但分子扩散仍起作用。 + + 乙炔火焰中生碳反应过程是个生成积碳的典型例子。 + + 影响因素: + \begin{itemize} + \item 燃料的分子结构是影响积碳的主导因素 + \item 积碳的生成与火焰的结构有关 + \item 提高氧气量可以防止积碳生成 + \item 压力越低则积碳的生成趋势越小 + \end{itemize} + + \subsection*{燃煤烟尘的形成} + 固体燃料燃烧产生的颗粒物通常称为\textbf{烟尘},它\CJKunderline{包括黑烟和飞灰两部分}。 + \textbf{黑烟}主要是未燃尽的碳粒; + \textbf{飞灰}主要是燃料所含的不可燃矿物质微粒,是灰分的一部分。 + 飞灰中含有Hg、As、Se、Pb、Cu、Zn、Cl、Br、S,均存在健康风险。 + + \subsubsection*{影响燃煤烟气中飞灰排放特征的因素} + + 燃煤烟气中飞灰的浓度和粒度与煤质、燃烧方式、烟气流速、炉排和炉膛的热负荷、锅炉运行 + 负荷以及锅炉结构等多种因素有关。 + + 颗粒越细,产生的飞灰越多。 + + \section{燃烧过程中其他污染物的形成} + + 燃烧过程还产生氮氧化物、有机污染物、一氧化碳以及汞、砷等重金属和类金属。 + + \subsection*{\ce{NO_x}的形成} + + + \begin{indentlist} + \item 燃料型 \ce{NO_x} ( fuel \ce{NO_x} ):由燃料中的固定氮生成的 \ce{NO_x}。天然气中基本不含氮的化合物, + 石油和煤中的氮原子通常与碳或氢原子化合,大多为氨、氮苯以及其他胺类。这些氮化物的结构可表示为 \ce{R-NH2} ,其中 R 为有机基或氢离子 + \item 热力型 \ce{NO_x} ( thermal \ce{NO_x} ):由大气中的氮生成,主要产生于原子氧和氮之间的化学反应。\textbf{只在高温下生成}。 + \item 瞬时型 \ce{NO_x} ( prompt \ce{NO_x} ):在\textbf{低温火焰中}由于\textbf{含碳自由基的存在}而生成的第三类 \ce{NO_x}。 + \end{indentlist} \ No newline at end of file diff --git a/AirPopulationControlEngineering/chap3.tex b/AirPopulationControlEngineering/chap3.tex new file mode 100644 index 0000000..45c27c6 --- /dev/null +++ b/AirPopulationControlEngineering/chap3.tex @@ -0,0 +1,67 @@ +\chapter{大气污染气象学} +\begin{introduction} + \item 1 + \item 2 + \item 3 + \item +\end{introduction} +\newpage + + \section{大气圈层结构及气象要素} + + \subsection*{大气垂直结构} + + 根据气温在垂直于下垫面(即地球表面)方向上的分布,可将大气圈分为对流层、平流层、中间层、热层和散逸层等五层。 + + \subsubsection*{对流层} + + 高度 10 km左右 + + 主要特征: + \begin{indentlist} + \item 集中了整个大气质量的 3/4 和几乎全部水蒸气,主要的大气现象都发生在这一层,是天气变化最复杂,对人类活动影响最大的一层。 + \item 温度随高度增加而降低,每升高 100 m 平均降温约 0.65 ℃。 + \item 发生强烈的对流运动,主要是由于下垫面受热不均及其本身特性不同造成的。 + \item 温度和湿度水平分布不均匀。 + \end{indentlist} + + \textbf{大气边界层}(或摩擦层):对流层下层 1 \~{} 2 km ,地面阻滞和摩擦作用明显; + \textbf{近地层}:地面上 50 \~{}100 m左右的一层,垂直方向上热量和动量交换少; + \textbf{自由大气}:大气边界层以上,气流几乎不受地面摩擦的影响。 + + \subsubsection*{平流层} + + 对流层顶 \~{} 50 - 55 km + + \begin{itemize}{} + \item 同温层:对流层顶到 25 - 35 km ,气温 $-$ 55℃左右 + \item 逆温层:同温层以上,气温随高度的增加而增加的气层 + \item 臭氧层:20 - 25 km 集中了大部分臭氧 + \end{itemize} + + \subsubsection*{中间层} + + 平流层顶 \~{} 50 - 55 km + + 气温随高度升高而迅速降低,对流运动强烈。 + + \subsubsection*{热层} + + 中间层顶 \~{} 800 km + + 气温随高度升高而增高,气体分子高度电离( 电离层 ) + + \subsubsection*{散逸层} + + 气温很高,空气稀薄;空气粒子可以摆脱地球引力而散逸。 + + 大气压力总是随着高度的升高而降低。 + + 均质大气层:80 \~{} 85 km ( 中间层 )以下,成分基本不变。 + + \subsection*{主要气象要素} + + \subsubsection*{气温} + + 气象上讲的地面气温一般是指距地面 1.5 m 高处的百叶箱(防止风和辐射的影响)中观测到的空气温度。 + \ No newline at end of file diff --git a/AirPopulationControlEngineering/elegantbookzero.cls b/AirPopulationControlEngineering/elegantbookzero.cls new file mode 100644 index 0000000..e3b3647 --- /dev/null +++ b/AirPopulationControlEngineering/elegantbookzero.cls @@ -0,0 +1,1483 @@ +%%%%%%%%%%%%%%%%%%%%%% +%% start of file `elegantbook.cls'. +%% Copyright 2013-2022 ElegantLaTeX (elegantlatex2e@gmail.com) +%% +%% This work may be distributed and/or modified freely +%% available at https://github.com/ElegantLaTeX/ElegantBook +% +%%%%%%%%%%%%%%%%%%%%% +% % !Mode:: "TeX:UTF-8" +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{elegantbookzero}[2022/12/31 v4.5 ElegantBook document class] + + +%%% +\RequirePackage{kvoptions} +\RequirePackage{etoolbox} +\SetupKeyvalOptions{family=ELEGANT, prefix=ELEGANT@, setkeys=\kvsetkeys} +\newcommand{\ekv}[1]{\kvsetkeys{ELEGANT}{#1}} +% ----- Colors ----- +\DeclareStringOption[blue]{color} +\DeclareStringOption[en]{lang} +\DeclareStringOption[answer]{result} +\DeclareStringOption[fancy]{mode} +\DeclareStringOption[normal]{device} +\DeclareStringOption[cm]{math} +\DeclareStringOption[marginfalse]{marginpar} +\DeclareStringOption[onecol]{toc} +\DeclareStringOption{scheme} + +% ----- backward compatibility +\DeclareVoidOption{green}{\ekv{color=green}} +\DeclareVoidOption{cyan}{\ekv{color=cyan}} +\DeclareVoidOption{blue}{\ekv{color=blue}} +\DeclareVoidOption{gray}{\ekv{color=gray}} +\DeclareVoidOption{black}{\ekv{color=black}} +\DeclareVoidOption{nocolor}{\ekv{color=none}} + +\DeclareVoidOption{chinese}{\ekv{scheme=chinese}} + +\DeclareStringOption[ctexfont]{chinesefont} +\DeclareVoidOption{ctexfont}{\ekv{chinesefont=ctexfont}} +\DeclareVoidOption{founder}{\ekv{chinesefont=founder}} +\DeclareVoidOption{nofont}{\ekv{chinesefont=nofont}} + +\DeclareVoidOption{en}{\ekv{lang=en}} +\DeclareVoidOption{cn}{\ekv{lang=cn}} +\DeclareVoidOption{it}{\ekv{lang=it}} +\DeclareVoidOption{fr}{\ekv{lang=fr}} +\DeclareVoidOption{nl}{\ekv{lang=nl}} +\DeclareVoidOption{hu}{\ekv{lang=hu}} +\DeclareVoidOption{de}{\ekv{lang=de}} +\DeclareVoidOption{mn}{\ekv{lang=mn}} +\DeclareVoidOption{pt}{\ekv{lang=pt}} +\DeclareVoidOption{jp}{\ekv{lang=jp}} + +\DeclareVoidOption{fancy}{\ekv{mode=fancy}} +\DeclareVoidOption{simple}{\ekv{mode=simple}} +\DeclareBoolOption[false]{usesamecnt} + +\DeclareVoidOption{answer}{\ekv{result=answer}} +\DeclareVoidOption{noanswer}{\ekv{result=noanswer}} + +\DeclareVoidOption{normal}{\ekv{device=normal}} +\DeclareVoidOption{pad}{\ekv{device=pad}} + +\DeclareStringOption[numeric-comp]{citestyle} +\DeclareStringOption[numeric]{bibstyle} + +\DeclareVoidOption{newtx}{\ekv{math=newtx}} +\DeclareVoidOption{mtpro2}{\ekv{math=mtpro2}} +\DeclareVoidOption{cm}{\ekv{math=cm}} + +\DeclareVoidOption{margintrue}{\ekv{marginpar=margintrue}} +\DeclareVoidOption{marginfalse}{\ekv{marginpar=marginfalse}} + + +\DeclareVoidOption{onecol}{\ekv{toc=onecol}} +\DeclareVoidOption{twocol}{\ekv{toc=twocol}} + +\DeclareStringOption[chapter]{thmcnt} +\DeclareVoidOption{chapter}{\ekv{thmcnt=chapter}} +\DeclareVoidOption{section}{\ekv{thmcnt=section}} + +\DeclareStringOption[biber]{bibend} +\DeclareVoidOption{biber}{\ekv{bibend=biber}} +\DeclareVoidOption{bibtex}{\ekv{bibend=bibtex}} + + +% ----- Math option ----- +\newcommand\mailto[1]{\href{mailto:#1}{\nolinkurl{#1}}} + +% ----- Title Style ----- +\DeclareStringOption[hang]{titlestyle}[hang] +% ----- backward compatibility +\DeclareVoidOption{hang}{\ekv{titlestyle=hang}} +\DeclareVoidOption{display}{\ekv{titlestyle=display}} +% ----- Default Options ----- +\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{book}} + +\ProcessKeyvalOptions*\relax +% \ProcessOptions*\relax +\LoadClass[a4paper,oneside]{book} + +\RequirePackage{setspace} + +\RequirePackage{csquotes} + + +\RequirePackage{hyperref} +\hypersetup{ + breaklinks, + unicode, + linktoc=all, + bookmarksnumbered=true, + bookmarksopen=true, + pdfkeywords={ElegantBook}, + colorlinks, + linkcolor=winered, + citecolor=winered, + urlcolor=winered, + plainpages=false, + pdfstartview=FitH, + pdfborder={0 0 0}, + linktocpage +} +\newif\ifELEGANT@Hy@later + \@ifpackagelater{hyperref}{2022/05/16} + {\ELEGANT@Hy@latertrue} + {\ELEGANT@Hy@laterfalse} + +%% device settings +\RequirePackage{geometry} +\ifdefstring{\ELEGANT@device}{normal}{ + \geometry{ + a4paper, + top=25.4mm, bottom=25.4mm, + left=20mm, right=20mm, + headheight=2.17cm, + headsep=4mm, + footskip=12mm + } + \ifdefstring{\ELEGANT@marginpar}{margintrue}{ + \geometry{ + marginparwidth=5cm, marginparsep=5mm, + left=2cm,right=7cm}}{\relax}}{ + \relax} + +\ifdefstring{\ELEGANT@device}{pad}{ +\geometry{ + paperwidth=7.5in, + paperheight=10in, + margin=16mm, + headheight=2.17cm, + footskip=4mm +}}{\relax} + + +\RequirePackage{indentfirst,comment} +% fontsetting +\ifdefstring{\ELEGANT@math}{mtpro2}{ + \let\Bbbk\relax + \RequirePackage[lite]{mtpro2} +}{\relax} + +\setcounter{tocdepth}{1} +\renewcommand{\baselinestretch}{1.2} + +\PassOptionsToPackage{no-math}{fontspec} +\PassOptionsToPackage{quiet}{fontspec} +\RequirePackage{iftex} + +\ifpdftex + \RequirePackage{newtxtext} + \RequirePackage[scaled=.90]{helvet} +\else + \RequirePackage[no-math]{fontspec} + \setmainfont{TeXGyreTermesX}[ + UprightFont = *-Regular , + BoldFont = *-Bold , + ItalicFont = *-Italic , + BoldItalicFont = *-BoldItalic , + Extension = .otf , + Scale = 1.0] + + \setsansfont{texgyreheros}[ + UprightFont = *-regular , + BoldFont = *-bold , + ItalicFont = *-italic , + BoldItalicFont = *-bolditalic , + Extension = .otf , + Scale = 0.9] +\fi + +\ifdefstring{\ELEGANT@lang}{cn}{ + \ifdefstring{\ELEGANT@chinesefont}{founder}{ + \RequirePackage[UTF8, scheme=plain, fontset=none]{ctex} + \setCJKmainfont[BoldFont={FZHei-B01},ItalicFont={FZKai-Z03}]{FZShuSong-Z01} + \setCJKsansfont[BoldFont={FZHei-B01}]{FZKai-Z03} + \setCJKmonofont[BoldFont={FZHei-B01}]{FZFangSong-Z02} + \setCJKfamilyfont{zhsong}{FZShuSong-Z01} + \setCJKfamilyfont{zhhei}{FZHei-B01} + \setCJKfamilyfont{zhkai}[BoldFont={FZHei-B01}]{FZKai-Z03} + \setCJKfamilyfont{zhfs}[BoldFont={FZHei-B01}]{FZFangSong-Z02} + \newcommand*{\songti}{\CJKfamily{zhsong}} + \newcommand*{\heiti}{\CJKfamily{zhhei}} + \newcommand*{\kaishu}{\CJKfamily{zhkai}} + \newcommand*{\fangsong}{\CJKfamily{zhfs}}}{\relax} + + \ifdefstring{\ELEGANT@chinesefont}{nofont}{ + \RequirePackage[UTF8,scheme=plain,fontset=none]{ctex} + \xeCJKsetup{AutoFakeBold=true} + }{\relax} + + \ifdefstring{\ELEGANT@chinesefont}{ctexfont}{ + \RequirePackage[UTF8,scheme=plain]{ctex} + \xeCJKsetup{AutoFakeBold=true} + }{\relax} + + \AfterEndPreamble{ + \setlength\parindent{2\ccwd}} +}{\relax} + +\ifcsname heiti\endcsname + \newcommand{\cbfseries}{\heiti} +\else + \newcommand{\cbfseries}{\bfseries} +\fi + + +\ifcsname kaishu\endcsname + \newcommand{\citshape}{\kaishu} +\else + \newcommand{\citshape}{\itshape} +\fi +\ifcsname kaishu\endcsname + \newcommand{\cnormal}{\kaishu} +\else + \newcommand{\cnormal}{\normalfont} +\fi + +\ifcsname fangsong\endcsname + \newcommand{\cfs}{\fangsong} +\else + \newcommand{\cfs}{\normalfont} +\fi + +\RequirePackage{anyfontsize} +\ifdefstring{\ELEGANT@math}{newtx}{ + \let\oldencodingdefault\encodingdefault + \let\oldrmdefault\rmdefault + \let\oldsfdefault\sfdefault + \let\oldttdefault\ttdefault + \def\encodingdefault{T1} + \renewcommand{\rmdefault}{ntxtlf} + \renewcommand{\sfdefault}{qhv} + \renewcommand{\ttdefault}{ntxtt} + \RequirePackage{newtxmath} + \let\encodingdefault\oldencodingdefault + \let\rmdefault\oldrmdefault + \let\sfdefault\oldsfdefault + \let\ttdefault\oldttdefault + \let\Bbbk\relax + \RequirePackage{esint} + %%% use yhmath pkg, uncomment following code + % \let\oldwidering\widering + % \let\widering\undefined + % \RequirePackage{yhmath} + % \let\widering\oldwidering + + %%% use esvect pkg, uncomment following code + % \RequirePackage{esvect} + + \DeclareSymbolFont{CMlargesymbols}{OMX}{cmex}{m}{n} + \let\sumop\relax\let\prodop\relax + \DeclareMathSymbol{\sumop}{\mathop}{CMlargesymbols}{"50} + \DeclareMathSymbol{\prodop}{\mathop}{CMlargesymbols}{"51} +}{\relax} + + +% ----- Handle Colors ----- +%% 章节以及页脚图形 + +\RequirePackage[table]{xcolor} +\ifdefstring{\ELEGANT@color}{green}{ + \definecolor{structurecolor}{RGB}{0,120,2}% + \definecolor{main}{RGB}{0,120,2}% + \definecolor{second}{RGB}{230,90,7}% + \definecolor{third}{RGB}{0,160,152}% +}{\relax} +\ifdefstring{\ELEGANT@color}{cyan}{ + \definecolor{structurecolor}{RGB}{31,186,190}% + \definecolor{main}{RGB}{59,180,5}% + \definecolor{second}{RGB}{175,153,8}% + \definecolor{third}{RGB}{244,105,102}% +}{\relax} +\ifdefstring{\ELEGANT@color}{blue}{ + \definecolor{structurecolor}{RGB}{60,113,183} + \definecolor{main}{RGB}{0,166,82}% + \definecolor{second}{RGB}{255,134,24}% + \definecolor{third}{RGB}{0,174,247}% +}{\relax} +\ifdefstring{\ELEGANT@color}{gray}{ + \definecolor{structurecolor}{RGB}{150,150,150} + \definecolor{main}{RGB}{150,150,150}% + \definecolor{second}{RGB}{150,150,150}% + \definecolor{third}{RGB}{150,150,150}% +}{\relax} +\ifdefstring{\ELEGANT@color}{black}{ + \definecolor{structurecolor}{RGB}{0,0,0} + \definecolor{main}{RGB}{0,0,0}% + \definecolor{second}{RGB}{0,0,0}% + \definecolor{third}{RGB}{0,0,0}% +}{\relax} + +%green color +\definecolor{structure1}{RGB}{0,120,2}% +\definecolor{main1}{RGB}{0,120,2}% +\definecolor{second1}{RGB}{230,90,7}% +\definecolor{third1}{RGB}{0,160,152}% +%cyan color +\definecolor{structure2}{RGB}{31,186,190}% +\definecolor{main2}{RGB}{59,180,5}% +\definecolor{second2}{RGB}{175,153,8}% +\definecolor{third2}{RGB}{244,105,102}% +%blue color +\definecolor{structure3}{RGB}{60,113,183} +\definecolor{main3}{RGB}{0,166,82}% +\definecolor{second3}{RGB}{255,134,24}% +\definecolor{third3}{RGB}{0,174,247}% +% gray color +\definecolor{structure4}{RGB}{150,150,150} +\definecolor{main4}{RGB}{150,150,150}% +\definecolor{second4}{RGB}{150,150,150}% +\definecolor{third4}{RGB}{150,150,150}% +% black color +\definecolor{structure5}{RGB}{0,0,0} +\definecolor{main5}{RGB}{0,0,0}% +\definecolor{second5}{RGB}{0,0,0}% +\definecolor{third5}{RGB}{0,0,0}% + +% corlor definition +\definecolor{winered}{rgb}{0.5,0,0} +\definecolor{bule}{RGB}{18,29,57} +\colorlet{coverlinecolor}{second} + + +% ----- Title Style ----- +\ifdefstring{\ELEGANT@titlestyle}{hang}{\def\style{hang}}{\relax} +\ifdefstring{\ELEGANT@titlestyle}{display}{\def\style{display}}{\relax} + +% reference: +% https://tex.stackexchange.com/questions/58506/how-to-make-a-new-command-similar-to-author +% https://pastebin.com/C8W4axzV +\newcommand\email[1]{\href{mailto:#1}{\nolinkurl{#1}}} + +\global\let\@title\@empty +\global\let\@author\@empty +\global\let\@date\@empty +\newcommand{\subtitle}[1]{\gdef\@subtitle{#1}} +\newcommand{\institute}[1]{\gdef\@institute{#1}} +\newcommand{\version}[1]{\gdef\@version{#1}} +\newcommand{\extrainfo}[1]{\gdef\@extrainfo{#1}} + +\RequirePackage{mwe} +\newcommand{\logo}[1]{\gdef\@logo{#1}} +\newcommand{\cover}[1]{\gdef\@cover{#1}} + +\newcommand{\question}[1]{{\par\citshape #1}\\[0.2ex]} + +\RequirePackage{enumerate} +% list/itemize/enumerate setting +\RequirePackage[shortlabels,inline]{enumitem} +\setlist{nolistsep} + +\RequirePackage[labelfont={bf,color=structurecolor}]{caption} +\captionsetup[table]{skip=3pt} +\captionsetup[figure]{skip=3pt} + +\AtBeginDocument{ + \setlength{\abovedisplayskip}{3pt} + \setlength{\belowdisplayskip}{3pt} + \RequirePackage[flushmargin,stable]{footmisc} + \setlength{\footnotesep}{12pt} +} + + + +\RequirePackage{graphicx} +%\RequirePackage{enumerate} +\RequirePackage{amsmath,mathrsfs,amsfonts,amssymb} +% \providecommand\qed{} +% \renewcommand{\qed}{\hfill\ensuremath{\square}} +\RequirePackage{booktabs} +\RequirePackage{multicol,multirow} + +\RequirePackage{fancyvrb} +\RequirePackage{makecell,lipsum,hologo} +%%中文结构名字 + + +%% 章节设置 +\RequirePackage[center,pagestyles]{titlesec} +\RequirePackage[title,titletoc,header]{appendix} + + +\RequirePackage[ + backend=\ELEGANT@bibend, + citestyle=\ELEGANT@citestyle, + bibstyle=\ELEGANT@bibstyle]{biblatex} + +\ifdefstring{\ELEGANT@lang}{cn}{ + \renewcommand{\baselinestretch}{1.3} + \renewcommand{\contentsname}{目录} + \renewcommand{\figurename}{图} + \renewcommand{\tablename}{表} + \renewcommand{\partname}{\color{structurecolor}} + \renewcommand{\thepart}{第\zhnumber{\arabic{part}}部分} + \renewcommand{\listfigurename}{插图目录} + \renewcommand{\listtablename}{表格目录} + \renewcommand{\bibname}{参考文献} + \newcommand{\ebibname}{参考文献} + \renewcommand{\appendixname}{附录} + \renewcommand{\appendixtocname}{附录} + \renewcommand{\indexname}{索\hspace{2em}引} + \newcommand\figref[1]{\textbf{图}~\ref{#1}} + \newcommand\tabref[1]{\textbf{表}~\ref{#1}} + \newcommand{\authorname}{\citshape 作者:} + \newcommand{\institutename}{\citshape 组织:} + \newcommand{\datename}{\citshape 时间:} + \newcommand{\versionname}{\citshape 版本:} + \newcommand{\notename}{笔记} + \renewcommand*{\proofname}{证明} + \newcommand{\definitionname}{定义} + \newcommand{\theoremname}{定理} + \newcommand{\axiomname}{公理} + \newcommand{\postulatename}{公设} + \newcommand{\lemmaname}{引理} + \newcommand{\propositionname}{命题} + \newcommand{\corollaryname}{推论} + \newcommand{\examplename}{例题} % + \newcommand{\instancename}{示例} % + \newcommand{\problemname}{问题} % 问题 + \newcommand{\exercisename}{练习} % 练习=习题 + \newcommand{\remarkname}{注} + \newcommand{\assumptionname}{假设} + \newcommand{\conclusionname}{结论} + \newcommand{\solutionname}{解} + \newcommand{\propertyname}{性质} + \newcommand{\introductionname}{内容提要} + \newcommand\bioinfo[2]{\gdef\@bioinfo{{\citshape #1}:#2}} + \newcommand{\updatename}{更新:} + \newcommand{\historyname}{版本更新历史} + \newcommand{\beforechap}{第} + \newcommand{\afterchap}{章} +}{\relax} + + +\ifdefstring{\ELEGANT@lang}{en}{ + \setlength\parindent{2em} + \newcommand\figref[1]{\textbf{Figure}~\ref{#1}} + \newcommand\tabref[1]{\textbf{Table}~\ref{#1}} + \renewcommand{\chaptername}{Chapter} + \renewcommand{\partname}{\color{structurecolor} Part} + \newcommand{\authorname}{\textbf{Author: }} + \newcommand{\institutename}{\textbf{Institute: }} + \newcommand{\datename}{\textbf{Date: }} + \newcommand{\versionname}{\textbf{Version: }} + \newcommand{\notename}{Note} + \newcommand{\proofname}{Proof} + \newcommand{\problemname}{Problem} + \newcommand{\definitionname}{Definition} + \newcommand{\theoremname}{Theorem} + \newcommand{\axiomname}{Axiom} + \newcommand{\postulatename}{Postulate} + \newcommand{\lemmaname}{Lemma} + \newcommand{\propositionname}{Proposition} + \newcommand{\corollaryname}{Corollary} + \newcommand{\examplename}{Example} + \newcommand{\exercisename}{Exercise} + \newcommand{\remarkname}{Remark} + \newcommand{\assumptionname}{Assumption} + \newcommand{\conclusionname}{Conclusion} + \newcommand{\solutionname}{Solution} + \newcommand{\propertyname}{Property} + \newcommand{\introductionname}{Introduction} + \renewcommand{\appendixname}{Appendix} + \newcommand{\ebibname}{Bibliography} + % \newcommand{\problemsetname}{Exercise} + \newcommand\bioinfo[2]{\gdef\@bioinfo{\textbf{#1}: #2}} + \newcommand{\updatename}{Updates:} + \newcommand{\historyname}{Version History} +}{\relax} + +\ifdefstring{\ELEGANT@lang}{it}{ + % \RequirePackage[utf8]{inputenc} + \RequirePackage[italian]{babel} + % \RequirePackage[T1]{fontenc} + \setlength\parindent{2em} + \newcommand\figref[1]{\textbf{Figura}~\ref{#1}} + \newcommand\tabref[1]{\textbf{Tabella}~\ref{#1}} + \renewcommand{\chaptername}{Chapter} + \newcommand{\authorname}{\textbf{Autore: }} + \newcommand{\institutename}{\textbf{Istituto: }} + \newcommand{\datename}{\textbf{Data: }} + \newcommand{\versionname}{\textbf{Versione: }} + \newcommand{\notename}{Nota} + \newcommand{\proofname}{Dimostrazione} + \newcommand{\problemname}{Problema} + \newcommand{\definitionname}{Definizione} + \newcommand{\theoremname}{Teorema} + \newcommand{\axiomname}{Assioma} + \newcommand{\postulatename}{Postulato} + \newcommand{\lemmaname}{Lemma} + \newcommand{\propositionname}{Proposizione} + \newcommand{\corollaryname}{Corollario} + \newcommand{\examplename}{Esempio} + \newcommand{\exercisename}{Esercizio} + \newcommand{\remarkname}{Commento} + \newcommand{\assumptionname}{Assunto} + \newcommand{\conclusionname}{Conclusione} + \newcommand{\solutionname}{Soluzione} + \newcommand{\propertyname}{Proprietà} + \newcommand{\introductionname}{Introduzione} + \newcommand\bioinfo[2]{\gdef\@bioinfo{\textbf{#1}: #2}} + \newcommand{\updatename}{Aggiornamenti:} + \newcommand{\ebibname}{Bibliografia} + \newcommand{\historyname}{Cronologia delle versioni} +}{\relax} + +\ifdefstring{\ELEGANT@lang}{fr}{ + \RequirePackage[utf8]{inputenc} + \RequirePackage[T1]{fontenc} + \RequirePackage[french]{babel} + \setlength\parindent{2em} + \renewcommand\figref[1]{\textbf{Figure}\ref{#1}} + \renewcommand\tabref[1]{\textbf{Tableau}\ref{#1}} + \renewcommand{\chaptername}{Chapitre} + \renewcommand{\authorname}{\textbf{Auteur: }} + \renewcommand{\institutename}{\textbf{Institut: }} + \renewcommand{\datename}{\textbf{Date: }} + \renewcommand{\versionname}{\textbf{Version: }} + \renewcommand{\notename}{Note} + \renewcommand{\proofname}{Démonstration} + \renewcommand{\problemname}{Problème} + \renewcommand{\definitionname}{Définition} + \renewcommand{\theoremname}{Théorème} + \renewcommand{\axiomname}{Axiôme} + \renewcommand{\postulatename}{Postulat} + \renewcommand{\lemmaname}{Lemme} + \renewcommand{\propositionname}{Proposition} + \renewcommand{\corollaryname}{Corollaire} + \renewcommand{\examplename}{Exemple} + \renewcommand{\exercisename}{Exercice} + \renewcommand{\remarkname}{Remarque} + \renewcommand{\assumptionname}{Supposition} + \renewcommand{\conclusionname}{Conclusion} + \renewcommand{\solutionname}{Solution} + \renewcommand{\propertyname}{Propriété} + \renewcommand{\introductionname}{Introduction} + \renewcommand{\problemsetname}{Exercice} + \renewcommand{\updatename}{Mises à jour:} + \newcommand{\ebibname}{Bibliographie} + \renewcommand{\historyname}{Historique des versions} +}{\relax} + + +\ifdefstring{\ELEGANT@lang}{nl}{ + \RequirePackage[dutch]{babel} + \setlength\parindent{2em} + \newcommand\figref[1]{\textbf{Figuur}~\ref{#1}} + \newcommand\tabref[1]{\textbf{Tabel}~\ref{#1}} + \renewcommand{\chaptername}{Hoofdstuk} + \newcommand{\authorname}{\textbf{Auteur: }} + \newcommand{\institutename}{\textbf{Instituut: }} + \newcommand{\datename}{\textbf{Datum: }} + \newcommand{\versionname}{\textbf{Versie: }} + \newcommand{\notename}{Opmerking} + \newcommand{\proofname}{Bewijs} + \newcommand{\problemname}{Probleem} + \newcommand{\definitionname}{Definitie} + \newcommand{\theoremname}{Stelling} + \newcommand{\axiomname}{Uitgangspunt} + \newcommand{\postulatename}{Hypothese} + \newcommand{\lemmaname}{Lemma} + \newcommand{\propositionname}{Voorstel} + \newcommand{\corollaryname}{Gevolgtrekking} + \newcommand{\examplename}{Voorbeeld} + \newcommand{\exercisename}{Oefening} + \newcommand{\remarkname}{Commentaar} + \newcommand{\assumptionname}{Veronderstelling} + \newcommand{\conclusionname}{Besluit} + \newcommand{\solutionname}{Oplossing} + \newcommand{\propertyname}{Eigenschap} + \newcommand{\introductionname}{Introductie} + \newcommand{\problemsetname}{Probleemcomplex} + \newcommand\bioinfo[2]{\gdef\@bioinfo{\textbf{#1}: #2}} + \newcommand{\updatename}{Update:} + \newcommand{\ebibname}{Bibliographie} + \newcommand{\historyname}{Versie Geschiedenis} +}{\relax} + + +\ifdefstring{\ELEGANT@lang}{hu}{ + \RequirePackage[magyar]{babel} + \setlength\parindent{2em} + \newcommand\figref[1]{\ref{#1}~\textbf{Ábra}} + \newcommand\tabref[1]{\ref{#1}~\textbf{Táblázat}} + \renewcommand{\chaptername}{Fejezet} + \newcommand{\authorname}{\textbf{Szerző: }} + \newcommand{\institutename}{\textbf{Intézmény: }} + \newcommand{\datename}{\textbf{Dátum: }} + \newcommand{\versionname}{\textbf{Verziószám: }} + \newcommand{\notename}{Jegyzet} + \newcommand{\proofname}{Bizonyítás} + \newcommand{\problemname}{Probléma} + \newcommand{\definitionname}{Definíció} + \newcommand{\theoremname}{Tétel} + \newcommand{\axiomname}{Axióma} + \newcommand{\postulatename}{Követelmény} + \newcommand{\lemmaname}{Lemma} + \newcommand{\propositionname}{Előzmény} + \newcommand{\corollaryname}{Következmény} + \newcommand{\examplename}{Példa} + \newcommand{\exercisename}{Feladat} + \newcommand{\remarkname}{Megjegyzés} + \newcommand{\assumptionname}{Sejtés} + \newcommand{\conclusionname}{Összefoglalás} + \newcommand{\solutionname}{Megoldás} + \newcommand{\propertyname}{Tulajdonság} + \newcommand{\introductionname}{Bevezetés} + \newcommand{\problemsetname}{Feladatok} + \newcommand\bioinfo[2]{\gdef\@bioinfo{\textbf{#1}: #2}} + \newcommand{\updatename}{Frissítve:} + \newcommand{\ebibname}{Bibliográfia} + \newcommand{\historyname}{Korábbi verziók} +}{\relax} + +\ifdefstring{\ELEGANT@lang}{de}{ + \setlength\parindent{2em} + \renewcommand{\contentsname}{Inhaltsverzeichnis} + \newcommand\figref[1]{\textbf{Figur}~\ref{#1}} + \newcommand\tabref[1]{\textbf{Tabelle}~\ref{#1}} + \renewcommand{\partname}{\color{structurecolor} Teil} + \renewcommand{\listfigurename}{Abbildungsverzeichnis} + \renewcommand{\listtablename}{Tabellenverzeichnis} + \renewcommand{\bibname}{Bibliographie} + \renewcommand{\appendixname}{Anhang} + \renewcommand{\chaptername}{Kapitel} + \newcommand{\authorname}{\textbf{Autor: }} + \newcommand{\institutename}{\textbf{Institut: }} + \newcommand{\datename}{\textbf{Datum: }} + \newcommand{\versionname}{\textbf{Version: }} + \newcommand{\notename}{Notiz} + \newcommand{\proofname}{Beweis} + \newcommand{\problemname}{Problem} + \newcommand{\definitionname}{Definition} + \newcommand{\theoremname}{Theorem} + \newcommand{\axiomname}{Axiom} + \newcommand{\postulatename}{Postulat} + \newcommand{\lemmaname}{Lemma} + \newcommand{\propositionname}{Behauptung} + \newcommand{\corollaryname}{Corollary} + \newcommand{\examplename}{Beispiel} + \newcommand{\instancename}{Beispiel} % + \newcommand{\exercisename}{\"{U}bung} + \newcommand{\remarkname}{Anmerkung} + \newcommand{\assumptionname}{Annahme} + \newcommand{\conclusionname}{Abschluss} + \newcommand{\solutionname}{Aufl\"{o}sung} + \newcommand{\propertyname}{Property} + \newcommand{\introductionname}{Einleitung} + \newcommand\bioinfo[2]{\gdef\@bioinfo{\textbf{#1}: #2}} + \newcommand{\updatename}{Updates:} + \renewcommand{\ebibname}{Bibliographie} + \newcommand{\historyname}{Version der Geschichte} +}{\relax} + +\ifdefstring{\ELEGANT@lang}{es}{ + \RequirePackage[spanish]{babel} + \setlength\parindent{2em} + \newcommand\figref[1]{\textbf{Figura}~\ref{#1}} + \newcommand\tabref[1]{\textbf{Tabla}~\ref{#1}} + \renewcommand{\spanishchaptername}{Capítulo} + \newcommand{\authorname}{\textbf{Autor: }} + \newcommand{\institutename}{\textbf{Instituto: }} + \newcommand{\datename}{\textbf{Fecha: }} + \newcommand{\versionname}{\textbf{Versión: }} + \newcommand{\notename}{Nota} + \newcommand{\proofname}{Demostración} + \newcommand{\problemname}{Problema} + \newcommand{\definitionname}{Definición} + \newcommand{\theoremname}{Teorema} + \newcommand{\axiomname}{Axioma} + \newcommand{\postulatename}{Postulado} + \newcommand{\lemmaname}{Lema} + \newcommand{\propositionname}{Proposición} + \newcommand{\corollaryname}{Corolario} + \newcommand{\examplename}{Ejemplo} + \newcommand{\exercisename}{Ejercicio} + \newcommand{\remarkname}{Comentario} + \newcommand{\assumptionname}{Asunto} + \newcommand{\conclusionname}{Conclusión} + \newcommand{\solutionname}{Solución} + \newcommand{\propertyname}{Propiedad} + \newcommand{\introductionname}{Introducción} + \newcommand{\problemsetname}{Ejercicio} + \newcommand\bioinfo[2]{\gdef\@bioinfo{\textbf{#1}: #2}} + \newcommand{\updatename}{Actualización:} + \newcommand{\ebibname}{Bibliografía} + \newcommand{\historyname}{Historial de versiones} +}{\relax} + +\ifdefstring{\ELEGANT@lang}{mn}{ + \RequirePackage[mongolian]{babel} + \RequirePackage[utf8]{inputenc} + \RequirePackage[T2A]{fontenc} + \setlength\parindent{2em} + \newcommand\figref[1]{\textbf{Зураг}\ref{#1}} + \newcommand\tabref[1]{\textbf{Хүснэгт}\ref{#1}} + \renewcommand{\chaptername}{Бүлэг} + \newcommand{\authorname}{\textbf{Зохиогч: }} + \newcommand{\institutename}{\textbf{Сургууль: }} + \newcommand{\datename}{\textbf{Огноо: }} + \newcommand{\versionname}{\textbf{Хувилбар: }} + \newcommand{\notename}{Тэмдэглэл} + \newcommand{\proofname}{Баталгаа} + \newcommand{\problemname}{Бодлого} + \newcommand{\definitionname}{Тодорхойлолт} + \newcommand{\theoremname}{Томьёо} + \newcommand{\axiomname}{Аксиом} + \newcommand{\postulatename}{Постулат} + \newcommand{\lemmaname}{Лемма} + \newcommand{\propositionname}{Таамаглал} + \newcommand{\corollaryname}{Үр дүн} + \newcommand{\examplename}{Жишээ} + \newcommand{\exercisename}{Дасгал} + \newcommand{\remarkname}{Тайлбар} + \newcommand{\assumptionname}{Урьдчилсан нөхцөл} + \newcommand{\conclusionname}{Дүгнэлт} + \newcommand{\solutionname}{Хариулт} + \newcommand{\propertyname}{Шинж чанар} + \newcommand{\introductionname}{Удиртгал} + \newcommand{\problemsetname}{Бодлогууд} + \newcommand\bioinfo[2]{\gdef@bioinfo{\textbf{#1}: #2}} + \newcommand{\updatename}{Шинэчлэлтүүд:} + \newcommand{\ebibname}{Ном зүй} + \newcommand{\historyname}{Хувилбарын түүх} +}{\relax} + + +\ifdefstring{\ELEGANT@lang}{pt}{ + \RequirePackage[portuguese]{babel} + \setlength\parindent{2em} + \newcommand\figref[1]{\textbf{Figura}~\ref{#1}} + \newcommand\tabref[1]{\textbf{Tabela}~\ref{#1}} + \renewcommand{\chaptername}{Capítulo} + \newcommand{\authorname}{\textbf{Autor: }} + \newcommand{\institutename}{\textbf{Instituição: }} + \newcommand{\datename}{\textbf{Data: }} + \newcommand{\versionname}{\textbf{Versão: }} + \newcommand{\notename}{Observação} + \newcommand{\proofname}{Demostração} + \newcommand{\problemname}{Problema} + \newcommand{\definitionname}{Definição} + \newcommand{\theoremname}{Teorema} + \newcommand{\axiomname}{Axioma} + \newcommand{\postulatename}{Postulado} + \newcommand{\lemmaname}{Lema} + \newcommand{\propositionname}{Proposição} + \newcommand{\corollaryname}{Corolário} + \newcommand{\examplename}{Exemplo} + \newcommand{\exercisename}{Exercício} + \newcommand{\remarkname}{Comentário} + \newcommand{\assumptionname}{Assunto} + \newcommand{\conclusionname}{Conclusão} + \newcommand{\solutionname}{Soluções} + \newcommand{\propertyname}{Propiedade} + \newcommand{\introductionname}{Introdução} + \newcommand{\problemsetname}{Questão} + \newcommand\bioinfo[2]{\gdef\@bioinfo{\textbf{#1}: #2}} + \newcommand{\updatename}{Atualização: } + \newcommand{\ebibname}{Bibliografia} + \newcommand{\historyname}{Histórico de versões} +}{\relax} + + +\ifdefstring{\ELEGANT@lang}{jp}{ + \RequirePackage{luatexja} + \setlength\parindent{2em} + \renewcommand{\contentsname}{目次} + \newcommand\figref[1]{\textbf{図}~\ref{#1}} + \newcommand\tabref[1]{\textbf{表}~\ref{#1}} + \renewcommand{\partname}{\color{structurecolor}} + \renewcommand{\listfigurename}{イラストカタログ} + \renewcommand{\listtablename}{表カタログ} + \renewcommand{\bibname}{参考文献} + \renewcommand{\appendixname}{付録} + \renewcommand{\chaptername}{第 \thechapter 章} + \newcommand{\authorname}{\textbf{著者:}} + \newcommand{\institutename}{\textbf{組織団体:}} + \newcommand{\datename}{\textbf{日付:}} + \newcommand{\versionname}{\textbf{\citshape バージョン:}} + \newcommand{\notename}{ノート} + \newcommand{\proofname}{証明} + \newcommand{\problemname}{問題} + \newcommand{\definitionname}{定義} + \newcommand{\theoremname}{定理} + \newcommand{\axiomname}{公理} + \newcommand{\postulatename}{公準} + \newcommand{\lemmaname}{補題} + \newcommand{\propositionname}{命題} + \newcommand{\corollaryname}{系} + \newcommand{\examplename}{例題} + \newcommand{\instancename}{例} + \newcommand{\exercisename}{練習} + \newcommand{\remarkname}{注} + \newcommand{\assumptionname}{仮設} + \newcommand{\conclusionname}{結論} + \newcommand{\solutionname}{解答} + \newcommand{\propertyname}{性質} + \newcommand{\introductionname}{内容概要} + \newcommand\bioinfo[2]{\gdef\@bioinfo{\textbf{#1}: #2}} + \newcommand{\updatename}{更新:} + \newcommand{\ebibname}{参考文献} + \newcommand{\historyname}{バージョン更新履歴} +}{\relax} + + +\graphicspath{{./figure/}{./figures/}{./image/}{./images/}{./graphics/}{./graphic/}{./pictures/}{./picture/}} + +\RequirePackage{tikz} %% load tikz without tikz +\usetikzlibrary{backgrounds,calc,shadows,positioning,fit} +\newcommand*\circled[1]{\tikz[baseline=(char.base)]{ + \node[shape=circle,draw,inner sep=1pt] (char) {#1};}} +% https://tex.stackexchange.com/questions/7032/good-way-to-make-textcircled-numbers + +\newcommand*{\eitemi}{\tikz \draw [baseline, ball color=structurecolor,draw=none] circle (2pt);} +\newcommand*{\eitemii}{\tikz \draw [baseline, fill=structurecolor,draw=none,circular drop shadow] circle (2pt);} +\newcommand*{\eitemiii}{\tikz \draw [baseline, fill=structurecolor,draw=none] circle (2pt);} +\setlist[enumerate,1]{label=\color{structurecolor}\arabic*.} +\setlist[enumerate,2]{label=\color{structurecolor}(\alph*).} +\setlist[enumerate,3]{label=\color{structurecolor}\Roman*.} +\setlist[enumerate,4]{label=\color{structurecolor}\Alph*.} +\setlist[itemize,1]{label={\eitemi}} +\setlist[itemize,2]{label={\eitemii}} +\setlist[itemize,3]{label={\eitemiii}} + +\RequirePackage{apptools} + +% appendix chapter: + +\ifdefstring{\ELEGANT@lang}{cn}{ + \ifdefstring{\ELEGANT@scheme}{chinese}{ + \newcommand{\xchaptertitle}{第\zhnumber{\arabic{chapter}}章} }{ + \newcommand{\xchaptertitle}{第 \thechapter{} 章}} +% Hyperref 2022/05/16's changelog.txt said +% * nameref is loaded always and earlier (issue#235) + \AtBeginDocument{ + \ifELEGANT@Hy@later + \patchcmd{\NR@chapter}% + {\numberline{\thechapter}}{\numberline{\xchaptertitle}}% + {}{\fail} + \else + \patchcmd{\Hy@org@chapter}% + {\numberline{\thechapter}}{\numberline{\xchaptertitle}}% + {}{\fail} + \fi + } + } + {\newcommand{\xchaptertitle}{\chaptername~\thechapter~}} + +\setcounter{secnumdepth}{5} +\titleformat{\chapter}[\style]{\bfseries}{ + \filcenter\huge\enspace\bfseries{\color{structurecolor} \IfAppendix{\appendixname\;\thechapter\;}{\xchaptertitle\;}}}{1pt}{ + \huge\bfseries\color{structurecolor}\filcenter}[] +\titleformat{\section}[hang]{\bfseries}{ + \LARGE\bfseries{\color{structurecolor}\thesection}\enspace}{1pt}{% + \color{structurecolor}\LARGE\bfseries\filright} +\titleformat{\subsection}[hang]{\bfseries}{ + \Large\bfseries\color{structurecolor}\thesubsection\enspace}{1pt}{% + \color{structurecolor}\Large\bfseries\filright} +\titleformat{\subsubsection}[hang]{\bfseries}{ + \large\bfseries\color{structurecolor}\thesubsubsection\enspace}{1pt}{% + \color{structurecolor}\large\bfseries\filright} + +\titlespacing{\chapter}{0pt}{-20pt}{1.3\baselineskip} +%\titlespacing{\subsection}{0pt}{0.5\baselineskip}{-\baselineskip} + + + +%%define the +%%definition theorem postulate axiom corollary lemma proposition +%%and proof environment +\RequirePackage{pifont,manfnt,bbding} +\RequirePackage[many]{tcolorbox} +% \newlength{\normalparindent} +% \setlength{\normalparindent}{\parindent} +\newcommand{\ELEGANT@tmp@tl}{} +\ifELEGANT@usesamecnt + \newcounter{ELEGANT@samecnt} + \counterwithin{ELEGANT@samecnt}{\ELEGANT@thmcnt} + \tcbset{ + new/usesamecnt/.style = {use counter = ELEGANT@samecnt} + } +\else + \tcbset{ + new/usesamecnt/.style = {} + } +\fi + +\ifdefstring{\ELEGANT@mode}{fancy}{ + \tcbset{ + common/.style={ + fontupper=\citshape, + lower separated=false, + % before upper={\setlength{\parindent}{\normalparindent}}, + coltitle=white, + colback=gray!5, + boxrule=0.5pt, + fonttitle=\bfseries, + enhanced, + breakable, + top=8pt, + before skip=8pt, + attach boxed title to top left={ + yshift=-0.11in, + xshift=0.15in}, + boxed title style={ + boxrule=0pt, + colframe=white, + arc=0pt, + outer arc=0pt}, + separator sign={.},}, + defstyle/.style={ + common, + colframe=main, + colback=main!5, + colbacktitle=main, + overlay unbroken and last={ + \node[anchor=south east, outer sep=0pt] at (\linewidth-width,0) { + \textcolor{main}{$\clubsuit$}};}}, + thmstyle/.style={ + common, + colframe=second, + colback=second!5, + colbacktitle=second, + overlay unbroken and last={ + \node[anchor=south east, outer sep=0pt] at (\linewidth-width,0) { + \textcolor{second}{$\heartsuit$}};}}, + prostyle/.style={ + common, + colframe=third, + colback=third!5, + colbacktitle=third, + overlay unbroken and last={ + \node[anchor=south east, outer sep=0pt] at (\linewidth-width,0) { + \textcolor{third}{$\spadesuit$}};}}, + ELEGANT@title/.code n args={2} + { + + \tcbset + { + title= + { + \csname #1name\endcsname~% + \ifdef{\thetcbcounter}{\thetcbcounter}{}% + \ifblank{#2}{}{\ (#2)} + } + } + }, + ELEGANT@label/.code n args={2} + { + \ifblank{#2} + {}{\tcbset{label={#1:#2}}} + } + } + + % define an internal control sequence \ELEGANT@newtheorem for fancy mode's newtheorem + % #1 is the environment name, #2 is the prefix of label, #3 is the style + % style: thmstyle, defstyle, prostyle + % e.g. \ELEGANT@newtheorem{theorem}{thm}{thmstyle} + % will define two environments: numbered ``theorem'' and no-numbered ``theorem*'' + % WARNING FOR MULTILINGUAL: this cs will automatically find \theoremname's definition, + % WARNING FOR MULTILINGUAL: it should be defined in language settings. + \NewDocumentCommand \ELEGANT@newtheorem { m m m O{} }{ + \ifcsundef{#1name}{% + \ClassError{elegantbook}{% + \ #1name undefined, \MessageBreak + Please check in language setting + }{} + }{\relax} + \expandafter\ifblank\expandafter{#4}{ + \tcbset{ + new/usecnt/.style={} + } + }{ + \tcbset{ + new/usecnt/.style= {use counter from = #4} + } + } + \DeclareTColorBox[auto counter,number within=\ELEGANT@thmcnt,usesamecnt,usecnt]{#1}{ g o t\label g }{ + common,#3, + IfValueTF={##1} + {ELEGANT@title={#1}{##1}} + { + IfValueTF={##2} + {ELEGANT@title={#1}{##2}} + {ELEGANT@title={#1}{}} + }, + IfValueT={##4} + { + IfBooleanTF={##3} + {label={##4}} + {ELEGANT@label={#2}{##4}} + } + } + \DeclareTColorBox{#1*}{ g o }{ + common,#3, + IfValueTF={##1} + {ELEGANT@title={#1}{##1}} + { + IfValueTF={##2} + {ELEGANT@title={#1}{##2}} + {ELEGANT@title={#1}{}} + }, + } + } + % define several environment + % we define headers like \definitionname before + \ELEGANT@newtheorem{theorem}{thm}{thmstyle} + \ELEGANT@newtheorem{definition}{def}{defstyle} + \ELEGANT@newtheorem{postulate}{pos}{thmstyle} + \ELEGANT@newtheorem{axiom}{axi}{thmstyle} + \ELEGANT@newtheorem{corollary}{cor}{thmstyle} + \ELEGANT@newtheorem{lemma}{lem}{thmstyle} + \ELEGANT@newtheorem{proposition}{pro}{prostyle} +}{\relax} + + +\ifdefstring{\ELEGANT@mode}{simple}{ + \let\openbox\relax + \RequirePackage{amsthm} + \let\proof\relax + % \let\proofname\relax + \let\endproof\relax + + % declare new theorem styles: defstyle, thmstyle, prostyle + \newtheoremstyle{defstyle}{3pt}{3pt}{\citshape}{-3pt}{ + \bfseries\color{main}}{}{0.5em}{\thmname{#1} \thmnumber{#2} \thmnote{(#3)}} + \newtheoremstyle{thmstyle}{3pt}{3pt}{\citshape}{-3pt}{ + \bfseries\color{second}}{}{0.5em}{\thmname{#1} \thmnumber{#2} \thmnote{(#3)}} + \newtheoremstyle{prostyle}{3pt}{3pt}{\citshape}{-3pt}{ + \bfseries\color{third}}{}{0.5em}{\thmname{#1} \thmnumber{#2} \thmnote{(#3)}} + + % define an internal control sequence \ELEGANT@newtheorem for simple mode's newtheorem + % #1 is the environment name, #2 is the style + % style: thmstyle, defstyle, prostyle + % e.g. \ELEGANT@newtheorem{theorem}{thmstyle} + % will define two environments: numbered ``theorem'' and no-numbered ``theorem*'' + % WARNING FOR MULTILINGUAL: this cs will automatically find \theoremname's definition, + % WARNING FOR MULTILINGUAL: it should be defined in language settings. + \NewDocumentCommand \ELEGANT@newtheorem { m m O{} } { + \theoremstyle{#2} + \ifELEGANT@usesamecnt + \newtheorem{#1}[ELEGANT@samecnt]{\csname #1name\endcsname} + \else + \ifblank{#3}{ + \newtheorem{#1}{\csname #1name\endcsname}[\ELEGANT@thmcnt] + }{ + \newtheorem{#1}[#3]{\csname #1name\endcsname} + } + \fi + \newtheorem*{#1*}{\csname #1name\endcsname} + } + + % define several environment + % we define headers like \definitionname before + \ELEGANT@newtheorem{theorem}{thmstyle} + \ELEGANT@newtheorem{definition}{defstyle} + \ELEGANT@newtheorem{postulate}{thmstyle} + \ELEGANT@newtheorem{axiom}{thmstyle} + \ELEGANT@newtheorem{corollary}{thmstyle} + \ELEGANT@newtheorem{lemma}{thmstyle} + \ELEGANT@newtheorem{proposition}{prostyle} +}{\relax} + +% define an user control sequence \elegantnewtheorem +% #1 is the evironment, #2 is the theorem header +% #3 is the style #4 is the prefix for fancy mode +% style: thmstyle, defstyle, prostyle +% if #4 is given in simple mode, an error will be raised +% if #4 isn't given in fancy mode, the prefix will be set equal to #1, +% and a warning will be raised +\newcommand{\ELEGANT@newtheorem@warning}{} +\newcommand{\ELEGANT@newtheorem@error}{} +\newcommand{\ELEGANT@usesamecnt@warning}{} +\NewDocumentCommand\elegantnewtheorem{ m m m g O{} } + { + \renewcommand{\ELEGANT@usesamecnt@warning}{ + \ClassWarning{elegantbook}{% + [#5] won't make sence with option \MessageBreak + `usesamecnt'. + } + } + \renewcommand{\ELEGANT@newtheorem@warning}{ + \ClassWarning{elegantbook}{% + Because you didn't provide a prefix, \MessageBreak + we use #1 as the default prefix. \MessageBreak + You have to use \MessageBreak + \ref{#1:label} to refer a \MessageBreak + \begin{#1}{name}{label} environment. \MessageBreak + } + } + \renewcommand{\ELEGANT@newtheorem@error}{ + \ClassError{elegantbook}{% + You can't set a prefix in mode ``simple''.\MessageBreak + Just use \MessageBreak + \elegantnewtheorem{#1}{#2}{#3} + }{% + We are using ``amsthm'' package to \MessageBreak + generate theorem-like theorem. \MessageBreak + The 4th parameter ``prefix'' isn't allowed. + } + } + \ifELEGANT@usesamecnt + \ifblank{#5}{}{\ELEGANT@usesamecnt@warning} + \else + \renewcommand{\ELEGANT@tmp@tl}{#5} + \fi + \expandafter\def\csname #1name\endcsname{#2} + \ifdefstring{\ELEGANT@mode}{simple}{% + \IfValueTF{#4} + {\ELEGANT@newtheorem@error} + {\ELEGANT@newtheorem{#1}{#3}[\ELEGANT@tmp@tl]} + }{\relax} + \ifdefstring{\ELEGANT@mode}{fancy}{% + \IfValueTF{#4} + { + \def\ELEGANT@temp@prefix{#4} + \ifdefempty{\ELEGANT@temp@prefix} + { + \ELEGANT@newtheorem{#1}{#1}{#3}[\ELEGANT@tmp@tl] + \ELEGANT@newtheorem@warning + } + {\ELEGANT@newtheorem{#1}{#4}{#3}[\ELEGANT@tmp@tl]} + } + { + \ELEGANT@newtheorem{#1}{#1}{#3}[\ELEGANT@tmp@tl] + \ELEGANT@newtheorem@warning + } + }{\relax} + } + +% main(green-def): example exercise problem solution +% second(orange-thm): proof note remark +% third(blue-prop): assumptions property conclusion custom + +%% Example with counter +\newcounter{exam}[chapter] +\setcounter{exam}{0} +\renewcommand{\theexam}{\thechapter.\arabic{exam}} +\newenvironment{example}[1][]{ + \refstepcounter{exam} + \par\noindent\textbf{\color{main}{\examplename} \theexam #1 }\rmfamily}{ + \par\ignorespacesafterend} + +%% Exercise with counter +\newcounter{exer}[chapter] +\setcounter{exer}{0} +\renewcommand{\theexer}{\thechapter.\arabic{exer}} +\newenvironment{exercise}[1][]{ + \refstepcounter{exer} + \par\noindent\makebox[-3pt][r]{ + \scriptsize\color{red!90}\HandPencilLeft\quad} + \textbf{\color{main}{\exercisename} \theexer #1 }\rmfamily}{ + \par\ignorespacesafterend} + +%% Problem with counter +\newcounter{prob}[chapter] +\setcounter{prob}{0} +\renewcommand{\theprob}{\thechapter.\arabic{prob}} +\newenvironment{problem}[1][]{ + \refstepcounter{prob} + \par\noindent\textbf{\color{main}{\problemname} \theprob #1 }\rmfamily}{ + \par\ignorespacesafterend} + +\newenvironment{note}{ + \par\noindent\makebox[-3pt][r]{ + \scriptsize\color{red!90}\textdbend\quad} + \textbf{\color{second}\notename} \citshape}{\par} + +\newenvironment{proof}{ + \par\noindent\textbf{\color{second}\proofname\;} + \color{black!90}\cfs}{ + % \hfill$\Box$\quad + \par} + +\newenvironment{solution}{\par\noindent\textbf{\color{main}\solutionname} \citshape}{\par} +\newenvironment{remark}{\noindent\textbf{\color{second}\remarkname}}{\par} +\newenvironment{assumption}{\par\noindent\textbf{\color{third}\assumptionname} \citshape}{\par} +\newenvironment{conclusion}{\par\noindent\textbf{\color{third}\conclusionname} \citshape}{\par} +\newenvironment{property}{\par\noindent\textbf{\color{third}\propertyname} \citshape}{\par} +\newenvironment{custom}[1]{\par\noindent\textbf{\color{third} #1} \citshape}{\par} + +\RequirePackage{multicol} +\tcbset{ + introductionsty/.style={ + enhanced, + breakable, + colback=structurecolor!10, + colframe=structurecolor, + fonttitle=\bfseries, + colbacktitle=structurecolor, + fontupper=\citshape, + attach boxed title to top center={yshift=-3mm,yshifttext=-1mm}, + boxrule=0pt, + toprule=0.5pt, + bottomrule=0.5pt, + top=8pt, + before skip=8pt, + sharp corners + }, +} + + +\newenvironment{introduction}[1][\introductionname]{ + \begin{tcolorbox}[introductionsty,title={#1}] + \begin{multicols}{2} + \begin{itemize}[label=\textcolor{structurecolor}{\upshape\scriptsize\SquareShadowBottomRight}]}{ + \end{itemize} + \end{multicols} + \end{tcolorbox}} + +\RequirePackage{adforn} + +\newenvironment{problemset}[1][\xchaptertitle~\exercisename]{ + \vspace*{10pt} + \begin{center} + \phantomsection\addcontentsline{toc}{section}{\texorpdfstring{\xchaptertitle~\exercisename}{\exercisename}} + % \markboth{#1}{\rightmark} + \markright{#1} + \textcolor{structurecolor}{\Large\bfseries\adftripleflourishleft~#1~\adftripleflourishright} + \end{center} + \begin{enumerate}}{ + \end{enumerate}} + +\def\relsec{\endgroup start} +\def\endrelsec{end\begingroup\def \@currenvir {relsec}} + +\ifdefstring{\ELEGANT@result}{noanswer}{ + \AtBeginDocument{ + \excludecomment{solution} + \excludecomment{proof} + \excludecomment{inline} + } +}{\relax} + + +%页眉页脚 +\RequirePackage{fancyhdr} +\fancyhf{} + + +\fancyfoot[c]{\color{structurecolor}\small\thepage} +\if@twoside + \fancyhead[EL]{\color{structurecolor}\cnormal\leftmark} + \fancyhead[OR]{\color{structurecolor}\cnormal\rightmark} +\else + \fancyhead[R]{\color{structurecolor}\cnormal\rightmark} +\fi + +\renewcommand{\headrule}{\color{structurecolor}\hrule width\textwidth} +\pagestyle{fancy} +\renewcommand{\headrulewidth}{1pt} +% \renewcommand{\headrule}{} +\fancypagestyle{plain}{\renewcommand{\headrulewidth}{0pt}\fancyhf{}\renewcommand{\headrule}{}} +\renewcommand{\sectionmark}[1]{\markright{\thesection\, #1}{}} +\renewcommand{\chaptermark}[1]{\markboth{\xchaptertitle\, #1}{}} + + +\renewcommand*{\maketitle}{% +\hypersetup{pageanchor=false} +\pagenumbering{Alph} +\begin{titlepage} + \newgeometry{margin = 0in} + \parindent=0pt + \ifdefstring{\ELEGANT@device}{normal}{ + \ifcsname @cover\endcsname + \includegraphics[width=\linewidth]{\@cover} + \else + \includegraphics[width=\linewidth]{example-image} + \fi + }{\relax} + \ifdefstring{\ELEGANT@device}{pad}{ + \ifcsname @cover\endcsname + \includegraphics[trim=0 26bp 0 26bp,clip=true, width=\linewidth]{\@cover} + \else + \includegraphics[trim=0 26bp 0 26bp,clip=true, width=\linewidth]{example-image} + \fi + }{\relax} + \setlength{\fboxsep}{0pt} + \colorbox{coverlinecolor}{\makebox[\linewidth][c]{\shortstack[c]{\vspace{0.5in}}}} + \vfill + \vskip-2ex + \hspace{2em} + \parbox{0.8\textwidth}{ + \bfseries\Huge + \ifcsname @title\endcsname \@title \fi + \par} + \vfill + \vspace{-1.0cm} + \setstretch{2.5} + \hspace{2.5em} + \begin{minipage}[c]{0.67\linewidth} + {\color{darkgray}\bfseries\Large + \ifcsname @subtitle\endcsname\@subtitle\\[2ex]\fi} + \color{gray}\normalsize + {\renewcommand{\arraystretch}{0.618} + \begin{tabular}{l} + % \ifcsname @author\endcsname \authorname \@author\\\fi + \ifx\@author\empty\else\authorname\cnormal\@author\\ \fi + \ifcsname @institute\endcsname \institutename \cnormal\@institute\\ \fi + % \ifcsname @date\endcsname \@date\\\fi + \ifx\@date\empty\else\datename\cnormal\@date \\ \fi + \ifcsname @version\endcsname \cnormal\versionname\@version\\ \fi + \ifcsname @bioinfo\endcsname \cnormal\@bioinfo\\ \fi + \end{tabular}} + \end{minipage} + \begin{minipage}[c]{0.27\linewidth} + \begin{tikzpicture}[remember picture,overlay] + \begin{pgfonlayer}{background} + \node[opacity=0.8, + anchor=south east, + outer sep=0pt, + inner sep=0pt] at ($(current page.south east) +(-0.8in,1.5in)$) { + \ifcsname @logo\endcsname\includegraphics[width=4.2cm]{\@logo}\fi}; + \end{pgfonlayer} + \end{tikzpicture} + \end{minipage} + \vfill + \begin{center} + \setstretch{1.3} + \parbox[t]{0.7\textwidth}{\centering \citshape + \ifcsname @extrainfo\endcsname\@extrainfo\fi} + \end{center} + \vfill +\end{titlepage} +\restoregeometry +\thispagestyle{empty}} + + +\newcommand{\dollar}{\mbox{\textdollar}} + +\RequirePackage{listings} +\renewcommand{\ttdefault}{cmtt} +\lstdefinestyle{mystyle}{ + basicstyle=% + \ttfamily + \lst@ifdisplaystyle\small\fi +} + +\lstset{basicstyle=\ttfamily,style=mystyle,breaklines=true} + +\definecolor{lightgrey}{rgb}{0.9,0.9,0.9} +\definecolor{frenchplum}{RGB}{190,20,83} +\lstset{language=[LaTeX]TeX, + texcsstyle=*\color{winered}, + numbers=none, + mathescape=false, + breaklines=true, + keywordstyle=\color{winered}, + commentstyle=\color{gray}, + emph={elegantpaper,fontenc,fontspec,xeCJK,citestyle,FiraMono,xunicode,figure,fig,image,img,table,itemize,enumerate,ctex,microtype,description,times,booktabs,tabular,PDFLaTeX,XeLaTeX,type1cm,BibTeX,device,color,mode,lang,amsthm,tcolorbox,titlestyle,cite,ctex,listings,base,math,scheme,toc,esint,chinesefont,amsmath,bibstyle,natbib,pgfornament,addbibresource,printbibliography}, + emphstyle={\color{frenchplum}}, + morekeywords={DeclareSymbolFont,SetSymbolFont,toprule,midrule,bottomrule,institute,version,includegraphics,setmainfont,setsansfont,setmonofont ,setCJKmainfont,setCJKsansfont,setCJKmonofont,RequirePackage,figref,tabref,email,maketitle,keywords,definecolor,extrainfo,logo,cover,subtitle,appendix,chapter,section,hypersetup,mainmatter,frontmatter,tableofcontents,elegantpar,heiti,kaishu,lstset,pagecolor,zhnumber,marginpar,part,equote,marginnote,bioinfo,datechange,listofchange,lvert,lastpage,songti,heiti,fangsong,setCJKfamilyfont,textbf,elegantnewtheorem,thmcnt,colorlet,usesamecnt}, + frame=single, + tabsize=2, + rulecolor=\color{structurecolor}, + framerule=0.2pt, + columns=flexible, + % backgroundcolor=\color{lightgrey} +} + +\newcommand\bmmax{0} +\RequirePackage{bm} + +% add the list of change history +\newcommand{\dateinfoline}[2]{ + \noindent\makebox[0pt][r]{% + \makebox[-3em][r]{% + \small + \textbf{\textcolor{structurecolor}{#1}}}\;\;}% + {\citshape\updatename\ignorespaces#2}} + +\newcommand{\datechange}[2]{% + \noindent{\makebox[\textwidth][r]{\color{structurecolor}\rule{1.15\textwidth}{.4pt}}} + \dateinfoline{#1}{#2} + \addcontentsline{dates}{section}{#1 -- #2}} + +\newcommand{\listofchanges}{% + \begingroup + \renewcommand{\contentsname}{\historyname} + \let\old@starttoc\@starttoc + \def\@starttoc##1{ + \old@starttoc{dates}} + \tableofcontents% + \endgroup} +% https://tex.stackexchange.com/questions/472931/list-of-all-dates-in-a-document + +\newenvironment{change}{ + \begin{enumerate}[label=\small\protect\circled{\arabic*}]}{ + \end{enumerate}} + + + +\renewcommand\tableofcontents{% + \hypersetup{linktoc=all, linkcolor=black} + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \chapter*{\contentsname + \@mkboth{% + \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}% + \ifdefstring{\ELEGANT@toc}{twocol}{ + \setlength{\columnsep}{2em} + \begin{multicols}{2}% + \@starttoc{toc} + \end{multicols}}{ + \@starttoc{toc}} + \if@restonecol\twocolumn\fi + \hypersetup{linkcolor=winered}} + + +\renewcommand*{\cleardoublepage}{\clearpage\if@twoside \ifodd\c@page\else +\hbox{}% +\thispagestyle{empty}% +\newpage% +\if@twocolumn\hbox{}\newpage\fi\fi\fi} + + +% https://tex.stackexchange.com/questions/56839/chaptername-is-used-even-for-appendix-chapters-in-toc +\RequirePackage{calc} +\RequirePackage[titles]{tocloft} +\ifdefstring{\ELEGANT@lang}{cn}{ + % \renewcommand{\cftchappresnum}{\beforechap\space} + % \renewcommand{\cftchapaftersnum}{\space\afterchap} + % \setlength{\cftchapnumwidth}{\widthof{\textbf{附录~十一}}} + \renewcommand{\numberline}[1]{% + \@cftbsnum #1\@cftasnum~\@cftasnumb ~% + } + \g@addto@macro\appendix{% + % recover \thechapter in the \NR@chapter's \numberline + \ifELEGANT@Hy@later + \patchcmd{\NR@chapter}% + {\numberline{\xchaptertitle}}{\numberline{\thechapter}}% + {}{\fail} + \else + \patchcmd{\Hy@org@chapter}% + {\numberline{\xchaptertitle}}{\numberline{\thechapter}}% + {}{\fail} + \fi + \addtocontents{toc}{% + \protect\renewcommand{\protect\cftchappresnum}{\appendixname\space}% + \protect\renewcommand{\protect\cftchapaftersnum}{}% + }% + } +}{ + \renewcommand{\cftchappresnum}{\chaptername\space} + \renewcommand{\cftchapaftersnum}{\space} + \setlength{\cftchapnumwidth}{\widthof{\textbf{Appendix~9}}} + \g@addto@macro\appendix{% + \addtocontents{toc}{% + \protect\renewcommand{\protect\cftchappresnum}{\appendixname\space}% + \protect\renewcommand{\protect\cftchapaftersnum}{}% + \setlength{\cftchapnumwidth}{\widthof{\textbf{Appendix~999}}} + }% + } +} + +% restore the tt default family to lmodern tt family +\renewcommand\ttdefault{lmtt} \ No newline at end of file diff --git a/AirPopulationControlEngineering/main.pdf b/AirPopulationControlEngineering/main.pdf new file mode 100644 index 0000000..f7de439 Binary files /dev/null and b/AirPopulationControlEngineering/main.pdf differ diff --git a/AirPopulationControlEngineering/main.tex b/AirPopulationControlEngineering/main.tex new file mode 100644 index 0000000..87d4934 --- /dev/null +++ b/AirPopulationControlEngineering/main.tex @@ -0,0 +1,79 @@ +% !TeX program = XeLaTeX +% !TeX encoding = UTF-8 +\documentclass[lang=cn,11pt,a4paper,toc=twocol,chinese,thmcnt=section]{elegantbookzero} + +\usepackage{amsmath} +\usepackage{ctex} +\usepackage[normalem,normalbf]{xeCJKfntef} +\usepackage{circledsteps,enumitem} +\usepackage[version=4]{mhchem} + +\usepackage{tikz} +% \usepackage[normalem]{ulem} +\usepackage{mathspec} + +\setmathsfont(Latin)[Lowercase]{XITS} +%% 设置默认数学字体中拉丁字母为 XITS + +\setmathsfont(Digits){XITS} +%% 设置默认数学字体中数字为 XITS + +\setlength{\ULdepth}{0.2334em} +%% 调整下划线的深度(距离字符的垂直距离)ulem + +\usepackage{array} + +% \usepackage{todonotes} + + + + +\newcommand{\circlnum}[1]{ + \tikz[baseline=(char.base)]{ + \node[shape=circle, draw, inner sep=0pt, minimum size=0.95em] (char) {#1}; + } +} + +\newlist{indentlist}{enumerate}{3} +%% 定义新列表,用于(1)(2)··· 序号开头的段落,最大嵌套3层 + +\setlist[indentlist]{ + labelindent=2em, + %% 标签缩进2字符 + leftmargin=*, + %% 列表左侧空白宽度 + label=(\arabic*)\hspace{-0.425em}, + %% 序号格式以及 ")" 后空白的调整 + itemindent=4em, + %% 首行缩进(相对于列表项目非首行的) + listparindent=0em, + %% 非首行缩进 + parsep=0pt + %% 同一项内部段落行间距 +} + + + + + +\cover{cover1.png} +\title{大气污染控制工程} +\author{KWL} +\date{} + +\begin{document} + +\maketitle + +\pagenumbering{roman} +\tableofcontents + +\mainmatter + +\input{chap1} + +\input{chap2} + +\input{chap3} + +\end{document} \ No newline at end of file diff --git a/SolidWasteManagementandResourceRecovery/Images/cover.png b/SolidWasteManagementandResourceRecovery/Images/cover.png new file mode 100644 index 0000000..37c66ef Binary files /dev/null and b/SolidWasteManagementandResourceRecovery/Images/cover.png differ diff --git a/SolidWasteManagementandResourceRecovery/Images/cover1.jpeg b/SolidWasteManagementandResourceRecovery/Images/cover1.jpeg new file mode 100644 index 0000000..5b0f335 Binary files /dev/null and b/SolidWasteManagementandResourceRecovery/Images/cover1.jpeg differ diff --git a/SolidWasteManagementandResourceRecovery/SolidWasteManagementandResourceRecovery.bbl b/SolidWasteManagementandResourceRecovery/SolidWasteManagementandResourceRecovery.bbl new file mode 100644 index 0000000..e69de29 diff --git a/SolidWasteManagementandResourceRecovery/SolidWasteManagementandResourceRecovery.pdf b/SolidWasteManagementandResourceRecovery/SolidWasteManagementandResourceRecovery.pdf new file mode 100644 index 0000000..7edd2f2 Binary files /dev/null and b/SolidWasteManagementandResourceRecovery/SolidWasteManagementandResourceRecovery.pdf differ diff --git a/SolidWasteManagementandResourceRecovery/SolidWasteManagementandResourceRecovery.synctex.gz.sum.synctex b/SolidWasteManagementandResourceRecovery/SolidWasteManagementandResourceRecovery.synctex.gz.sum.synctex new file mode 100644 index 0000000..49fae90 --- /dev/null +++ b/SolidWasteManagementandResourceRecovery/SolidWasteManagementandResourceRecovery.synctex.gz.sum.synctex @@ -0,0 +1,2384 @@ +SyncTeX Version:1 +Input:1:d:\27726\Desktop\Tex\Notes\SolidWasteManagementandResourceRecovery\SolidWasteManagementandResourceRecovery.tex +Input:2:d:\27726\Desktop\Tex\Notes\SolidWasteManagementandResourceRecovery\elegantbookzero.cls +Input:3:D:\Tools\MikTeX\tex\latex\kvoptions\kvoptions.sty +Input:4:D:\Tools\MikTeX\tex\latex\graphics\keyval.sty +Input:5:D:\Tools\MikTeX\tex\generic\ltxcmds\ltxcmds.sty +Input:6:D:\Tools\MikTeX\tex\latex\kvsetkeys\kvsetkeys.sty +Input:7:D:\Tools\MikTeX\tex\latex\etoolbox\etoolbox.sty +Input:8:D:\Tools\MikTeX\tex\latex\base\book.cls +Input:9:D:\Tools\MikTeX\tex\latex\base\bk11.clo +Input:10:D:\Tools\MikTeX\tex\latex\setspace\setspace.sty +Input:11:D:\Tools\MikTeX\tex\latex\csquotes\csquotes.sty +Input:12:D:\Tools\MikTeX\tex\latex\csquotes\csquotes.def +Input:13:D:\Tools\MikTeX\tex\latex\csquotes\csquotes.cfg +Input:14:D:\Tools\MikTeX\tex\latex\hyperref\hyperref.sty +Input:15:D:\Tools\MikTeX\tex\generic\iftex\iftex.sty +Input:16:D:\Tools\MikTeX\tex\generic\kvdefinekeys\kvdefinekeys.sty +Input:17:D:\Tools\MikTeX\tex\generic\pdfescape\pdfescape.sty +Input:18:D:\Tools\MikTeX\tex\generic\pdftexcmds\pdftexcmds.sty +Input:19:D:\Tools\MikTeX\tex\generic\infwarerr\infwarerr.sty +Input:20:D:\Tools\MikTeX\tex\latex\hycolor\hycolor.sty +Input:21:D:\Tools\MikTeX\tex\latex\hyperref\nameref.sty +Input:22:D:\Tools\MikTeX\tex\latex\refcount\refcount.sty +Input:23:D:\Tools\MikTeX\tex\generic\gettitlestring\gettitlestring.sty +Input:24:D:\Tools\MikTeX\tex\generic\stringenc\stringenc.sty +Input:25:D:\Tools\MikTeX\tex\latex\hyperref\pd1enc.def +Input:26:D:\Tools\MikTeX\tex\generic\intcalc\intcalc.sty +Input:27:D:\Tools\MikTeX\tex\latex\hyperref\puenc.def +Input:28:D:\Tools\MikTeX\tex\latex\url\url.sty +Input:29:D:\Tools\MikTeX\tex\generic\bitset\bitset.sty +Input:30:D:\Tools\MikTeX\tex\generic\bigintcalc\bigintcalc.sty +Input:31:D:\Tools\MikTeX\tex\latex\base\atbegshi-ltx.sty +Input:32:D:\Tools\MikTeX\tex\latex\hyperref\hxetex.def +Input:33:D:\Tools\MikTeX\tex\latex\rerunfilecheck\rerunfilecheck.sty +Input:34:D:\Tools\MikTeX\tex\latex\base\atveryend-ltx.sty +Input:35:D:\Tools\MikTeX\tex\generic\uniquecounter\uniquecounter.sty +Input:36:D:\Tools\MikTeX\tex\latex\geometry\geometry.sty +Input:37:D:\Tools\MikTeX\tex\generic\iftex\ifvtex.sty +Input:38:D:\Tools\MikTeX\tex\latex\geometry\geometry.cfg +Input:39:D:\Tools\MikTeX\tex\latex\tools\indentfirst.sty +Input:40:D:\Tools\MikTeX\tex\latex\comment\comment.sty +Input:41:D:\Tools\MikTeX\tex\latex\fontspec\fontspec.sty +Input:42:D:\Tools\MikTeX\tex\latex\l3packages\xparse\xparse.sty +Input:43:D:\Tools\MikTeX\tex\latex\l3kernel\expl3.sty +Input:44:D:\Tools\MikTeX\tex\latex\l3backend\l3backend-xetex.def +Input:45:D:\Tools\MikTeX\tex\latex\fontspec\fontspec-xetex.sty +Input:46:D:\Tools\MikTeX\tex\latex\base\fontenc.sty +Input:47:D:\Tools\MikTeX\tex\latex\fontspec\fontspec.cfg +Input:48:D:\Tools\MikTeX\tex\latex\newtx\TeXGyreTermesX.fontspec +Input:49:D:\Tools\MikTeX\tex\latex\ctex\ctex.sty +Input:50:D:\Tools\MikTeX\tex\latex\ctex\ctexhook.sty +Input:51:D:\Tools\MikTeX\tex\latex\ctex\ctexpatch.sty +Input:52:D:\Tools\MikTeX\tex\latex\base\fix-cm.sty +Input:53:D:\Tools\MikTeX\tex\latex\base\ts1enc.def +Input:54:D:\Tools\MikTeX\tex\latex\ctex\config\ctexopts.cfg +Input:55:D:\Tools\MikTeX\tex\latex\ctex\engine\ctex-engine-xetex.def +Input:56:D:\Tools\MikTeX\tex\xelatex\xecjk\xeCJK.sty +Input:57:D:\Tools\MikTeX\tex\latex\l3packages\xtemplate\xtemplate.sty +Input:58:D:\Tools\MikTeX\tex\xelatex\xecjk\xeCJK.cfg +Input:59:D:\Tools\MikTeX\tex\latex\zhnumber\zhnumber.sty +Input:60:D:\Tools\MikTeX\tex\latex\zhnumber\zhnumber-utf8.cfg +Input:61:D:\Tools\MikTeX\tex\latex\ctex\scheme\ctex-scheme-plain.def +Input:62:D:\Tools\MikTeX\tex\latex\ctex\fontset\ctex-fontset-windows.def +Input:63:D:\Tools\MikTeX\tex\latex\ctex\config\ctex.cfg +Input:64:D:\Tools\MikTeX\tex\latex\anyfontsize\anyfontsize.sty +Input:65:D:\Tools\MikTeX\tex\latex\xcolor\xcolor.sty +Input:66:D:\Tools\MikTeX\tex\latex\graphics-cfg\color.cfg +Input:67:D:\Tools\MikTeX\tex\latex\graphics-def\xetex.def +Input:68:D:\Tools\MikTeX\tex\latex\graphics\mathcolor.ltx +Input:69:D:\Tools\MikTeX\tex\latex\colortbl\colortbl.sty +Input:70:D:\Tools\MikTeX\tex\latex\tools\array.sty +Input:71:D:\Tools\MikTeX\tex\latex\mwe\mwe.sty +Input:72:D:\Tools\MikTeX\tex\latex\graphics\graphicx.sty +Input:73:D:\Tools\MikTeX\tex\latex\graphics\graphics.sty +Input:74:D:\Tools\MikTeX\tex\latex\graphics\trig.sty +Input:75:D:\Tools\MikTeX\tex\latex\graphics-cfg\graphics.cfg +Input:76:D:\Tools\MikTeX\tex\latex\lipsum\lipsum.sty +Input:77:D:\Tools\MikTeX\tex\latex\l3packages\l3keys2e\l3keys2e.sty +Input:78:D:\Tools\MikTeX\tex\latex\lipsum\lipsum.ltd.tex +Input:79:D:\Tools\MikTeX\tex\latex\blindtext\blindtext.sty +Input:80:D:\Tools\MikTeX\tex\latex\tools\xspace.sty +Input:81:D:\Tools\MikTeX\tex\latex\tools\enumerate.sty +Input:82:D:\Tools\MikTeX\tex\latex\enumitem\enumitem.sty +Input:83:D:\Tools\MikTeX\tex\latex\caption\caption.sty +Input:84:D:\Tools\MikTeX\tex\latex\caption\caption3.sty +Input:85:D:\Tools\MikTeX\tex\latex\amsmath\amsmath.sty +Input:86:D:\Tools\MikTeX\tex\latex\amsmath\amstext.sty +Input:87:D:\Tools\MikTeX\tex\latex\amsmath\amsgen.sty +Input:88:D:\Tools\MikTeX\tex\latex\amsmath\amsbsy.sty +Input:89:D:\Tools\MikTeX\tex\latex\amsmath\amsopn.sty +Input:90:D:\Tools\MikTeX\tex\latex\jknappen\mathrsfs.sty +Input:91:D:\Tools\MikTeX\tex\latex\amsfonts\amsfonts.sty +Input:92:D:\Tools\MikTeX\tex\latex\amsfonts\amssymb.sty +Input:93:D:\Tools\MikTeX\tex\latex\booktabs\booktabs.sty +Input:94:D:\Tools\MikTeX\tex\latex\tools\multicol.sty +Input:95:D:\Tools\MikTeX\tex\latex\multirow\multirow.sty +Input:96:D:\Tools\MikTeX\tex\latex\fancyvrb\fancyvrb.sty +Input:97:D:\Tools\MikTeX\tex\latex\makecell\makecell.sty +Input:98:D:\Tools\MikTeX\tex\generic\hologo\hologo.sty +Input:99:D:\Tools\MikTeX\tex\latex\titlesec\titlesec.sty +Input:100:D:\Tools\MikTeX\tex\latex\titlesec\titleps.sty +Input:101:D:\Tools\MikTeX\tex\latex\appendix\appendix.sty +Input:102:D:\Tools\MikTeX\tex\latex\biblatex\biblatex.sty +Input:103:D:\Tools\MikTeX\tex\latex\logreq\logreq.sty +Input:104:D:\Tools\MikTeX\tex\latex\logreq\logreq.def +Input:105:D:\Tools\MikTeX\tex\latex\base\ifthen.sty +Input:106:D:\Tools\MikTeX\tex\latex\biblatex\blx-dm.def +Input:107:D:\Tools\MikTeX\tex\latex\biblatex\blx-unicode.def +Input:108:D:\Tools\MikTeX\tex\latex\biblatex\blx-compat.def +Input:109:D:\Tools\MikTeX\tex\latex\biblatex\biblatex.def +Input:110:D:\Tools\MikTeX\tex\latex\biblatex\bbx\numeric.bbx +Input:111:D:\Tools\MikTeX\tex\latex\biblatex\bbx\standard.bbx +Input:112:D:\Tools\MikTeX\tex\latex\biblatex\cbx\numeric-comp.cbx +Input:113:D:\Tools\MikTeX\tex\latex\biblatex\biblatex.cfg +Input:114:D:\Tools\MikTeX\tex\latex\biblatex\blx-case-expl3.sty +Input:115:D:\Tools\MikTeX\tex\latex\pgf\frontendlayer\tikz.sty +Input:116:D:\Tools\MikTeX\tex\latex\pgf\basiclayer\pgf.sty +Input:117:D:\Tools\MikTeX\tex\latex\pgf\utilities\pgfrcs.sty +Input:118:D:\Tools\MikTeX\tex\generic\pgf\utilities\pgfutil-common.tex +Input:119:D:\Tools\MikTeX\tex\generic\pgf\utilities\pgfutil-latex.def +Input:120:D:\Tools\MikTeX\tex\generic\pgf\utilities\pgfrcs.code.tex +Input:121:D:\Tools\MikTeX\tex\generic\pgf\pgf.revision.tex +Input:122:D:\Tools\MikTeX\tex\latex\pgf\basiclayer\pgfcore.sty +Input:123:D:\Tools\MikTeX\tex\latex\pgf\systemlayer\pgfsys.sty +Input:124:D:\Tools\MikTeX\tex\generic\pgf\systemlayer\pgfsys.code.tex +Input:125:D:\Tools\MikTeX\tex\generic\pgf\utilities\pgfkeys.code.tex +Input:126:D:\Tools\MikTeX\tex\generic\pgf\utilities\pgfkeyslibraryfiltered.code.tex +Input:127:D:\Tools\MikTeX\tex\generic\pgf\systemlayer\pgf.cfg +Input:128:D:\Tools\MikTeX\tex\generic\pgf\systemlayer\pgfsys-xetex.def +Input:129:D:\Tools\MikTeX\tex\generic\pgf\systemlayer\pgfsys-dvipdfmx.def +Input:130:D:\Tools\MikTeX\tex\generic\pgf\systemlayer\pgfsys-common-pdf.def +Input:131:D:\Tools\MikTeX\tex\generic\pgf\systemlayer\pgfsyssoftpath.code.tex +Input:132:D:\Tools\MikTeX\tex\generic\pgf\systemlayer\pgfsysprotocol.code.tex +Input:133:D:\Tools\MikTeX\tex\generic\pgf\basiclayer\pgfcore.code.tex +Input:134:D:\Tools\MikTeX\tex\generic\pgf\math\pgfmath.code.tex +Input:135:D:\Tools\MikTeX\tex\generic\pgf\math\pgfmathutil.code.tex +Input:136:D:\Tools\MikTeX\tex\generic\pgf\math\pgfmathparser.code.tex +Input:137:D:\Tools\MikTeX\tex\generic\pgf\math\pgfmathfunctions.code.tex +Input:138:D:\Tools\MikTeX\tex\generic\pgf\math\pgfmathfunctions.basic.code.tex +Input:139:D:\Tools\MikTeX\tex\generic\pgf\math\pgfmathfunctions.trigonometric.code.tex +Input:140:D:\Tools\MikTeX\tex\generic\pgf\math\pgfmathfunctions.random.code.tex +Input:141:D:\Tools\MikTeX\tex\generic\pgf\math\pgfmathfunctions.comparison.code.tex +Input:142:D:\Tools\MikTeX\tex\generic\pgf\math\pgfmathfunctions.base.code.tex +Input:143:D:\Tools\MikTeX\tex\generic\pgf\math\pgfmathfunctions.round.code.tex +Input:144:D:\Tools\MikTeX\tex\generic\pgf\math\pgfmathfunctions.misc.code.tex +Input:145:D:\Tools\MikTeX\tex\generic\pgf\math\pgfmathfunctions.integerarithmetics.code.tex +Input:146:D:\Tools\MikTeX\tex\generic\pgf\math\pgfmathcalc.code.tex +Input:147:D:\Tools\MikTeX\tex\generic\pgf\math\pgfmathfloat.code.tex +Input:148:D:\Tools\MikTeX\tex\generic\pgf\math\pgfint.code.tex +Input:149:D:\Tools\MikTeX\tex\generic\pgf\basiclayer\pgfcorepoints.code.tex +Input:150:D:\Tools\MikTeX\tex\generic\pgf\basiclayer\pgfcorepathconstruct.code.tex +Input:151:D:\Tools\MikTeX\tex\generic\pgf\basiclayer\pgfcorepathusage.code.tex +Input:152:D:\Tools\MikTeX\tex\generic\pgf\basiclayer\pgfcorescopes.code.tex +Input:153:D:\Tools\MikTeX\tex\generic\pgf\basiclayer\pgfcoregraphicstate.code.tex +Input:154:D:\Tools\MikTeX\tex\generic\pgf\basiclayer\pgfcoretransformations.code.tex +Input:155:D:\Tools\MikTeX\tex\generic\pgf\basiclayer\pgfcorequick.code.tex +Input:156:D:\Tools\MikTeX\tex\generic\pgf\basiclayer\pgfcoreobjects.code.tex +Input:157:D:\Tools\MikTeX\tex\generic\pgf\basiclayer\pgfcorepathprocessing.code.tex +Input:158:D:\Tools\MikTeX\tex\generic\pgf\basiclayer\pgfcorearrows.code.tex +Input:159:D:\Tools\MikTeX\tex\generic\pgf\basiclayer\pgfcoreshade.code.tex +Input:160:D:\Tools\MikTeX\tex\generic\pgf\basiclayer\pgfcoreimage.code.tex +Input:161:D:\Tools\MikTeX\tex\generic\pgf\basiclayer\pgfcoreexternal.code.tex +Input:162:D:\Tools\MikTeX\tex\generic\pgf\basiclayer\pgfcorelayers.code.tex +Input:163:D:\Tools\MikTeX\tex\generic\pgf\basiclayer\pgfcoretransparency.code.tex +Input:164:D:\Tools\MikTeX\tex\generic\pgf\basiclayer\pgfcorepatterns.code.tex +Input:165:D:\Tools\MikTeX\tex\generic\pgf\basiclayer\pgfcorerdf.code.tex +Input:166:D:\Tools\MikTeX\tex\generic\pgf\modules\pgfmoduleshapes.code.tex +Input:167:D:\Tools\MikTeX\tex\generic\pgf\modules\pgfmoduleplot.code.tex +Input:168:D:\Tools\MikTeX\tex\latex\pgf\compatibility\pgfcomp-version-0-65.sty +Input:169:D:\Tools\MikTeX\tex\latex\pgf\compatibility\pgfcomp-version-1-18.sty +Input:170:D:\Tools\MikTeX\tex\latex\pgf\utilities\pgffor.sty +Input:171:D:\Tools\MikTeX\tex\latex\pgf\utilities\pgfkeys.sty +Input:172:D:\Tools\MikTeX\tex\generic\pgf\utilities\pgfkeys.code.tex +Input:173:D:\Tools\MikTeX\tex\latex\pgf\math\pgfmath.sty +Input:174:D:\Tools\MikTeX\tex\generic\pgf\math\pgfmath.code.tex +Input:175:D:\Tools\MikTeX\tex\generic\pgf\utilities\pgffor.code.tex +Input:176:D:\Tools\MikTeX\tex\generic\pgf\frontendlayer\tikz\tikz.code.tex +Input:177:D:\Tools\MikTeX\tex\generic\pgf\libraries\pgflibraryplothandlers.code.tex +Input:178:D:\Tools\MikTeX\tex\generic\pgf\modules\pgfmodulematrix.code.tex +Input:179:D:\Tools\MikTeX\tex\generic\pgf\frontendlayer\tikz\libraries\tikzlibrarytopaths.code.tex +Input:180:D:\Tools\MikTeX\tex\generic\pgf\frontendlayer\tikz\libraries\tikzlibrarybackgrounds.code.tex +Input:181:D:\Tools\MikTeX\tex\generic\pgf\frontendlayer\tikz\libraries\tikzlibrarycalc.code.tex +Input:182:D:\Tools\MikTeX\tex\generic\pgf\frontendlayer\tikz\libraries\tikzlibraryshadows.code.tex +Input:183:D:\Tools\MikTeX\tex\generic\pgf\frontendlayer\tikz\libraries\tikzlibraryfadings.code.tex +Input:184:D:\Tools\MikTeX\tex\generic\pgf\libraries\pgflibraryfadings.code.tex +Input:185:D:\Tools\MikTeX\tex\generic\pgf\frontendlayer\tikz\libraries\tikzlibrarypositioning.code.tex +Input:186:D:\Tools\MikTeX\tex\generic\pgf\frontendlayer\tikz\libraries\tikzlibraryfit.code.tex +Input:187:D:\Tools\MikTeX\tex\latex\apptools\apptools.sty +Input:188:D:\Tools\MikTeX\tex\latex\psnfss\pifont.sty +Input:189:D:\Tools\MikTeX\tex\latex\psnfss\upzd.fd +Input:190:D:\Tools\MikTeX\tex\latex\psnfss\upsy.fd +Input:191:D:\Tools\MikTeX\tex\latex\manfnt\manfnt.sty +Input:192:D:\Tools\MikTeX\tex\latex\bbding\bbding.sty +Input:193:D:\Tools\MikTeX\tex\latex\tcolorbox\tcolorbox.sty +Input:194:D:\Tools\MikTeX\tex\latex\tools\verbatim.sty +Input:195:D:\Tools\MikTeX\tex\latex\environ\environ.sty +Input:196:D:\Tools\MikTeX\tex\latex\trimspaces\trimspaces.sty +Input:197:D:\Tools\MikTeX\tex\latex\tcolorbox\tcbraster.code.tex +Input:198:D:\Tools\MikTeX\tex\latex\tcolorbox\tcbskins.code.tex +Input:199:D:\Tools\MikTeX\tex\latex\tikzfill\tikzfill.image.sty +Input:200:D:\Tools\MikTeX\tex\latex\tikzfill\tikzfill-common.sty +Input:201:D:\Tools\MikTeX\tex\latex\tikzfill\tikzlibraryfill.image.code.tex +Input:202:D:\Tools\MikTeX\tex\latex\tcolorbox\tcbskinsjigsaw.code.tex +Input:203:D:\Tools\MikTeX\tex\latex\tcolorbox\tcbbreakable.code.tex +Input:204:D:\Tools\MikTeX\tex\latex\pdfcol\pdfcol.sty +Input:205:D:\Tools\MikTeX\tex\latex\tcolorbox\tcbhooks.code.tex +Input:206:D:\Tools\MikTeX\tex\latex\tcolorbox\tcbtheorems.code.tex +Input:207:D:\Tools\MikTeX\tex\latex\tcolorbox\tcbfitting.code.tex +Input:208:D:\Tools\MikTeX\tex\latex\adforn\adforn.sty +Input:209:D:\Tools\MikTeX\tex\latex\svn-prov\svn-prov.sty +Input:210:D:\Tools\MikTeX\tex\latex\fancyhdr\fancyhdr.sty +Input:211:D:\Tools\MikTeX\tex\latex\listings\listings.sty +Input:212:D:\Tools\MikTeX\tex\latex\listings\lstpatch.sty +Input:213:D:\Tools\MikTeX\tex\latex\listings\lstmisc.sty +Input:214:D:\Tools\MikTeX\tex\latex\listings\listings.cfg +Input:215:D:\Tools\MikTeX\tex\xelatex\xecjk\xeCJK-listings.sty +Input:216:D:\Tools\MikTeX\tex\latex\listings\lstlang1.sty +Input:217:D:\Tools\MikTeX\tex\latex\listings\lstlang2.sty +Input:218:D:\Tools\MikTeX\tex\latex\listings\lstlang3.sty +Input:219:D:\Tools\MikTeX\tex\latex\listings\lstlang1.sty +Input:220:D:\Tools\MikTeX\tex\latex\listings\lstlang2.sty +Input:221:D:\Tools\MikTeX\tex\latex\listings\lstlang3.sty +Input:222:D:\Tools\MikTeX\tex\latex\listings\lstlang1.sty +Input:223:D:\Tools\MikTeX\tex\latex\listings\lstlang2.sty +Input:224:D:\Tools\MikTeX\tex\latex\listings\lstlang3.sty +Input:225:D:\Tools\MikTeX\tex\latex\listings\lstmisc.sty +Input:226:D:\Tools\MikTeX\tex\latex\tools\bm.sty +Input:227:D:\Tools\MikTeX\tex\latex\tools\calc.sty +Input:228:D:\Tools\MikTeX\tex\latex\tocloft\tocloft.sty +Input:229:D:\Tools\MikTeX\tex\xelatex\xecjk\xeCJKfntef.sty +Input:230:D:\Tools\MikTeX\tex\latex\ulem\ulem.sty +Input:231:D:\Tools\MikTeX\tex\latex\circledsteps\circledsteps.sty +Input:232:D:\Tools\MikTeX\tex\latex\pict2e\pict2e.sty +Input:233:D:\Tools\MikTeX\tex\latex\pict2e\pict2e.cfg +Input:234:D:\Tools\MikTeX\tex\latex\pict2e\p2e-xetex.def +Input:235:D:\Tools\MikTeX\tex\latex\picture\picture.sty +Input:236:D:\Tools\MikTeX\tex\latex\mhchem\mhchem.sty +Input:237:D:\Tools\MikTeX\tex\latex\chemgreek\chemgreek.sty +Input:238:D:\Tools\MikTeX\tex\xelatex\mathspec\mathspec.sty +Input:239:D:\Tools\MikTeX\tex\generic\iftex\ifxetex.sty +Input:240:D:\Tools\MikTeX\tex\latex\xkeyval\xkeyval.sty +Input:241:D:\Tools\MikTeX\tex\generic\xkeyval\xkeyval.tex +Input:242:D:\Tools\MikTeX\tex\generic\xkeyval\xkvutils.tex +Input:243:D:\Tools\MikTeX\tex\latex\siunitx\siunitx.sty +Input:244:D:\Tools\MikTeX\tex\latex\translations\translations.sty +Input:245:d:\27726\Desktop\Tex\Notes\SolidWasteManagementandResourceRecovery\SolidWasteManagementandResourceRecovery.aux +Input:246:d:\27726\Desktop\Tex\Notes\SolidWasteManagementandResourceRecovery\SolidWasteManagementandResourceRecovery.out +Input:247:d:\27726\Desktop\Tex\Notes\SolidWasteManagementandResourceRecovery\SolidWasteManagementandResourceRecovery.out +Input:248:D:\Tools\MikTeX\tex\latex\footmisc\footmisc.sty +Input:249:D:\Tools\MikTeX\tex\latex\biblatex\lbx\english.lbx +Input:250:D:\Tools\MikTeX\tex\latex\translations\dicts\translations-basic-dictionary-english.trsl +Input:251:D:\Tools\MikTeX\tex\latex\jknappen\ursfs.fd +Input:252:D:\Tools\MikTeX\tex\latex\amsfonts\umsa.fd +Input:253:D:\Tools\MikTeX\tex\latex\amsfonts\umsb.fd +Output:pdf +Magnification:1000 +Unit:1 +X Offset:0 +Y Offset:0 +Content: +!16347 +{1 +[1,93:4736287,57618606:34421990,52882319,0 +(1,93:4736287,4736287:0,0,0 +) +(1,93:4736287,4736287:0,0,0 +[1,93:1,4736287:0,0,0 +(1,93:1,1:0,0,0 +(1,93:1,4736287:0,0,0 +g184,17:4736288,4736287 +g184,17:-4736285,4736287 +g184,21:4736288,4736287 +g184,21:-4736285,4736287 +g184,25:4736288,4736287 +g184,25:-4736285,4736287 +g184,29:4736288,4736287 +g184,29:-4736285,4736287 +g184,31:4736288,4736287 +(184,31:4736288,4736287:0,0,0 +(184,31:4736288,4736287:6578176,6578176,0 +[184,31:4736288,4736287:0,6578176,0 +] +k184,31:11314464,4736287:6578176 +) +) +g184,31:-4736285,4736287 +g184,32:4736288,4736287 +(184,32:4736288,4736287:0,0,0 +(184,32:4736288,4736287:6578176,6578176,0 +[184,32:4736288,4736287:0,6578176,0 +] +k184,32:11314464,4736287:6578176 +) +) +g184,32:-4736285,4736287 +g184,33:4736288,4736287 +(184,33:4736288,4736287:0,0,0 +(184,33:4736288,4736287:6578176,6578176,0 +[184,33:4736288,4736287:0,6578176,0 +] +k184,33:11314464,4736287:6578176 +) +) +g184,33:-4736285,4736287 +g184,34:4736288,4736287 +(184,34:4736288,4736287:0,0,0 +(184,34:4736288,4736287:6578176,6578176,0 +[184,34:4736288,4736287:0,6578176,0 +] +k184,34:11314464,4736287:6578176 +) +) +g184,34:-4736285,4736287 +g184,41:4736288,4736287 +g184,41:-4736285,4736287 +g184,42:4736288,4736287 +(184,42:4736288,4736287:0,0,0 +(184,42:4736288,4736287:6578176,6578176,0 +[184,42:4736288,4736287:0,6578176,0 +] +k184,42:11314464,4736287:6578176 +) +) +g184,42:-4736285,4736287 +g184,46:4736288,4736287 +g184,46:-4736285,4736287 +g184,47:4736288,4736287 +(184,47:4736288,4736287:0,0,0 +(184,47:4736288,4736287:6578176,6578176,0 +[184,47:4736288,4736287:0,6578176,0 +] +k184,47:11314464,4736287:6578176 +) +) +g184,47:-4736285,4736287 +g184,51:4736288,4736287 +g184,51:-4736285,4736287 +g184,52:4736288,4736287 +(184,52:4736288,4736287:0,0,0 +(184,52:4736288,4736287:6578176,6578176,0 +[184,52:4736288,4736287:0,6578176,0 +] +k184,52:11314464,4736287:6578176 +) +) +g184,52:-4736285,4736287 +g184,56:4736288,4736287 +g184,56:-4736285,4736287 +g184,57:4736288,4736287 +(184,57:4736288,4736287:0,0,0 +(184,57:4736288,4736287:6578176,6578176,0 +[184,57:4736288,4736287:0,6578176,0 +] +k184,57:11314464,4736287:6578176 +) +) +g184,57:-4736285,4736287 +k1,93:1,4736287:4736286 +) +g1,93:1,1 +) +] +) +[1,93:4736287,57618606:34421990,52882319,0 +[1,93:1,57618606:39158276,62410827,0 +[1,93:1,-745870:39158276,4046351,0 +(1,93:1,-745870:39158276,0,0 +h1,93:1,-745870:39158276,0,0 +) +] +[1,93:1,55380991:39158276,55380990,0 +(1,93:1,31327717:39158276,31327716,0 +h1,93:1,31327717:0,0,0 +(1,93:1,31327717:39158276,31327716,0 +) +g1,93:39158277,31327717 +) +(1,93:1,33761396:39158276,2368143,0 +(1,93:1,33761396:0,2368143,0 +r1,93:39158277,33761396:39158276,2368143,0 +k1,93:1,33761396:-39158276 +) +(1,93:1,33761396:39158276,2368143,0 +(1,93:1,33761396:39158276,2368143,0 +k1,93:19579139,33761396:19579138 +[1,93:19579139,33761396:0,2368143,0 +(1,93:19579139,31393253:0,0,0 +g1,93:19579139,31393253 +(1,93:19579139,31393253:0,0,0 +g1,93:19579139,31393253 +g1,93:19579139,31393253 +) +g1,93:19579139,31393253 +) +] +k1,93:39158277,33761396:19579138 +) +) +g1,93:39158277,33761396 +g1,93:39158277,33761396 +) +(1,93:1,38777138:39158276,940533,581724 +h1,93:1,38777138:0,0,0 +g1,93:1435239,38777138 +g1,93:1614644,38777138 +$1,93:1614644,38777138 +[1,93:1614644,38777138:31326740,940533,581724 +(1,93:1614644,39180523:31326740,1343918,178339 +h1,93:1614644,39180523:0,0,0 +g1,93:3245180,39180523 +g1,93:4875716,39180523 +g1,93:6506252,39180523 +g1,93:8136788,39180523 +g1,93:9767324,39180523 +g1,93:11397860,39180523 +g1,93:13028396,39180523 +g1,93:14658932,39180523 +g1,93:16289468,39180523 +g1,93:17920004,39180523 +g1,93:19550540,39180523 +k1,93:32941384,39180523:11760308 +g1,93:32941384,39180523 +) +] +$1,93:32941384,38777138 +k1,93:39158277,38777138:6216893 +g1,93:39158277,38777138 +) +(1,93:1,43643605:39158276,867921,509112 +h1,93:1,43643605:0,0,0 +g1,93:1794048,43643605 +g1,93:1973453,43643605 +$1,93:1973453,43643605 +[1,93:1973453,43643605:26235973,867921,509112 +(1,93:1973453,43643605:26235973,867921,509112 +h1,93:1973453,43643605:0,0,0 +(1,93:1973453,43643605:4573307,867921,509112 +$1,93:1973453,43643605 +[1,93:1973453,43643605:4573307,867921,509112 +(1,93:1973453,43739603:4573307,963919,413114 +g1,93:1973453,43739603 +(1,93:1973453,43739603:4573307,963919,413114 +r1,93:1973453,43739603:0,1377033,413114 +g1,93:2366669,43739603 +r1,93:2366669,43739603:0,1001786,413114 +g1,93:3084288,43739603 +r1,93:4028966,43739603:-490560,0,0 +g1,93:4519526,43739603 +g1,93:6153544,43739603 +g1,93:6546760,43739603 +) +g1,93:6546760,43739603 +) +] +$1,93:6546760,43643605 +) +k1,93:28209426,43643605:21662666 +g1,93:28209426,43643605 +) +] +$1,93:28209426,43643605 +g1,93:28388831,43643605 +$1,93:28388831,43643605 +[1,93:28388831,43643605:10572901,179404,-179404 +(1,93:28388831,43464201:10572901,0,0 +h1,93:28388831,43464201:0,0,0 +(1,93:28388831,43464201:0,0,0 +g1,93:28388831,43464201 +(1,93:28388831,43464201:0,0,0 +(1,93:28388831,43464201:0,0,0 +g1,93:28388831,43464201 +g1,93:28388831,43464201 +(1,93:28388831,43464201:0,0,0 +(1,93:28388831,43464201:0,0,0 +g1,93:28388831,43464201 +g1,93:28388831,43464201 +g1,93:28388831,43464201 +g1,93:28388831,43464201 +g1,93:28388831,43464201 +(1,93:28388831,43464201:0,0,0 +(1,93:28388831,43464201:0,0,0 +h1,93:28388831,43464201:0,0,0 +g1,93:28388831,43464201 +) +) +g1,93:28388831,43464201 +g1,93:28388831,43464201 +) +) +g1,93:28388831,43464201 +g1,93:28388831,43464201 +) +(1,93:28388831,43464201:0,0,0 +g1,93:28388831,43464201 +g1,93:28388831,43464201 +g1,93:28388831,43464201 +(1,93:28388831,43464201:0,0,0 +) +g1,93:28388831,43464201 +) +g1,93:28388831,43464201 +) +) +k1,93:38961732,43464201:10572901 +g1,93:38961732,43464201 +) +] +$1,93:38961732,43643605 +k1,93:39158277,43643605:196545 +g1,93:39158277,43643605 +) +(1,93:1,50091637:39158276,0,0 +k1,93:19579139,50091637:19579138 +(1,93:19579139,50091637:0,0,0 +g1,93:19579139,50091637 +g1,93:19579139,50091637 +g1,93:19220330,50091637 +(1,93:19220330,50091637:0,0,0 +) +g1,93:19579139,50091637 +) +v1,93:19579139,50091637:0,0,0 +g1,93:19579139,50091637 +k1,93:39158277,50091637:19579138 +) +] +(1,93:1,57618606:39158276,0,0 +h1,93:1,57618606:39158276,0,0 +) +] +] +] +!5980 +}1 +Input:254:d:\27726\Desktop\Tex\Notes\SolidWasteManagementandResourceRecovery\SolidWasteManagementandResourceRecovery.toc +!130 +{2 +[1,98:4736287,52882321:30692631,48146034,0 +(1,98:4736287,4736287:0,0,0 +[1,98:1,4736287:0,0,0 +(1,98:1,1:0,0,0 +(1,98:1,4736287:0,0,0 +k1,98:1,4736287:4736286 +) +g1,98:1,1 +) +] +) +[1,98:4736287,52882321:30692631,48146034,0 +[1,98:3729360,52882321:31699558,52938257,0 +[1,98:3729360,3990415:31699558,4046351,0 +(1,98:3729360,3990415:31699558,0,0 +(1,98:3729360,3990415:31699558,0,0 +(1,98:3729360,3990415:31699558,0,0 +[1,98:3729360,3990415:31699558,0,0 +(1,98:3729360,3990415:31699558,0,0 +(1,98:3729360,3990415:0,0,0 +[1,98:3729360,3990415:31699558,0,0 +(1,98:3729360,3990415:31699558,0,0 +h1,98:3729360,3990415:0,0,0 +k1,98:19579139,3990415:15849779 +k1,98:35428918,3990415:15849779 +) +] +k1,98:3729360,3990415:-31699558 +) +g1,98:3729360,3990415 +[1,98:3729360,3990415:31699558,0,0 +(1,98:3729360,3990415:31699558,0,0 +k1,98:19579139,3990415:15849779 +h1,98:19579139,3990415:0,0,0 +g1,98:19579139,3990415 +k1,98:35428918,3990415:15849779 +) +] +g1,98:35428918,3990415 +(1,98:35428918,3990415:0,0,0 +k1,98:3729360,3990415:-31699558 +[1,98:3729360,3990415:31699558,0,0 +(1,98:3729360,3990415:31699558,0,0 +k1,98:35428918,3990415:31699558 +h1,98:35428918,3990415:0,0,0 +g1,98:35428918,3990415 +g1,98:35428918,3990415 +) +] +) +) +] +) +g1,98:35428918,3990415 +) +) +] +[1,98:3729360,50644706:31699558,45908420,0 +(1,96:3729360,6276387:31699558,1490940,638984 +k1,96:18219922,6276387:14490562 +r1,98:18219922,6276387:0,2129924,638984 +g1,96:19579139,6276387 +r1,98:20938356,6276387:0,2129924,638984 +g1,96:20938356,6276387 +k1,96:35428918,6276387:14490562 +) +(1,96:3729360,9727784:31699558,720896,155722 +[1,96:3729360,9727784:15132160,720896,78489 +(254,1:3729360,9727784:15132160,594278,78489 +g254,1:4805788,9727784 +h254,1:4805788,9727784:0,0,0 +h254,1:4805788,9727784:0,0,0 +g254,1:3729360,9727784 +g254,1:4446979,9727784 +g254,1:5164598,9727784 +g254,1:6061622,9727784 +g254,1:6241027,9727784 +g254,1:6958646,9727784 +(254,1:17749209,9727784:1112311,493722,0 +k254,1:18502710,9727784:753501 +) +g254,1:17031590,9727784 +g254,1:18861520,9727784 +) +] +k1,96:19579139,9727784:717619 +r1,98:19579139,9727784:0,876618,155722 +k1,96:20296758,9727784:717619 +[1,96:20296758,9727784:15132160,720896,72882 +(254,2:20296758,9727784:15132160,591475,72882 +g254,2:23023711,9727784 +h254,2:23023711,9727784:1076428,0,0 +h254,2:24100139,9727784:0,0,0 +g254,2:21373186,9727784 +g254,2:22449615,9727784 +g254,2:22629020,9727784 +g254,2:23346639,9727784 +g254,2:24064258,9727784 +g254,2:24781877,9727784 +g254,2:25499496,9727784 +g254,2:26217115,9727784 +g254,2:26934734,9727784 +g254,2:27652353,9727784 +g254,2:28369972,9727784 +g254,2:29087591,9727784 +(254,2:29984484,9727784:538207,71762,7893 +$254,2:29984484,9727784 +(254,2:30163885,9727784:179405,71762,7893 +) +$254,2:30522691,9727784 +) +(254,2:30522691,9727784:538207,71762,7893 +(254,2:30702092,9727784:179405,71762,7893 +) +) +(254,2:31060898,9727784:538207,71762,7893 +(254,2:31240299,9727784:179405,71762,7893 +) +) +(254,2:31599105,9727784:538207,71762,7893 +(254,2:31778506,9727784:179405,71762,7893 +) +) +(254,2:32137312,9727784:538207,71762,7893 +(254,2:32316713,9727784:179405,71762,7893 +) +) +(254,2:32675519,9727784:538207,71762,7893 +(254,2:32854920,9727784:179405,71762,7893 +) +) +(254,2:33213726,9727784:538207,71762,7893 +(254,2:33393127,9727784:179405,71762,7893 +) +) +(254,2:33751933,9727784:538207,71762,7893 +(254,2:33931334,9727784:179405,71762,7893 +) +) +(254,2:34316607,9727784:1112311,485110,0 +k254,2:35070108,9727784:753501 +) +g254,2:33598988,9727784 +g254,2:35428918,9727784 +) +] +(1,96:35428918,9727784:0,330105,155722 +h1,96:35428918,9727784:358810,330105,155722 +k1,96:35428918,9727784:-358810 +) +) +] +(1,98:3729360,52882321:31699558,267389,0 +(1,98:3729360,52882321:31699558,267389,0 +(1,98:3729360,52882321:31699558,267389,0 +[1,98:3729360,52882321:31699558,267389,0 +(1,98:3729360,52882321:31699558,0,0 +(1,98:3729360,52882321:0,0,0 +[1,98:3729360,52882321:31699558,0,0 +(1,98:3729360,52882321:31699558,0,0 +h1,98:3729360,52882321:0,0,0 +k1,98:19579139,52882321:15849779 +k1,98:35428918,52882321:15849779 +) +] +k1,98:3729360,52882321:-31699558 +) +g1,98:3729360,52882321 +[1,98:3729360,52882321:31699558,0,0 +(1,98:3729360,52882321:31699558,0,0 +k1,98:19579139,52882321:15849779 +h1,98:19579139,52882321:0,0,0 +g1,98:19579139,52882321 +k1,98:35428918,52882321:15849779 +) +] +g1,98:35428918,52882321 +(1,98:35428918,52882321:0,0,0 +k1,98:3729360,52882321:-31699558 +[1,98:3729360,52882321:31699558,0,0 +(1,98:3729360,52882321:31699558,0,0 +k1,98:35428918,52882321:31699558 +h1,98:35428918,52882321:0,0,0 +g1,98:35428918,52882321 +g1,98:35428918,52882321 +) +] +) +) +] +) +g1,98:35428918,52882321 +) +) +] +] +] +!4521 +}2 +Input:255:D:\Tools\MikTeX\tex\latex\bbding\uding.fd +!61 +{3 +[1,107:4736287,52882321:30692631,48146034,0 +(1,107:4736287,4736287:0,0,0 +[1,107:1,4736287:0,0,0 +(1,107:1,1:0,0,0 +(1,107:1,4736287:0,0,0 +k1,107:1,4736287:4736286 +) +g1,107:1,1 +) +] +) +[1,107:4736287,52882321:30692631,48146034,0 +[1,107:3729360,52882321:31699558,52938257,0 +[1,107:3729360,3990415:31699558,4046351,0 +(1,107:3729360,3990415:31699558,0,0 +(1,107:3729360,3990415:31699558,0,0 +(1,107:3729360,3990415:31699558,0,0 +[1,107:3729360,3990415:31699558,0,0 +(1,107:3729360,3990415:31699558,0,0 +(1,107:3729360,3990415:0,0,0 +[1,107:3729360,3990415:31699558,0,0 +(1,107:3729360,3990415:31699558,0,0 +h1,107:3729360,3990415:0,0,0 +k1,107:19579139,3990415:15849779 +k1,107:35428918,3990415:15849779 +) +] +k1,107:3729360,3990415:-31699558 +) +g1,107:3729360,3990415 +[1,107:3729360,3990415:31699558,0,0 +(1,107:3729360,3990415:31699558,0,0 +k1,107:19579139,3990415:15849779 +h1,107:19579139,3990415:0,0,0 +g1,107:19579139,3990415 +k1,107:35428918,3990415:15849779 +) +] +g1,107:35428918,3990415 +(1,107:35428918,3990415:0,0,0 +k1,107:3729360,3990415:-31699558 +[1,107:3729360,3990415:31699558,0,0 +(1,107:3729360,3990415:31699558,0,0 +k1,107:35428918,3990415:31699558 +h1,107:35428918,3990415:0,0,0 +g1,107:35428918,3990415 +g1,107:35428918,3990415 +) +] +) +) +] +) +g1,107:35428918,3990415 +) +) +] +[1,107:3729360,50644706:31699558,45908420,0 +(1,100:3729360,6276387:31699558,1490940,638984 +k1,100:15440396,6276387:11711036 +r1,107:15440396,6276387:0,1158678,347607 +(1,100:15440396,6276387:5379647,1490940,638984 +g1,100:15619801,6276387 +g1,100:17658626,6276387 +g1,100:19017843,6276387 +r1,107:20754507,6276387:0,2129924,638984 +g1,100:20820043,6276387 +) +g1,100:20999448,6276387 +g1,100:22358665,6276387 +r1,107:23717882,6276387:0,2129924,638984 +g1,100:23717882,6276387 +k1,100:35428918,6276387:11711036 +) +(1,106:3729360,12677559:31699558,4124830,0 +(1,106:3729360,12677559:31699558,4124830,0 +g1,106:3729360,12677559 +(1,106:3729360,12677559:0,0,0 +(1,106:3729360,12677559:0,0,0 +g1,106:3729360,12677559 +(1,106:3729360,12677559:0,0,0 +(1,106:3729360,12677559:0,0,0 +g1,106:3729360,12677559 +g1,106:3729360,12677559 +g1,106:3729360,12677559 +(1,106:3729360,12677559:0,0,0 +(1,106:3729360,12677559:0,0,0 +h1,106:3729360,12677559:0,0,0 +g1,106:3729360,12677559 +) +) +g1,106:3729360,12677559 +g1,106:3729360,12677559 +) +) +g1,106:3729360,12677559 +(1,106:3729360,12677559:0,0,0 +(1,106:3729360,12677559:0,0,0 +g1,106:3729360,12677559 +g1,106:3729360,12677559 +g1,106:3729360,12677559 +(1,106:3729360,12677559:0,0,0 +(1,106:3729360,12677559:0,0,0 +h1,106:3729360,12677559:0,0,0 +g1,106:3729360,12677559 +) +) +g1,106:3729360,12677559 +g1,106:3729360,12677559 +) +) +(1,106:3729360,12677559:0,0,0 +(1,106:3729360,12677559:0,0,0 +g1,106:3729360,12677559 +g1,106:3729360,12677559 +g1,106:3729360,12677559 +g1,106:3729360,12677559 +g1,106:3729360,12677559 +(1,106:3729360,12677559:0,0,0 +(1,106:3729360,12677559:0,0,0 +h1,106:3729360,12677559:0,0,0 +g1,106:3729360,12677559 +) +) +g1,106:3729360,12677559 +g1,106:3729360,12677559 +) +) +g1,106:3729360,12677559 +g1,106:3729360,12677559 +g1,106:3729360,12677559 +g1,106:3729360,12677559 +(1,106:3729360,12677559:0,0,0 +(1,106:3729360,12677559:4138452,1282498,0 +(1,102:3729360,12677559:4138452,1282498,0 +(1,102:3729360,12677559:4138452,1282498,0 +g1,102:3729360,12677559 +(1,102:3729360,12677559:0,0,0 +(1,102:3729360,12677559:0,0,0 +g1,102:3729360,12677559 +(1,102:3729360,12677559:0,0,0 +(1,102:3729360,12677559:0,0,0 +g1,102:3729360,12677559 +g1,102:3729360,12677559 +g1,102:3729360,12677559 +(1,102:3729360,12677559:0,0,0 +(1,102:3729360,12677559:0,0,0 +h1,102:3729360,12677559:0,0,0 +g1,102:3729360,12677559 +) +) +g1,102:3729360,12677559 +g1,102:3729360,12677559 +) +) +g1,102:3729360,12677559 +(1,102:3729360,12677559:0,0,0 +(1,102:3729360,12677559:0,0,0 +g1,102:3729360,12677559 +g1,102:3729360,12677559 +g1,102:3729360,12677559 +(1,102:3729360,12677559:0,0,0 +(1,102:3729360,12677559:0,0,0 +h1,102:3729360,12677559:0,0,0 +g1,102:3729360,12677559 +) +) +g1,102:3729360,12677559 +g1,102:3729360,12677559 +) +) +g1,102:3729360,12677559 +g1,102:3729360,12677559 +g1,102:3729360,12677559 +g1,102:3729360,12677559 +(1,102:3729360,12677559:0,0,0 +(1,102:3729360,12677559:2870476,594278,72882 +(1,102:3729360,12677559:2870476,594278,72882 +(1,102:3729360,12677559:2870476,594278,72882 +g1,102:4446979,12677559 +g1,102:5164598,12677559 +g1,102:5882217,12677559 +) +) +) +) +g1,102:3729360,12677559 +g1,102:3729360,12677559 +g1,102:3729360,12677559 +) +g1,102:3729360,12677559 +) +) +) +) +) +g1,106:3729360,12677559 +(1,106:3729360,12677559:0,0,0 +(1,106:3729360,12677559:29834882,1879575,0 +[1,106:3729360,12677559:29834882,1879575,0 +(1,106:3729360,12677559:29834882,1879575,155722 +[1,106:3729360,12677559:14199822,1879575,84095 +(1,103:5523407,11518880:12405775,591475,67276 +(1,102:5523407,11518880:0,524320,0 +g1,102:5523407,11518880 +g1,102:4088169,11518880 +g1,102:3729360,11518880 +(1,102:3729360,11518880:1435238,524320,0 +k1,102:5164598,11518880:1435238 +(1,102:5164598,11518880:0,524320,0 +k1,102:4640278,11518880:-524320 +x1,102:5164598,11518880 +) +) +g1,102:5523407,11518880 +) +g1,102:6241026,11518880 +g1,102:6958645,11518880 +g1,102:7676264,11518880 +g1,102:8393883,11518880 +g1,102:9111502,11518880 +g1,102:9829121,11518880 +g1,102:10546740,11518880 +g1,102:11264359,11518880 +g1,102:11981978,11518880 +k1,103:11981978,11518880:-12 +k1,103:17929182,11518880:5229585 +g1,103:17929182,11518880 +) +(1,104:5523407,12677559:12405775,580262,84095 +(1,103:5523407,12677559:0,524320,0 +g1,103:5523407,12677559 +g1,103:4088169,12677559 +g1,103:3729360,12677559 +(1,103:3729360,12677559:1435238,524320,0 +k1,103:5164598,12677559:1435238 +(1,103:5164598,12677559:0,524320,0 +k1,103:4640278,12677559:-524320 +x1,103:5164598,12677559 +) +) +g1,103:5523407,12677559 +) +g1,103:6241026,12677559 +g1,103:6958645,12677559 +g1,103:7676264,12677559 +g1,103:8393883,12677559 +g1,103:9111502,12677559 +g1,103:9829121,12677559 +g1,103:10546740,12677559 +k1,104:10546740,12677559:-12 +k1,104:17929182,12677559:6664823 +g1,104:17929182,12677559 +) +] +k1,106:18646801,12677559:717619 +r1,107:18646801,12677559:0,2035297,155722 +k1,106:19364420,12677559:717619 +[1,106:19364420,12677559:14199822,1879575,86898 +(1,105:21158467,11518880:12405775,566246,67276 +(1,104:21158467,11518880:0,524320,0 +g1,104:21158467,11518880 +g1,104:19723229,11518880 +g1,104:19364420,11518880 +(1,104:19364420,11518880:1435238,524320,0 +k1,104:20799658,11518880:1435238 +(1,104:20799658,11518880:0,524320,0 +k1,104:20275338,11518880:-524320 +x1,104:20799658,11518880 +) +) +g1,104:21158467,11518880 +) +g1,104:21876086,11518880 +g1,104:22593705,11518880 +g1,104:23311324,11518880 +g1,104:24028943,11518880 +g1,104:24746562,11518880 +g1,104:25464181,11518880 +g1,104:26181800,11518880 +k1,105:26181800,11518880:-12 +k1,105:33564242,11518880:6664823 +g1,105:33564242,11518880 +) +(1,106:21158467,12677559:12405775,574656,86898 +(1,105:21158467,12677559:0,524320,0 +g1,105:21158467,12677559 +g1,105:19723229,12677559 +g1,105:19364420,12677559 +(1,105:19364420,12677559:1435238,524320,0 +k1,105:20799658,12677559:1435238 +(1,105:20799658,12677559:0,524320,0 +k1,105:20275338,12677559:-524320 +x1,105:20799658,12677559 +) +) +g1,105:21158467,12677559 +) +g1,105:21876086,12677559 +g1,105:22593705,12677559 +g1,105:23311324,12677559 +g1,105:24028943,12677559 +g1,105:24746562,12677559 +g1,105:25464181,12677559 +g1,105:26181800,12677559 +k1,106:26181800,12677559:-12 +k1,106:33564242,12677559:6664823 +g1,106:33564242,12677559 +) +] +(1,106:33564242,12677559:0,330105,155722 +h1,106:33564242,12677559:358810,330105,155722 +k1,106:33564242,12677559:-358810 +) +) +] +) +) +g1,106:3729360,12677559 +g1,106:3729360,12677559 +g1,106:3729360,12677559 +) +g1,106:3729360,12677559 +) +) +g1,106:35428918,12677559 +g1,106:35428918,12677559 +) +] +(1,107:3729360,52882321:31699558,267389,0 +(1,107:3729360,52882321:31699558,267389,0 +(1,107:3729360,52882321:31699558,267389,0 +[1,107:3729360,52882321:31699558,267389,0 +(1,107:3729360,52882321:31699558,0,0 +(1,107:3729360,52882321:0,0,0 +[1,107:3729360,52882321:31699558,0,0 +(1,107:3729360,52882321:31699558,0,0 +h1,107:3729360,52882321:0,0,0 +k1,107:19579139,52882321:15849779 +k1,107:35428918,52882321:15849779 +) +] +k1,107:3729360,52882321:-31699558 +) +g1,107:3729360,52882321 +[1,107:3729360,52882321:31699558,0,0 +(1,107:3729360,52882321:31699558,0,0 +k1,107:19579139,52882321:15849779 +h1,107:19579139,52882321:0,0,0 +g1,107:19579139,52882321 +k1,107:35428918,52882321:15849779 +) +] +g1,107:35428918,52882321 +(1,107:35428918,52882321:0,0,0 +k1,107:3729360,52882321:-31699558 +[1,107:3729360,52882321:31699558,0,0 +(1,107:3729360,52882321:31699558,0,0 +k1,107:35428918,52882321:31699558 +h1,107:35428918,52882321:0,0,0 +g1,107:35428918,52882321 +g1,107:35428918,52882321 +) +] +) +) +] +) +g1,107:35428918,52882321 +) +) +] +] +] +!8553 +}3 +!9 +{4 +[1,184:4736287,52882321:30692631,48146034,235932 +(1,184:4736287,4736287:0,0,0 +[1,184:1,4736287:0,0,0 +(1,184:1,1:0,0,0 +(1,184:1,4736287:0,0,0 +k1,184:1,4736287:4736286 +) +g1,184:1,1 +) +] +) +[1,184:4736287,52882321:30692631,48146034,235932 +[1,184:3729360,52882321:31699558,52938257,235932 +[1,184:3729360,3990415:31699558,4046351,0 +(1,184:3729360,3990415:31699558,917503,0 +(1,184:3729360,3990415:31699558,917503,0 +(1,184:3729360,3990415:31699558,917503,0 +[1,184:3729360,3990415:31699558,917503,0 +(1,184:3729360,3696812:31699558,623900,267389 +(1,184:3729360,3696812:0,0,0 +[1,184:3729360,3696812:31699558,0,0 +(1,184:3729360,3696812:31699558,0,0 +h1,184:3729360,3696812:0,0,0 +k1,184:19579139,3696812:15849779 +k1,184:35428918,3696812:15849779 +) +] +k1,184:3729360,3696812:-31699558 +) +g1,184:3729360,3696812 +[1,184:3729360,3696812:31699558,0,0 +(1,184:3729360,3696812:31699558,0,0 +k1,184:19579139,3696812:15849779 +h1,184:19579139,3696812:0,0,0 +g1,184:19579139,3696812 +k1,184:35428918,3696812:15849779 +) +] +g1,184:35428918,3696812 +(1,184:35428918,3696812:0,623900,267389 +k1,184:3729360,3696812:-31699558 +[1,184:3729360,3696812:31699558,623900,267389 +(1,184:3729360,3696812:31699558,623900,267389 +k1,184:27056672,3696812:23327312 +h1,184:27056672,3696812:0,0,0 +g1,184:28252729,3696812 +g1,184:28970348,3696812 +g1,184:29687967,3696812 +g1,184:30405586,3696812 +g1,184:31123205,3696812 +g1,184:31840824,3696812 +g1,184:32558443,3696812 +g1,184:33276062,3696812 +g1,184:33993681,3696812 +g1,184:34711300,3696812 +r1,184:35428919,3696812:0,891289,267389 +g1,184:35428919,3696812 +g1,184:35428919,3696812 +) +] +) +) +] +) +g1,184:35428918,3990415 +) +) +] +[1,184:3729360,50644706:31699558,45908420,0 +(1,108:3729360,6048314:31699558,1312028,562305 +r1,184:3729360,6048314:0,1158678,347607 +(1,108:3729360,6048314:2226750,1312028,562305 +g1,108:3908765,6048314 +r1,184:5890574,6048314:0,1874333,562305 +g1,108:5956110,6048314 +) +g1,108:7088572,6048314 +g1,108:8221034,6048314 +g1,108:9353496,6048314 +g1,108:10485958,6048314 +g1,108:11618420,6048314 +g1,108:12750882,6048314 +g1,108:13883344,6048314 +g1,108:15015806,6048314 +g1,108:16148268,6048314 +r1,184:17280730,6048314:0,1874333,562305 +k1,108:26354824,6048314:9074094 +k1,108:35428918,6048314:9074094 +) +(1,110:3729360,8492369:31699558,1073477,460068 +r1,184:3729360,8492369:0,1533545,460068 +g1,110:4673078,8492369 +g1,110:5616796,8492369 +g1,110:6560514,8492369 +g1,110:7504232,8492369 +g1,110:8447950,8492369 +g1,110:9391668,8492369 +r1,184:10335386,8492369:0,1533545,460068 +k1,110:22882152,8492369:12546766 +k1,110:35428918,8492369:12546766 +) +(1,117:3729360,15726424:31699558,6158522,0 +(1,117:3729360,15726424:31699558,6158522,0 +g1,117:3729360,15726424 +(1,117:3729360,15726424:0,0,0 +(1,117:3729360,15726424:0,0,0 +(1,117:3729360,15726424:0,0,0 +(1,117:3729360,15726424:0,0,0 +(1,112:3729360,15726424:0,0,0 +(1,112:3729360,15726424:0,0,0 +(1,112:3729360,14567745:0,0,0 +) +) +) +) +) +g1,117:3729360,15726424 +g1,117:3729360,15726424 +(1,117:3729360,15726424:0,0,0 +(1,117:3729360,15726424:0,0,0 +g1,117:3729360,15726424 +g1,117:3729360,15726424 +g1,117:3729360,15726424 +(1,117:3729360,15726424:0,0,0 +(1,117:3729360,15726424:0,0,0 +h1,117:3729360,15726424:0,0,0 +g1,117:3729360,15726424 +) +) +g1,117:3729360,15726424 +g1,117:3729360,15726424 +) +) +g1,117:3729360,15726424 +(1,117:3729360,15726424:0,0,0 +(1,117:3729360,15726424:0,0,0 +g1,117:3729360,15726424 +g1,117:3729360,15726424 +g1,117:3729360,15726424 +(1,117:3729360,15726424:0,0,0 +(1,117:3729360,15726424:0,0,0 +h1,117:3729360,15726424:0,0,0 +g1,117:3729360,15726424 +) +) +g1,117:3729360,15726424 +g1,117:3729360,15726424 +) +) +(1,117:3729360,15726424:0,0,0 +(1,117:3729360,15726424:0,0,0 +g1,117:3729360,15726424 +g1,117:3729360,15726424 +g1,117:3729360,15726424 +(1,117:3729360,15726424:0,0,0 +(1,117:3729360,15726424:0,0,0 +h1,117:3729360,15726424:0,0,0 +g1,117:3729360,15726424 +) +) +g1,117:3729360,15726424 +g1,117:3729360,15726424 +) +) +g1,117:3729360,15726424 +g1,117:3729360,15726424 +g1,117:3729360,15726424 +g1,117:3729360,15726424 +(1,117:3729360,15726424:0,0,0 +(1,117:3729360,15726424:7696500,1181003,0 +(1,112:3729360,15726424:7696500,1181003,0 +(1,112:3729360,15726424:7696500,1181003,0 +g1,112:3729360,15726424 +(1,112:3729360,15726424:0,0,0 +(1,112:3729360,15726424:0,0,0 +g1,112:3729360,15726424 +(1,112:3729360,15726424:0,0,0 +(1,112:3729360,15726424:0,0,0 +g1,112:3729360,15726424 +g1,112:3729360,15726424 +g1,112:3729360,15726424 +(1,112:3729360,15726424:0,0,0 +(1,112:3729360,15726424:0,0,0 +h1,112:3729360,15726424:0,0,0 +g1,112:3729360,15726424 +) +) +g1,112:3729360,15726424 +g1,112:3729360,15726424 +) +) +g1,112:3729360,15726424 +(1,112:3729360,15726424:0,0,0 +(1,112:3729360,15726424:0,0,0 +g1,112:3729360,15726424 +g1,112:3729360,15726424 +g1,112:3729360,15726424 +(1,112:3729360,15726424:0,0,0 +(1,112:3729360,15726424:0,0,0 +h1,112:3729360,15726424:0,0,0 +g1,112:3729360,15726424 +) +) +g1,112:3729360,15726424 +g1,112:3729360,15726424 +) +) +g1,112:3729360,15726424 +g1,112:3729360,15726424 +g1,112:3729360,15726424 +g1,112:3729360,15726424 +(1,112:3729360,15726424:0,0,0 +(1,112:3729360,15726424:6577696,594278,120559 +(1,112:3729360,15726424:6577696,594278,120559 +(1,112:3729360,15726424:6577696,594278,120559 +g1,112:4446979,15726424 +g1,112:5344003,15726424 +g1,112:6958646,15726424 +g1,112:7915232,15726424 +g1,112:8632851,15726424 +g1,112:9350470,15726424 +) +) +) +) +g1,112:3729360,15726424 +g1,112:3729360,15726424 +g1,112:3729360,15726424 +) +g1,112:3729360,15726424 +) +) +) +) +) +g1,117:3729360,15726424 +(1,117:3729360,15726424:0,0,0 +(1,117:3729360,15726424:0,0,0 +g1,117:3729360,15726424 +g1,117:3729360,15726424 +g1,117:3729360,15726424 +g1,117:3729360,15726424 +g1,117:3729360,15726424 +(1,117:3729360,15726424:0,0,0 +(1,117:3729360,15726424:558150,498346,93024 +(1,117:3729360,15726424:558150,498346,93024 +$1,117:3729360,15726424 +x1,117:4287510,15726424 +$1,117:4287510,15726424 +) +g1,117:4287510,15726424 +) +) +g1,117:3729360,15726424 +g1,117:3729360,15726424 +) +) +g1,117:3729360,15726424 +(1,117:3729360,15726424:0,0,0 +(1,117:3729360,15726424:29769346,4061906,100914 +[1,117:3729360,15726424:29769346,4061906,100914 +(1,117:3729360,12250387:29769346,585869,100914 +h1,112:3729360,12250387:0,0,0 +k1,112:4446979,12250387:0 +k1,112:5164598,12250387:0 +k1,112:5882217,12250387:0 +k1,112:6599836,12250387:0 +k1,112:7317455,12250387:0 +k1,112:8035074,12250387:0 +k1,112:8752693,12250387:0 +k1,112:9470312,12250387:0 +r1,184:10443022,12250387:-462528,0,0 +k1,112:10791950,12250387:348928 +k1,112:10791950,12250387:0 +k1,112:11509569,12250387:0 +k1,112:12227188,12250387:0 +k1,112:12944807,12250387:0 +k1,112:13662426,12250387:0 +k1,112:14380045,12250387:0 +k1,112:15097664,12250387:0 +k1,112:15815283,12250387:0 +r1,184:16737536,12250387:-512985,0,0 +k1,112:17121995,12250387:384459 +k1,112:17121995,12250387:0 +k1,112:17839614,12250387:0 +k1,112:18557233,12250387:0 +k1,113:19274852,12250387:0 +k1,113:19992471,12250387:0 +k1,113:20710090,12250387:0 +k1,113:21427709,12250387:0 +k1,113:22145328,12250387:0 +k1,113:22862947,12250387:0 +k1,113:23580566,12250387:0 +k1,113:24298185,12250387:0 +k1,113:25015804,12250387:0 +k1,113:25733423,12250387:0 +k1,113:26451042,12250387:0 +k1,113:27168661,12250387:0 +k1,113:27886280,12250387:0 +k1,113:28603899,12250387:0 +k1,113:29321518,12250387:0 +r1,184:30243771,12250387:-512985,0,0 +k1,113:30628230,12250387:384459 +k1,113:30628230,12250387:0 +k1,113:31345849,12250387:0 +k1,113:32063468,12250387:0 +k1,113:32781087,12250387:0 +k1,113:33498706,12250387:0 +) +(1,117:3729360,13409066:29769346,594278,86898 +k1,113:4446979,13409066:0 +k1,113:5164598,13409066:0 +k1,113:5882217,13409066:0 +k1,114:6599836,13409066:0 +k1,114:7317455,13409066:0 +r1,184:8290165,13409066:-462528,0,0 +k1,114:8629142,13409066:338977 +k1,114:8629142,13409066:0 +k1,114:9346761,13409066:0 +k1,114:10064380,13409066:0 +k1,114:10781999,13409066:0 +k1,114:11499618,13409066:0 +k1,114:12217237,13409066:0 +k1,114:12934856,13409066:0 +k1,114:13652475,13409066:0 +k1,114:14370094,13409066:0 +k1,114:15087713,13409066:0 +k1,114:15805332,13409066:0 +k1,114:16522951,13409066:0 +k1,114:17240570,13409066:0 +k1,114:17958189,13409066:0 +k1,114:18675808,13409066:0 +r1,184:19648518,13409066:-462528,0,0 +k1,114:19987496,13409066:338978 +k1,114:19987496,13409066:0 +k1,114:20705115,13409066:0 +k1,114:21422734,13409066:0 +k1,114:22140353,13409066:0 +k1,114:22857972,13409066:0 +k1,114:23575591,13409066:0 +r1,184:24548301,13409066:-462528,0,0 +k1,115:24887278,13409066:338977 +k1,115:24887278,13409066:0 +k1,115:25604897,13409066:0 +k1,115:26322516,13409066:0 +k1,115:27040135,13409066:0 +k1,115:27757754,13409066:0 +k1,115:28475373,13409066:0 +k1,115:29192992,13409066:0 +k1,115:29910611,13409066:0 +k1,115:30628230,13409066:0 +k1,115:31345849,13409066:0 +k1,115:32063468,13409066:0 +k1,115:32781087,13409066:0 +k1,115:33498706,13409066:0 +) +(1,117:3729360,14567745:29769346,597081,100914 +k1,115:4446979,14567745:0 +k1,115:5164598,14567745:0 +k1,115:5542174,14567745:377576 +r1,184:5107678,14567745:-434496,0,0 +k1,115:5107678,14567745:5 +k1,115:5825297,14567745:0 +k1,115:6542916,14567745:0 +r1,184:7546461,14567745:-431693,0,0 +k1,115:7922130,14567745:375669 +k1,115:7922130,14567745:0 +k1,115:8639749,14567745:0 +k1,115:9357368,14567745:0 +r1,184:10330078,14567745:-462528,0,0 +k1,115:10731204,14567745:401126 +k1,115:10731204,14567745:0 +k1,115:11448823,14567745:0 +r1,184:12432746,14567745:-451315,0,0 +k1,115:12432746,14567745:28 +k1,115:12826693,14567745:393947 +k1,116:13544312,14567745:0 +k1,116:14261931,14567745:0 +k1,116:14979550,14567745:0 +k1,116:15697169,14567745:0 +k1,116:16414788,14567745:0 +k1,116:17132407,14567745:0 +k1,116:17850026,14567745:0 +r1,184:18772279,14567745:-512985,0,0 +k1,116:19215795,14567745:443516 +k1,116:19215795,14567745:0 +k1,116:19933414,14567745:0 +k1,116:20651033,14567745:0 +k1,116:21368652,14567745:0 +k1,116:22086271,14567745:0 +k1,116:22803890,14567745:0 +k1,116:23521509,14567745:0 +k1,116:24239128,14567745:0 +k1,116:24956747,14567745:0 +k1,116:25674366,14567745:0 +k1,116:26391985,14567745:0 +k1,116:27109604,14567745:0 +k1,116:27827223,14567745:0 +k1,116:28544842,14567745:0 +k1,116:29262461,14567745:0 +r1,184:30184714,14567745:-512985,0,0 +k1,116:30628230,14567745:443516 +k1,116:30628230,14567745:0 +k1,116:31345849,14567745:0 +k1,116:32063468,14567745:0 +k1,116:32781087,14567745:0 +k1,116:33498706,14567745:0 +) +(1,117:3729360,15726424:29769346,585869,100914 +g1,116:4446979,15726424 +g1,116:5164598,15726424 +g1,116:5882217,15726424 +g1,116:6599836,15726424 +g1,116:7317455,15726424 +g1,116:8035074,15726424 +g1,116:8752693,15726424 +g1,116:9470312,15726424 +r1,184:10392565,15726424:-512985,0,0 +g1,116:10905550,15726424 +g1,116:10905550,15726424 +g1,116:11623169,15726424 +g1,116:12340788,15726424 +g1,116:13058407,15726424 +g1,116:13776026,15726424 +g1,116:14493645,15726424 +g1,116:15211264,15726424 +g1,116:15928883,15726424 +g1,116:16646502,15726424 +g1,116:17364121,15726424 +g1,116:18081740,15726424 +g1,116:18799359,15726424 +g1,116:19516978,15726424 +g1,116:20234597,15726424 +g1,116:20952216,15726424 +g1,116:21669835,15726424 +g1,116:22387454,15726424 +g1,116:23105073,15726424 +g1,116:23822692,15726424 +g1,116:24540311,15726424 +g1,116:25257930,15726424 +g1,116:25975549,15726424 +g1,116:26693168,15726424 +g1,116:27410787,15726424 +g1,116:28128406,15726424 +g1,116:28846025,15726424 +g1,116:29563644,15726424 +g1,116:30281263,15726424 +g1,116:30998882,15726424 +g1,116:31716501,15726424 +r1,184:32700424,15726424:-451315,0,0 +k1,116:32700424,15726424:28 +g1,116:33151739,15726424 +k1,117:33498706,15726424:346967 +g1,117:33498706,15726424 +) +] +) +) +g1,117:3729360,15726424 +g1,117:3729360,15726424 +g1,117:3729360,15726424 +) +g1,117:3729360,15726424 +) +) +g1,117:35428918,15726424 +g1,117:35428918,15726424 +) +(1,121:3729360,17116835:31699558,591475,72882 +h1,119:3729360,17116835:1435238,0,0 +k1,119:5882217,17116835:0 +k1,119:6599836,17116835:0 +k1,119:7317455,17116835:0 +k1,119:8035074,17116835:0 +k1,119:8752693,17116835:0 +k1,119:9470312,17116835:0 +k1,119:10905550,17116835:0 +k1,119:12340788,17116835:0 +k1,119:13058407,17116835:0 +k1,119:13776026,17116835:0 +k1,119:14493645,17116835:0 +k1,119:15211264,17116835:0 +k1,119:15928883,17116835:0 +k1,119:16646502,17116835:0 +k1,119:17364121,17116835:0 +k1,119:18081740,17116835:0 +k1,119:18799359,17116835:0 +k1,119:19516978,17116835:0 +k1,119:20952216,17116835:0 +k1,119:21669835,17116835:0 +k1,119:22387454,17116835:0 +k1,120:23277776,17116835:172703 +k1,120:23995395,17116835:0 +k1,120:24713014,17116835:0 +k1,120:25430633,17116835:0 +k1,120:26148252,17116835:0 +k1,120:26865871,17116835:0 +k1,120:27583490,17116835:0 +k1,120:28301109,17116835:0 +r1,184:29217755,17116835:-518592,0,0 +k1,120:29687966,17116835:470211 +k1,120:29687966,17116835:0 +k1,120:30405585,17116835:0 +k1,120:31123204,17116835:0 +k1,120:31840823,17116835:0 +k1,120:32558442,17116835:0 +k1,120:33276061,17116835:0 +k1,120:33993680,17116835:0 +k1,120:34711299,17116835:0 +k1,120:35428918,17116835:0 +) +(1,121:3729360,18275514:31699558,591475,72882 +g1,120:4446979,18275514 +g1,120:5164598,18275514 +g1,120:5882217,18275514 +g1,120:6599836,18275514 +r1,184:7572546,18275514:-462528,0,0 +k1,120:7572546,18275514:28 +k1,121:35428918,18275514:27856372 +g1,121:35428918,18275514 +) +(1,122:3729360,20858579:31699558,1073477,460068 +r1,184:3729360,20858579:0,1533545,460068 +g1,122:4673078,20858579 +g1,122:5616796,20858579 +g1,122:6560514,20858579 +g1,122:7504232,20858579 +g1,122:8447950,20858579 +g1,122:9391668,20858579 +g1,122:10335386,20858579 +g1,122:11279104,20858579 +r1,184:12222822,20858579:0,1533545,460068 +k1,122:23825870,20858579:11603048 +k1,122:35428918,20858579:11603048 +) +(1,126:3735525,22501651:31693393,591475,72882 +(1,125:3735525,22501651:2870476,549427,25228 +g1,125:6606001,22501651 +g1,125:5523407,22501651 +g1,125:5164598,22501651 +(1,125:5164598,22501651:1082594,549427,25228 +k1,125:6247192,22501651:1082594 +(1,125:6247192,22501651:0,549427,25228 +k1,125:5164598,22501651:-1082594 +g1,125:5164598,22501651 +r1,184:4758134,22501651:-406464,0,0 +g1,125:5475753,22501651 +r1,184:6145718,22501651:-406464,0,0 +k1,125:6145718,22501651:25 +g1,125:6552182,22501651 +g1,125:6247192,22501651 +) +) +g1,125:6606001,22501651 +) +g1,125:7323620,22501651 +g1,125:8041239,22501651 +r1,184:8952279,22501651:-524198,0,0 +g1,125:9476477,22501651 +g1,125:9476477,22501651 +g1,125:10194096,22501651 +g1,125:10911715,22501651 +r1,184:11828361,22501651:-518592,0,0 +g1,125:12346953,22501651 +g1,125:12346953,22501651 +g1,125:13064572,22501651 +g1,125:13782191,22501651 +g1,125:14499810,22501651 +k1,126:14499810,22501651:-12 +k1,126:35428917,22501651:20211488 +g1,126:35428917,22501651 +) +(1,127:3735525,23660330:31693393,591475,72882 +(1,126:3735525,23660330:2870476,549427,25228 +g1,126:6606001,23660330 +g1,126:5523407,23660330 +g1,126:5164598,23660330 +(1,126:5164598,23660330:1082594,549427,25228 +k1,126:6247192,23660330:1082594 +(1,126:6247192,23660330:0,549427,25228 +k1,126:5164598,23660330:-1082594 +g1,126:5164598,23660330 +r1,184:4758134,23660330:-406464,0,0 +g1,126:5475753,23660330 +r1,184:6145718,23660330:-406464,0,0 +k1,126:6145718,23660330:25 +g1,126:6552182,23660330 +g1,126:6247192,23660330 +) +) +g1,126:6606001,23660330 +) +g1,126:7323620,23660330 +g1,126:8041239,23660330 +r1,184:8952279,23660330:-524198,0,0 +g1,126:9476477,23660330 +g1,126:9476477,23660330 +g1,126:10194096,23660330 +g1,126:10911715,23660330 +g1,126:11629334,23660330 +g1,126:12346953,23660330 +r1,184:13263599,23660330:-518592,0,0 +g1,126:13782191,23660330 +g1,126:13782191,23660330 +g1,126:14499810,23660330 +g1,126:15217429,23660330 +g1,126:15935048,23660330 +k1,127:15935048,23660330:-12 +k1,127:35428919,23660330:18776252 +g1,127:35428919,23660330 +) +(1,128:3735525,24819009:31693393,594278,72882 +(1,127:3735525,24819009:2870476,549427,25228 +g1,127:6606001,24819009 +g1,127:5523407,24819009 +g1,127:5164598,24819009 +(1,127:5164598,24819009:1082594,549427,25228 +k1,127:6247192,24819009:1082594 +(1,127:6247192,24819009:0,549427,25228 +k1,127:5164598,24819009:-1082594 +g1,127:5164598,24819009 +r1,184:4758134,24819009:-406464,0,0 +g1,127:5475753,24819009 +r1,184:6145718,24819009:-406464,0,0 +k1,127:6145718,24819009:25 +g1,127:6552182,24819009 +g1,127:6247192,24819009 +) +) +g1,127:6606001,24819009 +) +g1,127:7323620,24819009 +g1,127:8041239,24819009 +r1,184:8952279,24819009:-524198,0,0 +g1,127:9476477,24819009 +g1,127:9476477,24819009 +g1,127:10194096,24819009 +g1,127:10911715,24819009 +g1,127:11629334,24819009 +r1,184:12545980,24819009:-518592,0,0 +g1,127:13064572,24819009 +g1,127:13064572,24819009 +g1,127:13782191,24819009 +g1,127:14499810,24819009 +g1,127:15217429,24819009 +g1,127:15935048,24819009 +g1,127:16652667,24819009 +k1,128:16652667,24819009:-12 +k1,128:35428918,24819009:18058632 +g1,128:35428918,24819009 +) +(1,129:3735525,25977688:31693393,588672,72882 +(1,128:3735525,25977688:2870476,549427,25228 +g1,128:6606001,25977688 +g1,128:5523407,25977688 +g1,128:5164598,25977688 +(1,128:5164598,25977688:1082594,549427,25228 +k1,128:6247192,25977688:1082594 +(1,128:6247192,25977688:0,549427,25228 +k1,128:5164598,25977688:-1082594 +g1,128:5164598,25977688 +r1,184:4758134,25977688:-406464,0,0 +g1,128:5475753,25977688 +r1,184:6145718,25977688:-406464,0,0 +k1,128:6145718,25977688:25 +g1,128:6552182,25977688 +g1,128:6247192,25977688 +) +) +g1,128:6606001,25977688 +) +g1,128:7323620,25977688 +g1,128:8041239,25977688 +r1,184:8952279,25977688:-524198,0,0 +g1,128:9476477,25977688 +g1,128:9476477,25977688 +g1,128:10194096,25977688 +g1,128:10911715,25977688 +g1,128:11629334,25977688 +g1,128:12346953,25977688 +g1,128:13064572,25977688 +g1,128:13782191,25977688 +g1,128:14499810,25977688 +g1,128:15217429,25977688 +k1,129:15217429,25977688:-12 +k1,129:35428918,25977688:19493870 +g1,129:35428918,25977688 +) +(1,133:5523407,27136367:29905511,591475,72882 +(1,132:5523407,27136367:0,485110,7893 +g1,132:5523407,27136367 +g1,132:4088169,27136367 +g1,132:3729360,27136367 +(1,132:3729360,27136367:1435238,485110,7893 +k1,132:5164598,27136367:1435238 +(1,132:5164598,27136367:0,485110,7893 +k1,132:4626384,27136367:-538214 +) +) +g1,132:5523407,27136367 +) +g1,132:6241026,27136367 +g1,132:6958645,27136367 +g1,132:7676264,27136367 +g1,132:8393883,27136367 +g1,132:9111502,27136367 +g1,132:9829121,27136367 +g1,132:10546740,27136367 +g1,132:11264359,27136367 +g1,132:11981978,27136367 +g1,132:12699597,27136367 +g1,132:13417216,27136367 +g1,132:14134835,27136367 +g1,132:14852454,27136367 +g1,132:15570073,27136367 +g1,132:16287692,27136367 +k1,133:16287692,27136367:-12 +k1,133:35428919,27136367:18423608 +g1,133:35428919,27136367 +) +(1,134:5523407,28295046:29905511,591475,72882 +(1,133:5523407,28295046:0,485110,7893 +g1,133:5523407,28295046 +g1,133:4088169,28295046 +g1,133:3729360,28295046 +(1,133:3729360,28295046:1435238,485110,7893 +k1,133:5164598,28295046:1435238 +(1,133:5164598,28295046:0,485110,7893 +k1,133:4626384,28295046:-538214 +) +) +g1,133:5523407,28295046 +) +g1,133:6241026,28295046 +g1,133:6958645,28295046 +g1,133:7676264,28295046 +g1,133:8393883,28295046 +g1,133:9111502,28295046 +g1,133:9829121,28295046 +g1,133:10546740,28295046 +g1,133:11264359,28295046 +g1,133:11981978,28295046 +g1,133:12699597,28295046 +g1,133:13417216,28295046 +g1,133:14134835,28295046 +g1,133:14852454,28295046 +g1,133:15570073,28295046 +g1,133:16287692,28295046 +g1,133:17005311,28295046 +g1,133:17722930,28295046 +g1,133:18440549,28295046 +g1,133:19158168,28295046 +g1,133:19875787,28295046 +g1,133:20593406,28295046 +g1,133:21311025,28295046 +g1,133:22028644,28295046 +g1,133:22746263,28295046 +g1,133:23463882,28295046 +g1,133:24181501,28295046 +g1,133:24899120,28295046 +g1,133:25616739,28295046 +g1,133:26334358,28295046 +g1,133:27051977,28295046 +k1,134:27051977,28295046:-12 +k1,134:35428918,28295046:7659322 +g1,134:35428918,28295046 +) +(1,135:5523407,29453725:29905511,591475,75685 +(1,134:5523407,29453725:0,485110,10046 +g1,134:5523407,29453725 +g1,134:4088169,29453725 +g1,134:3729360,29453725 +(1,134:3729360,29453725:1435238,485110,10046 +k1,134:5164598,29453725:1435238 +(1,134:5164598,29453725:0,485110,10046 +k1,134:4626384,29453725:-538214 +) +) +g1,134:5523407,29453725 +) +g1,134:6241026,29453725 +g1,134:6958645,29453725 +g1,134:7676264,29453725 +g1,134:8393883,29453725 +g1,134:9111502,29453725 +g1,134:9829121,29453725 +g1,134:10546740,29453725 +g1,134:11264359,29453725 +g1,134:11981978,29453725 +r1,184:12898624,29453725:-518592,0,0 +g1,134:13417216,29453725 +g1,134:13417216,29453725 +g1,134:14134835,29453725 +g1,134:14852454,29453725 +g1,134:15570073,29453725 +k1,135:15570073,29453725:-12 +k1,135:35428918,29453725:19141226 +g1,135:35428918,29453725 +) +(1,136:5523407,30612404:29905511,591475,70079 +(1,135:5523407,30612404:0,485110,7893 +g1,135:5523407,30612404 +g1,135:4088169,30612404 +g1,135:3729360,30612404 +(1,135:3729360,30612404:1435238,485110,7893 +k1,135:5164598,30612404:1435238 +(1,135:5164598,30612404:0,485110,7893 +k1,135:4626384,30612404:-538214 +) +) +g1,135:5523407,30612404 +) +g1,135:6241026,30612404 +g1,135:6958645,30612404 +g1,135:7676264,30612404 +g1,135:8393883,30612404 +g1,135:9111502,30612404 +k1,136:9111502,30612404:-12 +k1,136:35428917,30612404:25599796 +g1,136:35428917,30612404 +) +(1,138:3729360,33195469:31699558,1073477,460068 +r1,184:3729360,33195469:0,1533545,460068 +g1,138:4673078,33195469 +g1,138:5616796,33195469 +g1,138:6560514,33195469 +g1,138:7504232,33195469 +g1,138:8447950,33195469 +g1,138:9391668,33195469 +g1,138:10335386,33195469 +g1,138:11279104,33195469 +g1,138:12222822,33195469 +g1,138:13166540,33195469 +g1,138:14110258,33195469 +r1,184:15053976,33195469:0,1533545,460068 +k1,138:25241447,33195469:10187471 +k1,138:35428918,33195469:10187471 +) +(1,141:3735525,34838541:31693393,585869,72882 +(1,140:3735525,34838541:2870476,549427,25228 +g1,140:6606001,34838541 +g1,140:5523407,34838541 +g1,140:5164598,34838541 +(1,140:5164598,34838541:1082594,549427,25228 +k1,140:6247192,34838541:1082594 +(1,140:6247192,34838541:0,549427,25228 +k1,140:5164598,34838541:-1082594 +g1,140:5164598,34838541 +r1,184:4758134,34838541:-406464,0,0 +g1,140:5475753,34838541 +r1,184:6145718,34838541:-406464,0,0 +k1,140:6145718,34838541:25 +g1,140:6552182,34838541 +g1,140:6247192,34838541 +) +) +g1,140:6606001,34838541 +) +g1,140:7323620,34838541 +g1,140:8041239,34838541 +g1,140:8758858,34838541 +k1,141:8758858,34838541:-12 +k1,141:35428917,34838541:25952440 +g1,141:35428917,34838541 +) +(1,142:3735525,35997220:31693393,588672,72882 +(1,141:3735525,35997220:2870476,549427,25228 +g1,141:6606001,35997220 +g1,141:5523407,35997220 +g1,141:5164598,35997220 +(1,141:5164598,35997220:1082594,549427,25228 +k1,141:6247192,35997220:1082594 +(1,141:6247192,35997220:0,549427,25228 +k1,141:5164598,35997220:-1082594 +g1,141:5164598,35997220 +r1,184:4758134,35997220:-406464,0,0 +g1,141:5475753,35997220 +r1,184:6145718,35997220:-406464,0,0 +k1,141:6145718,35997220:25 +g1,141:6552182,35997220 +g1,141:6247192,35997220 +) +) +g1,141:6606001,35997220 +) +g1,141:7323620,35997220 +g1,141:8041239,35997220 +g1,141:8758858,35997220 +g1,141:9476477,35997220 +k1,142:9476477,35997220:-12 +k1,142:35428918,35997220:25234822 +g1,142:35428918,35997220 +) +(1,143:3735525,37155899:31693393,588672,72882 +(1,142:3735525,37155899:2870476,549427,25228 +g1,142:6606001,37155899 +g1,142:5523407,37155899 +g1,142:5164598,37155899 +(1,142:5164598,37155899:1082594,549427,25228 +k1,142:6247192,37155899:1082594 +(1,142:6247192,37155899:0,549427,25228 +k1,142:5164598,37155899:-1082594 +g1,142:5164598,37155899 +r1,184:4758134,37155899:-406464,0,0 +g1,142:5475753,37155899 +r1,184:6145718,37155899:-406464,0,0 +k1,142:6145718,37155899:25 +g1,142:6552182,37155899 +g1,142:6247192,37155899 +) +) +g1,142:6606001,37155899 +) +g1,142:7323620,37155899 +g1,142:8041239,37155899 +g1,142:8758858,37155899 +g1,142:9476477,37155899 +g1,142:10194096,37155899 +k1,143:10194096,37155899:-12 +k1,143:35428919,37155899:24517204 +g1,143:35428919,37155899 +) +(1,144:3735525,38314578:31693393,588672,72882 +(1,143:3735525,38314578:2870476,549427,25228 +g1,143:6606001,38314578 +g1,143:5523407,38314578 +g1,143:5164598,38314578 +(1,143:5164598,38314578:1082594,549427,25228 +k1,143:6247192,38314578:1082594 +(1,143:6247192,38314578:0,549427,25228 +k1,143:5164598,38314578:-1082594 +g1,143:5164598,38314578 +r1,184:4758134,38314578:-406464,0,0 +g1,143:5475753,38314578 +r1,184:6145718,38314578:-406464,0,0 +k1,143:6145718,38314578:25 +g1,143:6552182,38314578 +g1,143:6247192,38314578 +) +) +g1,143:6606001,38314578 +) +g1,143:7323620,38314578 +g1,143:8041239,38314578 +g1,143:8758858,38314578 +g1,143:9476477,38314578 +k1,144:9476477,38314578:-12 +k1,144:35428918,38314578:25234822 +g1,144:35428918,38314578 +) +(1,146:3729360,40897643:31699558,1073477,460068 +r1,184:3729360,40897643:0,1533545,460068 +g1,146:4673078,40897643 +g1,146:5616796,40897643 +g1,146:6560514,40897643 +g1,146:7504232,40897643 +g1,146:8447950,40897643 +g1,146:9391668,40897643 +r1,184:10633984,40897643:-645120,0,0 +k1,146:10633984,40897643:39 +g1,146:11279104,40897643 +r1,184:11279104,40897643:0,1533545,460068 +k1,146:23354011,40897643:12074907 +k1,146:35428918,40897643:12074907 +) +(1,149:3735525,42540715:31693393,594278,72882 +(1,148:3735525,42540715:2870476,549427,25228 +g1,148:6606001,42540715 +g1,148:5523407,42540715 +g1,148:5164598,42540715 +(1,148:5164598,42540715:1082594,549427,25228 +k1,148:6247192,42540715:1082594 +(1,148:6247192,42540715:0,549427,25228 +k1,148:5164598,42540715:-1082594 +g1,148:5164598,42540715 +r1,184:4758134,42540715:-406464,0,0 +g1,148:5475753,42540715 +r1,184:6145718,42540715:-406464,0,0 +k1,148:6145718,42540715:25 +g1,148:6552182,42540715 +g1,148:6247192,42540715 +) +) +g1,148:6606001,42540715 +) +k1,148:7323620,42540715:0 +k1,148:8041239,42540715:0 +k1,148:8758858,42540715:0 +r1,184:9669898,42540715:-524198,0,0 +k1,148:10166525,42540715:496627 +k1,148:10166525,42540715:0 +r1,184:11139235,42540715:-462528,0,0 +k1,148:11577394,42540715:438159 +k1,148:11577394,42540715:0 +r1,184:12550104,42540715:-462528,0,0 +k1,148:12988262,42540715:438158 +k1,148:12988262,42540715:0 +k1,148:13705881,42540715:0 +k1,148:14423500,42540715:0 +r1,184:15396210,42540715:-462528,0,0 +k1,148:15834369,42540715:438159 +k1,148:15834369,42540715:0 +k1,148:16551988,42540715:0 +r1,184:17524698,42540715:-462528,0,0 +k1,148:17962857,42540715:438159 +k1,148:17962857,42540715:0 +k1,148:18680476,42540715:0 +k1,148:19398095,42540715:0 +k1,148:20115714,42540715:0 +k1,148:20502967,42540715:387253 +r1,184:20096503,42540715:-406464,0,0 +k1,148:21531741,42540715:0 +k1,148:22249360,42540715:0 +k1,148:22966979,42540715:0 +k1,148:23684598,42540715:0 +k1,148:24402217,42540715:0 +k1,148:25119836,42540715:0 +r1,184:26092546,42540715:-462528,0,0 +k1,148:26530704,42540715:438158 +k1,148:26530704,42540715:0 +k1,148:27248323,42540715:0 +r1,184:28221033,42540715:-462528,0,0 +k1,148:28659192,42540715:438159 +k1,148:28659192,42540715:0 +k1,148:29376811,42540715:0 +k1,148:30094430,42540715:0 +k1,148:30812049,42540715:0 +k1,148:31529668,42540715:0 +k1,148:32247287,42540715:0 +k1,148:32964906,42540715:0 +k1,148:33682525,42540715:0 +k1,148:34400144,42540715:0 +r1,184:35428918,42540715:-406464,0,0 +k1,148:35428918,42540715:25 +k1,149:35428918,42540715:0 +k1,149:35428918,42540715:0 +) +(1,150:3735525,43699394:31693393,591475,75685 +(1,149:3735525,43699394:2870476,549427,25228 +g1,149:6606001,43699394 +g1,149:5523407,43699394 +g1,149:5164598,43699394 +(1,149:5164598,43699394:1082594,549427,25228 +k1,149:6247192,43699394:1082594 +(1,149:6247192,43699394:0,549427,25228 +k1,149:5164598,43699394:-1082594 +g1,149:5164598,43699394 +r1,184:4758134,43699394:-406464,0,0 +g1,149:5475753,43699394 +r1,184:6145718,43699394:-406464,0,0 +k1,149:6145718,43699394:25 +g1,149:6552182,43699394 +g1,149:6247192,43699394 +) +) +g1,149:6606001,43699394 +) +k1,149:7323620,43699394:0 +k1,149:8041239,43699394:0 +k1,149:8758858,43699394:0 +r1,184:9669898,43699394:-524198,0,0 +k1,149:10118059,43699394:448161 +k1,149:10118059,43699394:0 +k1,149:10835678,43699394:0 +k1,149:11553297,43699394:0 +k1,149:12270916,43699394:0 +r1,184:13243626,43699394:-462528,0,0 +k1,149:13638948,43699394:395322 +k1,149:13638948,43699394:0 +k1,149:14356567,43699394:0 +k1,149:15074186,43699394:0 +r1,184:16046896,43699394:-462528,0,0 +k1,149:16442218,43699394:395322 +k1,149:16442218,43699394:0 +k1,149:17159837,43699394:0 +r1,184:18132547,43699394:-462528,0,0 +k1,149:18527868,43699394:395321 +k1,149:18527868,43699394:0 +k1,149:19245487,43699394:0 +k1,149:19963106,43699394:0 +k1,149:20680725,43699394:0 +k1,149:21398344,43699394:0 +k1,149:22115963,43699394:0 +k1,149:22833582,43699394:0 +k1,149:23187066,43699394:353484 +r1,184:22780602,43699394:-406464,0,0 +k1,149:24215840,43699394:0 +k1,149:24933459,43699394:0 +k1,149:25651078,43699394:0 +k1,149:26368697,43699394:0 +k1,149:27086316,43699394:0 +r1,184:28059026,43699394:-462528,0,0 +k1,149:28454347,43699394:395321 +k1,149:28454347,43699394:0 +k1,149:29171966,43699394:0 +r1,184:30144676,43699394:-462528,0,0 +k1,149:30539998,43699394:395322 +k1,149:30539998,43699394:0 +k1,149:31257617,43699394:0 +r1,184:32230327,43699394:-462528,0,0 +k1,149:32625648,43699394:395321 +k1,149:32625648,43699394:0 +k1,149:33343267,43699394:0 +r1,184:34315977,43699394:-462528,0,0 +k1,149:34711299,43699394:395322 +k1,149:34711299,43699394:0 +k1,149:35428918,43699394:0 +) +(1,150:3735525,44858073:31693393,591475,72882 +g1,149:4453144,44858073 +g1,149:5170763,44858073 +g1,149:5888382,44858073 +g1,149:6606001,44858073 +g1,149:7323620,44858073 +g1,149:8041239,44858073 +g1,149:8758858,44858073 +r1,184:9787632,44858073:-406464,0,0 +k1,149:9787632,44858073:25 +k1,150:35428918,44858073:25641286 +g1,150:35428918,44858073 +) +(1,151:3735525,46016752:31693393,591475,75685 +(1,150:3735525,46016752:2870476,549427,25228 +g1,150:6606001,46016752 +g1,150:5523407,46016752 +g1,150:5164598,46016752 +(1,150:5164598,46016752:1082594,549427,25228 +k1,150:6247192,46016752:1082594 +(1,150:6247192,46016752:0,549427,25228 +k1,150:5164598,46016752:-1082594 +g1,150:5164598,46016752 +r1,184:4758134,46016752:-406464,0,0 +g1,150:5475753,46016752 +r1,184:6145718,46016752:-406464,0,0 +k1,150:6145718,46016752:25 +g1,150:6552182,46016752 +g1,150:6247192,46016752 +) +) +g1,150:6606001,46016752 +) +k1,150:7327095,46016752:3475 +k1,150:8048189,46016752:3475 +k1,150:8769284,46016752:3476 +r1,184:9680324,46016752:-524198,0,0 +k1,150:10204522,46016752:524198 +k1,150:10207997,46016752:3475 +k1,150:10929091,46016752:3475 +r1,184:11901801,46016752:-462528,0,0 +k1,150:12364329,46016752:462528 +k1,150:12367804,46016752:3475 +k1,150:13088898,46016752:3475 +r1,184:14061608,46016752:-462528,0,0 +k1,150:14524136,46016752:462528 +k1,150:14527612,46016752:3476 +k1,150:15248706,46016752:3475 +k1,150:15969800,46016752:3475 +k1,150:16690894,46016752:3475 +k1,150:17411988,46016752:3475 +k1,150:18133083,46016752:3476 +k1,150:18854177,46016752:3475 +k1,150:19575271,46016752:3475 +k1,150:20296365,46016752:3475 +k1,150:21017460,46016752:3476 +k1,150:21738554,46016752:3475 +k1,150:22459648,46016752:3475 +k1,150:23180742,46016752:3475 +r1,184:24097388,46016752:-518592,0,0 +k1,150:24615980,46016752:518592 +k1,150:24619455,46016752:3475 +k1,150:25340550,46016752:3476 +k1,150:26061644,46016752:3475 +k1,150:26782738,46016752:3475 +k1,150:27503832,46016752:3475 +k1,150:28224926,46016752:3475 +k1,150:28946021,46016752:3476 +k1,150:29667115,46016752:3475 +k1,150:30388209,46016752:3475 +k1,150:31109303,46016752:3475 +k1,150:31830397,46016752:3475 +k1,150:32236861,46016752:406464 +r1,184:31830397,46016752:-406464,0,0 +k1,150:33269111,46016752:3476 +k1,150:33990205,46016752:3475 +k1,150:34711299,46016752:3475 +k1,150:35428918,46016752:0 +) +(1,151:3735525,47175431:31693393,591475,75685 +g1,150:4453144,47175431 +g1,150:5170763,47175431 +r1,184:6143473,47175431:-462528,0,0 +g1,150:6606001,47175431 +g1,150:6606001,47175431 +g1,150:7323620,47175431 +r1,184:8296330,47175431:-462528,0,0 +g1,150:8758858,47175431 +g1,150:8758858,47175431 +g1,150:9476477,47175431 +g1,150:10194096,47175431 +g1,150:10911715,47175431 +g1,150:11629334,47175431 +g1,150:12346953,47175431 +g1,150:13064572,47175431 +g1,150:13782191,47175431 +g1,150:14499810,47175431 +g1,150:15217429,47175431 +g1,150:15935048,47175431 +r1,184:16963822,47175431:-406464,0,0 +k1,150:16963822,47175431:25 +k1,151:35428918,47175431:18465096 +g1,151:35428918,47175431 +) +] +(1,184:3729360,52882321:31699558,817889,235932 +(1,184:3729360,52882321:31699558,817889,235932 +(1,184:3729360,52882321:31699558,817889,235932 +[1,184:3729360,52882321:31699558,817889,235932 +(1,184:3729360,52882321:31699558,550500,235932 +(1,184:3729360,52882321:0,0,0 +[1,184:3729360,52882321:31699558,0,0 +(1,184:3729360,52882321:31699558,0,0 +h1,184:3729360,52882321:0,0,0 +k1,184:19579139,52882321:15849779 +k1,184:35428918,52882321:15849779 +) +] +k1,184:3729360,52882321:-31699558 +) +g1,184:3729360,52882321 +[1,184:3729360,52882321:31699558,550500,235932 +(1,184:3729360,52882321:31699558,550500,235932 +k1,184:19415299,52882321:15685939 +h1,184:19415299,52882321:0,0,0 +r1,184:19742979,52882321:0,786432,235932 +g1,184:19742979,52882321 +k1,184:35428918,52882321:15685939 +) +] +g1,184:35428918,52882321 +(1,184:35428918,52882321:0,0,0 +k1,184:3729360,52882321:-31699558 +[1,184:3729360,52882321:31699558,0,0 +(1,184:3729360,52882321:31699558,0,0 +k1,184:35428918,52882321:31699558 +h1,184:35428918,52882321:0,0,0 +g1,184:35428918,52882321 +g1,184:35428918,52882321 +) +] +) +) +] +) +g1,184:35428918,52882321 +) +) +] +] +] +!32465 +}4 +Input:256:d:\27726\Desktop\Tex\Notes\SolidWasteManagementandResourceRecovery\SolidWasteManagementandResourceRecovery.aux +!131 +Postamble: +Count:2112 +!27 +Post scriptum: diff --git a/SolidWasteManagementandResourceRecovery/SolidWasteManagementandResourceRecovery.tex b/SolidWasteManagementandResourceRecovery/SolidWasteManagementandResourceRecovery.tex new file mode 100644 index 0000000..45129fc --- /dev/null +++ b/SolidWasteManagementandResourceRecovery/SolidWasteManagementandResourceRecovery.tex @@ -0,0 +1,465 @@ +% !TeX program = XeLaTeX +% !TeX encoding = UTF-8 +\documentclass[lang=cn,11pt,a4paper,toc=twocol,chinese,thmcnt=section]{elegantbookzero} + +\errorcontextlines=100 % 显示更多上下文行 + + +\usepackage{amsmath} +\usepackage{ctex} +\usepackage[normalem,normalbf]{xeCJKfntef} +\usepackage{circledsteps,enumitem} +\usepackage[version=4]{mhchem} + +\usepackage{tikz} +% \usepackage[normalem]{ulem} + +\usepackage{fontspec} +\usepackage{mathspec} + +\usepackage{fixdif} + +\setmathsfont(Latin)[Lowercase]{XITS} +%% 设置默认数学字体(斜体)[拉丁字母]为 XITS + +\setmathsfont(Greek)[Lowercase]{方正仿宋_GBK} +%% 设置默认数学字体(斜体)[希腊字母]为方正仿宋_GBK + +\setmathsfont(Digits){XITS} +%% 设置默认数学字体中数字为 XITS + +\setmathrm{XITS} +%% 设置数学环境中的衬线字体 \mathrm 为 "XITS" + +\newfontfamily{\myfont}{XITS}[ + Scale=1, + Color=FF0000, +% ItalicFont=XITS Italic +] + + +\setlength{\ULdepth}{0.2334em} +%% 调整下划线的深度(距离字符的垂直距离)ulem + +\usepackage{array} + +% \usepackage{todonotes} + +\usepackage{siunitx} + +\sisetup{ + locale = UK, + group-digits = true, + group-separator = {\ }, % 千位分隔符为逗号 + % group-minimum-digits = 4, % 强制4位分隔,默认为5 + per-mode = symbol, % fraction分数形式显示“每”;symbol "/" + exponent-product = \times, % 科学计数法用 × 代替默认的 ×10^ + output-decimal-marker = {.},% 小数点用 .(可设为{,}为欧洲格式) + range-units = single, % 范围中的单位只显示一次 + range-phrase = $\mathbin{\mkern3mu\sim\mkern3mu}$, % 形如"1~100 m"的数据范围 + inter-unit-product = \cdot, % 单位之间用点乘 + number-unit-product = {\,}, % 数值与单位之间加空格 + bracket-unit-denominator = true, % 单位中分母外加括号 +} + +\DeclareSIUnit{\hPa}{hPa} + + + +%% %% 定义带圈数字 +\newcommand{\circlnum}[1]{ + \tikz[baseline=(char.base)]{ + \node[shape=circle, draw, inner sep=0pt, minimum size=0.95em] (char) {#1}; + } +} + +\usetikzlibrary{arrows.meta} + +% 定义箭头样式 +\newcommand{\myarrow}[2]{% + \tikz[baseline=-0.25em] \draw[-{stealth}, #1] (0,0) -- (#2,0);% +} + + + +\newlist{indentlist}{enumerate}{3} +%% 定义新列表,用于(1)(2)··· 序号开头的段落,最大嵌套3层 + +\setlist[indentlist]{ + labelindent=2em, + %% 标签缩进2字符 + leftmargin=*, + %% 列表左侧空白宽度 + label=(\arabic*)\hspace{-0.425em}, + %% 序号格式以及 ")" 后空白的调整 + itemindent=4em, + %% 首行缩进(相对于列表项目非首行的) + listparindent=0em, + %% 非首行缩进 + parsep=0pt + %% 同一项内部段落行间距 +} + + + + + +\cover{cover1} +\title{固体废物处理处置与资源化} +\author{KWL} +\date{} + +\begin{document} + +\maketitle + +\pagenumbering{roman} +\tableofcontents + +\mainmatter +% \pagenumbering{arabic} +\chapter{概论} +\begin{introduction} + \item 固废及危险废物的定义 + \item 固废的来源和分类 + \item 固废处理处置方法 + \item 固废控制技术政策 +\end{introduction} +\newpage + \section{固体废物的定义与特征} + + \subsection*{固体废物的定义} + \begin{definition}[固体废物] + 固体废物是指在生产、生活和其他活动中,产生的 + 丧失原有价值或虽未丧失利用价值,但被抛弃或放弃的 + {\heiti{固态}}、{\heiti{半固态或置于容器中的气态的物品}}、{\heiti{物质}}以及法律、 + 行政法规规定纳入固体废物管理(\textcolor{red}{有害})的物品、物质。 + \textcolor{blue}{经无害化加工处理,并且符合强制性国家产品质量标准,不会危害公众健康和生态安全,或者根据固体废物鉴别标准和鉴别程序认定为不属于固体废物的除外。} + \end{definition} + + 不能排入水体的\textcolor{red}{有害}液态物质和不能排入大气的\textcolor{red}{置于容器}中的有害气态物质, + 在我国纳入固体废物管理体系。 + + \subsection*{固体废物的四大特征} + + \begin{indentlist} + \item \textbf{无主性}:被丢弃,无人负责 + \item \textbf{分散性}:分散在各处,需要收集 + \item \textbf{危害性}:危害环境,危害人体健康 + \item \textbf{错位性}:在时空上错位的资源 + \end{indentlist} + + 固体废物的固有特性延伸: + + \begin{enumerate}[itemindent=1.5em] + \item 固体废物具有明显的时间性和空间性 + \item 固体废物的产生有其必然性并贯穿于物质转化过程和产品寿命有限性等 + \item 固体废物本身呆滞性大,扩散性差 + \item 固体废物具有高危险性、多污染源特点以及对人体和自然环境危害的潜在性和持久性 + \end{enumerate} + + \subsection*{与其他环境问题相比的特点} + \begin{indentlist} + \item 最难处理 + \item 最具综合性 + \item 最晚受到重视 + \item 最贴近生活 + \end{indentlist} + + \subsection*{固体废物的性质:} + \begin{indentlist} + \item 物理性质:色、臭、空隙率、密度、粒度等(生活垃圾的压实、破碎、分选等处理方法相关) + \item 化学性质:元素组成、碳氮比、热值、有机物含量等(固体废物堆肥、发酵、焚烧、热解、浮选等处理方法相关) + \item 生物性质:细菌、病毒、寄生虫卵等生物性污染物组成,有机组分的可降解性等(固体废物的堆肥、发酵、填埋等生化处理方法相关) + \end{indentlist} + + \section{固体废物的来源和分类} + + \subsection*{固体废物的来源} + + 人们在索取和利用自然资源从事生产和生活活动时,限于实际需要和技术条件,总要将其中一部分作为废物丢弃。 + + 由于各种产品有其使用寿命,超过了一定期限,就会成为废物。 + + 固体废物来源于人类的生产、生活和其他活动: + \begin{indentlist} + \item 开发资源和制造产品的过程; + \item 产品经使用和消费后,终将变成废物; + \item 产品越来越多样,废物越来越复杂。 + \end{indentlist} + + \subsection*{固体废物的分类} + + 固废的分类: + \begin{indentlist} + \item 按组成:有机、无机; + \item 按形态:固体、泥状、气或液; + \item 按来源:城市、工业、危险; + \item 按危害:有害、一般; + \end{indentlist} + + 《固体废物污染环境防治法》(1995、2004)分为:城市生活垃圾、工业固体废物、危险废物;(2020)分为: + 工业固体废物、生活垃圾、建筑垃圾、农业固体废物、危险废物。 + + 国家对固体废物污染环境防治实行污染者依法负责的原则。(2005.4.1起实施) + 固体废物污染环境防治坚持污染担责的原则。(2020.9.1起实施) + + \begin{definition}[危险废物] + 列入国家危险废物名录或者根据国家规定的危险废物鉴别标准和鉴别方法认定的具有危险特性的固体废物。 + \end{definition} + + \subsubsection*{危险废物的特征} + + 毒性、易燃性、反应性、腐蚀性、传染性 + + \section{固体废物的污染与控制} + + \subsection*{固体废物污染危害} + + 固体废物污染的危害包括: + \begin{indentlist} + \item 侵占土地 + \item 污染土壤 + \item 污染水体 + \item 污染大气 + \item 影响环境卫生和人体健康 + \end{indentlist} + + \subsection*{固体废物污染控制途径} + + 固体废物污染需要从两方面入手:\circlnum{1} 控制固体废物的产生,即“源头控制”;\circlnum{2} 综合利用废物资源,即资源化利用。 + + \textcolor{red}{控制好“源头”、处理好“终态”}是固体废物污染控制的\textcolor{red}{关键}。 + + 具体途径有: + \begin{indentlist} + \item 改革生产工艺(采用无废或少废技术;采用精料;提高产品质量和使用寿命) + \item 发展物质循环利用工艺 + \item 进行综合利用 + \item 进行无害化处理 + \end{indentlist} + + 首先,从污染源头起始,改进或采用更新的清洁生产工艺,尽量少排或不排废物。其次,需要强化对危险废物污染的控制,实行从产生到 + 最终无害化处置全过程的严格管理(即从摇篮到坟墓的全过程管理模式)。第三,需要提高全民性对固体废物污染环境的认识,做好科学 + 研究和宣传教育。 + + \begin{center} + 固体废物污染控制 + \begin{indentlist} + \item 传播途径:固体废物主要通过水、大气和土壤等介质污染环境,并危害人体健康。 + \item 控制重点:危险废物的处理处置和资源化利用。 + \item 控制措施:实行全过程控制。 + \item 技术方法:污染源控制;污染防治;资源化利用;最终处置。 + \item 基本政策:资源化、无害化和减量化(“三化”),并以无害化为主。 + \end{indentlist} + \end{center} + + \section{固体废物的处理处置方法} + + \begin{definition} + 固体废物处理是指将固体废物转变成适于运输、利用、贮存或最终处置的过程。 + \end{definition} + + 固体废物处理包括物理处理、化学处理、生物处理、热处理、固化处理。 + + \begin{definition} + 处置是指对已无回收价值或确定不能再利用的固体废物(包括危险废物)最终置于符合环境保护规定要求的场所或者设施并不再取回 + 的活动。 + \end{definition} + + 海洋处置:深海投弃、海上焚烧; + + 陆地处置:土地耕作、工程库或贮留池贮存、土地填埋、深井灌注、焚烧 + + \section{固体废物的管理与技术政策} + + 固体废物管理原则 + + \begin{indentlist} + \item “三化”原则:减量化、资源化、无害化 + \item “三C”原则:Clean、Cycle、Control + \item “全过程管理原则”:“从摇篮到坟墓” + \item “三R”原则:Reduce、Reuse、Recycle + \end{indentlist} + + \subsection*{固体废物污染防治的“三化”原则} + + \textbf{减量化}:通过适宜的手段减少和减小固体废物的数量和容积。 + + 通过\circlnum{1}固体废物的处理利用;\circlnum{2}减少固体废物的产生等战略来实现。 + + \textbf{资源化}: + \begin{enumerate}{} + \item 基本任务:采取工艺措施从固体废物中回收有用的物质和能源。 + \item 特点:保护和延长原生资源寿命,保证资源永续,节省投资,降低成本,减少环境污染,保持生态平衡 + \item 原则:技术上可行,经济效益比较好,就地利用、不产生或少产生二次污染,产品应符合国家响应的质量标准等 + \end{enumerate} + + \textbf{无害化}: + \begin{enumerate} + \item 基本任务:将固体废物通过工程处理,达到\textcolor{red}{不损害人体健康不污染周围的自然环境}(原生环境与次生环境) + \item 工程处理:垃圾的焚烧、卫生填埋、堆肥、粪便的厌氧发酵,有害废物的热处理和解毒处理等。 + \end{enumerate} + + 我国在一段时间内以“无害化”为主,发展趋势必然是从“无害化”走向“资源化”,“资源化”是以“无害化”为前提的,“无害化”和“减量化” + 应以“资源化”条件。 + + \subsection*{固体废物污染防治的“全过程”管理原则} + + “全过程”管理:从“摇篮到坟墓”的固体废物各过程管理(产生-收集-运输-综合利用-处理-贮存-处置) + + 固体废物污染控制的基本对策:\textcolor{red}{避免产生}(Clean)、\textcolor{red}{综合利用}(Cycle)、 + \textcolor{red}{妥善处理}(Control)的“3C”原则。 + + 随着循环经济、生态工业园及清洁生产理论和实践的发展,又提出了“3R”原则即\textcolor{red}{减少产生}(Reduce)、 + \textcolor{red}{再利用}(Reuse)、\textcolor{red}{再循环}(Recycle)策略 + + \subsection*{固体废物管理制度} + + 分类管理、工业固废申报登记、环评及三同时制度、排污收费(税)制度、限期治理制度、进口废物审批制度、危废行政代执行制度、 + 危废经营许可制度、危废转移报告单制度 + + \subsubsection*{固体废物管理程序和内容} + + \begin{enumerate} + \item 产生者 + \item 容器 + \item 贮存 + \item 收集利用 + \item 综合利用 + \item 处理处置 + \end{enumerate} + + \subsubsection*{固体废物管理方法} + + \begin{enumerate} + \item 划定有害废物与非有害废物的种类和范围 + \item 建立固体废物管理法规 + \end{enumerate} + + \hspace{1em} + + \textbf{划定有害废物与非有害废物的种类和范围}: + \begin{indentlist} + \item \textcolor{red}{名录法}:根据经验与实验,将有害废物的品名列成一览表,将非有害废物列成排除表, + 用以表明某种废物属于有害废物或非有害废物,再由国家管理部门以立法的形式予以公布 + \item \textcolor{red}{鉴别法}:在专门的立法中,对有害废物的特性及其鉴别分析方法以“标准”的形式予以规制。 + 依据鉴别分析方法,测定废物的特性,进而判定其属于有害废物或非有害废物。 + \end{indentlist} + + \hspace{0.5em} + + 危险废物的特性通常包括:\textcolor{red}{急性毒性、易燃性、反应性、腐蚀性、浸出毒性和疾病传染性}。 + + \hspace{1em} + + 目前已制定的《危险废物鉴别标准》(GB 5085.7-2019)包括\textcolor{red}{腐蚀性、急性毒性、浸出毒性、易燃性、反应性} + (\textbf{浸出毒性、急性毒性初筛和腐蚀性},1996) + + \hspace{1em} + + 固体废物管理法规体系: + \begin{indentlist} + \item 《环境保护法》 + \item 《固废法》 + \item 国务院颁布的有关固废的行政法规 + \item 国家环保总局及其他部委颁布的关于固废管理的单项行政规章、地方性法规 + \end{indentlist} + + \subsection*{无废城市} + + “无废城市”是以创新、协调、绿色、开放、共享的新发展理念为引领,通过推动形成绿色发展方式,持续推进固体废物 + 源头减量和资源化利用,最大限度减少填埋量,将固体废物环境影响降至最低的城市发展模式,也是一种先进的城市管理理念。 + + 建设无废城市,可以从以下六个方面着手: + \begin{indentlist} + \item 强化顶层设计引领,发挥政府宏观指导作用。 + \item 实施工业绿色生产,推动大宗工业固体废物贮存处置总量趋零增长。 + \item 推行农业绿色生产,促进生活垃圾源头减量和资源化利用。 + \item 提升风险防控能力,强化危险废物全面安全管控。 + \item 激发市场主体活力,培育产业新发展模式。 + \end{indentlist} + + \hspace{1em} + + 总结我国改革开放以来,固体废物处理与资源化的发展历程和发展方向,论述固体废物处理与资源化和生态文明建设的关系。 + + \vspace{2em} to be continue ... + +\chapter{焚烧} +\begin{introduction} + \item 焚烧的概念 + \item 焚烧烟气及其净化技术 + \item 焚烧参数及其计算 + \item +\end{introduction} +\newpage + + \section{概论} + + \subsection*{固体废物的焚烧} + + 固体废物的热处理包括:高温焚烧、热解(裂解)、焙烧、煅烧、烧结等。 + + \begin{definition} + 焚烧法是一种高温热处理技术,即以一定的\textcolor{red}{过剩空气}与被处理的\textcolor{red}{有机废物}在焚烧炉内 + 进行氧化燃烧反应,废物中的有毒有害物质\textcolor{red}{在\qtyrange{800}{1200}{\degreeCelsius}的高温}下氧化、 + 热解而被破坏,无机组分成为灰渣排出,是一种可以\textcolor{red}{同时实现废物无害化、减量化和资源化}的处理技术。 + \end{definition} + + 焚烧对象包括固体废物、液体废物、气体废物、一般工业废物、危险废物(有机固态、液态和气态)、生活垃圾渗滤液和臭气(垃圾焚烧前暂时贮存)。 + + \textbf{\textcolor{red}{焚烧适宜处理有机成分多、热值高的废物}} + + 当处理可燃有机组分较低的废物时,需\textcolor{red}{补加辅助燃料}。 + + \subsection*{焚烧技术发展历程} + + 焚毁带病毒、病菌的垃圾\myarrow{black}{2em}机械化连续垃圾焚烧炉\myarrow{black}{2em}大型机械化炉排 + \myarrow{black}{2em}自控、移动式机械炉排焚烧炉、多样化、温度升高\myarrow{black}{2em}除尘、资源化、智能化、多功能、综合性发展 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +\end{document} \ No newline at end of file diff --git a/SolidWasteManagementandResourceRecovery/elegantbookzero.cls b/SolidWasteManagementandResourceRecovery/elegantbookzero.cls new file mode 100644 index 0000000..2eae160 --- /dev/null +++ b/SolidWasteManagementandResourceRecovery/elegantbookzero.cls @@ -0,0 +1,1486 @@ +%%%%%%%%%%%%%%%%%%%%%% +%% start of file `elegantbook.cls'. +%% Copyright 2013-2022 ElegantLaTeX (elegantlatex2e@gmail.com) +%% +%% This work may be distributed and/or modified freely +%% available at https://github.com/ElegantLaTeX/ElegantBook +% +%%%%%%%%%%%%%%%%%%%%% +% % !Mode:: "TeX:UTF-8" +\NeedsTeXFormat{LaTeX2e} +% \ProvidesClass{elegantbookzero}[2022/12/31 v4.5 ElegantBook document class] +\ProvidesClass{elegantbookzero}[2025/03/20 v4.5 ElegantBookzero document class] + +%%% Update at 2025/03/20 + + +%%% +\RequirePackage{kvoptions} +\RequirePackage{etoolbox} +\SetupKeyvalOptions{family=ELEGANT, prefix=ELEGANT@, setkeys=\kvsetkeys} +\newcommand{\ekv}[1]{\kvsetkeys{ELEGANT}{#1}} +% ----- Colors ----- +\DeclareStringOption[blue]{color} +\DeclareStringOption[en]{lang} +\DeclareStringOption[answer]{result} +\DeclareStringOption[fancy]{mode} +\DeclareStringOption[normal]{device} +\DeclareStringOption[cm]{math} +\DeclareStringOption[marginfalse]{marginpar} +\DeclareStringOption[onecol]{toc} +\DeclareStringOption{scheme} + +% ----- backward compatibility +\DeclareVoidOption{green}{\ekv{color=green}} +\DeclareVoidOption{cyan}{\ekv{color=cyan}} +\DeclareVoidOption{blue}{\ekv{color=blue}} +\DeclareVoidOption{gray}{\ekv{color=gray}} +\DeclareVoidOption{black}{\ekv{color=black}} +\DeclareVoidOption{nocolor}{\ekv{color=none}} + +\DeclareVoidOption{chinese}{\ekv{scheme=chinese}} + +\DeclareStringOption[ctexfont]{chinesefont} +\DeclareVoidOption{ctexfont}{\ekv{chinesefont=ctexfont}} +\DeclareVoidOption{founder}{\ekv{chinesefont=founder}} +\DeclareVoidOption{nofont}{\ekv{chinesefont=nofont}} + +\DeclareVoidOption{en}{\ekv{lang=en}} +\DeclareVoidOption{cn}{\ekv{lang=cn}} +\DeclareVoidOption{it}{\ekv{lang=it}} +\DeclareVoidOption{fr}{\ekv{lang=fr}} +\DeclareVoidOption{nl}{\ekv{lang=nl}} +\DeclareVoidOption{hu}{\ekv{lang=hu}} +\DeclareVoidOption{de}{\ekv{lang=de}} +\DeclareVoidOption{mn}{\ekv{lang=mn}} +\DeclareVoidOption{pt}{\ekv{lang=pt}} +\DeclareVoidOption{jp}{\ekv{lang=jp}} + +\DeclareVoidOption{fancy}{\ekv{mode=fancy}} +\DeclareVoidOption{simple}{\ekv{mode=simple}} +\DeclareBoolOption[false]{usesamecnt} + +\DeclareVoidOption{answer}{\ekv{result=answer}} +\DeclareVoidOption{noanswer}{\ekv{result=noanswer}} + +\DeclareVoidOption{normal}{\ekv{device=normal}} +\DeclareVoidOption{pad}{\ekv{device=pad}} + +\DeclareStringOption[numeric-comp]{citestyle} +\DeclareStringOption[numeric]{bibstyle} + +\DeclareVoidOption{newtx}{\ekv{math=newtx}} +\DeclareVoidOption{mtpro2}{\ekv{math=mtpro2}} +\DeclareVoidOption{cm}{\ekv{math=cm}} + +\DeclareVoidOption{margintrue}{\ekv{marginpar=margintrue}} +\DeclareVoidOption{marginfalse}{\ekv{marginpar=marginfalse}} + + +\DeclareVoidOption{onecol}{\ekv{toc=onecol}} +\DeclareVoidOption{twocol}{\ekv{toc=twocol}} + +\DeclareStringOption[chapter]{thmcnt} +\DeclareVoidOption{chapter}{\ekv{thmcnt=chapter}} +\DeclareVoidOption{section}{\ekv{thmcnt=section}} + +\DeclareStringOption[biber]{bibend} +\DeclareVoidOption{biber}{\ekv{bibend=biber}} +\DeclareVoidOption{bibtex}{\ekv{bibend=bibtex}} + + +% ----- Math option ----- +\newcommand\mailto[1]{\href{mailto:#1}{\nolinkurl{#1}}} + +% ----- Title Style ----- +\DeclareStringOption[hang]{titlestyle}[hang] +% ----- backward compatibility +\DeclareVoidOption{hang}{\ekv{titlestyle=hang}} +\DeclareVoidOption{display}{\ekv{titlestyle=display}} +% ----- Default Options ----- +\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{book}} + +\ProcessKeyvalOptions*\relax +% \ProcessOptions*\relax +\LoadClass[a4paper,oneside]{book} + +\RequirePackage{setspace} + +\RequirePackage{csquotes} + + +\RequirePackage{hyperref} +\hypersetup{ + breaklinks, + unicode, + linktoc=all, + bookmarksnumbered=true, + bookmarksopen=true, + pdfkeywords={ElegantBook}, + colorlinks, + linkcolor=winered, + citecolor=winered, + urlcolor=winered, + plainpages=false, + pdfstartview=FitH, + pdfborder={0 0 0}, + linktocpage +} +\newif\ifELEGANT@Hy@later + \@ifpackagelater{hyperref}{2022/05/16} + {\ELEGANT@Hy@latertrue} + {\ELEGANT@Hy@laterfalse} + +%% device settings +\RequirePackage{geometry} +\ifdefstring{\ELEGANT@device}{normal}{ + \geometry{ + a4paper, + top=25.4mm, bottom=25.4mm, + left=20mm, right=20mm, + headheight=2.17cm, + headsep=4mm, + footskip=12mm + } + \ifdefstring{\ELEGANT@marginpar}{margintrue}{ + \geometry{ + marginparwidth=5cm, marginparsep=5mm, + left=2cm,right=7cm}}{\relax}}{ + \relax} + +\ifdefstring{\ELEGANT@device}{pad}{ +\geometry{ + paperwidth=7.5in, + paperheight=10in, + margin=16mm, + headheight=2.17cm, + footskip=4mm +}}{\relax} + + +\RequirePackage{indentfirst,comment} +% fontsetting +\ifdefstring{\ELEGANT@math}{mtpro2}{ + \let\Bbbk\relax + \RequirePackage[lite]{mtpro2} +}{\relax} + +\setcounter{tocdepth}{1} +\renewcommand{\baselinestretch}{1.2} + +\PassOptionsToPackage{no-math}{fontspec} +\PassOptionsToPackage{quiet}{fontspec} +\RequirePackage{iftex} + +\ifpdftex + \RequirePackage{newtxtext} + \RequirePackage[scaled=.90]{helvet} +\else + \RequirePackage[no-math]{fontspec} + \setmainfont{TeXGyreTermesX}[ + UprightFont = *-Regular , + BoldFont = *-Bold , + ItalicFont = *-Italic , + BoldItalicFont = *-BoldItalic , + Extension = .otf , + Scale = 1.0] + + \setsansfont{texgyreheros}[ + UprightFont = *-regular , + BoldFont = *-bold , + ItalicFont = *-italic , + BoldItalicFont = *-bolditalic , + Extension = .otf , + Scale = 0.9] +\fi + +\ifdefstring{\ELEGANT@lang}{cn}{ + \ifdefstring{\ELEGANT@chinesefont}{founder}{ + \RequirePackage[UTF8, scheme=plain, fontset=none]{ctex} + \setCJKmainfont[BoldFont={FZHei-B01},ItalicFont={FZKai-Z03}]{FZShuSong-Z01} + \setCJKsansfont[BoldFont={FZHei-B01}]{FZKai-Z03} + \setCJKmonofont[BoldFont={FZHei-B01}]{FZFangSong-Z02} + \setCJKfamilyfont{zhsong}{FZShuSong-Z01} + \setCJKfamilyfont{zhhei}{FZHei-B01} + \setCJKfamilyfont{zhkai}[BoldFont={FZHei-B01}]{FZKai-Z03} + \setCJKfamilyfont{zhfs}[BoldFont={FZHei-B01}]{FZFangSong-Z02} + \newcommand*{\songti}{\CJKfamily{zhsong}} + \newcommand*{\heiti}{\CJKfamily{zhhei}} + \newcommand*{\kaishu}{\CJKfamily{zhkai}} + \newcommand*{\fangsong}{\CJKfamily{zhfs}}}{\relax} + + \ifdefstring{\ELEGANT@chinesefont}{nofont}{ + \RequirePackage[UTF8,scheme=plain,fontset=none]{ctex} + \xeCJKsetup{AutoFakeBold=true} + }{\relax} + + \ifdefstring{\ELEGANT@chinesefont}{ctexfont}{ + \RequirePackage[UTF8,scheme=plain]{ctex} + \xeCJKsetup{AutoFakeBold=true} + }{\relax} + + \AfterEndPreamble{ + \setlength\parindent{2\ccwd}} +}{\relax} + +\ifcsname heiti\endcsname + \newcommand{\cbfseries}{\heiti} +\else + \newcommand{\cbfseries}{\bfseries} +\fi + + +\ifcsname kaishu\endcsname + \newcommand{\citshape}{\kaishu} +\else + \newcommand{\citshape}{\itshape} +\fi +\ifcsname kaishu\endcsname + \newcommand{\cnormal}{\kaishu} +\else + \newcommand{\cnormal}{\normalfont} +\fi + +\ifcsname fangsong\endcsname + \newcommand{\cfs}{\fangsong} +\else + \newcommand{\cfs}{\normalfont} +\fi + +\RequirePackage{anyfontsize} +\ifdefstring{\ELEGANT@math}{newtx}{ + \let\oldencodingdefault\encodingdefault + \let\oldrmdefault\rmdefault + \let\oldsfdefault\sfdefault + \let\oldttdefault\ttdefault + \def\encodingdefault{T1} + \renewcommand{\rmdefault}{ntxtlf} + \renewcommand{\sfdefault}{qhv} + \renewcommand{\ttdefault}{ntxtt} + \RequirePackage{newtxmath} + \let\encodingdefault\oldencodingdefault + \let\rmdefault\oldrmdefault + \let\sfdefault\oldsfdefault + \let\ttdefault\oldttdefault + \let\Bbbk\relax + \RequirePackage{esint} + %%% use yhmath pkg, uncomment following code + % \let\oldwidering\widering + % \let\widering\undefined + % \RequirePackage{yhmath} + % \let\widering\oldwidering + + %%% use esvect pkg, uncomment following code + % \RequirePackage{esvect} + + \DeclareSymbolFont{CMlargesymbols}{OMX}{cmex}{m}{n} + \let\sumop\relax\let\prodop\relax + \DeclareMathSymbol{\sumop}{\mathop}{CMlargesymbols}{"50} + \DeclareMathSymbol{\prodop}{\mathop}{CMlargesymbols}{"51} +}{\relax} + + +% ----- Handle Colors ----- +%% 章节以及页脚图形 + +\RequirePackage[table]{xcolor} +\ifdefstring{\ELEGANT@color}{green}{ + \definecolor{structurecolor}{RGB}{0,120,2}% + \definecolor{main}{RGB}{0,120,2}% + \definecolor{second}{RGB}{230,90,7}% + \definecolor{third}{RGB}{0,160,152}% +}{\relax} +\ifdefstring{\ELEGANT@color}{cyan}{ + \definecolor{structurecolor}{RGB}{31,186,190}% + \definecolor{main}{RGB}{59,180,5}% + \definecolor{second}{RGB}{175,153,8}% + \definecolor{third}{RGB}{244,105,102}% +}{\relax} +\ifdefstring{\ELEGANT@color}{blue}{ + \definecolor{structurecolor}{RGB}{60,113,183} + \definecolor{main}{RGB}{0,166,82}% + \definecolor{second}{RGB}{255,134,24}% + \definecolor{third}{RGB}{0,174,247}% +}{\relax} +\ifdefstring{\ELEGANT@color}{gray}{ + \definecolor{structurecolor}{RGB}{150,150,150} + \definecolor{main}{RGB}{150,150,150}% + \definecolor{second}{RGB}{150,150,150}% + \definecolor{third}{RGB}{150,150,150}% +}{\relax} +\ifdefstring{\ELEGANT@color}{black}{ + \definecolor{structurecolor}{RGB}{0,0,0} + \definecolor{main}{RGB}{0,0,0}% + \definecolor{second}{RGB}{0,0,0}% + \definecolor{third}{RGB}{0,0,0}% +}{\relax} + +%green color +\definecolor{structure1}{RGB}{0,120,2}% +\definecolor{main1}{RGB}{0,120,2}% +\definecolor{second1}{RGB}{230,90,7}% +\definecolor{third1}{RGB}{0,160,152}% +%cyan color +\definecolor{structure2}{RGB}{31,186,190}% +\definecolor{main2}{RGB}{59,180,5}% +\definecolor{second2}{RGB}{175,153,8}% +\definecolor{third2}{RGB}{244,105,102}% +%blue color +\definecolor{structure3}{RGB}{60,113,183} +\definecolor{main3}{RGB}{0,166,82}% +\definecolor{second3}{RGB}{255,134,24}% +\definecolor{third3}{RGB}{0,174,247}% +% gray color +\definecolor{structure4}{RGB}{150,150,150} +\definecolor{main4}{RGB}{150,150,150}% +\definecolor{second4}{RGB}{150,150,150}% +\definecolor{third4}{RGB}{150,150,150}% +% black color +\definecolor{structure5}{RGB}{0,0,0} +\definecolor{main5}{RGB}{0,0,0}% +\definecolor{second5}{RGB}{0,0,0}% +\definecolor{third5}{RGB}{0,0,0}% + +% corlor definition +\definecolor{winered}{rgb}{0.5,0,0} +\definecolor{bule}{RGB}{18,29,57} +\colorlet{coverlinecolor}{second} + + +% ----- Title Style ----- +\ifdefstring{\ELEGANT@titlestyle}{hang}{\def\style{hang}}{\relax} +\ifdefstring{\ELEGANT@titlestyle}{display}{\def\style{display}}{\relax} + +% reference: +% https://tex.stackexchange.com/questions/58506/how-to-make-a-new-command-similar-to-author +% https://pastebin.com/C8W4axzV +\newcommand\email[1]{\href{mailto:#1}{\nolinkurl{#1}}} + +\global\let\@title\@empty +\global\let\@author\@empty +\global\let\@date\@empty +\newcommand{\subtitle}[1]{\gdef\@subtitle{#1}} +\newcommand{\institute}[1]{\gdef\@institute{#1}} +\newcommand{\version}[1]{\gdef\@version{#1}} +\newcommand{\extrainfo}[1]{\gdef\@extrainfo{#1}} + +\RequirePackage{mwe} +\newcommand{\logo}[1]{\gdef\@logo{#1}} +\newcommand{\cover}[1]{\gdef\@cover{#1}} + +\newcommand{\question}[1]{{\par\citshape #1}\\[0.2ex]} + +\RequirePackage{enumerate} +% list/itemize/enumerate setting +\RequirePackage[shortlabels,inline]{enumitem} +\setlist{nolistsep} + +\RequirePackage[labelfont={bf,color=structurecolor}]{caption} +\captionsetup[table]{skip=3pt} +\captionsetup[figure]{skip=3pt} + +\AtBeginDocument{ + \setlength{\abovedisplayskip}{3pt} + \setlength{\belowdisplayskip}{3pt} + \RequirePackage[flushmargin,stable]{footmisc} + \setlength{\footnotesep}{12pt} +} + + + +\RequirePackage{graphicx} +%\RequirePackage{enumerate} +\RequirePackage{amsmath,mathrsfs,amsfonts,amssymb} +% \providecommand\qed{} +% \renewcommand{\qed}{\hfill\ensuremath{\square}} +\RequirePackage{booktabs} +\RequirePackage{multicol,multirow} + +\RequirePackage{fancyvrb} +\RequirePackage{makecell,lipsum,hologo} +%%中文结构名字 + + +%% 章节设置 +\RequirePackage[center,pagestyles]{titlesec} +\RequirePackage[title,titletoc,header]{appendix} + + +\RequirePackage[ + backend=\ELEGANT@bibend, + citestyle=\ELEGANT@citestyle, + bibstyle=\ELEGANT@bibstyle]{biblatex} + +\ifdefstring{\ELEGANT@lang}{cn}{ + \renewcommand{\baselinestretch}{1.3} + \renewcommand{\contentsname}{目录} + \renewcommand{\figurename}{图} + \renewcommand{\tablename}{表} + \renewcommand{\partname}{\color{structurecolor}} + \renewcommand{\thepart}{第\zhnumber{\arabic{part}}部分} + \renewcommand{\listfigurename}{插图目录} + \renewcommand{\listtablename}{表格目录} + \renewcommand{\bibname}{参考文献} + \newcommand{\ebibname}{参考文献} + \renewcommand{\appendixname}{附录} + \renewcommand{\appendixtocname}{附录} + \renewcommand{\indexname}{索\hspace{2em}引} + \newcommand\figref[1]{\textbf{图}~\ref{#1}} + \newcommand\tabref[1]{\textbf{表}~\ref{#1}} + \newcommand{\authorname}{\citshape 作者:} + \newcommand{\institutename}{\citshape 组织:} + \newcommand{\datename}{\citshape 时间:} + \newcommand{\versionname}{\citshape 版本:} + \newcommand{\notename}{笔记} + \renewcommand*{\proofname}{证明} + \newcommand{\definitionname}{定义} + \newcommand{\theoremname}{定理} + \newcommand{\axiomname}{公理} + \newcommand{\postulatename}{公设} + \newcommand{\lemmaname}{引理} + \newcommand{\propositionname}{命题} + \newcommand{\corollaryname}{推论} + \newcommand{\examplename}{例题} % + \newcommand{\instancename}{示例} % + \newcommand{\problemname}{问题} % 问题 + \newcommand{\exercisename}{练习} % 练习=习题 + \newcommand{\remarkname}{注} + \newcommand{\assumptionname}{假设} + \newcommand{\conclusionname}{结论} + \newcommand{\solutionname}{解} + \newcommand{\propertyname}{性质} + \newcommand{\introductionname}{内容提要} + \newcommand\bioinfo[2]{\gdef\@bioinfo{{\citshape #1}:#2}} + \newcommand{\updatename}{更新:} + \newcommand{\historyname}{版本更新历史} + \newcommand{\beforechap}{第} + \newcommand{\afterchap}{章} +}{\relax} + + +\ifdefstring{\ELEGANT@lang}{en}{ + \setlength\parindent{2em} + \newcommand\figref[1]{\textbf{Figure}~\ref{#1}} + \newcommand\tabref[1]{\textbf{Table}~\ref{#1}} + \renewcommand{\chaptername}{Chapter} + \renewcommand{\partname}{\color{structurecolor} Part} + \newcommand{\authorname}{\textbf{Author: }} + \newcommand{\institutename}{\textbf{Institute: }} + \newcommand{\datename}{\textbf{Date: }} + \newcommand{\versionname}{\textbf{Version: }} + \newcommand{\notename}{Note} + \newcommand{\proofname}{Proof} + \newcommand{\problemname}{Problem} + \newcommand{\definitionname}{Definition} + \newcommand{\theoremname}{Theorem} + \newcommand{\axiomname}{Axiom} + \newcommand{\postulatename}{Postulate} + \newcommand{\lemmaname}{Lemma} + \newcommand{\propositionname}{Proposition} + \newcommand{\corollaryname}{Corollary} + \newcommand{\examplename}{Example} + \newcommand{\exercisename}{Exercise} + \newcommand{\remarkname}{Remark} + \newcommand{\assumptionname}{Assumption} + \newcommand{\conclusionname}{Conclusion} + \newcommand{\solutionname}{Solution} + \newcommand{\propertyname}{Property} + \newcommand{\introductionname}{Introduction} + \renewcommand{\appendixname}{Appendix} + \newcommand{\ebibname}{Bibliography} + % \newcommand{\problemsetname}{Exercise} + \newcommand\bioinfo[2]{\gdef\@bioinfo{\textbf{#1}: #2}} + \newcommand{\updatename}{Updates:} + \newcommand{\historyname}{Version History} +}{\relax} + +\ifdefstring{\ELEGANT@lang}{it}{ + % \RequirePackage[utf8]{inputenc} + \RequirePackage[italian]{babel} + % \RequirePackage[T1]{fontenc} + \setlength\parindent{2em} + \newcommand\figref[1]{\textbf{Figura}~\ref{#1}} + \newcommand\tabref[1]{\textbf{Tabella}~\ref{#1}} + \renewcommand{\chaptername}{Chapter} + \newcommand{\authorname}{\textbf{Autore: }} + \newcommand{\institutename}{\textbf{Istituto: }} + \newcommand{\datename}{\textbf{Data: }} + \newcommand{\versionname}{\textbf{Versione: }} + \newcommand{\notename}{Nota} + \newcommand{\proofname}{Dimostrazione} + \newcommand{\problemname}{Problema} + \newcommand{\definitionname}{Definizione} + \newcommand{\theoremname}{Teorema} + \newcommand{\axiomname}{Assioma} + \newcommand{\postulatename}{Postulato} + \newcommand{\lemmaname}{Lemma} + \newcommand{\propositionname}{Proposizione} + \newcommand{\corollaryname}{Corollario} + \newcommand{\examplename}{Esempio} + \newcommand{\exercisename}{Esercizio} + \newcommand{\remarkname}{Commento} + \newcommand{\assumptionname}{Assunto} + \newcommand{\conclusionname}{Conclusione} + \newcommand{\solutionname}{Soluzione} + \newcommand{\propertyname}{Proprietà} + \newcommand{\introductionname}{Introduzione} + \newcommand\bioinfo[2]{\gdef\@bioinfo{\textbf{#1}: #2}} + \newcommand{\updatename}{Aggiornamenti:} + \newcommand{\ebibname}{Bibliografia} + \newcommand{\historyname}{Cronologia delle versioni} +}{\relax} + +\ifdefstring{\ELEGANT@lang}{fr}{ + \RequirePackage[utf8]{inputenc} + \RequirePackage[T1]{fontenc} + \RequirePackage[french]{babel} + \setlength\parindent{2em} + \renewcommand\figref[1]{\textbf{Figure}\ref{#1}} + \renewcommand\tabref[1]{\textbf{Tableau}\ref{#1}} + \renewcommand{\chaptername}{Chapitre} + \renewcommand{\authorname}{\textbf{Auteur: }} + \renewcommand{\institutename}{\textbf{Institut: }} + \renewcommand{\datename}{\textbf{Date: }} + \renewcommand{\versionname}{\textbf{Version: }} + \renewcommand{\notename}{Note} + \renewcommand{\proofname}{Démonstration} + \renewcommand{\problemname}{Problème} + \renewcommand{\definitionname}{Définition} + \renewcommand{\theoremname}{Théorème} + \renewcommand{\axiomname}{Axiôme} + \renewcommand{\postulatename}{Postulat} + \renewcommand{\lemmaname}{Lemme} + \renewcommand{\propositionname}{Proposition} + \renewcommand{\corollaryname}{Corollaire} + \renewcommand{\examplename}{Exemple} + \renewcommand{\exercisename}{Exercice} + \renewcommand{\remarkname}{Remarque} + \renewcommand{\assumptionname}{Supposition} + \renewcommand{\conclusionname}{Conclusion} + \renewcommand{\solutionname}{Solution} + \renewcommand{\propertyname}{Propriété} + \renewcommand{\introductionname}{Introduction} + \renewcommand{\problemsetname}{Exercice} + \renewcommand{\updatename}{Mises à jour:} + \newcommand{\ebibname}{Bibliographie} + \renewcommand{\historyname}{Historique des versions} +}{\relax} + + +\ifdefstring{\ELEGANT@lang}{nl}{ + \RequirePackage[dutch]{babel} + \setlength\parindent{2em} + \newcommand\figref[1]{\textbf{Figuur}~\ref{#1}} + \newcommand\tabref[1]{\textbf{Tabel}~\ref{#1}} + \renewcommand{\chaptername}{Hoofdstuk} + \newcommand{\authorname}{\textbf{Auteur: }} + \newcommand{\institutename}{\textbf{Instituut: }} + \newcommand{\datename}{\textbf{Datum: }} + \newcommand{\versionname}{\textbf{Versie: }} + \newcommand{\notename}{Opmerking} + \newcommand{\proofname}{Bewijs} + \newcommand{\problemname}{Probleem} + \newcommand{\definitionname}{Definitie} + \newcommand{\theoremname}{Stelling} + \newcommand{\axiomname}{Uitgangspunt} + \newcommand{\postulatename}{Hypothese} + \newcommand{\lemmaname}{Lemma} + \newcommand{\propositionname}{Voorstel} + \newcommand{\corollaryname}{Gevolgtrekking} + \newcommand{\examplename}{Voorbeeld} + \newcommand{\exercisename}{Oefening} + \newcommand{\remarkname}{Commentaar} + \newcommand{\assumptionname}{Veronderstelling} + \newcommand{\conclusionname}{Besluit} + \newcommand{\solutionname}{Oplossing} + \newcommand{\propertyname}{Eigenschap} + \newcommand{\introductionname}{Introductie} + \newcommand{\problemsetname}{Probleemcomplex} + \newcommand\bioinfo[2]{\gdef\@bioinfo{\textbf{#1}: #2}} + \newcommand{\updatename}{Update:} + \newcommand{\ebibname}{Bibliographie} + \newcommand{\historyname}{Versie Geschiedenis} +}{\relax} + + +\ifdefstring{\ELEGANT@lang}{hu}{ + \RequirePackage[magyar]{babel} + \setlength\parindent{2em} + \newcommand\figref[1]{\ref{#1}~\textbf{Ábra}} + \newcommand\tabref[1]{\ref{#1}~\textbf{Táblázat}} + \renewcommand{\chaptername}{Fejezet} + \newcommand{\authorname}{\textbf{Szerző: }} + \newcommand{\institutename}{\textbf{Intézmény: }} + \newcommand{\datename}{\textbf{Dátum: }} + \newcommand{\versionname}{\textbf{Verziószám: }} + \newcommand{\notename}{Jegyzet} + \newcommand{\proofname}{Bizonyítás} + \newcommand{\problemname}{Probléma} + \newcommand{\definitionname}{Definíció} + \newcommand{\theoremname}{Tétel} + \newcommand{\axiomname}{Axióma} + \newcommand{\postulatename}{Követelmény} + \newcommand{\lemmaname}{Lemma} + \newcommand{\propositionname}{Előzmény} + \newcommand{\corollaryname}{Következmény} + \newcommand{\examplename}{Példa} + \newcommand{\exercisename}{Feladat} + \newcommand{\remarkname}{Megjegyzés} + \newcommand{\assumptionname}{Sejtés} + \newcommand{\conclusionname}{Összefoglalás} + \newcommand{\solutionname}{Megoldás} + \newcommand{\propertyname}{Tulajdonság} + \newcommand{\introductionname}{Bevezetés} + \newcommand{\problemsetname}{Feladatok} + \newcommand\bioinfo[2]{\gdef\@bioinfo{\textbf{#1}: #2}} + \newcommand{\updatename}{Frissítve:} + \newcommand{\ebibname}{Bibliográfia} + \newcommand{\historyname}{Korábbi verziók} +}{\relax} + +\ifdefstring{\ELEGANT@lang}{de}{ + \setlength\parindent{2em} + \renewcommand{\contentsname}{Inhaltsverzeichnis} + \newcommand\figref[1]{\textbf{Figur}~\ref{#1}} + \newcommand\tabref[1]{\textbf{Tabelle}~\ref{#1}} + \renewcommand{\partname}{\color{structurecolor} Teil} + \renewcommand{\listfigurename}{Abbildungsverzeichnis} + \renewcommand{\listtablename}{Tabellenverzeichnis} + \renewcommand{\bibname}{Bibliographie} + \renewcommand{\appendixname}{Anhang} + \renewcommand{\chaptername}{Kapitel} + \newcommand{\authorname}{\textbf{Autor: }} + \newcommand{\institutename}{\textbf{Institut: }} + \newcommand{\datename}{\textbf{Datum: }} + \newcommand{\versionname}{\textbf{Version: }} + \newcommand{\notename}{Notiz} + \newcommand{\proofname}{Beweis} + \newcommand{\problemname}{Problem} + \newcommand{\definitionname}{Definition} + \newcommand{\theoremname}{Theorem} + \newcommand{\axiomname}{Axiom} + \newcommand{\postulatename}{Postulat} + \newcommand{\lemmaname}{Lemma} + \newcommand{\propositionname}{Behauptung} + \newcommand{\corollaryname}{Corollary} + \newcommand{\examplename}{Beispiel} + \newcommand{\instancename}{Beispiel} % + \newcommand{\exercisename}{\"{U}bung} + \newcommand{\remarkname}{Anmerkung} + \newcommand{\assumptionname}{Annahme} + \newcommand{\conclusionname}{Abschluss} + \newcommand{\solutionname}{Aufl\"{o}sung} + \newcommand{\propertyname}{Property} + \newcommand{\introductionname}{Einleitung} + \newcommand\bioinfo[2]{\gdef\@bioinfo{\textbf{#1}: #2}} + \newcommand{\updatename}{Updates:} + \renewcommand{\ebibname}{Bibliographie} + \newcommand{\historyname}{Version der Geschichte} +}{\relax} + +\ifdefstring{\ELEGANT@lang}{es}{ + \RequirePackage[spanish]{babel} + \setlength\parindent{2em} + \newcommand\figref[1]{\textbf{Figura}~\ref{#1}} + \newcommand\tabref[1]{\textbf{Tabla}~\ref{#1}} + \renewcommand{\spanishchaptername}{Capítulo} + \newcommand{\authorname}{\textbf{Autor: }} + \newcommand{\institutename}{\textbf{Instituto: }} + \newcommand{\datename}{\textbf{Fecha: }} + \newcommand{\versionname}{\textbf{Versión: }} + \newcommand{\notename}{Nota} + \newcommand{\proofname}{Demostración} + \newcommand{\problemname}{Problema} + \newcommand{\definitionname}{Definición} + \newcommand{\theoremname}{Teorema} + \newcommand{\axiomname}{Axioma} + \newcommand{\postulatename}{Postulado} + \newcommand{\lemmaname}{Lema} + \newcommand{\propositionname}{Proposición} + \newcommand{\corollaryname}{Corolario} + \newcommand{\examplename}{Ejemplo} + \newcommand{\exercisename}{Ejercicio} + \newcommand{\remarkname}{Comentario} + \newcommand{\assumptionname}{Asunto} + \newcommand{\conclusionname}{Conclusión} + \newcommand{\solutionname}{Solución} + \newcommand{\propertyname}{Propiedad} + \newcommand{\introductionname}{Introducción} + \newcommand{\problemsetname}{Ejercicio} + \newcommand\bioinfo[2]{\gdef\@bioinfo{\textbf{#1}: #2}} + \newcommand{\updatename}{Actualización:} + \newcommand{\ebibname}{Bibliografía} + \newcommand{\historyname}{Historial de versiones} +}{\relax} + +\ifdefstring{\ELEGANT@lang}{mn}{ + \RequirePackage[mongolian]{babel} + \RequirePackage[utf8]{inputenc} + \RequirePackage[T2A]{fontenc} + \setlength\parindent{2em} + \newcommand\figref[1]{\textbf{Зураг}\ref{#1}} + \newcommand\tabref[1]{\textbf{Хүснэгт}\ref{#1}} + \renewcommand{\chaptername}{Бүлэг} + \newcommand{\authorname}{\textbf{Зохиогч: }} + \newcommand{\institutename}{\textbf{Сургууль: }} + \newcommand{\datename}{\textbf{Огноо: }} + \newcommand{\versionname}{\textbf{Хувилбар: }} + \newcommand{\notename}{Тэмдэглэл} + \newcommand{\proofname}{Баталгаа} + \newcommand{\problemname}{Бодлого} + \newcommand{\definitionname}{Тодорхойлолт} + \newcommand{\theoremname}{Томьёо} + \newcommand{\axiomname}{Аксиом} + \newcommand{\postulatename}{Постулат} + \newcommand{\lemmaname}{Лемма} + \newcommand{\propositionname}{Таамаглал} + \newcommand{\corollaryname}{Үр дүн} + \newcommand{\examplename}{Жишээ} + \newcommand{\exercisename}{Дасгал} + \newcommand{\remarkname}{Тайлбар} + \newcommand{\assumptionname}{Урьдчилсан нөхцөл} + \newcommand{\conclusionname}{Дүгнэлт} + \newcommand{\solutionname}{Хариулт} + \newcommand{\propertyname}{Шинж чанар} + \newcommand{\introductionname}{Удиртгал} + \newcommand{\problemsetname}{Бодлогууд} + \newcommand\bioinfo[2]{\gdef@bioinfo{\textbf{#1}: #2}} + \newcommand{\updatename}{Шинэчлэлтүүд:} + \newcommand{\ebibname}{Ном зүй} + \newcommand{\historyname}{Хувилбарын түүх} +}{\relax} + + +\ifdefstring{\ELEGANT@lang}{pt}{ + \RequirePackage[portuguese]{babel} + \setlength\parindent{2em} + \newcommand\figref[1]{\textbf{Figura}~\ref{#1}} + \newcommand\tabref[1]{\textbf{Tabela}~\ref{#1}} + \renewcommand{\chaptername}{Capítulo} + \newcommand{\authorname}{\textbf{Autor: }} + \newcommand{\institutename}{\textbf{Instituição: }} + \newcommand{\datename}{\textbf{Data: }} + \newcommand{\versionname}{\textbf{Versão: }} + \newcommand{\notename}{Observação} + \newcommand{\proofname}{Demostração} + \newcommand{\problemname}{Problema} + \newcommand{\definitionname}{Definição} + \newcommand{\theoremname}{Teorema} + \newcommand{\axiomname}{Axioma} + \newcommand{\postulatename}{Postulado} + \newcommand{\lemmaname}{Lema} + \newcommand{\propositionname}{Proposição} + \newcommand{\corollaryname}{Corolário} + \newcommand{\examplename}{Exemplo} + \newcommand{\exercisename}{Exercício} + \newcommand{\remarkname}{Comentário} + \newcommand{\assumptionname}{Assunto} + \newcommand{\conclusionname}{Conclusão} + \newcommand{\solutionname}{Soluções} + \newcommand{\propertyname}{Propiedade} + \newcommand{\introductionname}{Introdução} + \newcommand{\problemsetname}{Questão} + \newcommand\bioinfo[2]{\gdef\@bioinfo{\textbf{#1}: #2}} + \newcommand{\updatename}{Atualização: } + \newcommand{\ebibname}{Bibliografia} + \newcommand{\historyname}{Histórico de versões} +}{\relax} + + +\ifdefstring{\ELEGANT@lang}{jp}{ + \RequirePackage{luatexja} + \setlength\parindent{2em} + \renewcommand{\contentsname}{目次} + \newcommand\figref[1]{\textbf{図}~\ref{#1}} + \newcommand\tabref[1]{\textbf{表}~\ref{#1}} + \renewcommand{\partname}{\color{structurecolor}} + \renewcommand{\listfigurename}{イラストカタログ} + \renewcommand{\listtablename}{表カタログ} + \renewcommand{\bibname}{参考文献} + \renewcommand{\appendixname}{付録} + \renewcommand{\chaptername}{第 \thechapter 章} + \newcommand{\authorname}{\textbf{著者:}} + \newcommand{\institutename}{\textbf{組織団体:}} + \newcommand{\datename}{\textbf{日付:}} + \newcommand{\versionname}{\textbf{\citshape バージョン:}} + \newcommand{\notename}{ノート} + \newcommand{\proofname}{証明} + \newcommand{\problemname}{問題} + \newcommand{\definitionname}{定義} + \newcommand{\theoremname}{定理} + \newcommand{\axiomname}{公理} + \newcommand{\postulatename}{公準} + \newcommand{\lemmaname}{補題} + \newcommand{\propositionname}{命題} + \newcommand{\corollaryname}{系} + \newcommand{\examplename}{例題} + \newcommand{\instancename}{例} + \newcommand{\exercisename}{練習} + \newcommand{\remarkname}{注} + \newcommand{\assumptionname}{仮設} + \newcommand{\conclusionname}{結論} + \newcommand{\solutionname}{解答} + \newcommand{\propertyname}{性質} + \newcommand{\introductionname}{内容概要} + \newcommand\bioinfo[2]{\gdef\@bioinfo{\textbf{#1}: #2}} + \newcommand{\updatename}{更新:} + \newcommand{\ebibname}{参考文献} + \newcommand{\historyname}{バージョン更新履歴} +}{\relax} + + +\graphicspath{{./figure/}{./figures/}{./image/}{./images/}{./graphics/}{./graphic/}{./pictures/}{./picture/}} + +\RequirePackage{tikz} %% load tikz without tikz +\usetikzlibrary{backgrounds,calc,shadows,positioning,fit} +\newcommand*\circled[1]{\tikz[baseline=(char.base)]{ + \node[shape=circle,draw,inner sep=1pt] (char) {#1};}} +% https://tex.stackexchange.com/questions/7032/good-way-to-make-textcircled-numbers + +\newcommand*{\eitemi}{\tikz \draw [baseline, ball color=structurecolor,draw=none] circle (2pt);} +\newcommand*{\eitemii}{\tikz \draw [baseline, fill=structurecolor,draw=none,circular drop shadow] circle (2pt);} +\newcommand*{\eitemiii}{\tikz \draw [baseline, fill=structurecolor,draw=none] circle (2pt);} +\setlist[enumerate,1]{label=\color{structurecolor}\arabic*.} +\setlist[enumerate,2]{label=\color{structurecolor}(\alph*).} +\setlist[enumerate,3]{label=\color{structurecolor}\Roman*.} +\setlist[enumerate,4]{label=\color{structurecolor}\Alph*.} +\setlist[itemize,1]{label={\eitemi}} +\setlist[itemize,2]{label={\eitemii}} +\setlist[itemize,3]{label={\eitemiii}} + +\RequirePackage{apptools} + +% appendix chapter: + +\ifdefstring{\ELEGANT@lang}{cn}{ + \ifdefstring{\ELEGANT@scheme}{chinese}{ + \newcommand{\xchaptertitle}{第\zhnumber{\arabic{chapter}}章} }{ + \newcommand{\xchaptertitle}{第 \thechapter{} 章}} +% Hyperref 2022/05/16's changelog.txt said +% * nameref is loaded always and earlier (issue#235) + \AtBeginDocument{ + \ifELEGANT@Hy@later + \patchcmd{\NR@chapter}% + {\numberline{\thechapter}}{\numberline{\xchaptertitle}}% + {}{\fail} + \else + \patchcmd{\Hy@org@chapter}% + {\numberline{\thechapter}}{\numberline{\xchaptertitle}}% + {}{\fail} + \fi + } + } + {\newcommand{\xchaptertitle}{\chaptername~\thechapter~}} + +\setcounter{secnumdepth}{5} +\titleformat{\chapter}[\style]{\bfseries}{ + \filcenter\huge\enspace\bfseries{\color{structurecolor} \IfAppendix{\appendixname\;\thechapter\;}{\xchaptertitle\;}}}{1pt}{ + \huge\bfseries\color{structurecolor}\filcenter}[] +\titleformat{\section}[hang]{\bfseries}{ + \LARGE\bfseries{\color{structurecolor}\thesection}\enspace}{1pt}{% + \color{structurecolor}\LARGE\bfseries\filright} +\titleformat{\subsection}[hang]{\bfseries}{ + \Large\bfseries\color{structurecolor}\thesubsection\enspace}{1pt}{% + \color{structurecolor}\Large\bfseries\filright} +\titleformat{\subsubsection}[hang]{\bfseries}{ + \large\bfseries\color{structurecolor}\thesubsubsection\enspace}{1pt}{% + \color{structurecolor}\large\bfseries\filright} + +\titlespacing{\chapter}{0pt}{-20pt}{1.3\baselineskip} +%\titlespacing{\subsection}{0pt}{0.5\baselineskip}{-\baselineskip} + + + +%%define the +%%definition theorem postulate axiom corollary lemma proposition +%%and proof environment +\RequirePackage{pifont,manfnt,bbding} +\RequirePackage[many]{tcolorbox} +% \newlength{\normalparindent} +% \setlength{\normalparindent}{\parindent} +\newcommand{\ELEGANT@tmp@tl}{} +\ifELEGANT@usesamecnt + \newcounter{ELEGANT@samecnt} + \counterwithin{ELEGANT@samecnt}{\ELEGANT@thmcnt} + \tcbset{ + new/usesamecnt/.style = {use counter = ELEGANT@samecnt} + } +\else + \tcbset{ + new/usesamecnt/.style = {} + } +\fi + +\ifdefstring{\ELEGANT@mode}{fancy}{ + \tcbset{ + common/.style={ + fontupper=\citshape, + lower separated=false, + % before upper={\setlength{\parindent}{\normalparindent}}, + coltitle=white, + colback=gray!5, + boxrule=0.5pt, + fonttitle=\bfseries, + enhanced, + breakable, + top=8pt, + before skip=8pt, + attach boxed title to top left={ + yshift=-0.11in, + xshift=0.15in}, + boxed title style={ + boxrule=0pt, + colframe=white, + arc=0pt, + outer arc=0pt}, + separator sign={.},}, + defstyle/.style={ + common, + colframe=main, + colback=main!5, + colbacktitle=main, + overlay unbroken and last={ + \node[anchor=south east, outer sep=0pt] at (\linewidth-width,0) { + \textcolor{main}{$\clubsuit$}};}}, + thmstyle/.style={ + common, + colframe=second, + colback=second!5, + colbacktitle=second, + overlay unbroken and last={ + \node[anchor=south east, outer sep=0pt] at (\linewidth-width,0) { + \textcolor{second}{$\heartsuit$}};}}, + prostyle/.style={ + common, + colframe=third, + colback=third!5, + colbacktitle=third, + overlay unbroken and last={ + \node[anchor=south east, outer sep=0pt] at (\linewidth-width,0) { + \textcolor{third}{$\spadesuit$}};}}, + ELEGANT@title/.code n args={2} + { + + \tcbset + { + title= + { + \csname #1name\endcsname~% + \ifdef{\thetcbcounter}{\thetcbcounter}{}% + \ifblank{#2}{}{\ (#2)} + } + } + }, + ELEGANT@label/.code n args={2} + { + \ifblank{#2} + {}{\tcbset{label={#1:#2}}} + } + } + + % define an internal control sequence \ELEGANT@newtheorem for fancy mode's newtheorem + % #1 is the environment name, #2 is the prefix of label, #3 is the style + % style: thmstyle, defstyle, prostyle + % e.g. \ELEGANT@newtheorem{theorem}{thm}{thmstyle} + % will define two environments: numbered ``theorem'' and no-numbered ``theorem*'' + % WARNING FOR MULTILINGUAL: this cs will automatically find \theoremname's definition, + % WARNING FOR MULTILINGUAL: it should be defined in language settings. + \NewDocumentCommand \ELEGANT@newtheorem { m m m O{} }{ + \ifcsundef{#1name}{% + \ClassError{elegantbook}{% + \ #1name undefined, \MessageBreak + Please check in language setting + }{} + }{\relax} + \expandafter\ifblank\expandafter{#4}{ + \tcbset{ + new/usecnt/.style={} + } + }{ + \tcbset{ + new/usecnt/.style= {use counter from = #4} + } + } + \DeclareTColorBox[auto counter,number within=\ELEGANT@thmcnt,usesamecnt,usecnt]{#1}{ g o t\label g }{ + common,#3, + IfValueTF={##1} + {ELEGANT@title={#1}{##1}} + { + IfValueTF={##2} + {ELEGANT@title={#1}{##2}} + {ELEGANT@title={#1}{}} + }, + IfValueT={##4} + { + IfBooleanTF={##3} + {label={##4}} + {ELEGANT@label={#2}{##4}} + } + } + \DeclareTColorBox{#1*}{ g o }{ + common,#3, + IfValueTF={##1} + {ELEGANT@title={#1}{##1}} + { + IfValueTF={##2} + {ELEGANT@title={#1}{##2}} + {ELEGANT@title={#1}{}} + }, + } + } + % define several environment + % we define headers like \definitionname before + \ELEGANT@newtheorem{theorem}{thm}{thmstyle} + \ELEGANT@newtheorem{definition}{def}{defstyle} + \ELEGANT@newtheorem{postulate}{pos}{thmstyle} + \ELEGANT@newtheorem{axiom}{axi}{thmstyle} + \ELEGANT@newtheorem{corollary}{cor}{thmstyle} + \ELEGANT@newtheorem{lemma}{lem}{thmstyle} + \ELEGANT@newtheorem{proposition}{pro}{prostyle} +}{\relax} + + +\ifdefstring{\ELEGANT@mode}{simple}{ + \let\openbox\relax + \RequirePackage{amsthm} + \let\proof\relax + % \let\proofname\relax + \let\endproof\relax + + % declare new theorem styles: defstyle, thmstyle, prostyle + \newtheoremstyle{defstyle}{3pt}{3pt}{\citshape}{-3pt}{ + \bfseries\color{main}}{}{0.5em}{\thmname{#1} \thmnumber{#2} \thmnote{(#3)}} + \newtheoremstyle{thmstyle}{3pt}{3pt}{\citshape}{-3pt}{ + \bfseries\color{second}}{}{0.5em}{\thmname{#1} \thmnumber{#2} \thmnote{(#3)}} + \newtheoremstyle{prostyle}{3pt}{3pt}{\citshape}{-3pt}{ + \bfseries\color{third}}{}{0.5em}{\thmname{#1} \thmnumber{#2} \thmnote{(#3)}} + + % define an internal control sequence \ELEGANT@newtheorem for simple mode's newtheorem + % #1 is the environment name, #2 is the style + % style: thmstyle, defstyle, prostyle + % e.g. \ELEGANT@newtheorem{theorem}{thmstyle} + % will define two environments: numbered ``theorem'' and no-numbered ``theorem*'' + % WARNING FOR MULTILINGUAL: this cs will automatically find \theoremname's definition, + % WARNING FOR MULTILINGUAL: it should be defined in language settings. + \NewDocumentCommand \ELEGANT@newtheorem { m m O{} } { + \theoremstyle{#2} + \ifELEGANT@usesamecnt + \newtheorem{#1}[ELEGANT@samecnt]{\csname #1name\endcsname} + \else + \ifblank{#3}{ + \newtheorem{#1}{\csname #1name\endcsname}[\ELEGANT@thmcnt] + }{ + \newtheorem{#1}[#3]{\csname #1name\endcsname} + } + \fi + \newtheorem*{#1*}{\csname #1name\endcsname} + } + + % define several environment + % we define headers like \definitionname before + \ELEGANT@newtheorem{theorem}{thmstyle} + \ELEGANT@newtheorem{definition}{defstyle} + \ELEGANT@newtheorem{postulate}{thmstyle} + \ELEGANT@newtheorem{axiom}{thmstyle} + \ELEGANT@newtheorem{corollary}{thmstyle} + \ELEGANT@newtheorem{lemma}{thmstyle} + \ELEGANT@newtheorem{proposition}{prostyle} +}{\relax} + +% define an user control sequence \elegantnewtheorem +% #1 is the evironment, #2 is the theorem header +% #3 is the style #4 is the prefix for fancy mode +% style: thmstyle, defstyle, prostyle +% if #4 is given in simple mode, an error will be raised +% if #4 isn't given in fancy mode, the prefix will be set equal to #1, +% and a warning will be raised +\newcommand{\ELEGANT@newtheorem@warning}{} +\newcommand{\ELEGANT@newtheorem@error}{} +\newcommand{\ELEGANT@usesamecnt@warning}{} +\NewDocumentCommand\elegantnewtheorem{ m m m g O{} } + { + \renewcommand{\ELEGANT@usesamecnt@warning}{ + \ClassWarning{elegantbook}{% + [#5] won't make sence with option \MessageBreak + `usesamecnt'. + } + } + \renewcommand{\ELEGANT@newtheorem@warning}{ + \ClassWarning{elegantbook}{% + Because you didn't provide a prefix, \MessageBreak + we use #1 as the default prefix. \MessageBreak + You have to use \MessageBreak + \ref{#1:label} to refer a \MessageBreak + \begin{#1}{name}{label} environment. \MessageBreak + } + } + \renewcommand{\ELEGANT@newtheorem@error}{ + \ClassError{elegantbook}{% + You can't set a prefix in mode ``simple''.\MessageBreak + Just use \MessageBreak + \elegantnewtheorem{#1}{#2}{#3} + }{% + We are using ``amsthm'' package to \MessageBreak + generate theorem-like theorem. \MessageBreak + The 4th parameter ``prefix'' isn't allowed. + } + } + \ifELEGANT@usesamecnt + \ifblank{#5}{}{\ELEGANT@usesamecnt@warning} + \else + \renewcommand{\ELEGANT@tmp@tl}{#5} + \fi + \expandafter\def\csname #1name\endcsname{#2} + \ifdefstring{\ELEGANT@mode}{simple}{% + \IfValueTF{#4} + {\ELEGANT@newtheorem@error} + {\ELEGANT@newtheorem{#1}{#3}[\ELEGANT@tmp@tl]} + }{\relax} + \ifdefstring{\ELEGANT@mode}{fancy}{% + \IfValueTF{#4} + { + \def\ELEGANT@temp@prefix{#4} + \ifdefempty{\ELEGANT@temp@prefix} + { + \ELEGANT@newtheorem{#1}{#1}{#3}[\ELEGANT@tmp@tl] + \ELEGANT@newtheorem@warning + } + {\ELEGANT@newtheorem{#1}{#4}{#3}[\ELEGANT@tmp@tl]} + } + { + \ELEGANT@newtheorem{#1}{#1}{#3}[\ELEGANT@tmp@tl] + \ELEGANT@newtheorem@warning + } + }{\relax} + } + +% main(green-def): example exercise problem solution +% second(orange-thm): proof note remark +% third(blue-prop): assumptions property conclusion custom + +%% Example with counter +\newcounter{exam}[chapter] +\setcounter{exam}{0} +\renewcommand{\theexam}{\thechapter.\arabic{exam}} +\newenvironment{example}[1][]{ + \refstepcounter{exam} + \par\noindent\textbf{\color{main}{\examplename} \theexam #1 }\rmfamily}{ + \par\ignorespacesafterend} + +%% Exercise with counter +\newcounter{exer}[chapter] +\setcounter{exer}{0} +\renewcommand{\theexer}{\thechapter.\arabic{exer}} +\newenvironment{exercise}[1][]{ + \refstepcounter{exer} + \par\noindent\makebox[-3pt][r]{ + \scriptsize\color{red!90}\HandPencilLeft\quad} + \textbf{\color{main}{\exercisename} \theexer #1 }\rmfamily}{ + \par\ignorespacesafterend} + +%% Problem with counter +\newcounter{prob}[chapter] +\setcounter{prob}{0} +\renewcommand{\theprob}{\thechapter.\arabic{prob}} +\newenvironment{problem}[1][]{ + \refstepcounter{prob} + \par\noindent\textbf{\color{main}{\problemname} \theprob #1 }\rmfamily}{ + \par\ignorespacesafterend} + +\newenvironment{note}{ + \par\noindent\makebox[-3pt][r]{ + \scriptsize\color{red!90}\textdbend\quad} + \textbf{\color{second}\notename} \citshape}{\par} + +\newenvironment{proof}{ + \par\noindent\textbf{\color{second}\proofname\;} + \color{black!90}\cfs}{ + % \hfill$\Box$\quad + \par} + +\newenvironment{solution}{\par\noindent\textbf{\color{main}\solutionname} \citshape}{\par} +\newenvironment{remark}{\noindent\textbf{\color{second}\remarkname}}{\par} +\newenvironment{assumption}{\par\noindent\textbf{\color{third}\assumptionname} \citshape}{\par} +\newenvironment{conclusion}{\par\noindent\textbf{\color{third}\conclusionname} \citshape}{\par} +\newenvironment{property}{\par\noindent\textbf{\color{third}\propertyname} \citshape}{\par} +\newenvironment{custom}[1]{\par\noindent\textbf{\color{third} #1} \citshape}{\par} + +\RequirePackage{multicol} +\tcbset{ + introductionsty/.style={ + enhanced, + breakable, + colback=structurecolor!10, + colframe=structurecolor, + fonttitle=\bfseries, + colbacktitle=structurecolor, + fontupper=\citshape, + attach boxed title to top center={yshift=-3mm,yshifttext=-1mm}, + boxrule=0pt, + toprule=0.5pt, + bottomrule=0.5pt, + top=8pt, + before skip=8pt, + sharp corners + }, +} + + +\newenvironment{introduction}[1][\introductionname]{ + \begin{tcolorbox}[introductionsty,title={#1}] + \begin{multicols}{2} + \begin{itemize}[label=\textcolor{structurecolor}{\upshape\scriptsize\SquareShadowBottomRight}]}{ + \end{itemize} + \end{multicols} + \end{tcolorbox}} + +\RequirePackage{adforn} + +\newenvironment{problemset}[1][\xchaptertitle~\exercisename]{ + \vspace*{10pt} + \begin{center} + \phantomsection\addcontentsline{toc}{section}{\texorpdfstring{\xchaptertitle~\exercisename}{\exercisename}} + % \markboth{#1}{\rightmark} + \markright{#1} + \textcolor{structurecolor}{\Large\bfseries\adftripleflourishleft~#1~\adftripleflourishright} + \end{center} + \begin{enumerate}}{ + \end{enumerate}} + +\def\relsec{\endgroup start} +\def\endrelsec{end\begingroup\def \@currenvir {relsec}} + +\ifdefstring{\ELEGANT@result}{noanswer}{ + \AtBeginDocument{ + \excludecomment{solution} + \excludecomment{proof} + \excludecomment{inline} + } +}{\relax} + + +%页眉页脚 +\RequirePackage{fancyhdr} +\fancyhf{} + + +\fancyfoot[c]{\color{structurecolor}\small\thepage} +\if@twoside + \fancyhead[EL]{\color{structurecolor}\cnormal\leftmark} + \fancyhead[OR]{\color{structurecolor}\cnormal\rightmark} +\else + \fancyhead[R]{\color{structurecolor}\cnormal\rightmark} +\fi + +\renewcommand{\headrule}{\color{structurecolor}\hrule width\textwidth} +\pagestyle{fancy} +\renewcommand{\headrulewidth}{1pt} +% \renewcommand{\headrule}{} +\fancypagestyle{plain}{\renewcommand{\headrulewidth}{0pt}\fancyhf{}\renewcommand{\headrule}{}} +\renewcommand{\sectionmark}[1]{\markright{\thesection\, #1}{}} +\renewcommand{\chaptermark}[1]{\markboth{\xchaptertitle\, #1}{}} + + +\renewcommand*{\maketitle}{% +\hypersetup{pageanchor=false} +\pagenumbering{Alph} +\begin{titlepage} + \newgeometry{margin = 0in} + \parindent=0pt + \ifdefstring{\ELEGANT@device}{normal}{ + \ifcsname @cover\endcsname + \includegraphics[width=\linewidth]{\@cover} + \else + \includegraphics[width=\linewidth]{example-image} + \fi + }{\relax} + \ifdefstring{\ELEGANT@device}{pad}{ + \ifcsname @cover\endcsname + \includegraphics[trim=0 26bp 0 26bp,clip=true, width=\linewidth]{\@cover} + \else + \includegraphics[trim=0 26bp 0 26bp,clip=true, width=\linewidth]{example-image} + \fi + }{\relax} + \setlength{\fboxsep}{0pt} + \colorbox{coverlinecolor}{\makebox[\linewidth][c]{\shortstack[c]{\vspace{0.5in}}}} + \vfill + \vskip-2ex + \hspace{2em} + \parbox{0.8\textwidth}{ + \bfseries\Huge + \ifcsname @title\endcsname \@title \fi + \par} + \vfill + \vspace{-1.0cm} + \setstretch{2.5} + \hspace{2.5em} + \begin{minipage}[c]{0.67\linewidth} + {\color{darkgray}\bfseries\Large + \ifcsname @subtitle\endcsname\@subtitle\\[2ex]\fi} + \color{gray}\normalsize + {\renewcommand{\arraystretch}{0.618} + \begin{tabular}{l} + % \ifcsname @author\endcsname \authorname \@author\\\fi + \ifx\@author\empty\else\authorname\cnormal\@author\\ \fi + \ifcsname @institute\endcsname \institutename \cnormal\@institute\\ \fi + % \ifcsname @date\endcsname \@date\\\fi + \ifx\@date\empty\else\datename\cnormal\@date \\ \fi + \ifcsname @version\endcsname \cnormal\versionname\@version\\ \fi + \ifcsname @bioinfo\endcsname \cnormal\@bioinfo\\ \fi + \end{tabular}} + \end{minipage} + \begin{minipage}[c]{0.27\linewidth} + \begin{tikzpicture}[remember picture,overlay] + \begin{pgfonlayer}{background} + \node[opacity=0.8, + anchor=south east, + outer sep=0pt, + inner sep=0pt] at ($(current page.south east) +(-0.8in,1.5in)$) { + \ifcsname @logo\endcsname\includegraphics[width=4.2cm]{\@logo}\fi}; + \end{pgfonlayer} + \end{tikzpicture} + \end{minipage} + \vfill + \begin{center} + \setstretch{1.3} + \parbox[t]{0.7\textwidth}{\centering \citshape + \ifcsname @extrainfo\endcsname\@extrainfo\fi} + \end{center} + \vfill +\end{titlepage} +\restoregeometry +\thispagestyle{empty}} + + +\newcommand{\dollar}{\mbox{\textdollar}} + +\RequirePackage{listings} +\renewcommand{\ttdefault}{cmtt} +\lstdefinestyle{mystyle}{ + basicstyle=% + \ttfamily + \lst@ifdisplaystyle\small\fi +} + +\lstset{basicstyle=\ttfamily,style=mystyle,breaklines=true} + +\definecolor{lightgrey}{rgb}{0.9,0.9,0.9} +\definecolor{frenchplum}{RGB}{190,20,83} +\lstset{language=[LaTeX]TeX, + texcsstyle=*\color{winered}, + numbers=none, + mathescape=false, + breaklines=true, + keywordstyle=\color{winered}, + commentstyle=\color{gray}, + emph={elegantpaper,fontenc,fontspec,xeCJK,citestyle,FiraMono,xunicode,figure,fig,image,img,table,itemize,enumerate,ctex,microtype,description,times,booktabs,tabular,PDFLaTeX,XeLaTeX,type1cm,BibTeX,device,color,mode,lang,amsthm,tcolorbox,titlestyle,cite,ctex,listings,base,math,scheme,toc,esint,chinesefont,amsmath,bibstyle,natbib,pgfornament,addbibresource,printbibliography}, + emphstyle={\color{frenchplum}}, + morekeywords={DeclareSymbolFont,SetSymbolFont,toprule,midrule,bottomrule,institute,version,includegraphics,setmainfont,setsansfont,setmonofont ,setCJKmainfont,setCJKsansfont,setCJKmonofont,RequirePackage,figref,tabref,email,maketitle,keywords,definecolor,extrainfo,logo,cover,subtitle,appendix,chapter,section,hypersetup,mainmatter,frontmatter,tableofcontents,elegantpar,heiti,kaishu,lstset,pagecolor,zhnumber,marginpar,part,equote,marginnote,bioinfo,datechange,listofchange,lvert,lastpage,songti,heiti,fangsong,setCJKfamilyfont,textbf,elegantnewtheorem,thmcnt,colorlet,usesamecnt}, + frame=single, + tabsize=2, + rulecolor=\color{structurecolor}, + framerule=0.2pt, + columns=flexible, + % backgroundcolor=\color{lightgrey} +} + +\newcommand\bmmax{0} +\RequirePackage{bm} + +% add the list of change history +\newcommand{\dateinfoline}[2]{ + \noindent\makebox[0pt][r]{% + \makebox[-3em][r]{% + \small + \textbf{\textcolor{structurecolor}{#1}}}\;\;}% + {\citshape\updatename\ignorespaces#2}} + +\newcommand{\datechange}[2]{% + \noindent{\makebox[\textwidth][r]{\color{structurecolor}\rule{1.15\textwidth}{.4pt}}} + \dateinfoline{#1}{#2} + \addcontentsline{dates}{section}{#1 -- #2}} + +\newcommand{\listofchanges}{% + \begingroup + \renewcommand{\contentsname}{\historyname} + \let\old@starttoc\@starttoc + \def\@starttoc##1{ + \old@starttoc{dates}} + \tableofcontents% + \endgroup} +% https://tex.stackexchange.com/questions/472931/list-of-all-dates-in-a-document + +\newenvironment{change}{ + \begin{enumerate}[label=\small\protect\circled{\arabic*}]}{ + \end{enumerate}} + + + +\renewcommand\tableofcontents{% + \hypersetup{linktoc=all, linkcolor=black} + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \chapter*{\contentsname + \@mkboth{% + \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}% + \ifdefstring{\ELEGANT@toc}{twocol}{ + \setlength{\columnsep}{2em} + \begin{multicols}{2}% + \@starttoc{toc} + \end{multicols}}{ + \@starttoc{toc}} + \if@restonecol\twocolumn\fi + \hypersetup{linkcolor=winered}} + + +\renewcommand*{\cleardoublepage}{\clearpage\if@twoside \ifodd\c@page\else +\hbox{}% +\thispagestyle{empty}% +\newpage% +\if@twocolumn\hbox{}\newpage\fi\fi\fi} + + +% https://tex.stackexchange.com/questions/56839/chaptername-is-used-even-for-appendix-chapters-in-toc +\RequirePackage{calc} +\RequirePackage[titles]{tocloft} +\ifdefstring{\ELEGANT@lang}{cn}{ + % \renewcommand{\cftchappresnum}{\beforechap\space} + % \renewcommand{\cftchapaftersnum}{\space\afterchap} + % \setlength{\cftchapnumwidth}{\widthof{\textbf{附录~十一}}} + \renewcommand{\numberline}[1]{% + \@cftbsnum #1\@cftasnum~\@cftasnumb ~% + } + \g@addto@macro\appendix{% + % recover \thechapter in the \NR@chapter's \numberline + \ifELEGANT@Hy@later + \patchcmd{\NR@chapter}% + {\numberline{\xchaptertitle}}{\numberline{\thechapter}}% + {}{\fail} + \else + \patchcmd{\Hy@org@chapter}% + {\numberline{\xchaptertitle}}{\numberline{\thechapter}}% + {}{\fail} + \fi + \addtocontents{toc}{% + \protect\renewcommand{\protect\cftchappresnum}{\appendixname\space}% + \protect\renewcommand{\protect\cftchapaftersnum}{}% + }% + } +}{ + \renewcommand{\cftchappresnum}{\chaptername\space} + \renewcommand{\cftchapaftersnum}{\space} + \setlength{\cftchapnumwidth}{\widthof{\textbf{Appendix~9}}} + \g@addto@macro\appendix{% + \addtocontents{toc}{% + \protect\renewcommand{\protect\cftchappresnum}{\appendixname\space}% + \protect\renewcommand{\protect\cftchapaftersnum}{}% + \setlength{\cftchapnumwidth}{\widthof{\textbf{Appendix~999}}} + }% + } +} + +% restore the tt default family to lmodern tt family +\renewcommand\ttdefault{lmtt} \ No newline at end of file