From 8a498aa6994959acf2a275319976396afea37059 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 1 Jul 2024 03:01:44 +0000 Subject: CTAN sync 202407010301 --- macros/latex/contrib/beautybook/Beautybook-CN.cls | 1165 ------------------ macros/latex/contrib/beautybook/Beautybook-EN.cls | 1166 ------------------ macros/latex/contrib/beautybook/Beautybook-cn.pdf | Bin 6210741 -> 0 bytes macros/latex/contrib/beautybook/Beautybook-cn.tex | 1002 ---------------- macros/latex/contrib/beautybook/README.md | 4 +- macros/latex/contrib/beautybook/beautybook-CN.cls | 1262 ++++++++++++++++++++ macros/latex/contrib/beautybook/beautybook-EN.cls | 1197 +++++++++++++++++++ macros/latex/contrib/beautybook/beautybook-cn.pdf | Bin 0 -> 6212741 bytes macros/latex/contrib/beautybook/beautybook-cn.tex | 1007 ++++++++++++++++ macros/latex/contrib/beautybook/beautybook-en.pdf | Bin 3706871 -> 3584660 bytes macros/latex/contrib/beautybook/beautybook-en.tex | 313 ++++- .../beautybook/stys/Beautybook-bottompage.sty | 81 -- .../beautybook/stys/Beautybook-cover-birkar.sty | 125 -- .../beautybook/stys/Beautybook-cover-cn.sty | 103 -- .../beautybook/stys/Beautybook-cover-en.sty | 87 -- .../beautybook/stys/Beautybook-cover-enfig.sty | 55 - .../beautybook/stys/beautybook-bottompage.sty | 81 ++ .../beautybook/stys/beautybook-cover-birkar.sty | 159 +++ .../beautybook/stys/beautybook-cover-cn.sty | 103 ++ .../beautybook/stys/beautybook-cover-en.sty | 87 ++ .../beautybook/stys/beautybook-cover-enfig.sty | 52 + macros/latex/contrib/preview/preview.dtx | 14 +- macros/latex/contrib/preview/preview.pdf | Bin 343466 -> 343806 bytes macros/latex/contrib/sjtutex/sjtutex.dtx | 31 +- macros/latex/contrib/sjtutex/sjtutex.pdf | Bin 723329 -> 724629 bytes 25 files changed, 4230 insertions(+), 3864 deletions(-) delete mode 100644 macros/latex/contrib/beautybook/Beautybook-CN.cls delete mode 100644 macros/latex/contrib/beautybook/Beautybook-EN.cls delete mode 100644 macros/latex/contrib/beautybook/Beautybook-cn.pdf delete mode 100644 macros/latex/contrib/beautybook/Beautybook-cn.tex create mode 100644 macros/latex/contrib/beautybook/beautybook-CN.cls create mode 100644 macros/latex/contrib/beautybook/beautybook-EN.cls create mode 100644 macros/latex/contrib/beautybook/beautybook-cn.pdf create mode 100644 macros/latex/contrib/beautybook/beautybook-cn.tex delete mode 100644 macros/latex/contrib/beautybook/stys/Beautybook-bottompage.sty delete mode 100644 macros/latex/contrib/beautybook/stys/Beautybook-cover-birkar.sty delete mode 100644 macros/latex/contrib/beautybook/stys/Beautybook-cover-cn.sty delete mode 100644 macros/latex/contrib/beautybook/stys/Beautybook-cover-en.sty delete mode 100644 macros/latex/contrib/beautybook/stys/Beautybook-cover-enfig.sty create mode 100644 macros/latex/contrib/beautybook/stys/beautybook-bottompage.sty create mode 100644 macros/latex/contrib/beautybook/stys/beautybook-cover-birkar.sty create mode 100644 macros/latex/contrib/beautybook/stys/beautybook-cover-cn.sty create mode 100644 macros/latex/contrib/beautybook/stys/beautybook-cover-en.sty create mode 100644 macros/latex/contrib/beautybook/stys/beautybook-cover-enfig.sty (limited to 'macros/latex') diff --git a/macros/latex/contrib/beautybook/Beautybook-CN.cls b/macros/latex/contrib/beautybook/Beautybook-CN.cls deleted file mode 100644 index d3ab12a333..0000000000 --- a/macros/latex/contrib/beautybook/Beautybook-CN.cls +++ /dev/null @@ -1,1165 +0,0 @@ -%This Class is based on the default book class and options will be passed -\NeedsTeXFormat{LaTeX2e} -\ProvidesClass{Beautybook-CN}[02-10-2023 V8.0 Beautybook Class] -\DeclareOption*{\PassOptionsToClass{\CurrentOption}{ctexbook}} -\ProcessOptions\relax -\LoadClass[twoside,a4paper]{ctexbook} -\RequirePackage[dvipsnames,svgnames,x11names,table]{xcolor} -\RequirePackage{cncolours} -\setmainfont{Times New Roman} -\setsansfont{HONOR Sans} -\setmonofont{Latin Modern Mono} -\colorlet{outermarginfgcolor}{DarkCyan} % foregroundcolor 较深 -\colorlet{outermarginbgcolor}{DarkCyan!30} % backgroundcolor 较浅 -\RequirePackage{bropd} % math 自适应数学括号命令 \br{} !!! -\RequirePackage{tikz-imagelabels} % tikz图像标注 -\RequirePackage{epigraph-keys} % 名言引用 -\RequirePackage{fitbox} % 图像自适应 -\RequirePackage{pgfornament-han} -\RequirePackage{tikz} -\usetikzlibrary{calc,shadows,hobby,intersections, decorations.markings, decorations.pathreplacing,spy,arrows,shapes,fadings,trees,mindmap,patterns,shapes.arrows,shapes.symbols,tikzmark,shapes.geometric,graphs, quotes, angles,decorations.pathmorphing,through,shadings,backgrounds,positioning,fit,arrows.meta,shapes.misc,decorations.shapes} -\RequirePackage{pgfplots} %画图 %%页面样式设计核心包 %提供\pgfonlayer命令以及下列图层指令 -\pgfplotsset{compat=1.18} -% -\ExplSyntaxOn -% 封面切换程序 (LaTeX3)! -\keys_define:nn {Beautybook/coverstyle} - { - cover-choose.choice:, - cover-choose.value_required:n = true, - cover-choose/cn.code:n = {\RequirePackage{stys/Beautybook-cover-cn}}, - cover-choose/en.code:n = {\RequirePackage{stys/Beautybook-cover-en}}, - cover-choose/enfig.code:n = {\RequirePackage{stys/Beautybook-cover-enfig}}, - cover-choose/birkar.code:n = {\RequirePackage{stys/Beautybook-cover-birkar}}, - %cover-choose .initial:n = en , % 设置 en 为初始值 - } -\newtoks \l__Beautybook_tmpa_toks -\cs_new_protected:Npn \coverstyle - { - \tex_afterassignment:D \__Beautybook_set_coverstyle: - \l__Beautybook_tmpa_toks - } -\cs_new:Npn \__Beautybook_set_coverstyle: - { \keys_set:nV { Beautybook / coverstyle } \l__Beautybook_tmpa_toks } -% Math fonts -\keys_define:nn {Beautybook/mathstyle} - { - math-font.choice:, - math-font.value_required:n = true, - math-font/plain.code:n={}, - math-font/stix.code:n={ - \RequirePackage{stix} - }, - math-font/mtpro2.code:n = { - \RequirePackage{mtpro2} - \RequirePackage{bm} - \DeclareFontFamily{U}{nxlmi}{} - \DeclareFontSubstitution{U}{nxlmi}{m}{it} - \DeclareFontShape{U}{nxlmi}{m}{it}{ - <-6.3> nxlmi05 - <6.3-8.6> nxlmi07 - <8.6-> nxlmi0 - }{} - - \DeclareFontShape{U}{nxlmi}{b}{it}{ - <-6.3> nxlbmi05 - <6.3-8.6> nxlbmi07 - <8.6-> nxlbmi0 - }{} - \renewcommand{\partial}{{\text{\usefont{U}{nxlmi}{m}{it}\symbol{64}}\mspace{1mu}}} - }, - %cover-choose .initial:n = plain , % 设置 en 为初始值 - } -\cs_new_protected:Npn \mathstyle - { - \tex_afterassignment:D \__Beautybook_set_mathstyle: - \l__Beautybook_tmpa_toks - } -\cs_new:Npn \__Beautybook_set_mathstyle: - { \keys_set:nV { Beautybook / mathstyle } \l__Beautybook_tmpa_toks } -\ExplSyntaxOff -\RequirePackage{stys/Beautybook-bottompage} %封底 -\RequirePackage{rotating} -\tikzset{>=Stealth} -\setlist{font=\upshape} % 取消所有列表默认距离 nosep, -% 浮动环境设置 -% 默认情况下, \LaTeX{} 要求每页的文字至少占据 20%,否则该页就只单独放置一个浮动环境, -% 而这通常不是我们想要的, 我们将这个要求降低到 5%. -\renewcommand*{\textfraction}{0.05} -% 有时如果多个浮动环境连续放在一起, -% 会将它们分在几个不同页,即使它们可在同一页放 -% 得下. 我们可以通过修改 |\topfraction| 和 |\bottomfraction| 分别设置顶端和底端的浮 -% 动环境的最大比例. -\renewcommand*{\topfraction}{0.9} -\renewcommand*{\bottomfraction}{0.8} -% 有时\LaTeX{}会把一个浮动环境单独放在一页, -% 我们要求这个环境至少要占据 85% 才能单独放在一页. -% 注意: |\floatpagefraction| 的数值必须小于 |\topfraction|. -\renewcommand*{\floatpagefraction}{0.85} -% 关于图片 graphicx -% 如果图片没有指定后缀, 依次按下列顺序搜索 -\DeclareGraphicsExtensions{.pdf,.eps,.jpg,.png} -% 设置图表搜索路径, 可以给图表文件夹取如下名字 -\graphicspath{{inner_pics/}{inner_pics/titleimages/}{figures/}{figure/}{pictures/}{picture/}{pic/}{pics/}{image/}{images/}} -% \RequirePackage[physics]{stys/physicx} -% \RequirePackage{stys/Symbols} -\RequirePackage{extarrows} -\usetikzlibrary{tikzmark} -% \arrowname{super-script} -% \arrowname[sub-script]{super-script} -\RequirePackage{appendix} % 附录 -% \RequirePackage{stys/symbols} -% -\RequirePackage{amssymb,amsfonts,upgreek} -\RequirePackage{makeidx} -\RequirePackage{etoolbox} % 判断函数 -\RequirePackage{paracol} -\RequirePackage{tikz-cd} -\RequirePackage{imakeidx} -\RequirePackage{anyfontsize} -\RequirePackage{calc} -\RequirePackage{xkeyval,ifthen} -\RequirePackage[backgroundcolor=yellow!40!cyan!20,bordercolor=yellow!40!cyan!20,linecolor=DarkCyan]{todonotes} -\RequirePackage{varwidth} -\RequirePackage[colorlinks,linkcolor = purple, %%修改此处为你想要的颜色 -anchorcolor = purple, %%修改此处为你想要的颜色 -urlcolor = purple, %%修改此处为你想要的颜色 -citecolor = purple, %%修改此处为你想要的颜色 -]{hyperref} -\setcounter{tocdepth}{3} -\setcounter{secnumdepth}{3}%增加编号深度 -\RequirePackage{dashrule} -\newlength\outermarginwidth -\setlength\outermarginwidth{1.5cm} -\newlength\covershift -\setlength\covershift{5cm} -\RequirePackage{caption} -% 图注与表注格式 -\colorlet{captioncolor}{outermarginfgcolor} % 图片和表格题注文字颜色 -\makeatletter -%%----------------------------------封面信息定义--------------------------------------------------------%% -\newcommand\bookseries[1]{\def\@bookseries{#1}} -\newcommand\subtitle[1]{\def\@subtitle{#1}} -\newcommand\edition[1]{\def\@edition{#1}} -\newcommand\presslogo[1]{\def\@presslogo{#1}} -\newcommand\pressname[1]{\def\@pressname{#1}} -\newcommand\coverimage[1]{\def\@coverimage{#1}} -\newcommand\chapimage[1]{\def\@chapimage{#1}} -%%----------------------------------封面信息定义--------------------------------------------------------%% -\makeatother -\RequirePackage{indentfirst} -\RequirePackage{amsmath} -\RequirePackage[left=2cm,right=2cm,top=.6cm,bottom=2.2cm]{geometry} -\RequirePackage{xpatch}%修正章节编号 -\RequirePackage[automark]{scrlayer-scrpage}%页面设置宏包,隶属于koma-script文档类 -\RequirePackage{fontawesome5} -\RequirePackage{mathrsfs} -\RequirePackage[most]{tcolorbox} -\tcbuselibrary{breakable, skins,theorems}%TcolorBox Library -\RequirePackage{tabularx} -\RequirePackage{lastpage} -%\RequirePackage{twemojis} -\RequirePackage{ninecolors} -\RequirePackage{colortbl} %彩色表格 -\RequirePackage{tabularray} -\UseTblrLibrary{amsmath} -% 定义 +array, +matrix, +bmatrix, +Bmatrix, +pmatrix, +vmatrix, +Vmatrix 和 +cases 环境。其 -% 中,每一个环境都类似于不带 + 前缀的环境,但是就像 tblr 环境一样,使用 rowsep=2pt 默认值。 -% 除了+array 环境外,其余的每个环境都可以带一个可选项,通过该可选项,可能为环境设置内部 -% 参数。 -\UseTblrLibrary{booktabs} % 定义 \toprule、 \midrule、\bottomrule 和 \cmidrule 命令,这些命令可以直接用于 tblr环境中 -\UseTblrLibrary{diagbox} % 在tblr 环境中使用 \diagbox 和\diagboxthree 命令排版斜线表头 -\UseTblrLibrary{varwidth} % 为表格添加 measure 内部参数。当设置了 measure=vbox 后,则会使用 \vbox 测量单元格宽度。%可以使用stretch=-1 移除列表环境上下的间距, 注意,stretch=-1 选项也会移除单元格中的支架 -\RequirePackage{pgfornament} -\RequirePackage{zhnumber} -\RequirePackage{dashrule} -\RequirePackage{adjustbox} -\RequirePackage{enumitem} -\RequirePackage{multicol} -\RequirePackage{amsthm} -\RequirePackage{thmtools,thm-restate}%定理环境 %定理的重写 -\RequirePackage{bclogo} -\RequirePackage[normalem]{ulem} -\RequirePackage{pgfplots} %画图 %%页面样式设计核心包 %提供\pgfonlayer命令以及下列图层指令 -\pgfplotsset{compat=1.18} -\RequirePackage{graphicx}%修正minipage顶部对齐问题 -\pgfdeclarelayer{background} %背景%底层 -\pgfdeclarelayer{foreground} %上层 -\pgfdeclarelayer{top} %顶部 -\pgfdeclarelayer{bottom} %底部 -\pgfsetlayers{bottom,background,main,foreground,top} -\newcommand{\tikzoverlay}[1]{\begin{tikzpicture}[remember picture,overlay] #1 \end{tikzpicture}} -\RequirePackage[explicit]{titlesec} -\RequirePackage{titletoc} - -\newcommand\boxednum[1] -{ -\tcbsidebyside[sidebyside adapt=left, -nobeforeafter,fontupper=\sffamily\large\bfseries,fontlower=\large,colframe=white,colupper=white,colback=outermarginfgcolor!90,colbacklower=gray!10,frame hidden,width =\textwidth, -top=0mm,bottom=0mm,right=0mm,left=2mm,before skip balanced=0em,after skip balanced=0em,arc=0pt,outer arc=0pt,bicolor,sidebyside gap=6mm,boxrule=0pt,sidebyside align=center,halign=center,halign lower=left,fuzzy shadow={-0.4mm}{0.4mm}{0mm}{0.2mm}{white!50!gray},% 上 -fuzzy shadow={0.4mm}{-0.4mm}{0mm}{0.2mm}{fill=white!40!gray},%下 -]{% left hand side % adjust from this side -\thecontentslabel -}{% right hand side -\textbf{#1} \hfill \thecontentspage -}% end -} - -\newcommand\boxednonum[1] -{ -\begin{tcolorbox}[nobeforeafter,fontupper=\large,fontlower=\large,colframe=white,fontupper=\sffamily\bfseries,colupper=white,colback=outermarginfgcolor!90,colbacklower=gray!10,frame hidden,width = \textwidth,sidebyside gap=6mm, -top=0mm,bottom=0mm,right=0cm,left=2mm,before skip balanced=0em,after skip balanced=0em,arc=0pt,outer arc=0pt,bicolor,sidebyside,boxrule=0pt,sidebyside align=center,halign=center,halign lower=left,lefthand width=3mm,fuzzy shadow={-0.4mm}{0.4mm}{0mm}{0.2mm}{white!50!gray},% 上 -fuzzy shadow={0.4mm}{-0.4mm}{0mm}{0.2mm}{fill=white!40!gray},%下 -] -\tcblower \textbf{#1}\hfill \thecontentspage -\end{tcolorbox} -} -% -\titlecontents{chapter}[0mm] - {\addvspace{-.5em}} - {\contentsmargin{0pt}\boxednum} - {\contentsmargin{0pt}\boxednonum} - {} - [\addvspace{-.5em}] -% - \titlecontents{section} - [4.5em] % ie, 1.5em (chapter) + 2.3em - {} - {\hyperlink{section.\thecontentslabel}{\contentslabel{2.2em}}} - {\hspace*{-2.2em}} - {\titlerule*[1pc]{.}\contentspage\hspace*{1.5mm}} -% - \titlecontents{subsection} - [7.3em] % ie, 1.5em (chapter) + 2.3em - {} - {\hyperlink{subsection.\thecontentslabel}{\contentslabel{2.7em}}} - {\hspace*{-2.7em}} - {\titlerule*[1pc]{.}\contentspage\hspace*{1.5mm}} -% - \titlecontents{subsubsection} - [10.7em] % ie, 1.5em (chapter) + 2.3em - {} - {\hyperlink{subsubsection.\thecontentslabel}{\contentslabel{3.3em}}} - {\hspace*{-3.3em}} - {\titlerule*[1pc]{.}\contentspage\hspace*{1.5mm}} - -% tcolorbox中插入图片或者tikz绘图方法 -\newcommand\Figure[4]{% - \begin{center} - \captionsetup{type=figure} %消除 Package caption Warning: The option `hypcap=true' will be ignored for this -%(caption) particular \caption on input line XX.警告信息 - \includegraphics[#1]{#2} - \captionof{figure}{#3}\label{#4} - \end{center} -}%用法 : 用于tcolorbox中插入图片 -\newcommand\Tikz[3]{% - \begin{center} - \captionsetup{type=figure} %消除 Package caption Warning: The option `hypcap=true' will be ignored for this(caption) particular \caption on input line XX.警告信息 - #3 %最后一个参数为Tikz画图代码窗口 - \captionof{figure}{#1}\label{#2} %第一与第二个参数是Tikz画图的名称与标签 - \end{center} -} %用法 : 用于tcolorbox中插入Tikz绘图 -%特殊注释矩阵 -\newcommand\coolover[2]{\mathrlap{\smash{\overbrace{\phantom{% - \begin{matrix} #2 \end{matrix}}}^{\mbox{$#1$}}}}#2} - -\newcommand\coolunder[2]{\mathrlap{\smash{\underbrace{\phantom{% - \begin{matrix} #2 \end{matrix}}}_{\mbox{$#1$}}}}#2} - -\newcommand\coolleftbrace[2]{% - #1\left\{\vphantom{\begin{matrix} #2 \end{matrix}}\right.} - -\newcommand\coolrightbrace[2]{% - \left.\vphantom{\begin{matrix} #1 \end{matrix}}\right\}#2} -\definecolor{lightergray}{gray}{0.99} - -\newcommand*{\circled}[1]{\lower.7ex\hbox{\tikz\draw (0pt, 0pt)% - circle (.5em) node {\makebox[1em][c]{\small #1}};}} -\newcommand{\twicecircle}{\raisebox{.7ex}{ - \begin{tikzpicture}[remember picture,overlay] - \draw[line width=0.6pt,black!60] (0,0) circle (3pt); - \fill[black] (0,0) circle (1.6pt) ; - \end{tikzpicture}} -} -\newcommand{\exercise}[2][\bcicosaedre]{\bigskip -\begin{tikzpicture}[remember picture,overlay] -\draw[line width=2pt,loosely dotted,teal] (0,0)--node[pos=0.4,rectangle,minimum height=1.5em,font=\sffamily\Large,text=black,fill=black!2,drop shadow={opacity=.3, shadow xshift=0.1cm},anchor=center, - inner sep=1.5mm, - anchor=west,] {$#1$ ~ #2} (\linewidth,0); -\end{tikzpicture}\bigskip\smallskip -} -\RequirePackage{extarrows} -\newcommand{\R}{\mathbb{R}} -\newcommand{\F}{\mathcal{F}} -\newcommand{\lan}[1]{\langle #1 \rangle} -\newenvironment{eq}[1]{\begin{equation}\begin{aligned}#1}{\end{aligned}\end{equation}} %有编号 -\newenvironment{eq*}[1]{\begin{equation*}\begin{aligned}#1}{\end{aligned}\end{equation*}} %无编号 -% \everymath{\displaystyle} - -%% -------- 章节样式 -\makeatletter -% titleimage -\ExplSyntaxOn -\seq_new:N \g__Beautybook_chapter_oimage_seq % odd -\seq_new:N \g__Beautybook_chapter_eimage_seq % even -\seq_new:N \g__Beautybook_part_oimage_seq % odd -\seq_new:N \g__Beautybook_part_eimage_seq % even -% -\keys_define:nn { Beautybook/titleimage } - { - chapteroddimage .code:n = - \seq_gset_from_clist:Nn \g__Beautybook_chapter_oimage_seq {#1} , - chapterevenimage .code:n = - \seq_gset_from_clist:Nn \g__Beautybook_chapter_eimage_seq {#1} , - partoddimage .code:n = - \seq_gset_from_clist:Nn \g__Beautybook_part_oimage_seq {#1} , - partevenimage .code:n = - \seq_gset_from_clist:Nn \g__Beautybook_part_eimage_seq {#1} , - } -\cs_new:Npn \__Beautybook_title_image:Nn #1#2 % image seq, number - { \seq_item:Nn #1 { \int_mod:nn {#2} { \seq_count:N #1 } + 1 } } %对照表-对录入的字符串进行编号 -\cs_new:Npn \Beautybook@chapterimagename %生成索契表 : 判断奇偶数页并按(章节编号)!!读取相应的列表组中的字符串 - { - \int_if_odd:nTF { \value{page} } - { \__Beautybook_title_image:Nn \g__Beautybook_chapter_oimage_seq { \value{chapter} } } - { \__Beautybook_title_image:Nn \g__Beautybook_chapter_eimage_seq { \value{chapter} } } - } -\cs_new:Npn \Beautybook@partimagename - { - \int_if_odd:nTF { \value{page} } - { \__Beautybook_title_image:Nn \g__Beautybook_part_oimage_seq { \value{part} } } - { \__Beautybook_title_image:Nn \g__Beautybook_part_eimage_seq { \value{part} } } - } -\cs_new_protected:Npn \titleimage #1 - { \keys_set:nn { Beautybook/titleimage } {#1} } -\ExplSyntaxOff -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\titleformat{\chapter}{\huge\bfseries\filcenter}{}{1em}{ - \makebox[0pt][l]{\def\rad{7pt}% - \begin{tikzpicture}[remember picture, overlay]% - \begin{pgfonlayer}{bottom} - \ifodd\value{page} - \shade[right color=outermarginbgcolor!30,middle color=outermarginbgcolor!50,left color=outermarginfgcolor!30] (current page.north west) rectangle ++(\paperwidth,-.2\paperheight+0.3cm); % background odd - \else - \shade[left color=outermarginbgcolor!30,middle color=outermarginbgcolor!50,right color=outermarginfgcolor!30] (current page.north west) rectangle ++(\paperwidth,-.2\paperheight+0.3cm); % background even - \fi - \fill[outermarginfgcolor,opacity=.5]([shift={(0,-4.45cm)}]current page.north west) rectangle ++(\paperwidth,-2mm); % line - \end{pgfonlayer} - \path[fill=outermarginfgcolor]node[append after command={ - ([xshift=-3*\rad]chapinfoofpart.north west) to[out=0,in=-180,looseness=1] ([xshift=\rad]chapinfoofpart.south west) --([xshift=-\rad]chapinfoofpart.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]chapinfoofpart.north east) --cycle}, - text=white,font=\sffamily\large\bfseries,align=center,minimum height=1cm] (chapinfoofpart) at ([shift={(.6\linewidth,-4.95cm)}]current page.north west) {Part\ \thepart}; - \begin{pgfonlayer}{bottom} - \fill[outermarginfgcolor!90,opacity=0.5] ([shift={(-3*\rad,0)}]chapinfoofpart.north west) to[out=180,in=0,looseness=1] +(-4*\rad,-1.2cm)--([shift={(7*\rad,-1.2cm)}]chapinfoofpart.north east) to[out=-180,in=0,looseness=1] +(-4*\rad,1.2cm); % partnumber shade - \end{pgfonlayer} - \ifodd\value{page} - \begin{pgfonlayer}{top} - \fill[outermarginfgcolor,opacity=0.7,rounded corners=5pt]node[append after command={([yshift=2cm]chapnum.north west) rectangle (chapnum.south east)},right,text=white,minimum width=2cm,align=center,font=\sffamily\bfseries] (chapnum) at ([shift={(1.5cm,-2.5cm)}]current page.north west) {\scalebox{3}{\thechapter}}; - \begin{pgfonlayer}{foreground} - \pattern[pattern=sixpointed stars,pattern color=white,opacity=1.0,rounded corners=5pt] - ([yshift=2cm]chapnum.north west) rectangle (chapnum.south east); - \end{pgfonlayer} - \fill [outermarginfgcolor,path fading=fade up,rounded corners=5pt]% - ([yshift=2cm]chapnum.north west) rectangle (chapnum.south east); - \node[above left,font=\sc\fontsize{22pt}{22pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north east) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}}; - \end{pgfonlayer} - \begin{pgfonlayer}{bottom} - \node[right] (image) at ([shift={(-0.5cm,-2.8cm)}]current page.north west) {\includegraphics[width=7cm]{\@chapimage}}; - \end{pgfonlayer} - \else - \begin{pgfonlayer}{top} - \fill[outermarginfgcolor,opacity=0.7,rounded corners=5pt]node[append after command={([yshift=2cm]chapnum.north west) rectangle (chapnum.south east)},left,text=white,minimum width=2cm,align=center,font=\sffamily\bfseries] (chapnum) at ([shift={(-1.5cm,-2.5cm)}]current page.north east) {\scalebox{3}{\thechapter}}; - \begin{pgfonlayer}{foreground} - \pattern[pattern=sixpointed stars,pattern color=white,opacity=1.0,rounded corners=5pt] - ([yshift=2cm]chapnum.north west) rectangle (chapnum.south east); - \end{pgfonlayer} - \fill [outermarginfgcolor,path fading=fade up,rounded corners=5pt]% - ([yshift=2cm]chapnum.north west) rectangle (chapnum.south east); - \node[above right,font=\sc\fontsize{22pt}{22pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north west) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}}; - \end{pgfonlayer} - \begin{pgfonlayer}{background} - \node[left] (image) at ([shift={(0.5cm,-2.8cm)}]current page.north east) {\includegraphics[width=7cm]{\@chapimage}}; - \end{pgfonlayer} - \fi - \path[fill=outermarginbgcolor]node[append after command={ - ([xshift=-2*\rad]pagenumber.south west) to[out=0,in=180,looseness=1] ([xshift=\rad]pagenumber.north west) --([xshift=-\rad]pagenumber.north east) to[out=0,in=-180,looseness=1] ([xshift=2*\rad]pagenumber.south east) --cycle}, - text=outermarginfgcolor,font=\sffamily\fontsize{15}{15}\selectfont\bfseries,align=center,minimum height=0.4cm,minimum width=1.3cm,inner sep=1.5mm] (pagenumber) at ([shift={(0,0.3cm)}]current page.south) {\thepage}; - \end{tikzpicture}} - } -\titleformat{name=\chapter,numberless}{\bfseries\huge\filcenter}{}{1em}{ - \makebox[0pt][l]{\def\rad{7pt}% - \begin{tikzpicture}[remember picture, overlay]% - \begin{pgfonlayer}{bottom} - \ifodd\value{page} - \shade[right color=outermarginbgcolor!30,middle color=outermarginbgcolor!50,left color=outermarginfgcolor!30] (current page.north west) rectangle ++(\paperwidth,-.2\paperheight); % background odd - \else - \shade[left color=outermarginbgcolor!30,middle color=outermarginbgcolor!50,right color=outermarginfgcolor!30] (current page.north west) rectangle ++(\paperwidth,-.2\paperheight); % background even - \fi - \fill[outermarginfgcolor,opacity=.5]([shift={(0,-4.45cm)}]current page.north west) rectangle ++(\paperwidth,-2mm); % line - \end{pgfonlayer} - \ifodd\value{page} - \begin{pgfonlayer}{top} - \node[above left,font=\sc\fontsize{25pt}{25pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north east) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}}; - \end{pgfonlayer} - \begin{pgfonlayer}{bottom} - \node[right] (image) at ([shift={(-0.5cm,-2.8cm)}]current page.north west) {\includegraphics[width=7cm]{\@chapimage}}; - \end{pgfonlayer} - \else - \begin{pgfonlayer}{top} - \node[above right,font=\sc\fontsize{25pt}{25pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north west) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}}; - \end{pgfonlayer} - \begin{pgfonlayer}{background} - \node[left] (image) at ([shift={(0.5cm,-2.8cm)}]current page.north east) {\includegraphics[width=7cm]{\@chapimage}}; - \end{pgfonlayer} - \fi - \path[fill=outermarginbgcolor]node[append after command={ - ([xshift=-2*\rad]pagenumber.south west) to[out=0,in=180,looseness=1] ([xshift=\rad]pagenumber.north west) --([xshift=-\rad]pagenumber.north east) to[out=0,in=-180,looseness=1] ([xshift=2*\rad]pagenumber.south east) --cycle}, - text=outermarginfgcolor,font=\sffamily\fontsize{15}{15}\selectfont\bfseries,align=center,minimum height=0.4cm,minimum width=1.3cm,inner sep=1.5mm] (pagenumber) at ([shift={(0,0.3cm)}]current page.south) {\thepage}; - \end{tikzpicture}} -} -\titlespacing{\chapter}{0pt}{0pt}{70pt} -\makeatother -% -------- Part定制 -\tikzfading[name=middle, top color=transparent!90, bottom -color=transparent!90, middle color=transparent!20] -\makeatletter -\newcommand\partabstract[1]{\def\@partabstract{#1}} -\newcommand\partimage[1]{\def\@partimage{#1}} -\titleformat{\part} -{\normalfont\huge\filcenter} -{} -{20pt} -{\begin{tikzpicture}[remember picture,overlay] - \def\barwidth{2cm} - \fill[outermarginbgcolor,opacity=0.6] - (current page.north west) rectangle (current page.south east); - \ifodd\value{page} - \fill [outermarginfgcolor!20]% - (current page.north east) rectangle ++(-\outermarginwidth,-\paperheight); - \pattern [pattern=north east lines,pattern color=outermarginfgcolor!50]% - (current page.north east) rectangle ++(-\outermarginwidth,-\paperheight); - \fill [outermarginbgcolor!90,path fading=fade south]% - ([yshift=1mm]current page.north east) rectangle ++(-\outermarginwidth,-.8\paperheight); - \fill [outermarginbgcolor,path fading=fade north]% - (current page.south east) rectangle ++(-\outermarginwidth,.8\paperheight);% - % lines - \fill[outermarginfgcolor,rounded corners=2pt] (current page.north east) --++(-5pt,-0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,0.15cm)--cycle; - \coordinate (anchor of headmark) at ([shift={(-1.2\outermarginwidth,-0.2cm)}]current page.north east); - \node[below ,text=outermarginfgcolor,font=\sffamily\bfseries\fontsize{15}{20}\selectfont] (partpagenum) at ([shift={(-.5\outermarginwidth,0)}]current page.north east) {\thepage}; - \fill[outermarginfgcolor,rounded corners=2pt] (current page.south east) --++(-5pt,0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,-0.15cm)--cycle; % 页码横线 - \node[] (hbar) at ($(current page.north)!0.33!(current page.south)$) { - \begin{tikzpicture} - \fill[white] - (0,0) rectangle ++(\paperwidth,-1cm); - \fill[outermarginbgcolor] - (0,-.25cm) rectangle ++(\paperwidth,-.5cm); - \fill[outermarginfgcolor] - (.67\paperwidth,-.25cm) rectangle ++(4.5cm,-.5cm); - \fill[outermarginfgcolor!20!white] - (.67\paperwidth-1mm,-.25cm) rectangle ++(1mm,-.5cm); - \fill[outermarginfgcolor!20!white] - (.67\paperwidth+4.4cm,-.25cm) rectangle ++(1mm,-.5cm); - \end{tikzpicture} - }; - \node[above,font=\sc\huge,shift={(.33\linewidth,.5\barwidth)}] (partname) at (hbar) {Part\ \thepart}; - \node[below,left,font=\sc\huge,shift={(.146\linewidth,-1.5*\barwidth)}] (partcontents) at (partname) {\begin{varwidth}{.8\linewidth}\raggedright\baselineskip=2ex #1 \end{varwidth}}; % 标题名称 - \begin{pgfonlayer}{background} - \node[above,shift={(-.4\linewidth,-4*\barwidth)}] at (partname) {\ifdefvoid{\@partimage}{}{\includegraphics[width=1.2\linewidth]{\@partimage}}}; % 图片位置调整 - \end{pgfonlayer} - \else - \fill [outermarginfgcolor!20]% - (current page.north west) rectangle ++(\outermarginwidth,-\paperheight); - \pattern [pattern=north west lines,pattern color=outermarginfgcolor!50]% - (current page.north west) rectangle ++(\outermarginwidth,-\paperheight); - \fill [outermarginbgcolor!90,path fading=fade south]% - ([yshift=1mm]current page.north west) rectangle ++(\outermarginwidth,-.8\paperheight); - \fill [outermarginbgcolor,path fading=fade north]% - (current page.south west) rectangle ++(\outermarginwidth,.8\paperheight);% - % lines - \fill[outermarginfgcolor,rounded corners=2pt] (current page.north west) --++(5pt,-0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,0.15cm)--cycle; - \coordinate (anchor of headmark) at ([shift={(1.2\outermarginwidth,-0.2cm)}]current page.north west); - \node[below ,text=outermarginfgcolor,font=\sffamily\bfseries\fontsize{15}{20}\selectfont] (partpagenum) at ([shift={(.5\outermarginwidth,0)}]current page.north west) {\thepage}; - \fill[outermarginfgcolor,rounded corners=2pt] (current page.south west) --++(5pt,0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,-0.15cm)--cycle; % 页码横线 - \node[] (hbar) at ($(current page.north)!0.33!(current page.south)$) { - \begin{tikzpicture} - \fill[white] - (0,0) rectangle ++(\paperwidth,-1cm); - \fill[outermarginbgcolor] - (0,-.25cm) rectangle ++(\paperwidth,-.5cm); - \fill[outermarginfgcolor] - (.15\paperwidth,-.25cm) rectangle ++(4.5cm,-.5cm); - \fill[outermarginfgcolor!20!white] - (.15\paperwidth-1mm,-.25cm) rectangle ++(1mm,-.5cm); - \fill[outermarginfgcolor!20!white] - (.15\paperwidth+4.5cm,-.25cm) rectangle ++(1mm,-.5cm); - \end{tikzpicture} - }; - \node[above,font=\sc\huge,shift={(-.31\linewidth,.5\barwidth)}] (partname) at (hbar) {Part\ \thepart}; - \node[below right,font=\sc\huge,shift={(-.125\linewidth,-1.2*\barwidth)}] (partcontents) at (partname) {\begin{varwidth}{.8\linewidth}\raggedright\baselineskip=2ex #1 \end{varwidth}}; % 标题名称 - \begin{pgfonlayer}{background} - \node[above,shift={(.35\linewidth,-4*\barwidth)}] at (partname) {\ifdefvoid{\@partimage}{}{\includegraphics[width=1.2\linewidth]{\@partimage}}}; % 图片位置调整 - \end{pgfonlayer} - \fi - \node[below,,font=\itshape\fontsize{13}{13}\selectfont,shift={(0\linewidth,-1.65*\barwidth)}] at (hbar) {\ifdefvoid{\@partabstract}{}{\begin{varwidth}{.85\linewidth}\baselineskip=3ex \@partabstract\end{varwidth}}}; % 简介文字调整 - \end{tikzpicture}} -\makeatother -\assignpagestyle{\part}{empty} -\assignpagestyle{\chapter}{empty} - - -%% -- Section -\titleformat{\section} -{} -{} -{-.5em} %左右移动\thesection标签位置 -{\mysectionformat{#1}} - -\titleformat{name=\section,numberless}{}{}{-.5em}{\mysectionnonumformat{#1}} - -\newcommand{\mysectionformat}[1]{% -\makebox[0pt][l]{\def\rad{7pt}% -\begin{tikzpicture}[remember picture] - \path[fill=outermarginfgcolor,drop shadow={opacity=0.3,shadow xshift=.05cm,shadow yshift=-.05cm}]node[append after command={ - ([xshift=\rad]sec.north west) to[out=180,in=0,looseness=1] ([xshift=-3*\rad]sec.south west) --([xshift=-\rad]sec.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]sec.north east) --cycle}, - text=white,font=\sffamily\large\bfseries,align=center,inner ysep=2mm] (sec) at (0,0) {Sec\ \thesection}; - \node[text=black,font=\large,below right] (secnum) at ([shift={(0,-1mm)}]sec.north east) {\begin{varwidth}{.85\linewidth}\setlength\baselineskip{18pt}\hspace{.5cm}#1\end{varwidth}}; -\end{tikzpicture}}}%最后一个选项为 [] - -\newcommand{\mysectionnonumformat}[1]{% -\makebox[0pt][l]{\def\rad{7pt}% -\begin{tikzpicture}[remember picture] - \path[fill=outermarginfgcolor,drop shadow={opacity=0.3,shadow xshift=.05cm,shadow yshift=-.05cm}]node[append after command={ - ([xshift=\rad]sec.north west) to[out=180,in=0,looseness=1] ([xshift=-3*\rad]sec.south west) --([xshift=-\rad]sec.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]sec.north east) --cycle}, - text=white,font=\sffamily\large\bfseries,align=center,inner ysep=2mm] (sec) at (0,0) {Sec}; - \node[text=black,font=\large,below right] (secnum) at ([shift={(0,-1mm)}]sec.north east) {\begin{varwidth}{.85\linewidth}\setlength\baselineskip{18pt}\hspace{.5cm}#1\end{varwidth}}; -\end{tikzpicture}}}%最后一个选项为 [] - -\titlespacing*{\section}{0pt}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex} - -%%-------------------------------- SCRLAYER-SCRPAGE -------------------------------------%% -%% SIDE-BAR -\newlength\chapternumbersize -\setlength\chapternumbersize{36pt} -\setlength{\headheight}{40pt} % 页眉高度 -\renewcommand\chaptermarkformat{} -% define a new mark for the chapter number -\newmarks\chapternum -\xapptocmd\chaptermark{\marks\chapternum{\thechapter}}{}{\PatchFailed} -\newmarks\secnum -\xapptocmd\sectionmark{\marks\secnum{\thesection}}{}{\PatchFailed} - -\newcommand*\outermarginpagemark{% -\tikzoverlay{ - \begin{pgfonlayer}{top} - \ifodd\value{page} - \fill[outermarginfgcolor,rounded corners=2pt] (current page.north east) --++(-5pt,-0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,0.15cm)--cycle; - \coordinate (anchor of headmark) at ([shift={(-1.2\outermarginwidth,-0.2cm)}]current page.north east); - \node[below ,text=outermarginfgcolor,font=\sffamily\bfseries\fontsize{15}{15}\selectfont] at ([shift={(-.5\outermarginwidth,-0.15cm)}]current page.north east) {\thepage}; - \fill[outermarginfgcolor!50,rounded corners=1pt] ([shift={(0.2\outermarginwidth,0.2cm)}]anchor of headmark) --++(-5pt,-0.15cm)--++(-.45\linewidth,0) --++(-5pt,0.15cm)--cycle; % 页眉横线 - \node[below left,font=\upshape,text=outermarginfgcolor] at ([yshift=0.05cm]anchor of headmark) {\begin{varwidth}{\linewidth}\rightmark\end{varwidth}}; - \fill[outermarginfgcolor,rounded corners=2pt] (current page.south east) --++(-5pt,0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,-0.15cm)--cycle; % 页码横线 - \else - \fill[outermarginfgcolor,rounded corners=2pt] (current page.north west) --++(5pt,-0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,0.15cm)--cycle; - \coordinate (anchor of headmark) at ([shift={(1.2\outermarginwidth,-0.2cm)}]current page.north west); - \node[below ,text=outermarginfgcolor,font=\sffamily\bfseries\fontsize{15}{15}\selectfont] at ([shift={(.5\outermarginwidth,-0.15cm)}]current page.north west) {\thepage}; - \fill[outermarginfgcolor!50,rounded corners=1pt] ([shift={(-0.2\outermarginwidth,0.2cm)}]anchor of headmark) --++(5pt,-0.15cm)--++(.45\linewidth,0) --++(5pt,0.15cm)--cycle; % 页眉横线 - \node[below right,font=\upshape,text=outermarginfgcolor] at ([yshift=0.05cm]anchor of headmark) {\begin{varwidth}{\linewidth}\rightmark\end{varwidth}}; - \fill[outermarginfgcolor,rounded corners=2pt] (current page.south west) --++(5pt,0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,-0.15cm)--cycle; % 页码横线 - \fi - \end{pgfonlayer}} -} -\newlength\baryshift -\setlength\baryshift{-2.5\outermarginwidth} -\makeatletter -% Add A Side-Bar Box For The Chapter Number -\newcommand*\outermarginchapternumberbox{% - \if@mainmatter - \tikzoverlay{ - \shade[top color=outermarginfgcolor!90,bottom color=outermarginbgcolor] - (\outermarginwidth,-.5\outermarginwidth+2mm) rectangle (0,-1.5\outermarginwidth+2mm); - \node[anchor=center,text=white,font=\sffamily\bfseries] at (1/2*\outermarginwidth,-\outermarginwidth+2mm) {\usekomafont{chapternumber}{\botmarks\chapternum}};% - } - \fi - \vfill -} -\makeatother - -\newkomafont{chapternumber}{%页边章节编号字体 - \fontsize{\chapternumbersize}{\chapternumbersize}\selectfont -}% -\makeatletter -\newcommand\outermarginmark{ - \ifodd\value{page}\hfill\else\hspace*{\dimexpr\outermarginwidth*3/8\relax}\fi - \rotatebox{90}{\parbox{\layerheight}{ - \raggedleft - \usekomafont{outermargin}{% - \MakeMarkcase{\ifodd\value{page}\odd@outermargin\else\even@outermargin\fi}}% - }}% - \ifodd\value{page}\hspace*{\dimexpr\outermarginwidth*3/8\relax}\fi% -} -\newcommand*\even@outermargin{} -\newcommand*\odd@outermargin{} -\newcommand*\evenoutermargin[1]{\renewcommand\even@outermargin{#1}}% 偶数页内容 -\newcommand*\oddoutermargin[1]{\renewcommand\odd@outermargin{#1}}% 奇数页内容 -\makeatother -% -\newkomafont{outermargin}{%页边章节名称字体 - \bfseries\fontsize{15}{15}\selectfont\color{outermarginfgcolor} -} -% declare new page style using layers -\DeclareNewPageStyleByLayers{scth}{% - scth.outermargin.bg.even,% - scth.outermargin.bg.odd,% - scth.outermargin.fg.even,% - scth.outermargin.fg.odd,% - scth.outermargin.pn.even,% - scth.outermargin.pn.odd,% - scth.outermargin.cn.even,% - scth.outermargin.cn.odd,% - scth.outermargin.text.even,% - scth.outermargin.text.odd% -} -% define the layers for even pages -\DeclareNewLayer[ - background, % 下层(背景) - evenpage, - outermargin, - width=\outermarginwidth, - contents={\color{outermarginbgcolor}\rule{\layerwidth}{\layerheight}} %色彩装饰条 -]{scth.outermargin.bg.even}% -%%=============% 页边条颜色 %=======================%% -\tikzfading[name=fade south, - top color =transparent!0, - bottom color=transparent!80] -\tikzfading[name=fade north, - top color =transparent!100, - bottom color=transparent!0] -%偶数页边纹理效果设置 -\newcommand{\evensidbardeepcolor}{% -\tikzoverlay{ -\ifodd\value{page} -\fill [outermarginfgcolor!20]% - (current page.north east) rectangle ([xshift=-\outermarginwidth,yshift=0]current page.south east); - \pattern [pattern=checkerboard,pattern color=outermarginfgcolor!50]% - (current page.north east) rectangle ([xshift=-\outermarginwidth,yshift=0]current page.south east); - \fill [outermarginbgcolor!90,path fading=fade south]% - ([yshift=1mm]current page.north east) rectangle ([xshift=-\outermarginwidth,yshift=-.5\layerheight]current page.north east); - \fill [outermarginbgcolor,path fading=fade north]% - (current page.south east) rectangle ([xshift=-\outermarginwidth,yshift=.2\layerheight]current page.south east); -\else - \fill [outermarginfgcolor!20]% - (current page.north west) rectangle ([xshift=\outermarginwidth,yshift=0]current page.south west); - \pattern [pattern=checkerboard,pattern color=outermarginfgcolor!50]% - (current page.north west) rectangle ([xshift=\outermarginwidth,yshift=0]current page.south west); - \fill [outermarginbgcolor!90,path fading=fade south]% - ([yshift=1mm]current page.north west) rectangle ([xshift=\outermarginwidth,yshift=-.5\layerheight]current page.north west); - \fill [outermarginbgcolor,path fading=fade north]% - (current page.south west) rectangle ([xshift=\outermarginwidth,yshift=.2\layerheight]current page.south west); - \fi -} -} -%%==============偶数页页边条颜色========================%% -\DeclareNewLayer[ - foreground, % - evenpage, - outermargin, - width=\outermarginwidth, - contents=\evensidbardeepcolor %色彩装饰条 -]{scth.outermargin.fg.even}% -%%==============偶数页页脚页码========================%% -\DeclareNewLayer[ - foreground, %上层 (背景之上) - evenpage, - foot, % 页脚 - contents=\outermarginpagemark -]{scth.outermargin.pn.even}% -%%==============偶数页章节编号========================%% -\DeclareNewLayer[ - foreground, %上层 (背景之上) - evenpage, - head, %页眉 - hoffset=0pt, - width=\outermarginwidth, - align=t, - addvoffset=\dimexpr-\chapternumbersize-12pt+\headheight\relax, - height=\chapternumbersize+\headheight, - contents=\outermarginchapternumberbox%章节编号 -]{scth.outermargin.cn.even}% -%%======================章节名称===================================%% -\DeclareNewLayer[ - clone=scth.outermargin.cn.even, - addheight=\dimexpr\headheight+\headsep+\textheight\relax, - addvoffset=\dimexpr+2\outermarginwidth\relax, - hoffset=-2.5pt, - contents=\outermarginmark % -]{scth.outermargin.text.even}% - -% define the layers for odd page from the settings for even pages -\newcommand*\DeclareOddFromEven[1]{%复制自偶数页样式命令 -\DeclareNewLayer[ - clone=#1.even, - oddpage, - align=r, - hoffset=\paperwidth -]{#1.odd}% -} -\DeclareOddFromEven{scth.outermargin.bg} -\DeclareOddFromEven{scth.outermargin.pn} -\DeclareOddFromEven{scth.outermargin.cn} -\DeclareOddFromEven{scth.outermargin.text} -\DeclareOddFromEven{scth.outermargin.fg} - -% add the layers to page style scrheadings and page style plain -\ForEachLayerOfPageStyle*{scth}{% - \AddLayersToPageStyle{scrheadings}{#1}% - \AddLayersToPageStyle{plain.scrheadings}{#1}% -} -%---------------------------------------------- -\KOMAoptions{markcase=upper} %页眉 -% for page styles scrheadings and plain -\clearpairofpagestyles -\ohead{} -\cfoot{} -\ofoot{} - -%%-------------------------------- SCRLAYER-SCRPAGE -------------------------------------%% - -%% Begin The Most Beautiful Box (STYLE : ys style) % 中国风盒子 -\makeatletter -\definecolor{framegolden}{HTML}{455a64} % 控制外框颜色 -\definecolor{framegray}{HTML}{e0e0e0} % 控制填充颜色 -\newdimen\ys@frame@linewidth -\newdimen\ys@frame@radius -\newdimen\ys@frame@sep -\def\ys@frame@fill@opacity{0.2} - -\pgfdeclarehorizontalshading{ys@fade@circle}{500bp} -{color(0bp)=(pgftransparent!100); color(25bp)=(pgftransparent!100); -color(45bp)=(pgftransparent!0); color(55bp)=(pgftransparent!0); -color(75bp)=(pgftransparent!100); color(100bp)=(pgftransparent!100)} -\pgfdeclarefading{ys circle}{\pgfuseshading{ys@fade@circle}} - -\def\ys@frame@star@list@t{% - -0.7071\ys@frame@radius+0.2133\ys@frame@sep/% - -0.7071\ys@frame@radius+0.2133\ys@frame@sep/% - frame.north east,% - 0.7071\ys@frame@radius-0.2133\ys@frame@sep/% - -0.7071\ys@frame@radius+0.2133\ys@frame@sep/% - frame.north west} -\def\ys@frame@star@list@b{% - 0.7071\ys@frame@radius-0.2133\ys@frame@sep/% - 0.7071\ys@frame@radius-0.2133\ys@frame@sep/% - frame.south west,% - -0.7071\ys@frame@radius+0.2133\ys@frame@sep/% - 0.7071\ys@frame@radius-0.2133\ys@frame@sep/% - frame.south east} -\edef\ys@frame@star@list{\ys@frame@star@list@t,\ys@frame@star@list@b} - -%region outer -\def\ys@frame@remove@middleline#1#2{} -\def\ys@frame@draw@middleline#1#2{% - \clip ([xshift=-\ys@frame@linewidth,#1]frame.north west)-- - ([xshift=\ys@frame@linewidth,#1]frame.north east)-- - ([xshift=\ys@frame@linewidth,#2]frame.south east)-- - ([xshift=-\ys@frame@linewidth,#2]frame.south west)--cycle;} -\def\ys@frame@unbrokenouter{% - \path[draw=framegolden,fill=framegray,fill opacity=\ys@frame@fill@opacity,line width=\ys@frame@linewidth] - ([xshift=\ys@frame@radius]frame.north west)--([xshift=-\ys@frame@radius]frame.north east) - arc(-180:-90:\ys@frame@radius)-- - ([yshift=-\ys@frame@radius]frame.north east)--([yshift=\ys@frame@radius]frame.south east) - arc(90:180:\ys@frame@radius)-- - ([xshift=-\ys@frame@radius]frame.south east)--([xshift=\ys@frame@radius]frame.south west) - arc(0:90:\ys@frame@radius)-- - ([yshift=\ys@frame@radius]frame.south west)--([yshift=-\ys@frame@radius]frame.north west) - arc(-90:0:\ys@frame@radius)--cycle;} -\def\ys@frame@firstouter{% - \ys@frame@remove@middleline{yshift=.5\ys@frame@linewidth}{yshift=.7\ys@frame@linewidth}% - \path[draw=framegolden,fill=framegray,fill opacity=\ys@frame@fill@opacity,line width=\ys@frame@linewidth] - ([xshift=\ys@frame@radius]frame.north west)--([xshift=-\ys@frame@radius]frame.north east) - arc(-180:-90:\ys@frame@radius)-- - ([yshift=-\ys@frame@radius]frame.north east)-- - (frame.south east)-- - (frame.south west)-- - ([yshift=-\ys@frame@radius]frame.north west) - arc(-90:0:\ys@frame@radius)--cycle;} -\def\ys@frame@middleouter{% - \ys@frame@remove@middleline{yshift=-.7\ys@frame@linewidth}{yshift=.7\ys@frame@linewidth}% - \path[draw=framegolden,fill=framegray,fill opacity=\ys@frame@fill@opacity,line width=\ys@frame@linewidth] - (frame.north west)--(frame.north east)--(frame.south east)-- - (frame.south west)--cycle;} -\def\ys@frame@lastouter{% - \ys@frame@remove@middleline{yshift=-.7\ys@frame@linewidth}{yshift=-.5\ys@frame@linewidth}% - \path[draw=framegolden,fill=framegray,fill opacity=\ys@frame@fill@opacity,line width=\ys@frame@linewidth] - (frame.north west)--(frame.north east)-- - ([yshift=\ys@frame@radius]frame.south east) - arc(90:180:\ys@frame@radius)-- - ([xshift=-\ys@frame@radius]frame.south east)--([xshift=\ys@frame@radius]frame.south west) - arc(0:90:\ys@frame@radius)-- - ([yshift=\ys@frame@radius]frame.south west)-- - (frame.north west)--cycle;} -%endregion -%region inner -\def\ys@frame@unbrokeninner{% -\path[draw=framegolden,line width=.5\ys@frame@linewidth,line cap=round] -([xshift=\ys@frame@radius+2\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) - --([xshift=\ys@frame@radius+5\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) --++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) - ([xshift=\ys@frame@radius+6\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) %第一节 - --([xshift=-\ys@frame@radius-8.828\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) - ([xshift=-\ys@frame@radius-7.828\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第二节 - --([xshift=-\ys@frame@radius-2\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east) - %% -([yshift=-\ys@frame@radius-2\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east) ---([yshift=-\ys@frame@radius-5\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east) --++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) -([yshift=-\ys@frame@radius-6\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) %第一节 ---([yshift=\ys@frame@radius+8.828\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) -([yshift=\ys@frame@radius+7.828\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第二节 -% - --([yshift=\ys@frame@radius+2\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east) -% -([xshift=\ys@frame@radius+2\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) ---([xshift=\ys@frame@radius+5\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) --++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) -([xshift=\ys@frame@radius+6\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第一节 ---([xshift=-\ys@frame@radius-8.828\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) -([xshift=-\ys@frame@radius-7.828\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) %第二节 - --([xshift=-\ys@frame@radius-2\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east) -% -([yshift=-\ys@frame@radius-2\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west) ---([yshift=-\ys@frame@radius-5\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west) --++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) -([yshift=-\ys@frame@radius-6\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第一节 ---([yshift=\ys@frame@radius+8.828\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) -([yshift=\ys@frame@radius+7.828\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) %第二节 - --([yshift=\ys@frame@radius+2\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west);} -\def\ys@frame@firstinner{% - \path[draw=framegolden,line width=.5\ys@frame@linewidth,line cap=round] - ([xshift=\ys@frame@radius+2\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) - --([xshift=\ys@frame@radius+5\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) --++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) - ([xshift=\ys@frame@radius+6\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) %第一节 - --([xshift=-\ys@frame@radius-8.828\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) - ([xshift=-\ys@frame@radius-7.828\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第二节 - --([xshift=-\ys@frame@radius-2\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east) - %% -([yshift=-\ys@frame@radius-2\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east) ---([yshift=-\ys@frame@radius-5\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east) --++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) -([yshift=-\ys@frame@radius-6\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) %第一节 ---([xshift=-\ys@frame@sep]frame.south east) - - ([yshift=-\ys@frame@radius-2\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west) - --([yshift=-\ys@frame@radius-5\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west) --++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) - ([yshift=-\ys@frame@radius-6\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第一节 - --([xshift=\ys@frame@sep]frame.south west);} -\def\ys@frame@middleinner{% - \path[draw=framegolden,line width=.5\ys@frame@linewidth,line cap=round] - ([xshift=-\ys@frame@sep]frame.north east)--([xshift=-\ys@frame@sep]frame.south east) - ([xshift=\ys@frame@sep]frame.north west)--([xshift=\ys@frame@sep]frame.south west);} -\def\ys@frame@lastinner{% - \path[draw=framegolden,line width=.5\ys@frame@linewidth,line cap=round] - ([xshift=-\ys@frame@sep]frame.north east) - --([yshift=\ys@frame@radius+8.828\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) - ([yshift=\ys@frame@radius+7.828\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第二节 - % - --([yshift=\ys@frame@radius+2\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east) -% - ([xshift=\ys@frame@radius+2\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) - --([xshift=\ys@frame@radius+5\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) --++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) - ([xshift=\ys@frame@radius+6\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第一节 - --([xshift=-\ys@frame@radius-8.828\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) - ([xshift=-\ys@frame@radius-7.828\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) %第二节 - --([xshift=-\ys@frame@radius-2\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east) -% - ([xshift=\ys@frame@sep]frame.north west) - --([yshift=\ys@frame@radius+8.828\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) - ([yshift=\ys@frame@radius+7.828\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) %第二节 - --([yshift=\ys@frame@radius+2\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west);} -%endregion -%region corner -\def\ys@frame@unbrokencorner{% - \path[draw=framegolden,line width=1.5\ys@frame@linewidth,line cap=round] - ([xshift=\ys@frame@radius-2.7\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) - --([xshift=\ys@frame@sep,yshift=-\ys@frame@sep]frame.north west) - --([xshift=\ys@frame@sep,yshift=-\ys@frame@radius+2.7\ys@frame@linewidth]frame.north west) - ([xshift=-\ys@frame@radius+2.7\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east) - --([xshift=-\ys@frame@sep,yshift=-\ys@frame@sep]frame.north east) - --([xshift=-\ys@frame@sep,yshift=-\ys@frame@radius+2.7\ys@frame@linewidth]frame.north east) - ([xshift=-\ys@frame@radius+2.7\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east) - --([xshift=-\ys@frame@sep,yshift=\ys@frame@sep]frame.south east) - --([xshift=-\ys@frame@sep,yshift=\ys@frame@radius-2.7\ys@frame@linewidth]frame.south east) - ([xshift=\ys@frame@radius-2.7\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) - --([xshift=\ys@frame@sep,yshift=\ys@frame@sep]frame.south west) - --([xshift=\ys@frame@sep,yshift=\ys@frame@radius-2.7\ys@frame@linewidth]frame.south west);} -\def\ys@frame@firstcorner{% - \path[draw=framegolden,line width=1.5\ys@frame@linewidth,line cap=round] - ([xshift=\ys@frame@radius-2.7\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) - --([xshift=\ys@frame@sep,yshift=-\ys@frame@sep]frame.north west) - --([xshift=\ys@frame@sep,yshift=-\ys@frame@radius+2.7\ys@frame@linewidth]frame.north west) - ([xshift=-\ys@frame@radius+2.7\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east) - --([xshift=-\ys@frame@sep,yshift=-\ys@frame@sep]frame.north east) - --([xshift=-\ys@frame@sep,yshift=-\ys@frame@radius+2.7\ys@frame@linewidth]frame.north east);} -\def\ys@frame@middlecorner{} -\def\ys@frame@lastcorner{% - \path[draw=framegolden,line width=1.5\ys@frame@linewidth,line cap=round] - ([xshift=-\ys@frame@radius+2.7\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east) - --([xshift=-\ys@frame@sep,yshift=\ys@frame@sep]frame.south east) - --([xshift=-\ys@frame@sep,yshift=\ys@frame@radius-2.7\ys@frame@linewidth]frame.south east) - ([xshift=\ys@frame@radius-2.7\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) - --([xshift=\ys@frame@sep,yshift=\ys@frame@sep]frame.south west) - --([xshift=\ys@frame@sep,yshift=\ys@frame@radius-2.7\ys@frame@linewidth]frame.south west);} -%endregion -\def\ys@frame@star#1#2#3{% - \begin{scope}[shift={([xshift=#1,yshift=#2]#3)},scale=\ys@frame@ratio*0.1] - \path[draw=framegolden,fill=white, - line width=.7\ys@frame@linewidth,line join=round] - (1,1)..controls(0.3,0.5) and (-0.3,0.5).. - (-1,1)..controls(-0.5,0.3) and (-0.5,-0.3).. - (-1,-1)..controls(-0.3,-0.5) and (0.3,-0.5).. - (1,-1)..controls(0.5,-0.3) and (0.5,0.3)..(1,1)--cycle; - \path[scale=0.45,fill=framegolden,line join=round] - (1,1)..controls(0.3,0.7) and (-0.3,0.7).. - (-1,1)..controls(-0.7,0.3) and (-0.7,-0.3).. - (-1,-1)..controls(-0.3,-0.7) and (0.3,-0.7).. - (1,-1)..controls(0.7,-0.3) and (0.7,0.3)..(1,1)--cycle; - \end{scope}} -\def\ys@frame@segmentation{% - \draw[color=framegolden,path fading=ys circle] - ([xshift=5\ys@frame@radius]segmentation.west) to[ornament=88] - ([xshift=-5\ys@frame@radius]segmentation.east);} - -\tcbset{ - % 控制是否在断点处的线不画出来 - ys/frame/not at break/.code=\let\ys@frame@remove@middleline\ys@frame@draw@middleline, - ys/frame/fill opacity/.store in=\ys@frame@fill@opacity, - ys/frame/draw at break/.code=\let\ys@frame@remove@middleline\@gobbletwo, - % 控制线宽 - ys/frame/line width/.code={\pgfmathsetlength\ys@frame@linewidth{#1}}, - ys/frame/line width=1.4pt, - % 控制圆弧大小,应为数字,而非长度 - ys/frame/radius/.code={\pgfmathparse{#1}\let\ys@frame@ratio\pgfmathresult - \pgfmathsetlength\ys@frame@radius{(#1)*1em}% - \pgfmathsetlength\ys@frame@sep{(#1)*0.5ex}}, - ys/frame/radius=2, - ys/frame/unbroken/.style={ - interior code={% - \ys@frame@unbrokenouter % 外框 - \foreach \ii/\jj/\kk in \ys@frame@star@list {\ys@frame@star{\ii}{\jj}{\kk}} % 星 - \ys@frame@unbrokeninner % 内线 - \ys@frame@unbrokencorner % 四角 - }, - interior titled code={% - \ys@frame@unbrokenouter % 外框 - \foreach \ii/\jj/\kk in \ys@frame@star@list {\ys@frame@star{\ii}{\jj}{\kk}} % 星 - \ys@frame@unbrokeninner % 内线 - \ys@frame@unbrokencorner % 四角 - } - }, - ys/frame/first/.style={ - interior code={% - \ys@frame@firstouter - \foreach \ii/\jj/\kk in \ys@frame@star@list@t {\ys@frame@star{\ii}{\jj}{\kk}} - \ys@frame@firstinner - \ys@frame@firstcorner}, - interior titled code={% - \ys@frame@firstouter - \foreach \ii/\jj/\kk in \ys@frame@star@list@t {\ys@frame@star{\ii}{\jj}{\kk}} - \ys@frame@firstinner - \ys@frame@firstcorner}, - }, - ys/frame/middle/.style={ - interior code={% - \ys@frame@middleouter - \ys@frame@middleinner - \ys@frame@middlecorner} - }, - ys/frame/last/.style={ - interior code={% - \ys@frame@lastouter - \foreach \ii/\jj/\kk in \ys@frame@star@list@b {\ys@frame@star{\ii}{\jj}{\kk}} - \ys@frame@lastinner - \ys@frame@lastcorner} - }, - ys/frame style/unbroken/.style={ - boxsep=2\ys@frame@sep, - left={.8\ys@frame@radius},right={.8\ys@frame@radius}, - ys/frame/unbroken,title hidden, - segmentation code=\ys@frame@segmentation - }, - ys/frame style/first/.style={ys/frame/first,title hidden,segmentation code=\ys@frame@segmentation}, - ys/frame style/middle/.style={ys/frame/middle,segmentation code=\ys@frame@segmentation}, - ys/frame style/last/.style={ys/frame/last,segmentation code=\ys@frame@segmentation}, - ys style/.style={frame hidden, - ys/frame style/unbroken, - extras first={ys/frame style/first}, - extras middle={ys/frame style/middle}, - extras last={ys/frame style/last}, - }, -} -\makeatother -\newtcolorbox{fancybox}[1][]{enhanced,ys style,breakable,pad at break=2mm, - ys/frame/not at break,ys/frame/fill opacity=0,#1,fontupper=\itshape} -%% End The Most Beautiful Box -\makeatletter -\definecolor{CyaN}{HTML}{dbe1e5} -\colorlet{OrangE}{yellow!20!orange} -\colorlet{BluE}{cyan!70!blue} -\colorlet{ReD}{red!20!orange} -\colorlet{GreeN}{yellow!40!green} - -% 第一种定理 -\tcbset{my@basic@thm/.style={enhanced jigsaw, breakable, - enlarge left by=-3.5mm, width=\textwidth+3.5mm, boxrule=0pt, - top=2pt, bottom=2pt, left=2.5mm, frame hidden}} -\newcommand{\@my@newtheorem@n}[1]{\ERROR} -\newcommand{\@my@newtheorem@nn}[2]{% - \@ifundefined{#1}{\@my@newtheorem{#1}#2}{\@my@renewtheorem{#1}#2}} -\NewDocumentCommand{\@my@newtheorem}{ m m o +m } - {\IfNoValueTF{#3}{\newtheorem{#1}{#2}}{\newtheorem{#1}{#2}[#3]}% - \tcbset{my@#1@thmstyle/.style={#4}}% - \tcolorboxenvironment{#1}{my@basic@thm, my@#1@thmstyle}} -\NewDocumentCommand{\@my@renewtheorem}{ m m o +m } - {\IfNoValueTF{#3}{\renewtheorem{#1}{#2}}{\renewtheorem{#1}{#2}[#3]}% - \tcbset{my@#1@thmstyle/.style={#4}}} -% -% ---------------------------------------------------------------------------------- % -% 第二种定理 -\tcbset{my@basic@tcbthm/.style={detach title,}} -\newcommand{\@my@newtcbtheorem@n}[1]{\ERROR} -\newcommand{\@my@newtcbtheorem@nn}[2]{% - \@ifundefined{#1}{\@my@newtcbtheorem{#1}{#2}}{\@my@renewtcbtheorem{#1}{#2}}} -\newcommand{\@my@newtcbtheorem}[2]{% - \edef\my@curr@thmenvname{#1}% 它保存当前定理环境的名称 - \mytcbtheoremset{#2}% - \NewTColorBox{#1}{ O{} O{} o } - {my@basic@tcbthm, my@#1@tcbthmstyle, title={##2}, IfNoValueF={##3}{label={##3}}, ##1}} -\newcommand{\@my@renewtcbtheorem}[2]{\edef\my@curr@thmenvname{#1}\mytcbtheoremset{#2}} - -% 键值设置 -\pgfkeys{/mytcbtheorem/.is family} -\newcommand{\mytcbtheoremset}{\pgfqkeys{/mytcbtheorem}} -\mytcbtheoremset{ - name/.code=\@namedef{\my@curr@thmenvname @name}{#1}, %无效 - counter/.code=\@namedef{my@\my@curr@thmenvname @counter}{#1}\newcounter{#1}[chapter], % 计数器遇到subsection就会自动归零 % https://zhuanlan.zhihu.com/p/57454848#circle=on - the counter/.code=\@namedef{the\@nameuse{my@\my@curr@thmenvname @counter}}{#1}, - autoref name/.code=\@namedef{\@nameuse{my@\my@curr@thmenvname @counter}autorefname}{#1}, - style/.code=\tcbset{my@\my@curr@thmenvname @tcbthmstyle/.style={#1}}, - thmcolor/.code=\@namedef{\my@curr@thmenvname @thmcolor}{#1}, %无效 - lemcolor/.code=\@namedef{\my@curr@thmenvname @lemcolor}{#1}, %无效 -} -% 存储键值 (LaTeX3) -\ExplSyntaxOn -\cs_new_protected:Npn \mynewtheorem - { \keyval_parse:NNn \@my@newtheorem@n \@my@newtheorem@nn } -\cs_new_protected:Npn \mynewtcbtheorem - { \keyval_parse:NNn \@my@newtcbtheorem@n \@my@newtcbtheorem@nn } -\ExplSyntaxOff -\makeatother - -% 第二种定理 -\makeatletter -%% Overlay Settings -\newcommand{\my@theorem@overlay@unbroken}[2]{ - %%============== First ==============%% - \fill[black!60] ([xshift=1cm,yshift=5pt]frame.north west)-- ([xshift=0.8cm,yshift=0cm]frame.north west)--([xshift=1.2cm,yshift=0cm]frame.north west)--cycle; - \node[rectangle, text=white, drop shadow={opacity=.3, shadow xshift=0.1cm}, inner sep=1.5mm,fill=#2, -anchor=west,rounded corners=3pt,font=\bfseries\normalsize] at ([xshift=0cm,yshift=-3.mm]frame.north west) {\hspace*{1.5em}#1.\ \ifdefvoid{\tcbtitletext}{}{(\itshape\tcbtitletext)}}; - \fill[color=#2,drop shadow={opacity=0.3,shadow xshift=.3pt}] - ([xshift=1cm,yshift=5pt]frame.north west) {[rounded corners=3pt]--++(-1cm-5pt,0)}--++(0,-1cm-5pt)--cycle; - \fill[color=black!60] ([xshift=-5pt,yshift=-1cm]frame.north west)--([xshift=0cm,yshift=-0.8cm]frame.north west)-- ([xshift=0cm,yshift=-1.2cm]frame.north west)--cycle; - %%============== End ==============%% - \fill[#2,drop shadow={opacity=0.3,shadow xshift=-0.008\linewidth,shadow yshift=0.0016\linewidth}] - ([xshift=-0.05\linewidth,yshift=-5pt]frame.south east) {[rounded corners=3pt]--++(0.05\linewidth+5pt,0)}--++(0,0.05\linewidth+5pt)--cycle; - \fill[black!60] ([xshift=-0.05\linewidth,yshift=-5pt]frame.south east) -- ([xshift=-0.04\linewidth,yshift=0pt]frame.south east)-- ([xshift=-0.06\linewidth,yshift=0pt]frame.south east)--cycle; - \fill[black!60] ([xshift=5pt,yshift=0.05\linewidth]frame.south east)-- ([yshift=0.04\linewidth]frame.south east) -- ([yshift=0.06\linewidth]frame.south east)--cycle; -} -\newcommand{\my@theorem@overlay@first}[2]{ - \fill[black!60] ([xshift=1cm,yshift=5pt]frame.north west)-- ([xshift=0.8cm,yshift=0cm]frame.north west)--([xshift=1.2cm,yshift=0cm]frame.north west)--cycle; - \node[rectangle, text=white, drop shadow={opacity=.3, shadow xshift=0.1cm}, inner sep=1.5mm,fill=#2, anchor=west,rounded corners=3pt,font=\bfseries\normalsize] at ([xshift=0cm,yshift=-3.mm]frame.north west) {\hspace*{1.5em}#1.\ \ifdefvoid{\tcbtitletext}{}{(\itshape\tcbtitletext)}}; - \fill[color=#2,drop shadow={opacity=0.3,shadow xshift=.3pt}] - ([xshift=1cm,yshift=5pt]frame.north west) {[rounded corners=3pt]--++(-1cm-5pt,0)}--++(0,-1cm-5pt)--cycle; - \fill[color=black!60] ([xshift=-5pt,yshift=-1cm]frame.north west)--([xshift=0cm,yshift=-0.8cm]frame.north west)-- ([xshift=0cm,yshift=-1.2cm]frame.north west)--cycle; -} -\newcommand{\my@theorem@overlay@last}[1]{ - \fill[#1,drop shadow={opacity=0.3,shadow xshift=-0.008\linewidth,shadow yshift=0.0016\linewidth}] - ([xshift=-0.05\linewidth,yshift=-5pt]frame.south east) {[rounded corners=3pt]--++(0.05\linewidth+5pt,0)}--++(0,0.05\linewidth+5pt)--cycle; - \fill[black!60] ([xshift=-0.05\linewidth,yshift=-5pt]frame.south east) -- ([xshift=-0.04\linewidth,yshift=0pt]frame.south east)-- ([xshift=-0.06\linewidth,yshift=0pt]frame.south east)--cycle; - \fill[black!60] ([xshift=5pt,yshift=0.05\linewidth]frame.south east)-- ([yshift=0.04\linewidth]frame.south east) -- ([yshift=0.06\linewidth]frame.south east)--cycle; -} -% Second theorem style overlay settings -\newcommand{\my@lemma@overlay@unbroken}[2]{ - %%============== First ==============%% - \def\Rad{3.5pt} - \def\theight{0.57cm} - \def\rad{7pt}% - \path[fill=#2,drop shadow={opacity=0.3,shadow xshift=.05cm,shadow yshift=-.05cm}]node[append after command={ - ([xshift=-1.5*\rad]thmname.north west) to[out=0,in=180,looseness=1] ([xshift=2.5*\rad]thmname.south west) --([xshift=-\rad]thmname.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]thmname.north east) --cycle}, - text=white,font=\bfseries,align=center,inner ysep=1.5mm,minimum height=0.6cm,right] (thmname) at ([xshift=\rad,yshift=-.7*\rad]frame.north west) {\hspace*{10pt}#1.\ \ifdefvoid{\tcbtitletext}{}{(\itshape\tcbtitletext)}}; - \begin{pgfonlayer}{bottom} - \fill[#2,opacity=0.5] - ([xshift=-1.5*\rad]thmname.north west) to[out=180,in=305,looseness=1.5] +(3pt,-6pt) -| ++(12pt,0)--cycle; - \fill[#2,opacity=0.5] - ([xshift=3*\rad]thmname.north east) to[out=0,in=-90] +(5pt,-5pt) -| ++(-10pt,0) --cycle; - \end{pgfonlayer} - %%============== End ==============%% - \def\tlen{1.5cm} - \path[fill=#2,drop shadow={opacity=0.3,shadow xshift=.3pt}] - ([xshift=-2*\rad,yshift=-5pt]frame.south east) coordinate (SE) to[out=0,in=180] +(4*\rad,5pt+\theight) --([shift={(-\tlen+4*\rad,5pt+\theight)}]SE) to[out=180,in=0] +(-4*\rad,-5pt-\theight) --cycle; - \begin{pgfonlayer}{bottom} - \fill[color=#2,opacity=0.5] ([xshift=-1.35*\tlen+\Rad,yshift=-5pt]frame.south east) to[out=180,in=90,looseness=0.7] ([xshift=-1.35*\tlen-0.5*\Rad]frame.south east) coordinate (NWl)--([xshift=2*\rad]NWl) to[out=-90,in=-180,looseness=0.7] ([xshift=-1.35*\tlen+\Rad,yshift=-5pt]frame.south east)--cycle; - \end{pgfonlayer} - } -\newcommand{\my@lemma@overlay@first}[2]{ - %%============== First ==============%% - \def\Rad{3.5pt} - \def\theight{0.57cm} - \def\rad{7pt}% - \path[fill=#2,drop shadow={opacity=0.3,shadow xshift=.05cm,shadow yshift=-.05cm}]node[append after command={ - ([xshift=-1.5*\rad]thmname.north west) to[out=0,in=180,looseness=1] ([xshift=2.5*\rad]thmname.south west) --([xshift=-\rad]thmname.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]thmname.north east) --cycle}, - text=white,font=\bfseries,align=center,inner ysep=1.5mm,minimum height=0.6cm,right] (thmname) at ([xshift=\rad,yshift=-.7*\rad]frame.north west) {\hspace*{10pt}#1.\ \ifdefvoid{\tcbtitletext}{}{(\itshape\tcbtitletext)}}; - \begin{pgfonlayer}{bottom} - \fill[#2,opacity=0.5] - ([xshift=-1.5*\rad]thmname.north west) to[out=180,in=305,looseness=1.5] +(3pt,-6pt) -| ++(12pt,0)--cycle; - \fill[#2,opacity=0.5] - ([xshift=3*\rad]thmname.north east) to[out=0,in=-90] +(5pt,-5pt) -| ++(-10pt,0) --cycle; - \end{pgfonlayer} - } -\newcommand{\my@lemma@overlay@last}[1]{ - %%============== End ==============%% - \def\Rad{3.5pt} - \def\rad{7pt}% - \def\theight{0.57cm} - \def\tlen{1.5cm} - \path[fill=#1,drop shadow={opacity=0.3,shadow xshift=.3pt}] - ([xshift=-2*\rad,yshift=-5pt]frame.south east) coordinate (SE) to[out=0,in=180] +(4*\rad,5pt+\theight) --([shift={(-\tlen+4*\rad,5pt+\theight)}]SE) to[out=180,in=0] +(-4*\rad,-5pt-\theight) --cycle; - \begin{pgfonlayer}{bottom} - \fill[color=#1,opacity=0.5] ([xshift=-1.35*\tlen+\Rad,yshift=-5pt]frame.south east) to[out=180,in=90,looseness=0.7] ([xshift=-1.35*\tlen-0.5*\Rad]frame.south east) coordinate (NWl)--([xshift=2*\rad]NWl) to[out=-90,in=-180,looseness=0.7] ([xshift=-1.35*\tlen+\Rad,yshift=-5pt]frame.south east)--cycle; - \end{pgfonlayer} - } -\makeatother -%% - -% proof -\newcommand{\itbf}[1]{\textit{\textbf{#1}}} -\declaretheoremstyle[ - spaceabove=3pt,spacebelow=3pt, - headfont=\normalfont\bfseries, - notefont=\normalfont\bfseries,notebraces={(}{)}, - bodyfont=\normalfont, - postheadspace=.5em, - headpunct={.}, - qed=\color{cyan!40!black}$\blacksquare$,%\qedsymbol -]{Proofstyle} -\declaretheorem[style=Proofstyle,numbered=no,name={\itbf{Proof}}]{Proof} -\renewenvironment{proof}{\begin{Proof} }{\end{Proof}} -\declaretheorem[style=Proofstyle,numbered=no,name={\itbf{Solution}}]{solution} - -%%%%%%%%%%%%%%% 计数器知识 %%%%%%%%%%%%%%%%%%%%%% -% 每次用 \newcounter{foo} 定义新计数器,内部都会定义这几个命令 - -% \c@foo,储存计数器的值,初始值为 0 -% \thefoo,储存计数器输出时的格式,初始定义为 \arabic{foo} -% \p@foo,储存计数器被引用时的前缀,初始定义为空 -% \cl@foo,储存「子计数器」列表(此处有简化),foo 自增时它的每个「子计数器」都会归零(详见「自动归零」一节),初始定义为空 -%% 关于计数器的自动归零 -% 如果还定义了计数器 \newcounter{bar}[foo],那么 \cl@foo 里就有了 bar -% \@addtoreset{child}{parent} 和 \@removefromreset{child}{parent} 可以把计数器 child 移入/移出 \cl@parent -% \counterwithin* 和 \counterwithout* 和上一条里两个命令的功能类似,但它们在执行前会检查接受的两个参数是否为已定义的计数器。不加星号的版本会修改 \thechild,详见「输出格式」一节 -% 在使用 \stepcounter{parent} 和 \refstepcounter{parent} 时,parent 自增,同时归零\cl@parent 里的「子计数器」 -% \addtocount{parent}{1} 只自增 parent,没有归零其「子计数器」的效果 -% 归零实现为「对每个子计数器,先设为 -1,然后使用 \stepcounter 自增」,这样实现的「归零」功能是递归的 -% 递归的意思是,如果还有 \newcounter{grandchild}[child],那么 \stepcounter{parent} 会将 child 和 grandchild 都归零 diff --git a/macros/latex/contrib/beautybook/Beautybook-EN.cls b/macros/latex/contrib/beautybook/Beautybook-EN.cls deleted file mode 100644 index 63e3e038df..0000000000 --- a/macros/latex/contrib/beautybook/Beautybook-EN.cls +++ /dev/null @@ -1,1166 +0,0 @@ -%This Class is based on the default book class and options will be passed -\NeedsTeXFormat{LaTeX2e} -\ProvidesClass{Beautybook-EN}[02-10-2023 V8.0 Beautybook Class] -\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}} -\ProcessOptions\relax -\LoadClass[twoside]{book} -\RequirePackage[dvipsnames,svgnames,x11names,table]{xcolor} -\RequirePackage{cncolours} -\RequirePackage[utf8]{inputenc} % UTF-8编码 -\RequirePackage{times} % Times New Roman Font -\RequirePackage[T1]{fontenc} -\RequirePackage{microtype} % 字体间距调整 -\colorlet{outermarginfgcolor}{DarkCyan} % foregroundcolor 较深 -\colorlet{outermarginbgcolor}{DarkCyan!30} % backgroundcolor 较浅 -\RequirePackage{bropd} % math 自适应数学括号命令 \br{} !!! -\RequirePackage{tikz-imagelabels} % tikz图像标注 -\RequirePackage{epigraph-keys} % 名言引用 -\RequirePackage{fitbox} % 图像自适应 -\RequirePackage{pgfornament-han} -\RequirePackage{tikz} -\usetikzlibrary{calc,shadows,hobby,intersections, decorations.markings, decorations.pathreplacing,spy,arrows,shapes,fadings,trees,mindmap,patterns,shapes.arrows,shapes.symbols,tikzmark,shapes.geometric,graphs, quotes, angles,decorations.pathmorphing,through,shadings,backgrounds,positioning,fit,arrows.meta,shapes.misc,decorations.shapes} -\RequirePackage{pgfplots} %画图 %%页面样式设计核心包 %提供\pgfonlayer命令以及下列图层指令 -\pgfplotsset{compat=1.18} -% -\ExplSyntaxOn -% 封面切换程序 (LaTeX3)! -\keys_define:nn {Beautybook/coverstyle} - { - cover-choose.choice:, - cover-choose.value_required:n = true, - cover-choose/cn.code:n = {\RequirePackage{stys/Beautybook-cover-cn}}, - cover-choose/en.code:n = {\RequirePackage{stys/Beautybook-cover-en}}, - cover-choose/enfig.code:n = {\RequirePackage{stys/Beautybook-cover-enfig}}, - cover-choose/birkar.code:n = {\RequirePackage{stys/Beautybook-cover-birkar}}, - %cover-choose .initial:n = en , % 设置 en 为初始值 - } -\newtoks \l__Beautybook_tmpa_toks -\cs_new_protected:Npn \coverstyle - { - \tex_afterassignment:D \__Beautybook_set_coverstyle: - \l__Beautybook_tmpa_toks - } -\cs_new:Npn \__Beautybook_set_coverstyle: - { \keys_set:nV { Beautybook / coverstyle } \l__Beautybook_tmpa_toks } -% Math fonts -\keys_define:nn {Beautybook/mathstyle} - { - math-font.choice:, - math-font.value_required:n = true, - math-font/plain.code:n={}, - math-font/stix.code:n={ - \RequirePackage{stix} - }, - math-font/mtpro2.code:n = { - \RequirePackage{mtpro2} - \RequirePackage{bm} - \DeclareFontFamily{U}{nxlmi}{} - \DeclareFontSubstitution{U}{nxlmi}{m}{it} - \DeclareFontShape{U}{nxlmi}{m}{it}{ - <-6.3> nxlmi05 - <6.3-8.6> nxlmi07 - <8.6-> nxlmi0 - }{} - - \DeclareFontShape{U}{nxlmi}{b}{it}{ - <-6.3> nxlbmi05 - <6.3-8.6> nxlbmi07 - <8.6-> nxlbmi0 - }{} - \renewcommand{\partial}{{\text{\usefont{U}{nxlmi}{m}{it}\symbol{64}}\mspace{1mu}}} - }, - %cover-choose .initial:n = plain , % 设置 en 为初始值 - } -\cs_new_protected:Npn \mathstyle - { - \tex_afterassignment:D \__Beautybook_set_mathstyle: - \l__Beautybook_tmpa_toks - } -\cs_new:Npn \__Beautybook_set_mathstyle: - { \keys_set:nV { Beautybook / mathstyle } \l__Beautybook_tmpa_toks } -\ExplSyntaxOff -\RequirePackage{stys/Beautybook-bottompage} %封底 -\RequirePackage{rotating} -\tikzset{>=Stealth} -\setlist{font=\upshape} % 取消所有列表默认距离 nosep, -% 浮动环境设置 -% 默认情况下, \LaTeX{} 要求每页的文字至少占据 20%,否则该页就只单独放置一个浮动环境, -% 而这通常不是我们想要的, 我们将这个要求降低到 5%. -\renewcommand*{\textfraction}{0.05} -% 有时如果多个浮动环境连续放在一起, -% 会将它们分在几个不同页,即使它们可在同一页放 -% 得下. 我们可以通过修改 |\topfraction| 和 |\bottomfraction| 分别设置顶端和底端的浮 -% 动环境的最大比例. -\renewcommand*{\topfraction}{0.9} -\renewcommand*{\bottomfraction}{0.8} -% 有时\LaTeX{}会把一个浮动环境单独放在一页, -% 我们要求这个环境至少要占据 85% 才能单独放在一页. -% 注意: |\floatpagefraction| 的数值必须小于 |\topfraction|. -\renewcommand*{\floatpagefraction}{0.85} -% 关于图片 graphicx -% 如果图片没有指定后缀, 依次按下列顺序搜索 -\DeclareGraphicsExtensions{.pdf,.eps,.jpg,.png} -% 设置图表搜索路径, 可以给图表文件夹取如下名字 -\graphicspath{{inner_pics/}{inner_pics/titleimages/}{figures/}{figure/}{pictures/}{picture/}{pic/}{pics/}{image/}{images/}} -% \RequirePackage[physics]{stys/physicx} -% \RequirePackage{stys/Symbols} -\RequirePackage{extarrows} -\usetikzlibrary{tikzmark} -% \arrowname{super-script} -% \arrowname[sub-script]{super-script} -\RequirePackage{appendix} % 附录 -% \RequirePackage{stys/symbols} -% -\RequirePackage{amssymb,amsfonts,upgreek} -\RequirePackage{makeidx} -\RequirePackage{etoolbox} % 判断函数 -\RequirePackage{paracol} -\RequirePackage{tikz-cd} -\RequirePackage{imakeidx} -\RequirePackage{anyfontsize} -\RequirePackage{calc} -\RequirePackage{xkeyval,ifthen} -\RequirePackage[backgroundcolor=yellow!40!cyan!20,bordercolor=yellow!40!cyan!20,linecolor=DarkCyan]{todonotes} -\RequirePackage{varwidth} -\RequirePackage[colorlinks,linkcolor = purple, %%修改此处为你想要的颜色 -anchorcolor = purple, %%修改此处为你想要的颜色 -urlcolor = purple, %%修改此处为你想要的颜色 -citecolor = purple, %%修改此处为你想要的颜色 -]{hyperref} -\setcounter{tocdepth}{3} -\setcounter{secnumdepth}{3}%增加编号深度 -\RequirePackage{dashrule} -\newlength\outermarginwidth -\setlength\outermarginwidth{1.5cm} -\newlength\covershift -\setlength\covershift{5cm} -\RequirePackage{caption} -% 图注与表注格式 -\colorlet{captioncolor}{outermarginfgcolor} % 图片和表格题注文字颜色 -\makeatletter -%%----------------------------------封面信息定义--------------------------------------------------------%% -\newcommand\bookseries[1]{\def\@bookseries{#1}} -\newcommand\subtitle[1]{\def\@subtitle{#1}} -\newcommand\edition[1]{\def\@edition{#1}} -\newcommand\presslogo[1]{\def\@presslogo{#1}} -\newcommand\pressname[1]{\def\@pressname{#1}} -\newcommand\coverimage[1]{\def\@coverimage{#1}} -\newcommand\chapimage[1]{\def\@chapimage{#1}} -%%----------------------------------封面信息定义--------------------------------------------------------%% -\makeatother -\RequirePackage{indentfirst} -\RequirePackage{amsmath} -\RequirePackage[left=2cm,right=2cm,top=.6cm,bottom=2.2cm]{geometry} -\RequirePackage{xpatch}%修正章节编号 -\RequirePackage[automark]{scrlayer-scrpage}%页面设置宏包,隶属于koma-script文档类 -\RequirePackage{fontawesome5} -\RequirePackage{mathrsfs} -\RequirePackage[most]{tcolorbox} -\tcbuselibrary{breakable, skins,theorems}%TcolorBox Library -\RequirePackage{tabularx} -\RequirePackage{lastpage} -%\RequirePackage{twemojis} -\RequirePackage{ninecolors} -\RequirePackage{colortbl} %彩色表格 -\RequirePackage{tabularray} -\UseTblrLibrary{amsmath} -% 定义 +array, +matrix, +bmatrix, +Bmatrix, +pmatrix, +vmatrix, +Vmatrix 和 +cases 环境。其 -% 中,每一个环境都类似于不带 + 前缀的环境,但是就像 tblr 环境一样,使用 rowsep=2pt 默认值。 -% 除了+array 环境外,其余的每个环境都可以带一个可选项,通过该可选项,可能为环境设置内部 -% 参数。 -\UseTblrLibrary{booktabs} % 定义 \toprule、 \midrule、\bottomrule 和 \cmidrule 命令,这些命令可以直接用于 tblr环境中 -\UseTblrLibrary{diagbox} % 在tblr 环境中使用 \diagbox 和\diagboxthree 命令排版斜线表头 -\UseTblrLibrary{varwidth} % 为表格添加 measure 内部参数。当设置了 measure=vbox 后,则会使用 \vbox 测量单元格宽度。%可以使用stretch=-1 移除列表环境上下的间距, 注意,stretch=-1 选项也会移除单元格中的支架 -\RequirePackage{pgfornament} -\RequirePackage{zhnumber} -\RequirePackage{dashrule} -\RequirePackage{adjustbox} -\RequirePackage{enumitem} -\RequirePackage{multicol} -\RequirePackage{amsthm} -\RequirePackage{thmtools,thm-restate}%定理环境 %定理的重写 -\RequirePackage{bclogo} -\RequirePackage[normalem]{ulem} -\RequirePackage{pgfplots} %画图 %%页面样式设计核心包 %提供\pgfonlayer命令以及下列图层指令 -\pgfplotsset{compat=1.18} -\RequirePackage{graphicx}%修正minipage顶部对齐问题 -\pgfdeclarelayer{background} %背景%底层 -\pgfdeclarelayer{foreground} %上层 -\pgfdeclarelayer{top} %顶部 -\pgfdeclarelayer{bottom} %底部 -\pgfsetlayers{bottom,background,main,foreground,top} -\newcommand{\tikzoverlay}[1]{\begin{tikzpicture}[remember picture,overlay] #1 \end{tikzpicture}} -\RequirePackage[explicit]{titlesec} -\RequirePackage{titletoc} - -\newcommand\boxednum[1] -{ -\tcbsidebyside[sidebyside adapt=left, -nobeforeafter,fontupper=\sffamily\large\bfseries,fontlower=\large,colframe=white,colupper=white,colback=outermarginfgcolor!90,colbacklower=gray!10,frame hidden,width =\textwidth, -top=0mm,bottom=0mm,right=0mm,left=2mm,before skip balanced=0em,after skip balanced=0em,arc=0pt,outer arc=0pt,bicolor,sidebyside gap=6mm,boxrule=0pt,sidebyside align=center,halign=center,halign lower=left,fuzzy shadow={-0.4mm}{0.4mm}{0mm}{0.2mm}{white!50!gray},% 上 -fuzzy shadow={0.4mm}{-0.4mm}{0mm}{0.2mm}{fill=white!40!gray},%下 -]{% left hand side % adjust from this side -\thecontentslabel -}{% right hand side -\textbf{#1} \hfill \thecontentspage -}% end -} - -\newcommand\boxednonum[1] -{ -\begin{tcolorbox}[nobeforeafter,fontupper=\large,fontlower=\large,colframe=white,fontupper=\sffamily\bfseries,colupper=white,colback=outermarginfgcolor!90,colbacklower=gray!10,frame hidden,width = \textwidth,sidebyside gap=6mm, -top=0mm,bottom=0mm,right=0cm,left=2mm,before skip balanced=0em,after skip balanced=0em,arc=0pt,outer arc=0pt,bicolor,sidebyside,boxrule=0pt,sidebyside align=center,halign=center,halign lower=left,lefthand width=3mm,fuzzy shadow={-0.4mm}{0.4mm}{0mm}{0.2mm}{white!50!gray},% 上 -fuzzy shadow={0.4mm}{-0.4mm}{0mm}{0.2mm}{fill=white!40!gray},%下 -] -\tcblower \textbf{#1}\hfill \thecontentspage -\end{tcolorbox} -} -% -\titlecontents{chapter}[0mm] - {\addvspace{-.5em}} - {\contentsmargin{0pt}\boxednum} - {\contentsmargin{0pt}\boxednonum} - {} - [\addvspace{-.5em}] -% - \titlecontents{section} - [4.5em] % ie, 1.5em (chapter) + 2.3em - {} - {\hyperlink{section.\thecontentslabel}{\contentslabel{2.2em}}} - {\hspace*{-2.2em}} - {\titlerule*[1pc]{.}\contentspage\hspace*{1.5mm}} -% - \titlecontents{subsection} - [7.3em] % ie, 1.5em (chapter) + 2.3em - {} - {\hyperlink{subsection.\thecontentslabel}{\contentslabel{2.7em}}} - {\hspace*{-2.7em}} - {\titlerule*[1pc]{.}\contentspage\hspace*{1.5mm}} -% - \titlecontents{subsubsection} - [10.7em] % ie, 1.5em (chapter) + 2.3em - {} - {\hyperlink{subsubsection.\thecontentslabel}{\contentslabel{3.3em}}} - {\hspace*{-3.3em}} - {\titlerule*[1pc]{.}\contentspage\hspace*{1.5mm}} - -% tcolorbox中插入图片或者tikz绘图方法 -\newcommand\Figure[4]{% - \begin{center} - \captionsetup{type=figure} %消除 Package caption Warning: The option `hypcap=true' will be ignored for this -%(caption) particular \caption on input line XX.警告信息 - \includegraphics[#1]{#2} - \captionof{figure}{#3}\label{#4} - \end{center} -}%用法 : 用于tcolorbox中插入图片 -\newcommand\Tikz[3]{% - \begin{center} - \captionsetup{type=figure} %消除 Package caption Warning: The option `hypcap=true' will be ignored for this(caption) particular \caption on input line XX.警告信息 - #3 %最后一个参数为Tikz画图代码窗口 - \captionof{figure}{#1}\label{#2} %第一与第二个参数是Tikz画图的名称与标签 - \end{center} -} %用法 : 用于tcolorbox中插入Tikz绘图 -%特殊注释矩阵 -\newcommand\coolover[2]{\mathrlap{\smash{\overbrace{\phantom{% - \begin{matrix} #2 \end{matrix}}}^{\mbox{$#1$}}}}#2} - -\newcommand\coolunder[2]{\mathrlap{\smash{\underbrace{\phantom{% - \begin{matrix} #2 \end{matrix}}}_{\mbox{$#1$}}}}#2} - -\newcommand\coolleftbrace[2]{% - #1\left\{\vphantom{\begin{matrix} #2 \end{matrix}}\right.} - -\newcommand\coolrightbrace[2]{% - \left.\vphantom{\begin{matrix} #1 \end{matrix}}\right\}#2} -\definecolor{lightergray}{gray}{0.99} - -\newcommand*{\circled}[1]{\lower.7ex\hbox{\tikz\draw (0pt, 0pt)% - circle (.5em) node {\makebox[1em][c]{\small #1}};}} -\newcommand{\twicecircle}{\raisebox{.7ex}{ - \begin{tikzpicture}[remember picture,overlay] - \draw[line width=0.6pt,black!60] (0,0) circle (3pt); - \fill[black] (0,0) circle (1.6pt) ; - \end{tikzpicture}} -} -\newcommand{\exercise}[2][\bcicosaedre]{\bigskip -\begin{tikzpicture}[remember picture,overlay] -\draw[line width=2pt,loosely dotted,teal] (0,0)--node[pos=0.4,rectangle,minimum height=1.5em,font=\sffamily\Large,text=black,fill=black!2,drop shadow={opacity=.3, shadow xshift=0.1cm},anchor=center, - inner sep=1.5mm, - anchor=west,] {$#1$ ~ #2} (\linewidth,0); -\end{tikzpicture}\bigskip\smallskip -} -\RequirePackage{extarrows} -\newcommand{\R}{\mathbb{R}} -\newcommand{\F}{\mathcal{F}} -\newcommand{\lan}[1]{\langle #1 \rangle} -\newenvironment{eq}[1]{\begin{equation}\begin{aligned}#1}{\end{aligned}\end{equation}} %有编号 -\newenvironment{eq*}[1]{\begin{equation*}\begin{aligned}#1}{\end{aligned}\end{equation*}} %无编号 -% \everymath{\displaystyle} - -%% -------- 章节样式 -\makeatletter -% titleimage -\ExplSyntaxOn -\seq_new:N \g__Beautybook_chapter_oimage_seq % odd -\seq_new:N \g__Beautybook_chapter_eimage_seq % even -\seq_new:N \g__Beautybook_part_oimage_seq % odd -\seq_new:N \g__Beautybook_part_eimage_seq % even -% -\keys_define:nn { Beautybook/titleimage } - { - chapteroddimage .code:n = - \seq_gset_from_clist:Nn \g__Beautybook_chapter_oimage_seq {#1} , - chapterevenimage .code:n = - \seq_gset_from_clist:Nn \g__Beautybook_chapter_eimage_seq {#1} , - partoddimage .code:n = - \seq_gset_from_clist:Nn \g__Beautybook_part_oimage_seq {#1} , - partevenimage .code:n = - \seq_gset_from_clist:Nn \g__Beautybook_part_eimage_seq {#1} , - } -\cs_new:Npn \__Beautybook_title_image:Nn #1#2 % image seq, number - { \seq_item:Nn #1 { \int_mod:nn {#2} { \seq_count:N #1 } + 1 } } %对照表-对录入的字符串进行编号 -\cs_new:Npn \Beautybook@chapterimagename %生成索契表 : 判断奇偶数页并按(章节编号)!!读取相应的列表组中的字符串 - { - \int_if_odd:nTF { \value{page} } - { \__Beautybook_title_image:Nn \g__Beautybook_chapter_oimage_seq { \value{chapter} } } - { \__Beautybook_title_image:Nn \g__Beautybook_chapter_eimage_seq { \value{chapter} } } - } -\cs_new:Npn \Beautybook@partimagename - { - \int_if_odd:nTF { \value{page} } - { \__Beautybook_title_image:Nn \g__Beautybook_part_oimage_seq { \value{part} } } - { \__Beautybook_title_image:Nn \g__Beautybook_part_eimage_seq { \value{part} } } - } -\cs_new_protected:Npn \titleimage #1 - { \keys_set:nn { Beautybook/titleimage } {#1} } -\ExplSyntaxOff -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\titleformat{\chapter}{\huge\bfseries\filcenter}{}{1em}{ - \makebox[0pt][l]{\def\rad{7pt}% - \begin{tikzpicture}[remember picture, overlay]% - \begin{pgfonlayer}{bottom} - \ifodd\value{page} - \shade[right color=outermarginbgcolor!30,middle color=outermarginbgcolor!50,left color=outermarginfgcolor!30] (current page.north west) rectangle ++(\paperwidth,-.2\paperheight); % background odd - \else - \shade[left color=outermarginbgcolor!30,middle color=outermarginbgcolor!50,right color=outermarginfgcolor!30] (current page.north west) rectangle ++(\paperwidth,-.2\paperheight); % background even - \fi - \fill[outermarginfgcolor,opacity=.5]([shift={(0,-4.45cm)}]current page.north west) rectangle ++(\paperwidth,-2mm); % line - \end{pgfonlayer} - \path[fill=outermarginfgcolor]node[append after command={ - ([xshift=-3*\rad]chapinfoofpart.north west) to[out=0,in=-180,looseness=1] ([xshift=\rad]chapinfoofpart.south west) --([xshift=-\rad]chapinfoofpart.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]chapinfoofpart.north east) --cycle}, - text=white,font=\sffamily\large\bfseries,align=center,minimum height=1cm] (chapinfoofpart) at ([shift={(.6\linewidth,-4.95cm)}]current page.north west) {Part\ \thepart}; - \begin{pgfonlayer}{bottom} - \fill[outermarginfgcolor!90,opacity=0.5] ([shift={(-3*\rad,0)}]chapinfoofpart.north west) to[out=180,in=0,looseness=1] +(-4*\rad,-1.2cm)--([shift={(7*\rad,-1.2cm)}]chapinfoofpart.north east) to[out=-180,in=0,looseness=1] +(-4*\rad,1.2cm); % partnumber shade - \end{pgfonlayer} - \ifodd\value{page} - \begin{pgfonlayer}{top} - \fill[outermarginfgcolor,opacity=0.7,rounded corners=5pt]node[append after command={([yshift=2cm]chapnum.north west) rectangle (chapnum.south east)},right,text=white,minimum width=2cm,align=center,font=\sffamily\bfseries] (chapnum) at ([shift={(1.5cm,-2.5cm)}]current page.north west) {\scalebox{3}{\thechapter}}; - \begin{pgfonlayer}{foreground} - \pattern[pattern=sixpointed stars,pattern color=white,opacity=1.0,rounded corners=5pt] - ([yshift=2cm]chapnum.north west) rectangle (chapnum.south east); - \end{pgfonlayer} - \fill [outermarginfgcolor,path fading=fade up,rounded corners=5pt]% - ([yshift=2cm]chapnum.north west) rectangle (chapnum.south east); - \node[above left,font=\sc\fontsize{22pt}{22pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north east) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}}; - \end{pgfonlayer} - \begin{pgfonlayer}{bottom} - \node[right] (image) at ([shift={(-0.5cm,-2.8cm)}]current page.north west) {\includegraphics[width=7cm]{\@chapimage}}; - \end{pgfonlayer} - \else - \begin{pgfonlayer}{top} - \fill[outermarginfgcolor,opacity=0.7,rounded corners=5pt]node[append after command={([yshift=2cm]chapnum.north west) rectangle (chapnum.south east)},left,text=white,minimum width=2cm,align=center,font=\sffamily\bfseries] (chapnum) at ([shift={(-1.5cm,-2.5cm)}]current page.north east) {\scalebox{3}{\thechapter}}; - \begin{pgfonlayer}{foreground} - \pattern[pattern=sixpointed stars,pattern color=white,opacity=1.0,rounded corners=5pt] - ([yshift=2cm]chapnum.north west) rectangle (chapnum.south east); - \end{pgfonlayer} - \fill [outermarginfgcolor,path fading=fade up,rounded corners=5pt]% - ([yshift=2cm]chapnum.north west) rectangle (chapnum.south east); - \node[above right,font=\sc\fontsize{22pt}{22pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north west) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}}; - \end{pgfonlayer} - \begin{pgfonlayer}{background} - \node[left] (image) at ([shift={(0.5cm,-2.8cm)}]current page.north east) {\includegraphics[width=7cm]{\@chapimage}}; - \end{pgfonlayer} - \fi - \path[fill=outermarginbgcolor]node[append after command={ - ([xshift=-2*\rad]pagenumber.south west) to[out=0,in=180,looseness=1] ([xshift=\rad]pagenumber.north west) --([xshift=-\rad]pagenumber.north east) to[out=0,in=-180,looseness=1] ([xshift=2*\rad]pagenumber.south east) --cycle}, - text=outermarginfgcolor,font=\sffamily\fontsize{15}{15}\selectfont\bfseries,align=center,minimum height=0.4cm,minimum width=1.3cm,inner sep=1.5mm] (pagenumber) at ([shift={(0,0.3cm)}]current page.south) {\thepage}; - \end{tikzpicture}} - } -\titleformat{name=\chapter,numberless}{\bfseries\huge\filcenter}{}{1em}{ - \makebox[0pt][l]{\def\rad{7pt}% - \begin{tikzpicture}[remember picture, overlay]% - \begin{pgfonlayer}{bottom} - \ifodd\value{page} - \shade[right color=outermarginbgcolor!30,middle color=outermarginbgcolor!50,left color=outermarginfgcolor!30] (current page.north west) rectangle ++(\paperwidth,-.2\paperheight); % background odd - \else - \shade[left color=outermarginbgcolor!30,middle color=outermarginbgcolor!50,right color=outermarginfgcolor!30] (current page.north west) rectangle ++(\paperwidth,-.2\paperheight); % background even - \fi - \fill[outermarginfgcolor,opacity=.5]([shift={(0,-4.45cm)}]current page.north west) rectangle ++(\paperwidth,-2mm); % line - \end{pgfonlayer} - \ifodd\value{page} - \begin{pgfonlayer}{top} - \node[above left,font=\sc\fontsize{25pt}{25pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north east) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}}; - \end{pgfonlayer} - \begin{pgfonlayer}{bottom} - \node[right] (image) at ([shift={(-0.5cm,-2.8cm)}]current page.north west) {\includegraphics[width=7cm]{\@chapimage}}; - \end{pgfonlayer} - \else - \begin{pgfonlayer}{top} - \node[above right,font=\sc\fontsize{25pt}{25pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north west) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}}; - \end{pgfonlayer} - \begin{pgfonlayer}{background} - \node[left] (image) at ([shift={(0.5cm,-2.8cm)}]current page.north east) {\includegraphics[width=7cm]{\@chapimage}}; - \end{pgfonlayer} - \fi - \path[fill=outermarginbgcolor]node[append after command={ - ([xshift=-2*\rad]pagenumber.south west) to[out=0,in=180,looseness=1] ([xshift=\rad]pagenumber.north west) --([xshift=-\rad]pagenumber.north east) to[out=0,in=-180,looseness=1] ([xshift=2*\rad]pagenumber.south east) --cycle}, - text=outermarginfgcolor,font=\sffamily\fontsize{15}{15}\selectfont\bfseries,align=center,minimum height=0.4cm,minimum width=1.3cm,inner sep=1.5mm] (pagenumber) at ([shift={(0,0.3cm)}]current page.south) {\thepage}; - \end{tikzpicture}} -} -\titlespacing{\chapter}{0pt}{0pt}{80pt} -\makeatother -% -------- Part定制 -\tikzfading[name=middle, top color=transparent!90, bottom -color=transparent!90, middle color=transparent!20] -\makeatletter -\newcommand\partabstract[1]{\def\@partabstract{#1}} -\newcommand\partimage[1]{\def\@partimage{#1}} -\titleformat{\part} -{\normalfont\huge\filcenter} -{} -{20pt} -{\begin{tikzpicture}[remember picture,overlay] - \def\barwidth{2cm} - \fill[outermarginbgcolor,opacity=0.6] - (current page.north west) rectangle (current page.south east); - \ifodd\value{page} - \fill [outermarginfgcolor!20]% - (current page.north east) rectangle ++(-\outermarginwidth,-\paperheight); - \pattern [pattern=north east lines,pattern color=outermarginfgcolor!50]% - (current page.north east) rectangle ++(-\outermarginwidth,-\paperheight); - \fill [outermarginbgcolor!90,path fading=fade south]% - ([yshift=1mm]current page.north east) rectangle ++(-\outermarginwidth,-.8\paperheight); - \fill [outermarginbgcolor,path fading=fade north]% - (current page.south east) rectangle ++(-\outermarginwidth,.8\paperheight);% - % lines - \fill[outermarginfgcolor,rounded corners=2pt] (current page.north east) --++(-5pt,-0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,0.15cm)--cycle; - \coordinate (anchor of headmark) at ([shift={(-1.2\outermarginwidth,-0.2cm)}]current page.north east); - \node[below ,text=outermarginfgcolor,font=\sffamily\bfseries\fontsize{15}{20}\selectfont] (partpagenum) at ([shift={(-.5\outermarginwidth,0)}]current page.north east) {\thepage}; - \fill[outermarginfgcolor,rounded corners=2pt] (current page.south east) --++(-5pt,0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,-0.15cm)--cycle; % 页码横线 - \node[] (hbar) at ($(current page.north)!0.33!(current page.south)$) { - \begin{tikzpicture} - \fill[white] - (0,0) rectangle ++(\paperwidth,-1cm); - \fill[outermarginbgcolor] - (0,-.25cm) rectangle ++(\paperwidth,-.5cm); - \fill[outermarginfgcolor] - (.67\paperwidth,-.25cm) rectangle ++(4.5cm,-.5cm); - \fill[outermarginfgcolor!20!white] - (.67\paperwidth-1mm,-.25cm) rectangle ++(1mm,-.5cm); - \fill[outermarginfgcolor!20!white] - (.67\paperwidth+4.4cm,-.25cm) rectangle ++(1mm,-.5cm); - \end{tikzpicture} - }; - \node[above,font=\sc\huge,shift={(.33\linewidth,.5\barwidth)}] (partname) at (hbar) {Part\ \thepart}; - \node[below,left,font=\sc\huge,shift={(.146\linewidth,-1.5*\barwidth)}] (partcontents) at (partname) {\begin{varwidth}{.8\linewidth}\raggedright\baselineskip=2ex #1 \end{varwidth}}; % 标题名称 - \begin{pgfonlayer}{background} - \node[above,shift={(-.4\linewidth,-4*\barwidth)}] at (partname) {\ifdefvoid{\@partimage}{}{\includegraphics[width=1.2\linewidth]{\@partimage}}}; % 图片位置调整 - \end{pgfonlayer} - \else - \fill [outermarginfgcolor!20]% - (current page.north west) rectangle ++(\outermarginwidth,-\paperheight); - \pattern [pattern=north west lines,pattern color=outermarginfgcolor!50]% - (current page.north west) rectangle ++(\outermarginwidth,-\paperheight); - \fill [outermarginbgcolor!90,path fading=fade south]% - ([yshift=1mm]current page.north west) rectangle ++(\outermarginwidth,-.8\paperheight); - \fill [outermarginbgcolor,path fading=fade north]% - (current page.south west) rectangle ++(\outermarginwidth,.8\paperheight);% - % lines - \fill[outermarginfgcolor,rounded corners=2pt] (current page.north west) --++(5pt,-0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,0.15cm)--cycle; - \coordinate (anchor of headmark) at ([shift={(1.2\outermarginwidth,-0.2cm)}]current page.north west); - \node[below ,text=outermarginfgcolor,font=\sffamily\bfseries\fontsize{15}{20}\selectfont] (partpagenum) at ([shift={(.5\outermarginwidth,0)}]current page.north west) {\thepage}; - \fill[outermarginfgcolor,rounded corners=2pt] (current page.south west) --++(5pt,0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,-0.15cm)--cycle; % 页码横线 - \node[] (hbar) at ($(current page.north)!0.33!(current page.south)$) { - \begin{tikzpicture} - \fill[white] - (0,0) rectangle ++(\paperwidth,-1cm); - \fill[outermarginbgcolor] - (0,-.25cm) rectangle ++(\paperwidth,-.5cm); - \fill[outermarginfgcolor] - (.15\paperwidth,-.25cm) rectangle ++(4.5cm,-.5cm); - \fill[outermarginfgcolor!20!white] - (.15\paperwidth-1mm,-.25cm) rectangle ++(1mm,-.5cm); - \fill[outermarginfgcolor!20!white] - (.15\paperwidth+4.5cm,-.25cm) rectangle ++(1mm,-.5cm); - \end{tikzpicture} - }; - \node[above,font=\sc\huge,shift={(-.31\linewidth,.5\barwidth)}] (partname) at (hbar) {Part\ \thepart}; - \node[below right,font=\sc\huge,shift={(-.125\linewidth,-1.2*\barwidth)}] (partcontents) at (partname) {\begin{varwidth}{.8\linewidth}\raggedright\baselineskip=2ex #1 \end{varwidth}}; % 标题名称 - \begin{pgfonlayer}{background} - \node[above,shift={(.35\linewidth,-4*\barwidth)}] at (partname) {\ifdefvoid{\@partimage}{}{\includegraphics[width=1.2\linewidth]{\@partimage}}}; % 图片位置调整 - \end{pgfonlayer} - \fi - \node[below,,font=\itshape\fontsize{13}{13}\selectfont,shift={(0\linewidth,-1.65*\barwidth)}] at (hbar) {\ifdefvoid{\@partabstract}{}{\begin{varwidth}{.85\linewidth}\baselineskip=3ex \@partabstract\end{varwidth}}}; % 简介文字调整 - \end{tikzpicture}} -\makeatother -\assignpagestyle{\part}{empty} -\assignpagestyle{\chapter}{empty} - - -%% -- Section -\titleformat{\section} -{} -{} -{-.5em} %左右移动\thesection标签位置 -{\mysectionformat{#1}} - -\titleformat{name=\section,numberless}{}{}{-.5em}{\mysectionnonumformat{#1}} - -\newcommand{\mysectionformat}[1]{% -\makebox[0pt][l]{\def\rad{7pt}% -\begin{tikzpicture}[remember picture] - \path[fill=outermarginfgcolor,drop shadow={opacity=0.3,shadow xshift=.05cm,shadow yshift=-.05cm}]node[append after command={ - ([xshift=\rad]sec.north west) to[out=180,in=0,looseness=1] ([xshift=-3*\rad]sec.south west) --([xshift=-\rad]sec.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]sec.north east) --cycle}, - text=white,font=\sffamily\large\bfseries,align=center,inner ysep=2mm] (sec) at (0,0) {Sec\ \thesection}; - \node[text=black,font=\large,below right] (secnum) at ([shift={(0,-1mm)}]sec.north east) {\begin{varwidth}{.85\linewidth}\setlength\baselineskip{18pt}\hspace{.5cm}#1\end{varwidth}}; -\end{tikzpicture}}}%最后一个选项为 [] - -\newcommand{\mysectionnonumformat}[1]{% -\makebox[0pt][l]{\def\rad{7pt}% -\begin{tikzpicture}[remember picture] - \path[fill=outermarginfgcolor,drop shadow={opacity=0.3,shadow xshift=.05cm,shadow yshift=-.05cm}]node[append after command={ - ([xshift=\rad]sec.north west) to[out=180,in=0,looseness=1] ([xshift=-3*\rad]sec.south west) --([xshift=-\rad]sec.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]sec.north east) --cycle}, - text=white,font=\sffamily\large\bfseries,align=center,inner ysep=2mm] (sec) at (0,0) {Sec}; - \node[text=black,font=\large,below right] (secnum) at ([shift={(0,-1mm)}]sec.north east) {\begin{varwidth}{.85\linewidth}\setlength\baselineskip{18pt}\hspace{.5cm}#1\end{varwidth}}; -\end{tikzpicture}}}%最后一个选项为 [] - -\titlespacing*{\section}{0pt}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex} - -%%-------------------------------- SCRLAYER-SCRPAGE -------------------------------------%% -%% SIDE-BAR -\newlength\chapternumbersize -\setlength\chapternumbersize{36pt} -\setlength{\headheight}{40pt} % 页眉高度 -\renewcommand\chaptermarkformat{} -% define a new mark for the chapter number -\newmarks\chapternum -\xapptocmd\chaptermark{\marks\chapternum{\thechapter}}{}{\PatchFailed} -\newmarks\secnum -\xapptocmd\sectionmark{\marks\secnum{\thesection}}{}{\PatchFailed} - -\newcommand*\outermarginpagemark{% -\tikzoverlay{ - \begin{pgfonlayer}{top} - \ifodd\value{page} - \fill[outermarginfgcolor,rounded corners=2pt] (current page.north east) --++(-5pt,-0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,0.15cm)--cycle; - \coordinate (anchor of headmark) at ([shift={(-1.2\outermarginwidth,-0.2cm)}]current page.north east); - \node[below ,text=outermarginfgcolor,font=\sffamily\bfseries\fontsize{15}{15}\selectfont] at ([shift={(-.5\outermarginwidth,-0.15cm)}]current page.north east) {\thepage}; - \fill[outermarginfgcolor!50,rounded corners=1pt] ([shift={(0.2\outermarginwidth,0.2cm)}]anchor of headmark) --++(-5pt,-0.15cm)--++(-.45\linewidth,0) --++(-5pt,0.15cm)--cycle; % 页眉横线 - \node[below left,font=\upshape,text=outermarginfgcolor] at ([yshift=0.05cm]anchor of headmark) {\begin{varwidth}{\linewidth}\rightmark\end{varwidth}}; - \fill[outermarginfgcolor,rounded corners=2pt] (current page.south east) --++(-5pt,0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,-0.15cm)--cycle; % 页码横线 - \else - \fill[outermarginfgcolor,rounded corners=2pt] (current page.north west) --++(5pt,-0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,0.15cm)--cycle; - \coordinate (anchor of headmark) at ([shift={(1.2\outermarginwidth,-0.2cm)}]current page.north west); - \node[below ,text=outermarginfgcolor,font=\sffamily\bfseries\fontsize{15}{15}\selectfont] at ([shift={(.5\outermarginwidth,-0.15cm)}]current page.north west) {\thepage}; - \fill[outermarginfgcolor!50,rounded corners=1pt] ([shift={(-0.2\outermarginwidth,0.2cm)}]anchor of headmark) --++(5pt,-0.15cm)--++(.45\linewidth,0) --++(5pt,0.15cm)--cycle; % 页眉横线 - \node[below right,font=\upshape,text=outermarginfgcolor] at ([yshift=0.05cm]anchor of headmark) {\begin{varwidth}{\linewidth}\rightmark\end{varwidth}}; - \fill[outermarginfgcolor,rounded corners=2pt] (current page.south west) --++(5pt,0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,-0.15cm)--cycle; % 页码横线 - \fi - \end{pgfonlayer}} -} -\newlength\baryshift -\setlength\baryshift{-2.5\outermarginwidth} -\makeatletter -% Add A Side-Bar Box For The Chapter Number -\newcommand*\outermarginchapternumberbox{% - \if@mainmatter - \tikzoverlay{ - \shade[top color=outermarginfgcolor!90,bottom color=outermarginbgcolor] - (\outermarginwidth,-.5\outermarginwidth+2mm) rectangle (0,-1.5\outermarginwidth+2mm); - \node[anchor=center,text=white,font=\sffamily\bfseries] at (1/2*\outermarginwidth,-\outermarginwidth+2mm) {\usekomafont{chapternumber}{\botmarks\chapternum}};% - } - \fi - \vfill -} -\makeatother - -\newkomafont{chapternumber}{%页边章节编号字体 - \fontsize{\chapternumbersize}{\chapternumbersize}\selectfont -}% -\makeatletter -\newcommand\outermarginmark{ - \ifodd\value{page}\hfill\else\hspace*{\dimexpr\outermarginwidth*3/8\relax}\fi - \rotatebox{90}{\parbox{\layerheight}{ - \raggedleft - \usekomafont{outermargin}{% - \MakeMarkcase{\ifodd\value{page}\odd@outermargin\else\even@outermargin\fi}}% - }}% - \ifodd\value{page}\hspace*{\dimexpr\outermarginwidth*3/8\relax}\fi% -} -\newcommand*\even@outermargin{} -\newcommand*\odd@outermargin{} -\newcommand*\evenoutermargin[1]{\renewcommand\even@outermargin{#1}}% 偶数页内容 -\newcommand*\oddoutermargin[1]{\renewcommand\odd@outermargin{#1}}% 奇数页内容 -\makeatother -% -\newkomafont{outermargin}{%页边章节名称字体 - \bfseries\fontsize{15}{15}\selectfont\color{outermarginfgcolor} -} -% declare new page style using layers -\DeclareNewPageStyleByLayers{scth}{% - scth.outermargin.bg.even,% - scth.outermargin.bg.odd,% - scth.outermargin.fg.even,% - scth.outermargin.fg.odd,% - scth.outermargin.pn.even,% - scth.outermargin.pn.odd,% - scth.outermargin.cn.even,% - scth.outermargin.cn.odd,% - scth.outermargin.text.even,% - scth.outermargin.text.odd% -} -% define the layers for even pages -\DeclareNewLayer[ - background, % 下层(背景) - evenpage, - outermargin, - width=\outermarginwidth, - contents={\color{outermarginbgcolor}\rule{\layerwidth}{\layerheight}} %色彩装饰条 -]{scth.outermargin.bg.even}% -%%=============% 页边条颜色 %=======================%% -\tikzfading[name=fade south, - top color =transparent!0, - bottom color=transparent!80] -\tikzfading[name=fade north, - top color =transparent!100, - bottom color=transparent!0] -%偶数页边纹理效果设置 -\newcommand{\evensidbardeepcolor}{% -\tikzoverlay{ -\ifodd\value{page} -\fill [outermarginfgcolor!20]% - (current page.north east) rectangle ([xshift=-\outermarginwidth,yshift=0]current page.south east); - \pattern [pattern=checkerboard,pattern color=outermarginfgcolor!50]% - (current page.north east) rectangle ([xshift=-\outermarginwidth,yshift=0]current page.south east); - \fill [outermarginbgcolor!90,path fading=fade south]% - ([yshift=1mm]current page.north east) rectangle ([xshift=-\outermarginwidth,yshift=-.5\layerheight]current page.north east); - \fill [outermarginbgcolor,path fading=fade north]% - (current page.south east) rectangle ([xshift=-\outermarginwidth,yshift=.2\layerheight]current page.south east); -\else - \fill [outermarginfgcolor!20]% - (current page.north west) rectangle ([xshift=\outermarginwidth,yshift=0]current page.south west); - \pattern [pattern=checkerboard,pattern color=outermarginfgcolor!50]% - (current page.north west) rectangle ([xshift=\outermarginwidth,yshift=0]current page.south west); - \fill [outermarginbgcolor!90,path fading=fade south]% - ([yshift=1mm]current page.north west) rectangle ([xshift=\outermarginwidth,yshift=-.5\layerheight]current page.north west); - \fill [outermarginbgcolor,path fading=fade north]% - (current page.south west) rectangle ([xshift=\outermarginwidth,yshift=.2\layerheight]current page.south west); - \fi -} -} -%%==============偶数页页边条颜色========================%% -\DeclareNewLayer[ - foreground, % - evenpage, - outermargin, - width=\outermarginwidth, - contents=\evensidbardeepcolor %色彩装饰条 -]{scth.outermargin.fg.even}% -%%==============偶数页页脚页码========================%% -\DeclareNewLayer[ - foreground, %上层 (背景之上) - evenpage, - foot, % 页脚 - contents=\outermarginpagemark -]{scth.outermargin.pn.even}% -%%==============偶数页章节编号========================%% -\DeclareNewLayer[ - foreground, %上层 (背景之上) - evenpage, - head, %页眉 - hoffset=0pt, - width=\outermarginwidth, - align=t, - addvoffset=\dimexpr-\chapternumbersize-12pt+\headheight\relax, - height=\chapternumbersize+\headheight, - contents=\outermarginchapternumberbox%章节编号 -]{scth.outermargin.cn.even}% -%%======================章节名称===================================%% -\DeclareNewLayer[ - clone=scth.outermargin.cn.even, - addheight=\dimexpr\headheight+\headsep+\textheight\relax, - addvoffset=\dimexpr+2\outermarginwidth\relax, - hoffset=-2.5pt, - contents=\outermarginmark % -]{scth.outermargin.text.even}% - -% define the layers for odd page from the settings for even pages -\newcommand*\DeclareOddFromEven[1]{%复制自偶数页样式命令 -\DeclareNewLayer[ - clone=#1.even, - oddpage, - align=r, - hoffset=\paperwidth -]{#1.odd}% -} -\DeclareOddFromEven{scth.outermargin.bg} -\DeclareOddFromEven{scth.outermargin.pn} -\DeclareOddFromEven{scth.outermargin.cn} -\DeclareOddFromEven{scth.outermargin.text} -\DeclareOddFromEven{scth.outermargin.fg} - -% add the layers to page style scrheadings and page style plain -\ForEachLayerOfPageStyle*{scth}{% - \AddLayersToPageStyle{scrheadings}{#1}% - \AddLayersToPageStyle{plain.scrheadings}{#1}% -} -%---------------------------------------------- -\KOMAoptions{markcase=upper} %页眉 -% for page styles scrheadings and plain -\clearpairofpagestyles -\ohead{} -\cfoot{} -\ofoot{} - -%%-------------------------------- SCRLAYER-SCRPAGE -------------------------------------%% - -%% Begin The Most Beautiful Box (STYLE : ys style) % 中国风盒子 -\makeatletter -\definecolor{framegolden}{HTML}{455a64} % 控制外框颜色 -\definecolor{framegray}{HTML}{e0e0e0} % 控制填充颜色 -\newdimen\ys@frame@linewidth -\newdimen\ys@frame@radius -\newdimen\ys@frame@sep -\def\ys@frame@fill@opacity{0.2} - -\pgfdeclarehorizontalshading{ys@fade@circle}{500bp} -{color(0bp)=(pgftransparent!100); color(25bp)=(pgftransparent!100); -color(45bp)=(pgftransparent!0); color(55bp)=(pgftransparent!0); -color(75bp)=(pgftransparent!100); color(100bp)=(pgftransparent!100)} -\pgfdeclarefading{ys circle}{\pgfuseshading{ys@fade@circle}} - -\def\ys@frame@star@list@t{% - -0.7071\ys@frame@radius+0.2133\ys@frame@sep/% - -0.7071\ys@frame@radius+0.2133\ys@frame@sep/% - frame.north east,% - 0.7071\ys@frame@radius-0.2133\ys@frame@sep/% - -0.7071\ys@frame@radius+0.2133\ys@frame@sep/% - frame.north west} -\def\ys@frame@star@list@b{% - 0.7071\ys@frame@radius-0.2133\ys@frame@sep/% - 0.7071\ys@frame@radius-0.2133\ys@frame@sep/% - frame.south west,% - -0.7071\ys@frame@radius+0.2133\ys@frame@sep/% - 0.7071\ys@frame@radius-0.2133\ys@frame@sep/% - frame.south east} -\edef\ys@frame@star@list{\ys@frame@star@list@t,\ys@frame@star@list@b} - -%region outer -\def\ys@frame@remove@middleline#1#2{} -\def\ys@frame@draw@middleline#1#2{% - \clip ([xshift=-\ys@frame@linewidth,#1]frame.north west)-- - ([xshift=\ys@frame@linewidth,#1]frame.north east)-- - ([xshift=\ys@frame@linewidth,#2]frame.south east)-- - ([xshift=-\ys@frame@linewidth,#2]frame.south west)--cycle;} -\def\ys@frame@unbrokenouter{% - \path[draw=framegolden,fill=framegray,fill opacity=\ys@frame@fill@opacity,line width=\ys@frame@linewidth] - ([xshift=\ys@frame@radius]frame.north west)--([xshift=-\ys@frame@radius]frame.north east) - arc(-180:-90:\ys@frame@radius)-- - ([yshift=-\ys@frame@radius]frame.north east)--([yshift=\ys@frame@radius]frame.south east) - arc(90:180:\ys@frame@radius)-- - ([xshift=-\ys@frame@radius]frame.south east)--([xshift=\ys@frame@radius]frame.south west) - arc(0:90:\ys@frame@radius)-- - ([yshift=\ys@frame@radius]frame.south west)--([yshift=-\ys@frame@radius]frame.north west) - arc(-90:0:\ys@frame@radius)--cycle;} -\def\ys@frame@firstouter{% - \ys@frame@remove@middleline{yshift=.5\ys@frame@linewidth}{yshift=.7\ys@frame@linewidth}% - \path[draw=framegolden,fill=framegray,fill opacity=\ys@frame@fill@opacity,line width=\ys@frame@linewidth] - ([xshift=\ys@frame@radius]frame.north west)--([xshift=-\ys@frame@radius]frame.north east) - arc(-180:-90:\ys@frame@radius)-- - ([yshift=-\ys@frame@radius]frame.north east)-- - (frame.south east)-- - (frame.south west)-- - ([yshift=-\ys@frame@radius]frame.north west) - arc(-90:0:\ys@frame@radius)--cycle;} -\def\ys@frame@middleouter{% - \ys@frame@remove@middleline{yshift=-.7\ys@frame@linewidth}{yshift=.7\ys@frame@linewidth}% - \path[draw=framegolden,fill=framegray,fill opacity=\ys@frame@fill@opacity,line width=\ys@frame@linewidth] - (frame.north west)--(frame.north east)--(frame.south east)-- - (frame.south west)--cycle;} -\def\ys@frame@lastouter{% - \ys@frame@remove@middleline{yshift=-.7\ys@frame@linewidth}{yshift=-.5\ys@frame@linewidth}% - \path[draw=framegolden,fill=framegray,fill opacity=\ys@frame@fill@opacity,line width=\ys@frame@linewidth] - (frame.north west)--(frame.north east)-- - ([yshift=\ys@frame@radius]frame.south east) - arc(90:180:\ys@frame@radius)-- - ([xshift=-\ys@frame@radius]frame.south east)--([xshift=\ys@frame@radius]frame.south west) - arc(0:90:\ys@frame@radius)-- - ([yshift=\ys@frame@radius]frame.south west)-- - (frame.north west)--cycle;} -%endregion -%region inner -\def\ys@frame@unbrokeninner{% -\path[draw=framegolden,line width=.5\ys@frame@linewidth,line cap=round] -([xshift=\ys@frame@radius+2\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) - --([xshift=\ys@frame@radius+5\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) --++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) - ([xshift=\ys@frame@radius+6\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) %第一节 - --([xshift=-\ys@frame@radius-8.828\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) - ([xshift=-\ys@frame@radius-7.828\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第二节 - --([xshift=-\ys@frame@radius-2\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east) - %% -([yshift=-\ys@frame@radius-2\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east) ---([yshift=-\ys@frame@radius-5\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east) --++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) -([yshift=-\ys@frame@radius-6\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) %第一节 ---([yshift=\ys@frame@radius+8.828\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) -([yshift=\ys@frame@radius+7.828\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第二节 -% - --([yshift=\ys@frame@radius+2\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east) -% -([xshift=\ys@frame@radius+2\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) ---([xshift=\ys@frame@radius+5\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) --++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) -([xshift=\ys@frame@radius+6\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第一节 ---([xshift=-\ys@frame@radius-8.828\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) -([xshift=-\ys@frame@radius-7.828\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) %第二节 - --([xshift=-\ys@frame@radius-2\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east) -% -([yshift=-\ys@frame@radius-2\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west) ---([yshift=-\ys@frame@radius-5\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west) --++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) -([yshift=-\ys@frame@radius-6\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第一节 ---([yshift=\ys@frame@radius+8.828\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) -([yshift=\ys@frame@radius+7.828\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) %第二节 - --([yshift=\ys@frame@radius+2\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west);} -\def\ys@frame@firstinner{% - \path[draw=framegolden,line width=.5\ys@frame@linewidth,line cap=round] - ([xshift=\ys@frame@radius+2\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) - --([xshift=\ys@frame@radius+5\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) --++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) - ([xshift=\ys@frame@radius+6\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) %第一节 - --([xshift=-\ys@frame@radius-8.828\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) - ([xshift=-\ys@frame@radius-7.828\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第二节 - --([xshift=-\ys@frame@radius-2\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east) - %% -([yshift=-\ys@frame@radius-2\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east) ---([yshift=-\ys@frame@radius-5\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east) --++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) -([yshift=-\ys@frame@radius-6\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) %第一节 ---([xshift=-\ys@frame@sep]frame.south east) - - ([yshift=-\ys@frame@radius-2\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west) - --([yshift=-\ys@frame@radius-5\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west) --++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) - ([yshift=-\ys@frame@radius-6\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第一节 - --([xshift=\ys@frame@sep]frame.south west);} -\def\ys@frame@middleinner{% - \path[draw=framegolden,line width=.5\ys@frame@linewidth,line cap=round] - ([xshift=-\ys@frame@sep]frame.north east)--([xshift=-\ys@frame@sep]frame.south east) - ([xshift=\ys@frame@sep]frame.north west)--([xshift=\ys@frame@sep]frame.south west);} -\def\ys@frame@lastinner{% - \path[draw=framegolden,line width=.5\ys@frame@linewidth,line cap=round] - ([xshift=-\ys@frame@sep]frame.north east) - --([yshift=\ys@frame@radius+8.828\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) - ([yshift=\ys@frame@radius+7.828\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第二节 - % - --([yshift=\ys@frame@radius+2\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east) -% - ([xshift=\ys@frame@radius+2\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) - --([xshift=\ys@frame@radius+5\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) --++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) - ([xshift=\ys@frame@radius+6\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第一节 - --([xshift=-\ys@frame@radius-8.828\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) - ([xshift=-\ys@frame@radius-7.828\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) %第二节 - --([xshift=-\ys@frame@radius-2\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east) -% - ([xshift=\ys@frame@sep]frame.north west) - --([yshift=\ys@frame@radius+8.828\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) - ([yshift=\ys@frame@radius+7.828\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) %第二节 - --([yshift=\ys@frame@radius+2\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west);} -%endregion -%region corner -\def\ys@frame@unbrokencorner{% - \path[draw=framegolden,line width=1.5\ys@frame@linewidth,line cap=round] - ([xshift=\ys@frame@radius-2.7\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) - --([xshift=\ys@frame@sep,yshift=-\ys@frame@sep]frame.north west) - --([xshift=\ys@frame@sep,yshift=-\ys@frame@radius+2.7\ys@frame@linewidth]frame.north west) - ([xshift=-\ys@frame@radius+2.7\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east) - --([xshift=-\ys@frame@sep,yshift=-\ys@frame@sep]frame.north east) - --([xshift=-\ys@frame@sep,yshift=-\ys@frame@radius+2.7\ys@frame@linewidth]frame.north east) - ([xshift=-\ys@frame@radius+2.7\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east) - --([xshift=-\ys@frame@sep,yshift=\ys@frame@sep]frame.south east) - --([xshift=-\ys@frame@sep,yshift=\ys@frame@radius-2.7\ys@frame@linewidth]frame.south east) - ([xshift=\ys@frame@radius-2.7\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) - --([xshift=\ys@frame@sep,yshift=\ys@frame@sep]frame.south west) - --([xshift=\ys@frame@sep,yshift=\ys@frame@radius-2.7\ys@frame@linewidth]frame.south west);} -\def\ys@frame@firstcorner{% - \path[draw=framegolden,line width=1.5\ys@frame@linewidth,line cap=round] - ([xshift=\ys@frame@radius-2.7\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) - --([xshift=\ys@frame@sep,yshift=-\ys@frame@sep]frame.north west) - --([xshift=\ys@frame@sep,yshift=-\ys@frame@radius+2.7\ys@frame@linewidth]frame.north west) - ([xshift=-\ys@frame@radius+2.7\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east) - --([xshift=-\ys@frame@sep,yshift=-\ys@frame@sep]frame.north east) - --([xshift=-\ys@frame@sep,yshift=-\ys@frame@radius+2.7\ys@frame@linewidth]frame.north east);} -\def\ys@frame@middlecorner{} -\def\ys@frame@lastcorner{% - \path[draw=framegolden,line width=1.5\ys@frame@linewidth,line cap=round] - ([xshift=-\ys@frame@radius+2.7\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east) - --([xshift=-\ys@frame@sep,yshift=\ys@frame@sep]frame.south east) - --([xshift=-\ys@frame@sep,yshift=\ys@frame@radius-2.7\ys@frame@linewidth]frame.south east) - ([xshift=\ys@frame@radius-2.7\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) - --([xshift=\ys@frame@sep,yshift=\ys@frame@sep]frame.south west) - --([xshift=\ys@frame@sep,yshift=\ys@frame@radius-2.7\ys@frame@linewidth]frame.south west);} -%endregion -\def\ys@frame@star#1#2#3{% - \begin{scope}[shift={([xshift=#1,yshift=#2]#3)},scale=\ys@frame@ratio*0.1] - \path[draw=framegolden,fill=white, - line width=.7\ys@frame@linewidth,line join=round] - (1,1)..controls(0.3,0.5) and (-0.3,0.5).. - (-1,1)..controls(-0.5,0.3) and (-0.5,-0.3).. - (-1,-1)..controls(-0.3,-0.5) and (0.3,-0.5).. - (1,-1)..controls(0.5,-0.3) and (0.5,0.3)..(1,1)--cycle; - \path[scale=0.45,fill=framegolden,line join=round] - (1,1)..controls(0.3,0.7) and (-0.3,0.7).. - (-1,1)..controls(-0.7,0.3) and (-0.7,-0.3).. - (-1,-1)..controls(-0.3,-0.7) and (0.3,-0.7).. - (1,-1)..controls(0.7,-0.3) and (0.7,0.3)..(1,1)--cycle; - \end{scope}} -\def\ys@frame@segmentation{% - \draw[color=framegolden,path fading=ys circle] - ([xshift=5\ys@frame@radius]segmentation.west) to[ornament=88] - ([xshift=-5\ys@frame@radius]segmentation.east);} - -\tcbset{ - % 控制是否在断点处的线不画出来 - ys/frame/not at break/.code=\let\ys@frame@remove@middleline\ys@frame@draw@middleline, - ys/frame/fill opacity/.store in=\ys@frame@fill@opacity, - ys/frame/draw at break/.code=\let\ys@frame@remove@middleline\@gobbletwo, - % 控制线宽 - ys/frame/line width/.code={\pgfmathsetlength\ys@frame@linewidth{#1}}, - ys/frame/line width=1.4pt, - % 控制圆弧大小,应为数字,而非长度 - ys/frame/radius/.code={\pgfmathparse{#1}\let\ys@frame@ratio\pgfmathresult - \pgfmathsetlength\ys@frame@radius{(#1)*1em}% - \pgfmathsetlength\ys@frame@sep{(#1)*0.5ex}}, - ys/frame/radius=2, - ys/frame/unbroken/.style={ - interior code={% - \ys@frame@unbrokenouter % 外框 - \foreach \ii/\jj/\kk in \ys@frame@star@list {\ys@frame@star{\ii}{\jj}{\kk}} % 星 - \ys@frame@unbrokeninner % 内线 - \ys@frame@unbrokencorner % 四角 - }, - interior titled code={% - \ys@frame@unbrokenouter % 外框 - \foreach \ii/\jj/\kk in \ys@frame@star@list {\ys@frame@star{\ii}{\jj}{\kk}} % 星 - \ys@frame@unbrokeninner % 内线 - \ys@frame@unbrokencorner % 四角 - } - }, - ys/frame/first/.style={ - interior code={% - \ys@frame@firstouter - \foreach \ii/\jj/\kk in \ys@frame@star@list@t {\ys@frame@star{\ii}{\jj}{\kk}} - \ys@frame@firstinner - \ys@frame@firstcorner}, - interior titled code={% - \ys@frame@firstouter - \foreach \ii/\jj/\kk in \ys@frame@star@list@t {\ys@frame@star{\ii}{\jj}{\kk}} - \ys@frame@firstinner - \ys@frame@firstcorner}, - }, - ys/frame/middle/.style={ - interior code={% - \ys@frame@middleouter - \ys@frame@middleinner - \ys@frame@middlecorner} - }, - ys/frame/last/.style={ - interior code={% - \ys@frame@lastouter - \foreach \ii/\jj/\kk in \ys@frame@star@list@b {\ys@frame@star{\ii}{\jj}{\kk}} - \ys@frame@lastinner - \ys@frame@lastcorner} - }, - ys/frame style/unbroken/.style={ - boxsep=2\ys@frame@sep, - left={.8\ys@frame@radius},right={.8\ys@frame@radius}, - ys/frame/unbroken,title hidden, - segmentation code=\ys@frame@segmentation - }, - ys/frame style/first/.style={ys/frame/first,title hidden,segmentation code=\ys@frame@segmentation}, - ys/frame style/middle/.style={ys/frame/middle,segmentation code=\ys@frame@segmentation}, - ys/frame style/last/.style={ys/frame/last,segmentation code=\ys@frame@segmentation}, - ys style/.style={frame hidden, - ys/frame style/unbroken, - extras first={ys/frame style/first}, - extras middle={ys/frame style/middle}, - extras last={ys/frame style/last}, - }, -} -\makeatother -\newtcolorbox{fancybox}[1][]{enhanced,ys style,breakable,pad at break=2mm, - ys/frame/not at break,ys/frame/fill opacity=0,#1,fontupper=\itshape} -%% End The Most Beautiful Box -\makeatletter -\definecolor{CyaN}{HTML}{dbe1e5} -\colorlet{OrangE}{yellow!20!orange} -\colorlet{BluE}{cyan!70!blue} -\colorlet{ReD}{red!20!orange} -\colorlet{GreeN}{yellow!40!green} - -% 第一种定理 -\tcbset{my@basic@thm/.style={enhanced jigsaw, breakable, - enlarge left by=-3.5mm, width=\textwidth+3.5mm, boxrule=0pt, - top=2pt, bottom=2pt, left=2.5mm, frame hidden}} -\newcommand{\@my@newtheorem@n}[1]{\ERROR} -\newcommand{\@my@newtheorem@nn}[2]{% - \@ifundefined{#1}{\@my@newtheorem{#1}#2}{\@my@renewtheorem{#1}#2}} -\NewDocumentCommand{\@my@newtheorem}{ m m o +m } - {\IfNoValueTF{#3}{\newtheorem{#1}{#2}}{\newtheorem{#1}{#2}[#3]}% - \tcbset{my@#1@thmstyle/.style={#4}}% - \tcolorboxenvironment{#1}{my@basic@thm, my@#1@thmstyle}} -\NewDocumentCommand{\@my@renewtheorem}{ m m o +m } - {\IfNoValueTF{#3}{\renewtheorem{#1}{#2}}{\renewtheorem{#1}{#2}[#3]}% - \tcbset{my@#1@thmstyle/.style={#4}}} -% -% ---------------------------------------------------------------------------------- % -% 第二种定理 -\tcbset{my@basic@tcbthm/.style={detach title,}} -\newcommand{\@my@newtcbtheorem@n}[1]{\ERROR} -\newcommand{\@my@newtcbtheorem@nn}[2]{% - \@ifundefined{#1}{\@my@newtcbtheorem{#1}{#2}}{\@my@renewtcbtheorem{#1}{#2}}} -\newcommand{\@my@newtcbtheorem}[2]{% - \edef\my@curr@thmenvname{#1}% 它保存当前定理环境的名称 - \mytcbtheoremset{#2}% - \NewTColorBox{#1}{ O{} O{} o } - {my@basic@tcbthm, my@#1@tcbthmstyle, title={##2}, IfNoValueF={##3}{label={##3}}, ##1}} -\newcommand{\@my@renewtcbtheorem}[2]{\edef\my@curr@thmenvname{#1}\mytcbtheoremset{#2}} - -% 键值设置 -\pgfkeys{/mytcbtheorem/.is family} -\newcommand{\mytcbtheoremset}{\pgfqkeys{/mytcbtheorem}} -\mytcbtheoremset{ - name/.code=\@namedef{\my@curr@thmenvname @name}{#1}, %无效 - counter/.code=\@namedef{my@\my@curr@thmenvname @counter}{#1}\newcounter{#1}[chapter], % 计数器遇到subsection就会自动归零 % https://zhuanlan.zhihu.com/p/57454848#circle=on - the counter/.code=\@namedef{the\@nameuse{my@\my@curr@thmenvname @counter}}{#1}, - autoref name/.code=\@namedef{\@nameuse{my@\my@curr@thmenvname @counter}autorefname}{#1}, - style/.code=\tcbset{my@\my@curr@thmenvname @tcbthmstyle/.style={#1}}, - thmcolor/.code=\@namedef{\my@curr@thmenvname @thmcolor}{#1}, %无效 - lemcolor/.code=\@namedef{\my@curr@thmenvname @lemcolor}{#1}, %无效 -} -% 存储键值 (LaTeX3) -\ExplSyntaxOn -\cs_new_protected:Npn \mynewtheorem - { \keyval_parse:NNn \@my@newtheorem@n \@my@newtheorem@nn } -\cs_new_protected:Npn \mynewtcbtheorem - { \keyval_parse:NNn \@my@newtcbtheorem@n \@my@newtcbtheorem@nn } -\ExplSyntaxOff -\makeatother - -% 第二种定理 -\makeatletter -%% Overlay Settings -\newcommand{\my@theorem@overlay@unbroken}[2]{ - %%============== First ==============%% - \fill[black!60] ([xshift=1cm,yshift=5pt]frame.north west)-- ([xshift=0.8cm,yshift=0cm]frame.north west)--([xshift=1.2cm,yshift=0cm]frame.north west)--cycle; - \node[rectangle, text=white, drop shadow={opacity=.3, shadow xshift=0.1cm}, inner sep=1.5mm,fill=#2, -anchor=west,rounded corners=3pt,font=\bfseries\normalsize] at ([xshift=0cm,yshift=-3.mm]frame.north west) {\hspace*{1.5em}#1.\ \ifdefvoid{\tcbtitletext}{}{(\itshape\tcbtitletext)}}; - \fill[color=#2,drop shadow={opacity=0.3,shadow xshift=.3pt}] - ([xshift=1cm,yshift=5pt]frame.north west) {[rounded corners=3pt]--++(-1cm-5pt,0)}--++(0,-1cm-5pt)--cycle; - \fill[color=black!60] ([xshift=-5pt,yshift=-1cm]frame.north west)--([xshift=0cm,yshift=-0.8cm]frame.north west)-- ([xshift=0cm,yshift=-1.2cm]frame.north west)--cycle; - %%============== End ==============%% - \fill[#2,drop shadow={opacity=0.3,shadow xshift=-0.008\linewidth,shadow yshift=0.0016\linewidth}] - ([xshift=-0.05\linewidth,yshift=-5pt]frame.south east) {[rounded corners=3pt]--++(0.05\linewidth+5pt,0)}--++(0,0.05\linewidth+5pt)--cycle; - \fill[black!60] ([xshift=-0.05\linewidth,yshift=-5pt]frame.south east) -- ([xshift=-0.04\linewidth,yshift=0pt]frame.south east)-- ([xshift=-0.06\linewidth,yshift=0pt]frame.south east)--cycle; - \fill[black!60] ([xshift=5pt,yshift=0.05\linewidth]frame.south east)-- ([yshift=0.04\linewidth]frame.south east) -- ([yshift=0.06\linewidth]frame.south east)--cycle; -} -\newcommand{\my@theorem@overlay@first}[2]{ - \fill[black!60] ([xshift=1cm,yshift=5pt]frame.north west)-- ([xshift=0.8cm,yshift=0cm]frame.north west)--([xshift=1.2cm,yshift=0cm]frame.north west)--cycle; - \node[rectangle, text=white, drop shadow={opacity=.3, shadow xshift=0.1cm}, inner sep=1.5mm,fill=#2, anchor=west,rounded corners=3pt,font=\bfseries\normalsize] at ([xshift=0cm,yshift=-3.mm]frame.north west) {\hspace*{1.5em}#1.\ \ifdefvoid{\tcbtitletext}{}{(\itshape\tcbtitletext)}}; - \fill[color=#2,drop shadow={opacity=0.3,shadow xshift=.3pt}] - ([xshift=1cm,yshift=5pt]frame.north west) {[rounded corners=3pt]--++(-1cm-5pt,0)}--++(0,-1cm-5pt)--cycle; - \fill[color=black!60] ([xshift=-5pt,yshift=-1cm]frame.north west)--([xshift=0cm,yshift=-0.8cm]frame.north west)-- ([xshift=0cm,yshift=-1.2cm]frame.north west)--cycle; -} -\newcommand{\my@theorem@overlay@last}[1]{ - \fill[#1,drop shadow={opacity=0.3,shadow xshift=-0.008\linewidth,shadow yshift=0.0016\linewidth}] - ([xshift=-0.05\linewidth,yshift=-5pt]frame.south east) {[rounded corners=3pt]--++(0.05\linewidth+5pt,0)}--++(0,0.05\linewidth+5pt)--cycle; - \fill[black!60] ([xshift=-0.05\linewidth,yshift=-5pt]frame.south east) -- ([xshift=-0.04\linewidth,yshift=0pt]frame.south east)-- ([xshift=-0.06\linewidth,yshift=0pt]frame.south east)--cycle; - \fill[black!60] ([xshift=5pt,yshift=0.05\linewidth]frame.south east)-- ([yshift=0.04\linewidth]frame.south east) -- ([yshift=0.06\linewidth]frame.south east)--cycle; -} -% Second theorem style overlay settings -\newcommand{\my@lemma@overlay@unbroken}[2]{ - %%============== First ==============%% - \def\Rad{3.5pt} - \def\theight{0.57cm} - \def\rad{7pt}% - \path[fill=#2,drop shadow={opacity=0.3,shadow xshift=.05cm,shadow yshift=-.05cm}]node[append after command={ - ([xshift=-1.5*\rad]thmname.north west) to[out=0,in=180,looseness=1] ([xshift=2.5*\rad]thmname.south west) --([xshift=-\rad]thmname.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]thmname.north east) --cycle}, - text=white,font=\bfseries,align=center,inner ysep=1.5mm,minimum height=0.6cm,right] (thmname) at ([xshift=\rad,yshift=-.7*\rad]frame.north west) {\hspace*{10pt}#1.\ \ifdefvoid{\tcbtitletext}{}{(\itshape\tcbtitletext)}}; - \begin{pgfonlayer}{bottom} - \fill[#2,opacity=0.5] - ([xshift=-1.5*\rad]thmname.north west) to[out=180,in=305,looseness=1.5] +(3pt,-6pt) -| ++(12pt,0)--cycle; - \fill[#2,opacity=0.5] - ([xshift=3*\rad]thmname.north east) to[out=0,in=-90] +(5pt,-5pt) -| ++(-10pt,0) --cycle; - \end{pgfonlayer} - %%============== End ==============%% - \def\tlen{1.5cm} - \path[fill=#2,drop shadow={opacity=0.3,shadow xshift=.3pt}] - ([xshift=-2*\rad,yshift=-5pt]frame.south east) coordinate (SE) to[out=0,in=180] +(4*\rad,5pt+\theight) --([shift={(-\tlen+4*\rad,5pt+\theight)}]SE) to[out=180,in=0] +(-4*\rad,-5pt-\theight) --cycle; - \begin{pgfonlayer}{bottom} - \fill[color=#2,opacity=0.5] ([xshift=-1.35*\tlen+\Rad,yshift=-5pt]frame.south east) to[out=180,in=90,looseness=0.7] ([xshift=-1.35*\tlen-0.5*\Rad]frame.south east) coordinate (NWl)--([xshift=2*\rad]NWl) to[out=-90,in=-180,looseness=0.7] ([xshift=-1.35*\tlen+\Rad,yshift=-5pt]frame.south east)--cycle; - \end{pgfonlayer} - } -\newcommand{\my@lemma@overlay@first}[2]{ - %%============== First ==============%% - \def\Rad{3.5pt} - \def\theight{0.57cm} - \def\rad{7pt}% - \path[fill=#2,drop shadow={opacity=0.3,shadow xshift=.05cm,shadow yshift=-.05cm}]node[append after command={ - ([xshift=-1.5*\rad]thmname.north west) to[out=0,in=180,looseness=1] ([xshift=2.5*\rad]thmname.south west) --([xshift=-\rad]thmname.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]thmname.north east) --cycle}, - text=white,font=\bfseries,align=center,inner ysep=1.5mm,minimum height=0.6cm,right] (thmname) at ([xshift=\rad,yshift=-.7*\rad]frame.north west) {\hspace*{10pt}#1.\ \ifdefvoid{\tcbtitletext}{}{(\itshape\tcbtitletext)}}; - \begin{pgfonlayer}{bottom} - \fill[#2,opacity=0.5] - ([xshift=-1.5*\rad]thmname.north west) to[out=180,in=305,looseness=1.5] +(3pt,-6pt) -| ++(12pt,0)--cycle; - \fill[#2,opacity=0.5] - ([xshift=3*\rad]thmname.north east) to[out=0,in=-90] +(5pt,-5pt) -| ++(-10pt,0) --cycle; - \end{pgfonlayer} - } -\newcommand{\my@lemma@overlay@last}[1]{ - %%============== End ==============%% - \def\Rad{3.5pt} - \def\rad{7pt}% - \def\theight{0.57cm} - \def\tlen{1.5cm} - \path[fill=#1,drop shadow={opacity=0.3,shadow xshift=.3pt}] - ([xshift=-2*\rad,yshift=-5pt]frame.south east) coordinate (SE) to[out=0,in=180] +(4*\rad,5pt+\theight) --([shift={(-\tlen+4*\rad,5pt+\theight)}]SE) to[out=180,in=0] +(-4*\rad,-5pt-\theight) --cycle; - \begin{pgfonlayer}{bottom} - \fill[color=#1,opacity=0.5] ([xshift=-1.35*\tlen+\Rad,yshift=-5pt]frame.south east) to[out=180,in=90,looseness=0.7] ([xshift=-1.35*\tlen-0.5*\Rad]frame.south east) coordinate (NWl)--([xshift=2*\rad]NWl) to[out=-90,in=-180,looseness=0.7] ([xshift=-1.35*\tlen+\Rad,yshift=-5pt]frame.south east)--cycle; - \end{pgfonlayer} - } -\makeatother -%% - -% proof -\newcommand{\itbf}[1]{\textit{\textbf{#1}}} -\declaretheoremstyle[ - spaceabove=3pt,spacebelow=3pt, - headfont=\normalfont\bfseries, - notefont=\normalfont\bfseries,notebraces={(}{)}, - bodyfont=\normalfont, - postheadspace=.5em, - headpunct={.}, - qed=$\blacksquare$,%\qedsymbol -]{Proofstyle} -\declaretheorem[style=Proofstyle,numbered=no,name={\itbf{Proof}}]{Proof} -\renewenvironment{proof}{\begin{Proof} }{\end{Proof}} -\declaretheorem[style=Proofstyle,numbered=no,name={\itbf{Solution}}]{solution} - -%%%%%%%%%%%%%%% 计数器知识 %%%%%%%%%%%%%%%%%%%%%% -% 每次用 \newcounter{foo} 定义新计数器,内部都会定义这几个命令 - -% \c@foo,储存计数器的值,初始值为 0 -% \thefoo,储存计数器输出时的格式,初始定义为 \arabic{foo} -% \p@foo,储存计数器被引用时的前缀,初始定义为空 -% \cl@foo,储存「子计数器」列表(此处有简化),foo 自增时它的每个「子计数器」都会归零(详见「自动归零」一节),初始定义为空 -%% 关于计数器的自动归零 -% 如果还定义了计数器 \newcounter{bar}[foo],那么 \cl@foo 里就有了 bar -% \@addtoreset{child}{parent} 和 \@removefromreset{child}{parent} 可以把计数器 child 移入/移出 \cl@parent -% \counterwithin* 和 \counterwithout* 和上一条里两个命令的功能类似,但它们在执行前会检查接受的两个参数是否为已定义的计数器。不加星号的版本会修改 \thechild,详见「输出格式」一节 -% 在使用 \stepcounter{parent} 和 \refstepcounter{parent} 时,parent 自增,同时归零\cl@parent 里的「子计数器」 -% \addtocount{parent}{1} 只自增 parent,没有归零其「子计数器」的效果 -% 归零实现为「对每个子计数器,先设为 -1,然后使用 \stepcounter 自增」,这样实现的「归零」功能是递归的 -% 递归的意思是,如果还有 \newcounter{grandchild}[child],那么 \stepcounter{parent} 会将 child 和 grandchild 都归零 diff --git a/macros/latex/contrib/beautybook/Beautybook-cn.pdf b/macros/latex/contrib/beautybook/Beautybook-cn.pdf deleted file mode 100644 index 924e220ab7..0000000000 Binary files a/macros/latex/contrib/beautybook/Beautybook-cn.pdf and /dev/null differ diff --git a/macros/latex/contrib/beautybook/Beautybook-cn.tex b/macros/latex/contrib/beautybook/Beautybook-cn.tex deleted file mode 100644 index 4e0e850bf4..0000000000 --- a/macros/latex/contrib/beautybook/Beautybook-cn.tex +++ /dev/null @@ -1,1002 +0,0 @@ -%% This work is released under the LaTeX Project Public License, v1.3c or later. -% This template is made by Ethan Lu. -% Please use XeLaTeX engine! -\documentclass[zihao=-4,fontset=windows]{Beautybook-CN} -% ---------------------------------------------------------------------------- % -% The Cover Theme Chosen % -% ---------------------------------------------------------------------------- % -\definecolor{coverbgcolor}{HTML}{e0e0e0} -\definecolor{coverfgcolor}{HTML}{826e68} % The color of the background -\definecolor{coverbar}{HTML}{7c9092} % The color of the left bar -\definecolor{bottomcolor}{HTML}{826e68} -\coverstyle={ % 封面键值列表 - cover-choose=cn, % cn (需新增项\entitle{#}); en ; enfig ; birkar -} -% ---------------------------------------------------------------------------- % -% The Cover Theme Chosen % -% ---------------------------------------------------------------------------- % -\mathstyle={ % 数学字体键值列表 - math-font=plain, %plain (默认数学字体); stix; mtpro2 -} -\setmainfont{Times New Roman} -\renewcommand{\partial}{∂} -%% First one -\mynewtheorem{ - defi={\textbf{Definition}}[section]{interior style={left color=ReD!8,right color=ReD!5!CyaN!50}, borderline west={1.5mm}{0mm}{ReD}}, - thm={\textbf{Theorem}}[section]{interior style={left color=CyaN!80!black!20,right color=CyaN!80!black!15!CyaN!50}, borderline west={1.5mm}{0mm}{CyaN!80!black}}, - lem={\textbf{Lemma}}[section]{interior style={left color=BluE!8,right color=BluE!5!CyaN!50}, borderline west={1.5mm}{0mm}{BluE}}, - prop={\textbf{Proposition}}[section]{interior style={left color=OrangE!8,right color=OrangE!5!CyaN!50}, borderline west={1.5mm}{0mm}{OrangE}}, - exam={\textbf{Example}}[chapter]{interior style={left color=DarkGreen!8,right color=DarkGreen!5!CyaN!50}, borderline west={1.5mm}{0mm}{DarkGreen}}, - cor={\textbf{Corollary}}[chapter]{interior style={left color=violet!8,right color=violet!5!CyaN!50}, borderline west={1.5mm}{0mm}{violet}}, -} -\newtheorem*{remark}{\textbf{Remark}} -%% Second one -\makeatletter -\mynewtcbtheorem{ - % 这个 theorem 是环境名 - problem={ - counter=tcbprob, - the counter=\thesection.\arabic{tcbprob}, - name=Problem, % 它保存到 \theorem@name 里 - thmcolor=绛紫, - autoref name=\bfseries Problem, - style={ - arc=3pt,breakable,enhanced,interior style={top color=绛紫!9 ,middle color=绛紫!6, bottom color=绛紫!3},boxrule=0pt,top=8mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 - opacityframe=0, opacityback=0.98, - fontupper=\itshape, step={tcbprob}, - before pre=\smallskip, after app=\smallskip, - overlay unbroken=\my@theorem@overlay@unbroken{Problem\ \thetcbprob}{绛紫}, - overlay first=\my@theorem@overlay@first{Problem\ \thetcbprob}{绛紫}, - overlay last=\my@theorem@overlay@last{绛紫}, - } - }, - lemma={ - counter=tcblem, - the counter=\thesection.\arabic{tcblem}, - name=Lemma, - lemcolor=靛蓝, - autoref name=\bfseries Lemma, - style={ - arc=0mm,breakable,enhanced,interior style={top color=靛蓝!9 ,middle color=靛蓝!6, bottom color=靛蓝!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 - opacityframe=0, opacityback=0.98, - fontupper=\itshape,step={tcblem}, - before pre=\smallskip, after app=\smallskip, - overlay unbroken=\my@lemma@overlay@unbroken{\lemma@name\ \thetcblem}{\lemma@lemcolor}, - overlay first=\my@lemma@overlay@first{\lemma@name\ \thetcblem}{\lemma@lemcolor}, - overlay last=\my@lemma@overlay@last{\lemma@lemcolor}, - } - }, - corollary={ - counter=tcbcor, - the counter=\thesection.\arabic{tcbcor}, - autoref name=\bfseries Corollary, - style={ - arc=0mm,breakable,enhanced,interior style={top color=茶色!9 ,middle color=茶色!6, bottom color=茶色!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 - opacityframe=0, opacityback=0.98, - fontupper=\itshape,step={tcbcor}, - before pre=\smallskip, after app=\smallskip, - overlay unbroken=\my@lemma@overlay@unbroken{Corollary\ \thetcbcor}{茶色}, - overlay first=\my@lemma@overlay@first{Corollary\ \thetcbcor}{茶色}, - overlay last=\my@lemma@overlay@last{茶色}, - } - }, - proposition={ - counter=tcbprop, - the counter=\thesection.\arabic{tcbprop}, - autoref name=\bfseries Proposition, - style={ - arc=0mm,breakable,enhanced,interior style={top color=黛绿!9 ,middle color=黛绿!6, bottom color=黛绿!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 - opacityframe=0, opacityback=0.98, - fontupper=\itshape,step={tcbprop}, - before pre=\smallskip, after app=\smallskip, - overlay unbroken=\my@lemma@overlay@unbroken{Proposition\ \thetcbprop}{黛绿}, - overlay first=\my@lemma@overlay@first{Proposition\ \thetcbprop}{黛绿}, - overlay last=\my@lemma@overlay@last{黛绿}, - } - }, - definition={ - counter=tcbdefi, - the counter=\thesection.\arabic{tcbdefi}, - autoref name=\bfseries Definition, - style={ - arc=0mm,breakable,enhanced,interior style={top color=茜色!9 ,middle color=茜色!6, bottom color=茜色!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 - opacityframe=0, opacityback=0.98, - fontupper=\normalsize,step={tcbdefi}, - before pre=\smallskip, after app=\smallskip, - overlay unbroken=\my@lemma@overlay@unbroken{Definition\ \thetcbdefi}{茜色}, - overlay first=\my@lemma@overlay@first{Definition\ \thetcbdefi}{茜色}, - overlay last=\my@lemma@overlay@last{茜色}, - } - }, - example={ - counter=tcbexam, - the counter=\thesection.\arabic{tcbexam}, - autoref name=\bfseries Example, - style={ - arc=0mm,breakable,enhanced,interior style={top color=黛绿!9 ,middle color=黛绿!6, bottom color=黛绿!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 - opacityframe=0, opacityback=0.98, - fontupper=\normalsize,step={tcbexam}, - before pre=\smallskip, after app=\smallskip, - overlay unbroken=\my@lemma@overlay@unbroken{Example\ \thetcbexam}{黛绿}, - overlay first=\my@lemma@overlay@first{Example\ \thetcbexam}{黛绿}, - overlay last=\my@lemma@overlay@last{黛绿}, - } - }, - Exercise={ - counter=tcbexer, - the counter=\thechapter.\arabic{tcbexer}, - autoref name=\bfseries Exercise, - style={ - arc=0mm,breakable,enhanced,interior style={top color=绛紫!9 ,middle color=绛紫!6, bottom color=绛紫!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 - opacityframe=0, opacityback=0.9, - fontupper=\normalsize,step={tcbexer}, - before pre=\smallskip, after app=\smallskip, - overlay unbroken=\my@lemma@overlay@unbroken{Exercise\ \thetcbexer}{绛紫}, - overlay first=\my@lemma@overlay@first{Exercise\ \thetcbexer}{绛紫}, - overlay last=\my@lemma@overlay@last{绛紫}, - } - }, - theorem={ - counter=tcbthm, - the counter=\thesection.\arabic{tcbthm}, - autoref name=\bfseries Theorem, - style={ - arc=0mm,breakable,enhanced,interior style={top color=黛绿!9 ,middle color=黛绿!6, bottom color=黛绿!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 - opacityframe=0, opacityback=0.98, - fontupper=\itshape,step={tcbthm}, - before pre=\smallskip, after app=\smallskip, - overlay unbroken=\my@lemma@overlay@unbroken{Theorem\ \thetcbthm}{黛绿}, - overlay first=\my@lemma@overlay@first{Theorem\ \thetcbthm}{黛绿}, - overlay last=\my@lemma@overlay@last{黛绿}, - } - }, - conjecture={ - counter=tcbconj, - the counter=\thesection.\arabic{tcbconj}, - name=Conjecture, - lemcolor=靛蓝, - autoref name=\bfseries Conjecture, - style={ - arc=0mm,breakable,enhanced,interior style={top color=靛蓝!9 ,middle color=靛蓝!6, bottom color=靛蓝!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 - opacityframe=0, opacityback=0.98, - fontupper=\itshape,step={tcbconj}, - before pre=\smallskip, after app=\smallskip, - overlay unbroken=\my@lemma@overlay@unbroken{Conjecture\ \thetcblem}{靛蓝}, - overlay first=\my@lemma@overlay@first{Conjecture\ \thetcblem}{靛蓝}, - overlay last=\my@lemma@overlay@last{靛蓝}, - } - }, -} -\makeatother - -%% --------参考文献 -\RequirePackage[ -backend=biber, -style=numeric, -sorting=nty -]{biblatex} -\addbibresource{ref.bib} - -\indexsetup{level=\chapter*,noclearpage} -\makeindex[title={\sffamily References},columns=3,columnsep=15pt,columnseprule] -\makeindex - - \usepackage{listings} - \lstset{ - basicstyle=\small\ttfamily, - keywordstyle=\color{NavyBlue}, - commentstyle=\color{gray!50!black!50}, - stringstyle=\rmfamily\slshape\color{red}, - backgroundcolor=\color{gray!5}, - frame=leftline, - framerule=0.5pt,rulecolor=\color{gray!80}, - numbers=left, - numberstyle=\footnotesize, - firstnumber=1, - stepnumber=1, - numbersep=7pt, - aboveskip=.25em, - showspaces=false, - showstringspaces=false, - keepspaces=true, - showtabs=false, - tabsize=2, - captionpos=b, - flexiblecolumns=true, - breaklines=true, - breakatwhitespace=false, - breakautoindent=true, - breakindent=1em, - title=\lstname, - escapeinside=``, - xleftmargin=1em, xrightmargin=1em, - aboveskip=1ex, belowskip=1ex, - framextopmargin=1pt, framexbottommargin=1pt, - abovecaptionskip=-2pt,belowcaptionskip=3pt, - extendedchars=false, columns=flexible, mathescape=true, - texcl=true, - fontadjust - }% - -\begin{document} -\thispagestyle{empty} -\title{Beautybook模板简介} -\subtitle{} -\edition{First Edition} -\bookseries{Illustrated by Ethan Lu} -\author{Ethan Lu} -\pressname{Beautybook} -\presslogo{inner_pics/logo.png} -\coverimage{inner_pics/coverimage.jpg}%ivy-ge998908f8_1280.jpg -\makecover - -\makeatletter -% ---------------------------------------------------------------------------- % -% The Sidebar Theme Chosen % -% ---------------------------------------------------------------------------- % -\definecolor{bg}{HTML}{e0e0e0} -\definecolor{fg}{HTML}{2c4f54} -\colorlet{outermarginbgcolor}{bg} -\colorlet{outermarginfgcolor}{fg} -% set the contents of the outer margin on even and odd pages for scrheadings, plain and scth -\oddoutermargin{\sffamily \leftmark} % Odd -\evenoutermargin{\sffamily\@title} % Even -% ---------------------------------------------------------------------------- % -% The Sidebar Theme Chosen % -% ---------------------------------------------------------------------------- % - -% ---------------------------------------------------------------------------- % -% The images used in the title % -% ---------------------------------------------------------------------------- % -\titleimage{ - chapteroddimage={odd1,odd2,odd3,odd4,odd5,odd6,odd7,odd8,odd9,odd10,odd11,odd12,odd13,odd14,odd15,mid1,mid2,mid3,mid4,mid5,mid6,mid7,mid8,mid9,mid10,mid11}, -% - partoddimage={odd1,odd2,odd3,odd4,odd5,odd6,odd7,odd8,odd9,odd10,odd11,odd12,odd13,odd14,odd15,mid1,mid2,mid3,mid4,mid5,mid6,mid7,mid8,mid9,mid10,mid11}, -% - chapterevenimage={songeven,even1,even2,even3,even4,mid1,mid2,mid3,mid4,mid5,mid6,mid7,mid8,mid9,mid10,mid11}, -% - partevenimage={songeven,even1,even2,even3,even4,mid1,mid2,mid3,mid4,mid5,mid6,mid7,mid8,mid9,mid10,mid11}, -} -\chapimage{\Beautybook@chapterimagename} % 会自动改变 -\partimage{\Beautybook@partimagename} % 会自动改变 -\makeatother -% ---------------------------------------------------------------------------- % -% The images used in the title % -% ---------------------------------------------------------------------------- % - -% ---------------------------------------------------------------------------- % -% The Color Chosen for The Magic Box % -% ---------------------------------------------------------------------------- % -\colorlet{framegolden}{fg} % The line color of the magic box -\colorlet{framegray}{bg!50} % The background color of the magic box -% ---------------------------------------------------------------------------- % -% The Color Chosen for The Magic Box % -% ---------------------------------------------------------------------------- % - -\frontmatter -\pagenumbering{Roman} - -{% Preface -\thispagestyle{empty} -% \addcontentsline{toc}{chapter}{Preface} -\chapter*{Preface} -Introduction to Beatybook template. - - -\hfill -\begin{tabular}{lr} - &--- Ethan Lu\\ - &2024-03-17 -\end{tabular} -\clearpage} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\thispagestyle{empty} -\tableofcontents\let\cleardoublepage\clearpage - - -\mainmatter -\pagenumbering{arabic} - -\partabstract{\hspace*{2em} \textbf{Beautybook} 模板的使用说明,这里是每一个部分 (Part) 的简介区域, 您可以在此处书写下您对该部分的一个简明扼要的概述, 当然,倘若无话可说,此处可以留空.} -\part{\textbf{Beautybook} 模板使用说明} - -\chapter{Beautybook模板的简要介绍} - -\section{简介} - -Beauty\LaTeX{} 系列模板是由我所做的书籍模板系列, 名叫\textbf{Beautybook}! 关于为何起这么奇怪的名字? 我的答案是, 本来我是想起名elegantboook的,但是奈何已经有了大名鼎鼎的elegantbook系列, 所以鄙人只能退而求其次,命名为同样是美丽意思的名词与书籍相组合,古人云:书中自有颜如玉,这不, 美女配书籍,岂不美哉! 故而,这就是 \textbf{Beautybook} 的由来! - -本人致力于打造一系列美观、优雅、简便的模板以方便用户和我自己 (主要是服务于自己的,但是耐不住大伙的赏识,遂毛遂自荐一番,望谅解!) 使用。版本经常有所更迭,请关注版本信息,在未开始使用模板前,建议直接选择最新正式版本!最新测试版通常会发布在QQ群内,诸君可自取, 取完后是留是去随意. - - -本文将介绍本模板的一些设置内容以及基本使用方法。如果您有其他问题,建议或者意见,欢迎在 GitHub 上给我提交 \href{https://github.com/BeautyLaTeX/latex-template/issues}{issues} 或者邮件\href{h1479840692@163.com}{163邮箱}或者\href{1479840692@qq.com}{qq邮箱}联系我。我的联系方式如下,建议加入用户 QQ 群提问,这样能更快获得准确的反馈,加群时请备注 \LaTeX{} 或者 Beauty\LaTeX{} 相关内容。 -\begin{itemize} - \item GitHub 地址:\href{https://github.com/BeautyLaTeX/latex-template}{https://github.com/BeautyLaTeX/latex-template} - \item 下载地址:\href{https://github.com/BeautyLaTeX/latex-template/releases}{正式发行版} - \item 用户 QQ 群:809237593 - \item 我的outlook邮箱:\href{https://h1479840692@outlook.com}{Outlook Email} -\end{itemize} -\textbf{This work is released under the LaTeX Project Public License, v1.3c or later.} - -\section{模板安装与更新} - -你需要通过下载然后编译的方式使用本模板,仅有本地(文件夹内)使用一种方式。 - -\subsection{在线使用模板} -本模板可以直接上传到overleaf上使用,但需要注意的是, 需要使用 math-font=plain 键值, 并使用XeLaTeX或者lualatex编译! -\newpage -\subsection{本地安装使用} - -\textbf{本地安装}使用方法如下:从 GitHub 或者 QQ群下载最新版, 然后将模板文件放在你的工作目录下即可使用。 - -以下是最小工作示例: -\begin{lstlisting} -\documentclass[zihao=-4,fontset=windows]{Beautybook-CN} -\coverstyle={ % 封面键值列表 - cover-choose=cn, % cn (需新增项\entitle{#}); en ; enfig ; birkar -} -\mathstyle={ % 数学字体键值列表 - math-font=plain, %plain (默认数学字体); stix; mtpro2 -} -%% First one -\mynewtheorem{ - defi={\textbf{Definition}}[section]{interior style={left color=ReD!8,right color=ReD!5!CyaN!50}, borderline west={1.5mm}{0mm}{ReD}}, - thm={\textbf{Theorem}}[section]{interior style={left color=CyaN!80!black!20,right color=CyaN!80!black!15!CyaN!50}, borderline west={1.5mm}{0mm}{CyaN!80!black}}, - lem={\textbf{Lemma}}[section]{interior style={left color=BluE!8,right color=BluE!5!CyaN!50}, borderline west={1.5mm}{0mm}{BluE}}, - prop={\textbf{Proposition}}[section]{interior style={left color=OrangE!8,right color=OrangE!5!CyaN!50}, borderline west={1.5mm}{0mm}{OrangE}}, - exam={\textbf{Example}}[chapter]{interior style={left color=DarkGreen!8,right color=DarkGreen!5!CyaN!50}, borderline west={1.5mm}{0mm}{DarkGreen}}, - cor={\textbf{Corollary}}[chapter]{interior style={left color=violet!8,right color=violet!5!CyaN!50}, borderline west={1.5mm}{0mm}{violet}}, -} -\newtheorem*{remark}{\textbf{Remark}} -%% Second one -\makeatletter -\mynewtcbtheorem{ - % 这个 theorem 是环境名 - problem={ - counter=tcbprob, - the counter=\thesection.\arabic{tcbprob}, - name=Problem, % 它保存到 \theorem@name 里 - thmcolor=绛紫, - autoref name=\bfseries Problem, - style={ - arc=3pt,breakable,enhanced,interior style={top color=绛紫!9 ,middle color=绛紫!6, bottom color=绛紫!3},boxrule=0pt,top=8mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 - opacityframe=0, opacityback=0.98, - fontupper=\itshape, step={tcbprob}, - before pre=\smallskip, after app=\smallskip, - overlay unbroken=\my@theorem@overlay@unbroken{Problem\ \thetcbprob}{绛紫}, - overlay first=\my@theorem@overlay@first{Problem\ \thetcbprob}{绛紫}, - overlay last=\my@theorem@overlay@last{绛紫}, - } - }, - lemma={ - counter=tcblem, - the counter=\thesection.\arabic{tcblem}, - name=Lemma, - lemcolor=靛蓝, - autoref name=\bfseries Lemma, - style={ - arc=0mm,breakable,enhanced,interior style={top color=靛蓝!9 ,middle color=靛蓝!6, bottom color=靛蓝!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 - opacityframe=0, opacityback=0.98, - fontupper=\itshape,step={tcblem}, - before pre=\smallskip, after app=\smallskip, - overlay unbroken=\my@lemma@overlay@unbroken{\lemma@name\ \thetcblem}{\lemma@lemcolor}, - overlay first=\my@lemma@overlay@first{\lemma@name\ \thetcblem}{\lemma@lemcolor}, - overlay last=\my@lemma@overlay@last{\lemma@lemcolor}, - } - }, - corollary={ - counter=tcbcor, - the counter=\thesection.\arabic{tcbcor}, - autoref name=\bfseries Corollary, - style={ - arc=0mm,breakable,enhanced,interior style={top color=茶色!9 ,middle color=茶色!6, bottom color=茶色!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 - opacityframe=0, opacityback=0.98, - fontupper=\itshape,step={tcbcor}, - before pre=\smallskip, after app=\smallskip, - overlay unbroken=\my@lemma@overlay@unbroken{Corollary\ \thetcbcor}{茶色}, - overlay first=\my@lemma@overlay@first{Corollary\ \thetcbcor}{茶色}, - overlay last=\my@lemma@overlay@last{茶色}, - } - }, - proposition={ - counter=tcbprop, - the counter=\thesection.\arabic{tcbprop}, - autoref name=\bfseries Proposition, - style={ - arc=0mm,breakable,enhanced,interior style={top color=黛绿!9 ,middle color=黛绿!6, bottom color=黛绿!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 - opacityframe=0, opacityback=0.98, - fontupper=\itshape,step={tcbprop}, - before pre=\smallskip, after app=\smallskip, - overlay unbroken=\my@lemma@overlay@unbroken{Proposition\ \thetcbprop}{黛绿}, - overlay first=\my@lemma@overlay@first{Proposition\ \thetcbprop}{黛绿}, - overlay last=\my@lemma@overlay@last{黛绿}, - } - }, - definition={ - counter=tcbdefi, - the counter=\thesection.\arabic{tcbdefi}, - autoref name=\bfseries Definition, - style={ - arc=0mm,breakable,enhanced,interior style={top color=茜色!9 ,middle color=茜色!6, bottom color=茜色!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 - opacityframe=0, opacityback=0.98, - fontupper=\normalsize,step={tcbdefi}, - before pre=\smallskip, after app=\smallskip, - overlay unbroken=\my@lemma@overlay@unbroken{Definition\ \thetcbdefi}{茜色}, - overlay first=\my@lemma@overlay@first{Definition\ \thetcbdefi}{茜色}, - overlay last=\my@lemma@overlay@last{茜色}, - } - }, - example={ - counter=tcbexam, - the counter=\thesection.\arabic{tcbexam}, - autoref name=\bfseries Example, - style={ - arc=0mm,breakable,enhanced,interior style={top color=黛绿!9 ,middle color=黛绿!6, bottom color=黛绿!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 - opacityframe=0, opacityback=0.98, - fontupper=\normalsize,step={tcbexam}, - before pre=\smallskip, after app=\smallskip, - overlay unbroken=\my@lemma@overlay@unbroken{Example\ \thetcbexam}{黛绿}, - overlay first=\my@lemma@overlay@first{Example\ \thetcbexam}{黛绿}, - overlay last=\my@lemma@overlay@last{黛绿}, - } - }, - Exercise={ - counter=tcbexer, - the counter=\thechapter.\arabic{tcbexer}, - autoref name=\bfseries Exercise, - style={ - arc=0mm,breakable,enhanced,interior style={top color=绛紫!9 ,middle color=绛紫!6, bottom color=绛紫!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 - opacityframe=0, opacityback=0.9, - fontupper=\normalsize,step={tcbexer}, - before pre=\smallskip, after app=\smallskip, - overlay unbroken=\my@lemma@overlay@unbroken{Exercise\ \thetcbexer}{绛紫}, - overlay first=\my@lemma@overlay@first{Exercise\ \thetcbexer}{绛紫}, - overlay last=\my@lemma@overlay@last{绛紫}, - } - }, - theorem={ - counter=tcbthm, - the counter=\thesection.\arabic{tcbthm}, - autoref name=\bfseries Theorem, - style={ - arc=0mm,breakable,enhanced,interior style={top color=黛绿!9 ,middle color=黛绿!6, bottom color=黛绿!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 - opacityframe=0, opacityback=0.98, - fontupper=\itshape,step={tcbthm}, - before pre=\smallskip, after app=\smallskip, - overlay unbroken=\my@lemma@overlay@unbroken{Theorem\ \thetcbthm}{黛绿}, - overlay first=\my@lemma@overlay@first{Theorem\ \thetcbthm}{黛绿}, - overlay last=\my@lemma@overlay@last{黛绿}, - } - }, - conjecture={ - counter=tcbconj, - the counter=\thesection.\arabic{tcbconj}, - name=Conjecture, - lemcolor=靛蓝, - autoref name=\bfseries Conjecture, - style={ - arc=0mm,breakable,enhanced,interior style={top color=靛蓝!9 ,middle color=靛蓝!6, bottom color=靛蓝!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 - opacityframe=0, opacityback=0.98, - fontupper=\itshape,step={tcbconj}, - before pre=\smallskip, after app=\smallskip, - overlay unbroken=\my@lemma@overlay@unbroken{Conjecture\ \thetcblem}{靛蓝}, - overlay first=\my@lemma@overlay@first{Conjecture\ \thetcblem}{靛蓝}, - overlay last=\my@lemma@overlay@last{靛蓝}, - } - }, -} -\makeatother - -%% --------参考文献 -\RequirePackage[ -backend=biber, -style=numeric, -sorting=nty -]{biblatex} -\addbibresource{ref.bib} - -\indexsetup{level=\chapter*,noclearpage} -\makeindex[title={\sffamily References},columns=3,columnsep=15pt,columnseprule] -\makeindex - \usepackage{listings} - \lstset{ % 代码环境 - basicstyle=\small\ttfamily, - keywordstyle=\color{NavyBlue}, - commentstyle=\color{gray!50!black!50}, - stringstyle=\rmfamily\slshape\color{red}, - backgroundcolor=\color{gray!5}, - frame=leftline, - framerule=0.5pt,rulecolor=\color{gray!80}, - numbers=left, - numberstyle=\footnotesize, - firstnumber=1, - stepnumber=1, - numbersep=7pt, - aboveskip=.25em, - showspaces=false, - showstringspaces=false, - keepspaces=true, - showtabs=false, - tabsize=2, - captionpos=b, - flexiblecolumns=true, - breaklines=true, - breakatwhitespace=false, - breakautoindent=true, - breakindent=1em, - title=\lstname, - escapeinside=``, - xleftmargin=1em, xrightmargin=1em, - aboveskip=1ex, belowskip=1ex, - framextopmargin=1pt, framexbottommargin=1pt, - abovecaptionskip=-2pt,belowcaptionskip=3pt, - extendedchars=false, columns=flexible, mathescape=true, - texcl=true, - fontadjust - }% - -\begin{document} -\thispagestyle{empty} -\title{Beautybook模板简介} -\subtitle{} -\edition{First Edition} -\bookseries{Illustrated by Ethan Lu} -\author{Ethan Lu} -\pressname{Beautybook} -\presslogo{inner_pics/logo.png} -\coverimage{inner_pics/coverimage.jpg}%ivy-ge998908f8_1280.jpg -\makecover - - -\definecolor{bg}{HTML}{e0e0e0} -\definecolor{fg}{HTML}{2c4f54} -\colorlet{outermarginbgcolor}{bg} -\colorlet{outermarginfgcolor}{fg} -\colorlet{framegolden}{fg} -\colorlet{framegray}{bg!50} - -\makeatletter -% set the contents of the outer margin on even and odd pages for scrheadings, plain and scth -\oddoutermargin{\sffamily Vanishing Theorems on Vector Bundles with Semidefinite Curvature} % Odd 奇数页 -\evenoutermargin{\sffamily\@title} % Even 偶数页 -% -\titleimage{ - chapteroddimage={odd1,odd2,odd3,odd4,odd5,odd6,odd7,odd8,odd9,odd10,odd11,odd12,odd13,odd14,odd15,mid1,mid2,mid3,mid4,mid5,mid6,mid7,mid8,mid9,mid10,mid11}, -% - partoddimage={odd1,odd2,odd3,odd4,odd5,odd6,odd7,odd8,odd9,odd10,odd11,odd12,odd13,odd14,odd15,mid1,mid2,mid3,mid4,mid5,mid6,mid7,mid8,mid9,mid10,mid11}, -% - chapterevenimage={songeven,even1,even2,even3,even4,mid1,mid2,mid3,mid4,mid5,mid6,mid7,mid8,mid9,mid10,mid11}, -% - partevenimage={songeven,even1,even2,even3,even4,mid1,mid2,mid3,mid4,mid5,mid6,mid7,mid8,mid9,mid10,mid11}, -} -\chapimage{\Beautybook@chapterimagename} % 会自动改变 -\partimage{\Beautybook@partimagename} % 会自动改变 -\makeatother -% -\frontmatter -\pagenumbering{Roman} - -{% Preface -\thispagestyle{empty} -% \addcontentsline{toc}{chapter}{Preface} -\chapter*{Preface} -Introduction to Beatybook template. - - -\hfill -\begin{tabular}{lr} - &---- Ethan Lu\\ - &2024-03-17 -\end{tabular} -\clearpage} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\thispagestyle{empty} -\tableofcontents\let\cleardoublepage\clearpage - - -\mainmatter -\pagenumbering{arabic} - -\partabstract{\hspace*{2em} \textbf{Beautybook} 模板的使用说明,这里是每一个部分 (Part) 的简介区域, 您可以在此处书写下您对该部分的一个简明扼要的概述, 当然,倘若无话可说,此处可以留空.} -\part{\textbf{Beautybook} 模板使用说明} - -\chapter{Beautybook模板的简要介绍} - -\section{简介} - -% your main contents here! - - -\printindex\thispagestyle{empty} -\bottomimage{inner_pics/coverimage.jpg} -\ISBNcode{\EANisbn[ISBN=978-80-7340-097-2]} % -\summary{Summary.} -\makebottomcover -\end{document} -\end{lstlisting} - -\subsection{发行版安装与更新} - -本模板测试环境为 -\begin{enumerate} -\item Win11 23H2 + \TeX{} Live 2024; -\end{enumerate} - -\TeX Live/Mac\TeX{} 的安装请参考知乎的文章,此处略过。 - -安装 \TeX{} Live 之后,安装后建议升级全部宏包,升级方法:使用 cmd 或 terminal 运行 \lstinline{tlmgr update --all},如果 tlmgr 需要更新,请使用 cmd 运行 \lstinline{tlmgr update --self},如果更新过程中出现了中断,请改用 \lstinline{tlmgr update --self --all --reinstall-forcibly-removed} 更新,也即 - -\begin{lstlisting} -tlmgr update --self -tlmgr update --all -tlmgr update --self --all --reinstall-forcibly-removed -\end{lstlisting} - -更多的内容请参考 \href{https://tex.stackexchange.com/questions/55437/how-do-i-update-my-tex-distribution}{How do I update my \TeX{} distribution?} - -\subsection{其他发行版本} - -由于宏包版本问题,本模板不支持 C\TeX{} 套装,请务必安装 TeX Live/Mac\TeX{}。更多关于 \TeX{} Live 的安装使用以及 C\TeX{} 与 \TeX{} Live 的兼容、系统路径问题,请参考官方文档。 - - - -\chapter{Beautybook 设置说明} - -本模板英文版基于基础的 book 文类, 中文版则基于ctexbook文类,所以 book或者ctexbook 的选项对于本模板也是有效的。默认编码为 UTF-8,推荐使用 \TeX{} Live 编译。 - -\section{语言模式} -本模板内含两套基础语言环境, 分别为 中文的\lstinline{Beautybook-CN.cls}、英文的\lstinline{Beautybook-EN.cls}。改变语言环境会改变图表标题的引导词(图,表),文章结构词(比如目录,参考文献等),以及定理环境中的引导词(比如定理,引理等)。不同语言模式的启用如下: -\begin{lstlisting} -\documentclass{Beautybook-CN} % 中文 -\documentclass{Beautybook-EN} % 英文 -\end{lstlisting} - -除模板自带的两套语言设定之外,如果您需要使用其他语言, 可以通过更改cls文件中这几处解决, 分别为 - -\begin{enumerate} - \item 更改 part环境的名称 \lstinline{Part \thepart}为 \lstinline{(你的语言中part的翻译) \thepart} - \item 主文件,即当前文件导言区中的定理引导词 - \item 更改chapter环境中的part名称如第一条所示 - \item 记住, 仅有亚洲语言环境可以使用ctexbook文类, 即基于\lstinline{Beautybook-CN.cls}更改, 其他西语环境需要基于\lstinline{Beautybook-EN.cls}更改. -\end{enumerate} - - -\section{颜色主题} - -本模板的颜色是可以自由配置的,可以配置的颜色参数如下: -\begin{lstlisting} - \definecolor{bg}{HTML}{e0e0e0} % 整体风格的背景色 % 即浅色 - \definecolor{fg}{HTML}{455a64} % 整体风格的前景色 % 即深色 - %% 下面颜色位于 stys/bottompage.sty文件中 - \definecolor{coverbgcolor}{HTML}{f9b868} % 封面及封底背景色 - \definecolor{coverfgcolor}{HTML}{503D4B} % 封面及封底前景色 - \definecolor{coverbar}{HTML}{BF8E6F} % 封面竖条颜色 - \definecolor{bottomcolor}{HTML}{B3686A} % 封底说明背景颜色 - %%%%%%%%%%%%%%%%%%%%%%%% - \colorlet{framegolden}{fg} % 古风盒子线条颜色 - \colorlet{framegray}{黛绿!5} % 古风盒子背景色 -\end{lstlisting} -还有定理环境颜色可以在此文件的导言区设置,下面数学环境部分会展开讲. - -这里推荐使用林莲枝开发的cncolours宏包的颜色配置,可以对照选取适合的颜色. - -\section{封面} - -\subsection{封面个性化} - -本模板拥有多套封面可随意取用, 其中使用方法如下: -\begin{enumerate} - \item Springer经典封面--对应宏包 \lstinline{cover-choose=cn} (中文默认), - \item Springer经典封面之二--对应宏包 \lstinline{cover-choose=en} (英文默认), - \item Springer经典封面之三--对应宏包 \lstinline{cover-choose=enfig} (图片背景), - \item 中文书籍经典封面--对应宏包\lstinline{cover-choose=birkar} (三角几何风)。 - 注意, 使用该封面所对应的信息不太一样, 看好上面的示例,按照要求操作即可。 -\end{enumerate} - -\begin{table}[htbp] - \centering - \caption{封面元素信息} - \begin{tabular}{cccccc} - \hline - 信息 & 命令 & 信息 & 命令 & 信息 & 命令 \\ - \hline - 标题 & \lstinline|\title| & 副标题 & \lstinline|\subtitle| & 作者 & \lstinline|\author| \\ - 出版社 & \lstinline|\pressname| & 版本 & \lstinline|\edition| & 封面图 & \lstinline|\coverimage|\\ - 徽标 & \lstinline|\presslogo| & &&&\\ - \hline - \end{tabular} -\end{table} - - -\subsection{封面图} -封面图片可以自行选取. - -\subsection{徽标} - -本文用到的 Logo 为wiki随意找的springer经典马标, 可以自己查询下载出版社logo, 为免侵权,在更换图片的时候请选择合适合法的图片进行替换。 - -\subsection{自定义封面} - -另外,如果使用自定义的封面,比如 Adobe illustrator 或者其他软件制作的 A4 PDF 文档,请把 \lstinline{\makecover} 注释掉,然后借助 \lstinline{pdfpages} 宏包将自制封面插入即可。如果使用 \lstinline{titlepage} 环境,也是类似。 - -\section{章标题} - -本模板自定义了一套标题样式, 主要是 part、chapter、section 这三个标题,具体代码见cls。可能不适合所有人的审美,可以注释掉就会回归默认ctexbook的标题样式。 - -\section{数学环境简介} - -在我们这个模板中,我们定义了四种不同的定理模式,包括简单模式(默认的定理样式amsthm) 、有点自定义的thmtools、彩色强调盒子、以及本人开发的专有版权盒子,当然,由雾月老师给我定制的古风盒子您也可以是用来作为定理盒子,只需要在本文件导言区第一种定理样式里面加上\lstinline{ys style}即可. - - -\subsection{定理类环境的使用} -以下是使用效果展示 -\subsubsection{amsthm} -\begin{remark} - 这是基于amsthm的注释环境 -\end{remark} -\subsubsection{thmtools} -\begin{proof}[证明的说明] - 证明环境 -\end{proof} - -\begin{solution}[解的说明] - 解环境 -\end{solution} -\subsubsection{彩色强调盒子} -\begin{defi}[名称]\label{defi:def test} - 第一种定义环境 -\end{defi} - -\begin{thm}[名称]\label{thm:thm test} - 第一种定理环境 -\end{thm} - -\begin{cor}[名称]\label{cor:cor test} - 第一种推论环境 -\end{cor} - -\begin{prop}[名称]\label{prop:prop test} - 第一种命题环境 -\end{prop} - -\begin{exam}[名称]\label{exam:exam test} - 第一种例题环境 -\end{exam} - -\begin{lem}[名称]\label{lem:lem test} - 第一种引理环境 -\end{lem} -\clearpage -\subsubsection{个人版权的盒子共两种} - -\begin{definition}[][名称][def label] - 这是个人定制的盒子定制的定理环境,这是其中定义环境示例。注意:使用方法如下 - \begin{itemize} - \item 如果你没有名称和标签,使用方法为 - \begin{lstlisting} - \begin{definition} - 定义环境内容 - \end{definition} - \end{lstlisting} - \item 如果你没有标签但有名称,使用方法为 - \begin{lstlisting} - \begin{definition}[][名称] - 定义环境内容 - \end{definition} - \end{lstlisting} - \item 如果你有标签,那么无论是否有名称,使用方法为 - \begin{lstlisting} - \begin{definition}[][有就填,没有空着][标签] - 定义环境内容 - \end{definition} - \end{lstlisting} - \item 如果你想更改盒子的一些设定选项,比如加框线等之类的,使用方法为 - \begin{lstlisting} - \begin{definition}[tcolorbox选项][名称有就写,没有就连带外面括号删掉][标签 (有标签下就这样子,没有标签可以把这个标签连带外面的括号删掉)] - 定义环境内容 - \end{definition} - \end{lstlisting} - \end{itemize} -\end{definition} - -\begin{theorem} - 用法同上,引用下上面的标签 \ref{def label}或者可以\autoref{def label}. -\end{theorem} - -\begin{lemma} - 用法同上,引用下上面的标签 \ref{def label}或者可以\autoref{def label}. -\end{lemma} - -\begin{corollary} - 用法同上,引用下上面的标签 \ref{def label}或者可以\autoref{def label}. -\end{corollary} - -\begin{example} - 用法同上,引用下上面的标签 \ref{def label}或者可以\autoref{def label}. -\end{example} - -古风盒子 -\begin{fancybox} -古风盒子测试,可以任意嵌套其他环境! -\end{fancybox} - -\subsection{修改计数器} - -当前定理等环境计数器按章计数,如果想修改定理类环境按节计数,可以修改计数器选项 \lstinline{ counter/.code}中的\lstinline{chapter},可用选项为 \lstinline{chapter} (默认)与 \lstinline{section}、 \lstinline{subsection}等 - -\subsection{自定义定理类环境} -用户可以采用四种方式定义自己的定理环境,分别为amsthm与thmtools, 这两种看宏包说明文档即可; 后面两种定理的定义方式为 -如本文件导言区: -\begin{lstlisting} - % 这是第一种 - \mynewtheorem{ - defi={\textbf{定义}}[section]{interior style={left color=ReD!8,right color=ReD!5!CyaN!50}, borderline west={1.5mm}{0mm}{ReD}}, % 类似模仿即可 - } - - % 下面是第二种 - \mynewtcbtheorem{ - % 这个 theorem 是环境名 - theorem={ % 第一种 : 圣诞礼盒风格 - counter=tcbthm, - the counter=\thesection.\arabic{tcbthm}, - name=定理, % 它保存到 \theorem@name 里 - thmcolor=purple5, - autoref name=\bfseries 定理, - style={ - arc=3pt,breakable,enhanced,interior style={top color=purple5!5 ,middle color=purple5!1!nuanbai, bottom color=nuanbai},boxrule=0pt,top=8mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 - opacityframe=0, opacityback=0.98, - fontupper=\itshape, step={tcbthm}, - before pre=\smallskip, after app=\smallskip, - overlay unbroken=\my@theorem@overlay@unbroken{\theorem@name\ \thetcbthm}{\theorem@thmcolor}, - overlay first=\my@theorem@overlay@first{\theorem@name\ \thetcbthm}{\theorem@thmcolor}, - overlay last=\my@theorem@overlay@last{\theorem@thmcolor}, - } - }, - lemma={ % 第二种 : 丝带风格 - counter=tcblem, - the counter=\thesection.\arabic{tcblem}, - name=引理, - lemcolor=靛蓝, - autoref name=\bfseries 引理, - style={ - arc=0mm,breakable,enhanced,interior style={top color=靛蓝!5 ,middle color=靛蓝!1!nuanbai, bottom color=nuanbai},arc=3pt,boxrule=0pt,top=7mm,bottom=5mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 - opacityframe=0, opacityback=0.98, - fontupper=\normalsize,step={tcblem}, - before pre=\smallskip, after app=\smallskip, - overlay unbroken=\my@lemma@overlay@unbroken{\lemma@name\ \thetcblem}{\lemma@lemcolor}, - overlay first=\my@lemma@overlay@first{\lemma@name\ \thetcblem}{\lemma@lemcolor}, - overlay last=\my@lemma@overlay@last{\lemma@lemcolor}, - } - }, -} -\end{lstlisting} -\begin{remark} - 解释一下, 其中的overlay部分更改需要看中文修改,定理名称改成你想要的,颜色也是,然后别忘了给最外面的example之类的环境名改成你的,比如axiom之类,还有就是tcbexam这个计数器名称要换成你新定义的,如tcbaxiom之类,其他就不用动了。至于说第一种定理样式看上面例子相信您能学会的。 -\end{remark} -\newpage -\section{列表环境} -本模板借助于 \lstinline{enumitem} 实现了可定制化,具体见enumitem宏包说明文档,这里示例如下\\[2ex] -\begin{minipage}[b]{0.49\textwidth} - \begin{itemize}[label=$\bigodot $] - \item first item of nesti; - \item second item of nesti; - \begin{itemize} - \item first item of nestii; - \item second item of nestii; - \begin{itemize} - \item first item of nestiii; - \item second item of nestiii. - \end{itemize} - \end{itemize} - \end{itemize} -\end{minipage} -\begin{minipage}[b]{0.49\textwidth} - \begin{enumerate}[label=\arabic*)] - \item first item of nesti; - \item second item of nesti; - \begin{enumerate} - \item first item of nestii; - \item second item of nestii; - \begin{enumerate} - \item first item of nestiii; - \item second item of nestiii. - \end{enumerate} - \end{enumerate} - \end{enumerate} -\end{minipage} - -\section{参考文献} - -\subsection{打印文献} - -\lstinline{ref.bib} 为参考文献存放的文件,需要放在项目文件夹下。 - -\subsection{修改文献格式} - -此外,本模板调用了 biblatex 宏包,并提供了 biber引擎编译参考文献,当然您也可以直接删除cls中的biblatex宏包(cls最后几行)来使用bibtex. - -关于文献条目(bib item),你可以在谷歌学术,Mendeley,Endnote 中取,然后把它们添加到 \lstinline{ref.bib} 中。在文中引用的时候,引用它们的键值(bib key)即可。 - -文献样式默认为数字样式。 -\begin{lstlisting} -\usepackage[ -backend=biber, % 可改为bibtex -style=numeric, % 可改为其他样式,参考biblatex说明文档 -sorting=nty -]{biblatex} -\addbibresource{ref.bib} -\end{lstlisting} - -\chapter{字体选项} -字体选项独立成章的原因是,我们希望本模板的用户关心模板使用的字体,知晓自己使用的字体以及遇到字体相关的问题能更加便捷地找到答案。 - -本模板默认使用ctex的windows选项提供的字体, 如非必要,字体不应改动,当然,如果确实需要,可按照下面代码操作: -\begin{lstlisting} - \setCJKmainfont[Path=fonts/,BoldFont={XX.TTF},ItalicFont={YY.TTF},SlantedFont = {ZZ.TTF} , SlantedFeatures = {FakeSlant}]{WW.TTF} - \setCJKsansfont[Path=fonts/,BoldFont={XX.TTF},ItalicFont={XX.TTF}]{XX.TTF} - \setCJKmonofont[Path=fonts/,BoldFont={XX.TTF},ItalicFont={XX.TTF}]{XX.TTF} - %设置新的中文字体命令 - \newCJKfontfamily[song]\songti{XX.TTF}[Path=fonts/] %宋体 - %设置新的英文字体命令 - \newfontfamily\largetitlestyle[Path=fonts/]{XX.TTF} -\end{lstlisting} -!必须全部使用英文字体名称进行导入,否则报错找不到的!!切记!! - -\section{数学字体选项} -本模板使用的是默认数学字体,仅将$\partial$符号改为Times New Roman的Unicode符号。 - -{\normalem -\printbibliography[ -heading=bibintoc, -title={参考文献} -] -\printindex -\thispagestyle{empty}} -%-------------------封底 ---------------% -\bottomimage{inner_pics/ivy-ge998908f8_1280.jpg} -\ISBNcode{\EANisbn[ISBN=978-80-7340-097-2]} % -\summary{封底信息.} -\makebottomcover -\end{document} \ No newline at end of file diff --git a/macros/latex/contrib/beautybook/README.md b/macros/latex/contrib/beautybook/README.md index c738ffd950..78eb52617b 100644 --- a/macros/latex/contrib/beautybook/README.md +++ b/macros/latex/contrib/beautybook/README.md @@ -10,14 +10,14 @@ -Beautybook is designed for writing books, created by [Ethan Lu](https://github.com/BeautyLaTeX/latex-template) , and maintained by [Ethan Lu](https://github.com/BeautyLaTeX/latex-template). Just enjoy it! If you have any questions, suggestions or bug reports, you can create issues or contact me at h1479840692@outlook.com. +beautybook is designed for writing books, created by [Ethan Lu](https://github.com/BeautyLaTeX/latex-template) , and maintained by [Ethan Lu](https://github.com/BeautyLaTeX/latex-template). Just enjoy it! If you have any questions, suggestions or bug reports, you can create issues or contact me at h1479840692@outlook.com. If you are an English user, then please use a cls file with the "-EN" suffix and compile the english tex file with pdfLaTeX, and conversely, if you are a Chinese user, then remember, use a cls file with the "-CN" suffix and compile the chinese tex file with the XeLaTeX engine! --- ## Version -Release 2024-03-17. +Release 2024-06-30. --- ## License diff --git a/macros/latex/contrib/beautybook/beautybook-CN.cls b/macros/latex/contrib/beautybook/beautybook-CN.cls new file mode 100644 index 0000000000..49f94464bf --- /dev/null +++ b/macros/latex/contrib/beautybook/beautybook-CN.cls @@ -0,0 +1,1262 @@ +%This Class is based on the default book class and options will be passed +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{beautybook-CN}[30-06-2024 V10.0 Beautybook Class] +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{ctexbook}} +\ProcessOptions\relax +\LoadClass[twoside,a4paper]{ctexbook} +\RequirePackage[dvipsnames,svgnames,x11names,table]{xcolor} +\RequirePackage{cncolours} +\usepackage{fontspec} +\colorlet{outermarginfgcolor}{DarkCyan} % foregroundcolor 较深 +\colorlet{outermarginbgcolor}{DarkCyan!30} % backgroundcolor 较浅 +\RequirePackage{bropd} % math 自适应数学括号命令 \br{} !!! +\RequirePackage{tikz-imagelabels} % tikz图像标注 +\RequirePackage{epigraph-keys} % 名言引用 +\RequirePackage{fitbox} % 图像自适应 +\RequirePackage{pgfornament-han} +\RequirePackage{tikz} +\usetikzlibrary{calc,shadows,hobby,intersections, decorations.markings, decorations.pathreplacing,spy,arrows,shapes,fadings,trees,mindmap,patterns,shapes.arrows,shapes.symbols,tikzmark,shapes.geometric,graphs, quotes, angles,decorations.pathmorphing,through,shadings,backgrounds,positioning,fit,arrows.meta,shapes.misc,decorations.shapes} +\RequirePackage{pgfplots} %画图 %%页面样式设计核心包 %提供\pgfonlayer命令以及下列图层指令 +\pgfplotsset{compat=1.18} +% +% /* -------------------------------------------------------------------------- */ +% /* 解决birkar封面不能用于a4paper问题 */ +% /* -------------------------------------------------------------------------- */ +\makeatletter +\ExplSyntaxOn +\cs_new:Npn \ifaivpaper@TF + { + \bool_lazy_and:nnTF + { \dim_compare_p:nNn { 297mm } = { \paperheight } } % 不能是 29.7cm + { \dim_compare_p:nNn { 210mm } = { \paperwidth } } + } +\ExplSyntaxOff +% \ifaivpaper@TF{a4paper内容}{not a4paper内容} % 这个用在想要判断a4paper的地方 +\makeatother +% /* -------------------------------------------------------------------------- */ +% /* 解决birkar封面不能用于a4paper问题 */ +% /* -------------------------------------------------------------------------- */ +\ExplSyntaxOn +% 封面切换程序 (LaTeX3)! +\keys_define:nn {beautybook/coverstyle} + { + cover-choose.choice:, + cover-choose.value_required:n = true, + cover-choose/cn.code:n = {\RequirePackage{stys/beautybook-cover-cn}}, + cover-choose/en.code:n = {\RequirePackage{stys/beautybook-cover-en}}, + cover-choose/enfig.code:n = {\RequirePackage{stys/beautybook-cover-enfig}}, + cover-choose/birkar.code:n = {\RequirePackage{stys/beautybook-cover-birkar}}, + %cover-choose .initial:n = en , % 设置 en 为初始值 + } +\newtoks \l__beautybook_tmpa_toks +\cs_new_protected:Npn \coverstyle + { + \tex_afterassignment:D \__beautybook_set_coverstyle: + \l__beautybook_tmpa_toks + } +\cs_new:Npn \__beautybook_set_coverstyle: + { \keys_set:nV { beautybook / coverstyle } \l__beautybook_tmpa_toks } +% Math fonts +\keys_define:nn {beautybook/mathstyle} + { + math-font.choice:, + math-font.value_required:n = true, + math-font/plain.code:n={ + \RequirePackage{amssymb,amsfonts,upgreek} + }, + math-font/mtpro2.code:n = { + \RequirePackage{amssymb,amsfonts,upgreek} + \let\Bbbk\relex + \RequirePackage{mtpro2} + \RequirePackage{bm} + }, + %cover-choose .initial:n = plain , % 设置 en 为初始值 + } +\cs_new_protected:Npn \mathstyle + { + \tex_afterassignment:D \__beautybook_set_mathstyle: + \l__beautybook_tmpa_toks + } +\cs_new:Npn \__beautybook_set_mathstyle: + { \keys_set:nV { beautybook / mathstyle } \l__beautybook_tmpa_toks } +\ExplSyntaxOff +\RequirePackage{stys/beautybook-bottompage} %封底 +\RequirePackage{rotating} +\tikzset{>=Stealth} +\setlist{font=\upshape} % 取消所有列表默认距离 nosep, +% 浮动环境设置 +% 默认情况下, \LaTeX{} 要求每页的文字至少占据 20%,否则该页就只单独放置一个浮动环境, +% 而这通常不是我们想要的, 我们将这个要求降低到 5%. +\renewcommand*{\textfraction}{0.05} +% 有时如果多个浮动环境连续放在一起, +% 会将它们分在几个不同页,即使它们可在同一页放 +% 得下. 我们可以通过修改 |\topfraction| 和 |\bottomfraction| 分别设置顶端和底端的浮 +% 动环境的最大比例. +\renewcommand*{\topfraction}{0.9} +\renewcommand*{\bottomfraction}{0.8} +% 有时\LaTeX{}会把一个浮动环境单独放在一页, +% 我们要求这个环境至少要占据 85% 才能单独放在一页. +% 注意: |\floatpagefraction| 的数值必须小于 |\topfraction|. +\renewcommand*{\floatpagefraction}{0.85} +% 关于图片 graphicx +% 如果图片没有指定后缀, 依次按下列顺序搜索 +\DeclareGraphicsExtensions{.pdf,.eps,.jpg,.png} +% 设置图表搜索路径, 可以给图表文件夹取如下名字 +\graphicspath{{inner_pics/}{inner_pics/titleimages/}{figures/}{figure/}{pictures/}{picture/}{pic/}{pics/}{image/}{images/}} +% \RequirePackage[physics]{stys/physicx} +% \RequirePackage{stys/Symbols} +\RequirePackage{extarrows} +\usetikzlibrary{tikzmark} +% \arrowname{super-script} +% \arrowname[sub-script]{super-script} +\RequirePackage{appendix} % 附录 +% \RequirePackage{stys/symbols} +% +\RequirePackage{makeidx} +\RequirePackage{etoolbox} % 判断函数 +\RequirePackage{paracol} +\RequirePackage{tikz-cd} +\RequirePackage{imakeidx} +\RequirePackage{anyfontsize} +\RequirePackage{calc} +\RequirePackage{xkeyval,ifthen} +\RequirePackage[backgroundcolor=yellow!40!cyan!20,bordercolor=yellow!40!cyan!20,linecolor=DarkCyan]{todonotes} +\RequirePackage{varwidth} +\RequirePackage[colorlinks,linkcolor = purple, %%修改此处为你想要的颜色 +anchorcolor = purple, %%修改此处为你想要的颜色 +urlcolor = purple, %%修改此处为你想要的颜色 +citecolor = purple, %%修改此处为你想要的颜色 +]{hyperref} +\setcounter{tocdepth}{3} +\setcounter{secnumdepth}{3}%增加编号深度 +\RequirePackage{dashrule} +\newlength\outermarginwidth +\setlength\outermarginwidth{1.5cm} +\newlength\covershift +\setlength\covershift{5cm} +\RequirePackage{caption} +% 图注与表注格式 +\colorlet{captioncolor}{outermarginfgcolor} % 图片和表格题注文字颜色 +\makeatletter +%%----------------------------------封面信息定义--------------------------------------------------------%% +\newcommand\bookseries[1]{\def\@bookseries{#1}} +\newcommand\subtitle[1]{\def\@subtitle{#1}} +\newcommand\edition[1]{\def\@edition{#1}} +\newcommand\presslogo[1]{\def\@presslogo{#1}} +\newcommand\pressname[1]{\def\@pressname{#1}} +\newcommand\coverimage[1]{\def\@coverimage{#1}} +\newcommand\chapimage[1]{\def\@chapimage{#1}} +%%----------------------------------封面信息定义--------------------------------------------------------%% +\makeatother +\RequirePackage{indentfirst} +\RequirePackage{amsmath} +\RequirePackage[left=2cm,right=2cm,top=.6cm,bottom=2.2cm]{geometry} +\RequirePackage{xpatch}%修正章节编号 +\RequirePackage[automark]{scrlayer-scrpage}%页面设置宏包,隶属于koma-script文档类 +\RequirePackage{fontawesome5} +\RequirePackage{mathrsfs} +\RequirePackage[most]{tcolorbox} +\tcbuselibrary{breakable, skins,theorems}%TcolorBox Library +\RequirePackage{tabularx} +\RequirePackage{lastpage} +%\RequirePackage{twemojis} +\RequirePackage{ninecolors} +\RequirePackage{colortbl} %彩色表格 +\RequirePackage{tabularray} +\UseTblrLibrary{amsmath} +% 定义 +array, +matrix, +bmatrix, +Bmatrix, +pmatrix, +vmatrix, +Vmatrix 和 +cases 环境。其 +% 中,每一个环境都类似于不带 + 前缀的环境,但是就像 tblr 环境一样,使用 rowsep=2pt 默认值。 +% 除了+array 环境外,其余的每个环境都可以带一个可选项,通过该可选项,可能为环境设置内部 +% 参数。 +\UseTblrLibrary{booktabs} % 定义 \toprule、 \midrule、\bottomrule 和 \cmidrule 命令,这些命令可以直接用于 tblr环境中 +\UseTblrLibrary{diagbox} % 在tblr 环境中使用 \diagbox 和\diagboxthree 命令排版斜线表头 +\UseTblrLibrary{varwidth} % 为表格添加 measure 内部参数。当设置了 measure=vbox 后,则会使用 \vbox 测量单元格宽度。%可以使用stretch=-1 移除列表环境上下的间距, 注意,stretch=-1 选项也会移除单元格中的支架 +\RequirePackage{pgfornament} +\RequirePackage{zhnumber} +\RequirePackage{dashrule} +\RequirePackage{adjustbox} +\RequirePackage{enumitem} +\RequirePackage{multicol} +\RequirePackage{amsthm} +\RequirePackage{thmtools,thm-restate}%定理环境 %定理的重写 +\RequirePackage{bclogo} +\RequirePackage[normalem]{ulem} +\RequirePackage{pgfplots} %画图 %%页面样式设计核心包 %提供\pgfonlayer命令以及下列图层指令 +\pgfplotsset{compat=1.18} +\RequirePackage{graphicx}%修正minipage顶部对齐问题 +\pgfdeclarelayer{background} %背景%底层 +\pgfdeclarelayer{foreground} %上层 +\pgfdeclarelayer{top} %顶部 +\pgfdeclarelayer{bottom} %底部 +\pgfsetlayers{bottom,background,main,foreground,top} +\newcommand{\tikzoverlay}[1]{\begin{tikzpicture}[remember picture,overlay] #1 \end{tikzpicture}} +\RequirePackage[explicit]{titlesec} +\RequirePackage{titletoc} + +\newcommand\boxednum[1] +{ +\tcbsidebyside[sidebyside adapt=left, +nobeforeafter,fontupper=\sffamily\large\bfseries,fontlower=\large,colframe=white,colupper=white,colback=outermarginfgcolor!90,colbacklower=gray!10,frame hidden,width =\textwidth, +top=0mm,bottom=0mm,right=0mm,left=2mm,before skip balanced=0em,after skip balanced=0em,arc=0pt,outer arc=0pt,bicolor,sidebyside gap=6mm,boxrule=0pt,sidebyside align=center,halign=center,halign lower=left,fuzzy shadow={-0.4mm}{0.4mm}{0mm}{0.2mm}{white!50!gray},% 上 +fuzzy shadow={0.4mm}{-0.4mm}{0mm}{0.2mm}{fill=white!40!gray},%下 +]{% left hand side % adjust from this side +\thecontentslabel +}{% right hand side +\textbf{#1} \hfill \thecontentspage +}% end +} + +\newcommand\boxednonum[1] +{ +\begin{tcolorbox}[nobeforeafter,fontupper=\large,fontlower=\large,colframe=white,fontupper=\sffamily\bfseries,colupper=white,colback=outermarginfgcolor!90,colbacklower=gray!10,frame hidden,width = \textwidth,sidebyside gap=6mm, +top=0mm,bottom=0mm,right=0cm,left=2mm,before skip balanced=0em,after skip balanced=0em,arc=0pt,outer arc=0pt,bicolor,sidebyside,boxrule=0pt,sidebyside align=center,halign=center,halign lower=left,lefthand width=3mm,fuzzy shadow={-0.4mm}{0.4mm}{0mm}{0.2mm}{white!50!gray},% 上 +fuzzy shadow={0.4mm}{-0.4mm}{0mm}{0.2mm}{fill=white!40!gray},%下 +] +\tcblower \textbf{#1}\hfill \thecontentspage +\end{tcolorbox} +} +% +\titlecontents{chapter}[0mm] + {\addvspace{-.5em}} + {\contentsmargin{0pt}\boxednum} + {\contentsmargin{0pt}\boxednonum} + {} + [\addvspace{-.5em}] +% + \titlecontents{section} + [4.5em] % ie, 1.5em (chapter) + 2.3em + {} + {\hyperlink{section.\thecontentslabel}{\contentslabel{2.2em}}} + {\hspace*{-2.2em}} + {\titlerule*[1pc]{.}\contentspage\hspace*{1.5mm}} +% + \titlecontents{subsection} + [7.3em] % ie, 1.5em (chapter) + 2.3em + {} + {\hyperlink{subsection.\thecontentslabel}{\contentslabel{2.7em}}} + {\hspace*{-2.7em}} + {\titlerule*[1pc]{.}\contentspage\hspace*{1.5mm}} +% + \titlecontents{subsubsection} + [10.7em] % ie, 1.5em (chapter) + 2.3em + {} + {\hyperlink{subsubsection.\thecontentslabel}{\contentslabel{3.3em}}} + {\hspace*{-3.3em}} + {\titlerule*[1pc]{.}\contentspage\hspace*{1.5mm}} + +% tcolorbox中插入图片或者tikz绘图方法 +\newcommand\Figure[4]{% + \begin{center} + \captionsetup{type=figure} %消除 Package caption Warning: The option `hypcap=true' will be ignored for this +%(caption) particular \caption on input line XX.警告信息 + \includegraphics[#1]{#2} + \captionof{figure}{#3}\label{#4} + \end{center} +}%用法 : 用于tcolorbox中插入图片 +\newcommand\Tikz[3]{% + \begin{center} + \captionsetup{type=figure} %消除 Package caption Warning: The option `hypcap=true' will be ignored for this(caption) particular \caption on input line XX.警告信息 + #3 %最后一个参数为Tikz画图代码窗口 + \captionof{figure}{#1}\label{#2} %第一与第二个参数是Tikz画图的名称与标签 + \end{center} +} %用法 : 用于tcolorbox中插入Tikz绘图 +%特殊注释矩阵 +\newcommand\coolover[2]{\mathrlap{\smash{\overbrace{\phantom{% + \begin{matrix} #2 \end{matrix}}}^{\mbox{$#1$}}}}#2} + +\newcommand\coolunder[2]{\mathrlap{\smash{\underbrace{\phantom{% + \begin{matrix} #2 \end{matrix}}}_{\mbox{$#1$}}}}#2} + +\newcommand\coolleftbrace[2]{% + #1\left\{\vphantom{\begin{matrix} #2 \end{matrix}}\right.} + +\newcommand\coolrightbrace[2]{% + \left.\vphantom{\begin{matrix} #1 \end{matrix}}\right\}#2} +\definecolor{lightergray}{gray}{0.99} + +\newcommand*{\circled}[1]{\lower.7ex\hbox{\tikz\draw (0pt, 0pt)% + circle (.5em) node {\makebox[1em][c]{\small #1}};}} +\newcommand{\twicecircle}{\raisebox{.7ex}{ + \begin{tikzpicture}[remember picture,overlay] + \draw[line width=0.6pt,black!60] (0,0) circle (3pt); + \fill[black] (0,0) circle (1.6pt) ; + \end{tikzpicture}} +} +\newcommand{\exercise}[2][\bcicosaedre]{\bigskip +\begin{tikzpicture}[remember picture,overlay] +\draw[line width=2pt,loosely dotted,teal] (0,0)--node[pos=0.4,rectangle,minimum height=1.5em,font=\sffamily\Large,text=black,fill=black!2,drop shadow={opacity=.3, shadow xshift=0.1cm},anchor=center, + inner sep=1.5mm, + anchor=west,] {$#1$ ~ #2} (\linewidth,0); +\end{tikzpicture}\bigskip\smallskip +} +\RequirePackage{extarrows} +\newcommand{\R}{\mathbb{R}} +\newcommand{\F}{\mathcal{F}} +\newcommand{\lan}[1]{\langle #1 \rangle} +\newenvironment{eq}[1]{\begin{equation}\begin{aligned}#1}{\end{aligned}\end{equation}} %有编号 +\newenvironment{eq*}[1]{\begin{equation*}\begin{aligned}#1}{\end{aligned}\end{equation*}} %无编号 +% \everymath{\displaystyle} + +%% -------- 章节样式 +\makeatletter +% titleimage +\ExplSyntaxOn +\seq_new:N \g__beautybook_chapter_oimage_seq % odd +\seq_new:N \g__beautybook_chapter_eimage_seq % even +\seq_new:N \g__beautybook_part_oimage_seq % odd +\seq_new:N \g__beautybook_part_eimage_seq % even +% +\keys_define:nn { beautybook/titleimage } + { + chapteroddimage .code:n = + \seq_gset_from_clist:Nn \g__beautybook_chapter_oimage_seq {#1} , + chapterevenimage .code:n = + \seq_gset_from_clist:Nn \g__beautybook_chapter_eimage_seq {#1} , + partoddimage .code:n = + \seq_gset_from_clist:Nn \g__beautybook_part_oimage_seq {#1} , + partevenimage .code:n = + \seq_gset_from_clist:Nn \g__beautybook_part_eimage_seq {#1} , + } +\cs_new:Npn \__beautybook_title_image:Nn #1#2 % image seq, number + { \seq_item:Nn #1 { \int_mod:nn {#2} { \seq_count:N #1 } + 1 } } %对照表-对录入的字符串进行编号 +\cs_new:Npn \beautybook@chapterimagename %生成索契表 : 判断奇偶数页并按(章节编号)!!读取相应的列表组中的字符串 + { + \int_if_odd:nTF { \value{page} } + { \__beautybook_title_image:Nn \g__beautybook_chapter_oimage_seq { \value{chapter} } } + { \__beautybook_title_image:Nn \g__beautybook_chapter_eimage_seq { \value{chapter} } } + } +\cs_new:Npn \beautybook@partimagename + { + \int_if_odd:nTF { \value{page} } + { \__beautybook_title_image:Nn \g__beautybook_part_oimage_seq { \value{part} } } + { \__beautybook_title_image:Nn \g__beautybook_part_eimage_seq { \value{part} } } + } +\cs_new_protected:Npn \titleimage #1 + { \keys_set:nn { beautybook/titleimage } {#1} } +\ExplSyntaxOff +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\titleformat{\chapter}{\huge\bfseries\filcenter}{}{1em}{ + \makebox[0pt][l]{\def\rad{7pt}% + \begin{tikzpicture}[remember picture, overlay]% + \begin{pgfonlayer}{bottom} + \ifodd\value{page} + \shade[right color=outermarginbgcolor!30,middle color=outermarginbgcolor!50,left color=outermarginfgcolor!30] (current page.north west) rectangle ++(\paperwidth,-.2\paperheight+0.3cm); % background odd + \else + \shade[left color=outermarginbgcolor!30,middle color=outermarginbgcolor!50,right color=outermarginfgcolor!30] (current page.north west) rectangle ++(\paperwidth,-.2\paperheight+0.3cm); % background even + \fi + \fill[outermarginfgcolor,opacity=.5]([shift={(0,-4.45cm)}]current page.north west) rectangle ++(\paperwidth,-2mm); % line + \end{pgfonlayer} + \path[fill=outermarginfgcolor]node[append after command={ + ([xshift=-3*\rad]chapinfoofpart.north west) to[out=0,in=-180,looseness=1] ([xshift=\rad]chapinfoofpart.south west) --([xshift=-\rad]chapinfoofpart.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]chapinfoofpart.north east) --cycle}, + text=white,font=\sffamily\large\bfseries,align=center,minimum height=1cm] (chapinfoofpart) at ([shift={(.6\linewidth,-4.95cm)}]current page.north west) {Part\ \thepart}; + \begin{pgfonlayer}{bottom} + \fill[outermarginfgcolor!90,opacity=0.5] ([shift={(-3*\rad,0)}]chapinfoofpart.north west) to[out=180,in=0,looseness=1] +(-4*\rad,-1.2cm)--([shift={(7*\rad,-1.2cm)}]chapinfoofpart.north east) to[out=-180,in=0,looseness=1] +(-4*\rad,1.2cm); % partnumber shade + \end{pgfonlayer} + \ifodd\value{page} + \begin{pgfonlayer}{top} + \fill[outermarginfgcolor,opacity=0.7,rounded corners=5pt]node[append after command={([yshift=2cm]chapnum.north west) rectangle (chapnum.south east)},right,text=white,minimum width=2cm,align=center,font=\sffamily\bfseries] (chapnum) at ([shift={(1.5cm,-2.5cm)}]current page.north west) {\scalebox{3}{\thechapter}}; + \begin{pgfonlayer}{foreground} + \pattern[pattern=sixpointed stars,pattern color=white,opacity=1.0,rounded corners=5pt] + ([yshift=2cm]chapnum.north west) rectangle (chapnum.south east); + \end{pgfonlayer} + \fill [outermarginfgcolor,path fading=fade up,rounded corners=5pt]% + ([yshift=2cm]chapnum.north west) rectangle (chapnum.south east); + \node[above left,font=\sc\fontsize{22pt}{22pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north east) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}}; + \end{pgfonlayer} + \begin{pgfonlayer}{bottom} + \node[right] (image) at ([shift={(-0.5cm,-2.8cm)}]current page.north west) {\includegraphics[width=7cm]{\@chapimage}}; + \end{pgfonlayer} + \else + \begin{pgfonlayer}{top} + \fill[outermarginfgcolor,opacity=0.7,rounded corners=5pt]node[append after command={([yshift=2cm]chapnum.north west) rectangle (chapnum.south east)},left,text=white,minimum width=2cm,align=center,font=\sffamily\bfseries] (chapnum) at ([shift={(-1.5cm,-2.5cm)}]current page.north east) {\scalebox{3}{\thechapter}}; + \begin{pgfonlayer}{foreground} + \pattern[pattern=sixpointed stars,pattern color=white,opacity=1.0,rounded corners=5pt] + ([yshift=2cm]chapnum.north west) rectangle (chapnum.south east); + \end{pgfonlayer} + \fill [outermarginfgcolor,path fading=fade up,rounded corners=5pt]% + ([yshift=2cm]chapnum.north west) rectangle (chapnum.south east); + \node[above right,font=\sc\fontsize{22pt}{22pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north west) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}}; + \end{pgfonlayer} + \begin{pgfonlayer}{background} + \node[left] (image) at ([shift={(0.5cm,-2.8cm)}]current page.north east) {\includegraphics[width=7cm]{\@chapimage}}; + \end{pgfonlayer} + \fi + \path[fill=outermarginbgcolor]node[append after command={ + ([xshift=-2*\rad]pagenumber.south west) to[out=0,in=180,looseness=1] ([xshift=\rad]pagenumber.north west) --([xshift=-\rad]pagenumber.north east) to[out=0,in=-180,looseness=1] ([xshift=2*\rad]pagenumber.south east) --cycle}, + text=outermarginfgcolor,font=\sffamily\fontsize{15}{15}\selectfont\bfseries,align=center,minimum height=0.4cm,minimum width=1.3cm,inner sep=1.5mm] (pagenumber) at ([shift={(0,0.3cm)}]current page.south) {\thepage}; + \end{tikzpicture}} + } +\titleformat{name=\chapter,numberless}{\bfseries\huge\filcenter}{}{1em}{ + \makebox[0pt][l]{\def\rad{7pt}% + \begin{tikzpicture}[remember picture, overlay]% + \begin{pgfonlayer}{bottom} + \ifodd\value{page} + \shade[right color=outermarginbgcolor!30,middle color=outermarginbgcolor!50,left color=outermarginfgcolor!30] (current page.north west) rectangle ++(\paperwidth,-.2\paperheight); % background odd + \else + \shade[left color=outermarginbgcolor!30,middle color=outermarginbgcolor!50,right color=outermarginfgcolor!30] (current page.north west) rectangle ++(\paperwidth,-.2\paperheight); % background even + \fi + \fill[outermarginfgcolor,opacity=.5]([shift={(0,-4.45cm)}]current page.north west) rectangle ++(\paperwidth,-2mm); % line + \end{pgfonlayer} + \ifodd\value{page} + \begin{pgfonlayer}{top} + \node[above left,font=\sc\fontsize{25pt}{25pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north east) {\begin{varwidth}{.7\linewidth}\baselineskip=25pt #1\end{varwidth}}; + \end{pgfonlayer} + \begin{pgfonlayer}{bottom} + \node[right] (image) at ([shift={(-0.5cm,-2.8cm)}]current page.north west) {\includegraphics[width=7cm]{\@chapimage}}; + \end{pgfonlayer} + \else + \begin{pgfonlayer}{top} + \node[above right,font=\sc\fontsize{25pt}{25pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north west) {\begin{varwidth}{.7\linewidth}\baselineskip=25pt #1\end{varwidth}}; + \end{pgfonlayer} + \begin{pgfonlayer}{background} + \node[left] (image) at ([shift={(0.5cm,-2.8cm)}]current page.north east) {\includegraphics[width=7cm]{\@chapimage}}; + \end{pgfonlayer} + \fi + \path[fill=outermarginbgcolor]node[append after command={ + ([xshift=-2*\rad]pagenumber.south west) to[out=0,in=180,looseness=1] ([xshift=\rad]pagenumber.north west) --([xshift=-\rad]pagenumber.north east) to[out=0,in=-180,looseness=1] ([xshift=2*\rad]pagenumber.south east) --cycle}, + text=outermarginfgcolor,font=\sffamily\fontsize{15}{15}\selectfont\bfseries,align=center,minimum height=0.4cm,minimum width=1.3cm,inner sep=1.5mm] (pagenumber) at ([shift={(0,0.3cm)}]current page.south) {\thepage}; + \end{tikzpicture}} +} +\titlespacing{\chapter}{0pt}{0pt}{70pt} +\makeatother +% -------- Part定制 +%%定义标题文字长度%% +\newlength{\partstarlen} +%%设置临界长度%% +\newlength{\criticstarlen} +\setlength{\criticstarlen}{\textwidth} +% 定义垂直方向的渐变 +\tikzfading[name=fade bottom to top, + bottom color=transparent!0, % 底部完全透明 + top color=transparent!100] % 顶部不透明 +\tikzfading[name=middle, top color=transparent!90, bottom +color=transparent!90, middle color=transparent!20] +\makeatletter +\newcommand\partabstract[1]{\def\@partabstract{#1}} +\newcommand\partimage[1]{\def\@partimage{#1}} +\titleformat{\part} +{\normalfont\huge\filcenter} +{} +{20pt} +{\settowidth{\partstarlen}{\sc\huge #1} % 计算\partabstract的长度并写入到\partstarlen中 + \begin{tikzpicture}[remember picture,overlay] + \def\barwidth{2cm} + \fill[outermarginbgcolor,opacity=0.6] + (current page.north west) rectangle (current page.south east); + \ifodd\value{page} + \fill [outermarginfgcolor!20]% + (current page.north east) rectangle ++(-\outermarginwidth,-\paperheight); + \pattern [pattern=north east lines,pattern color=outermarginfgcolor!50]% + (current page.north east) rectangle ++(-\outermarginwidth,-\paperheight); + \fill [outermarginbgcolor!90,path fading=fade south]% + ([yshift=1mm]current page.north east) rectangle ++(-\outermarginwidth,-.8\paperheight); + \fill [outermarginbgcolor,path fading=fade north]% + (current page.south east) rectangle ++(-\outermarginwidth,.8\paperheight);% + % lines + \fill[outermarginfgcolor,rounded corners=2pt] (current page.north east) --++(-5pt,-0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,0.15cm)--cycle; + \coordinate (anchor of headmark) at ([shift={(-1.2\outermarginwidth,-0.2cm)}]current page.north east); + \node[below ,text=outermarginfgcolor,font=\sffamily\bfseries\fontsize{15}{20}\selectfont] (partpagenum) at ([shift={(-.5\outermarginwidth,0)}]current page.north east) {\thepage}; + \fill[outermarginfgcolor,rounded corners=2pt] (current page.south east) --++(-5pt,0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,-0.15cm)--cycle; % 页码横线 + \node[] (hbar) at ($(current page.north)!0.33!(current page.south)$) { + \begin{tikzpicture} + %%--------------- Horizontal Line --------------------%% + \fill[outermarginbgcolor!70] + (0,0) rectangle ++(\paperwidth,-1cm); + %%--------------- Horizontal Line -------------------%% + \fill[outermarginbgcolor] + (0,-.25cm) rectangle ++(\paperwidth,-.5cm); + \fill[outermarginfgcolor] + (.67\paperwidth,-.25cm) rectangle ++(4.5cm,-.5cm); + \fill[outermarginfgcolor!20!white] + (.67\paperwidth-1mm,-.25cm) rectangle ++(1mm,-.5cm); + \fill[outermarginfgcolor!20!white] + (.67\paperwidth+4.4cm,-.25cm) rectangle ++(1mm,-.5cm); + \end{tikzpicture} + }; + \node[above,font=\sc\huge,shift={(.33\linewidth,.5\barwidth)}] (partname) at (hbar) {Part\ \thepart}; + \node[below left,font=\sc\huge,shift={(.146\linewidth,-\barwidth)}] (partcontents) at (partname) {\begin{varwidth}{.9\linewidth}\raggedright\baselineskip=25pt #1 \end{varwidth}}; % 标题名称 + \begin{pgfonlayer}{background} + \node[above,shift={(-.4\linewidth,-4*\barwidth)}] at (partname) {\ifdefvoid{\@partimage}{}{\includegraphics[width=1.2\linewidth]{\@partimage}}}; % 图片位置调整 + % % 应用渐变效果 +\fill[path fading=fade bottom to top, fill=nuanbai] (current page.north west) rectangle ([xshift=-\outermarginwidth]current page.south east); + \end{pgfonlayer} +%判断标题文字长度与临界长度的关系 +\ifdim\partstarlen<\criticstarlen +%如果标题长度小于临界长度则使用(hbar)定位 +\node[below,font=\itshape\fontsize{13}{13}\selectfont,shift={(0,-1.2*\barwidth)}] at (hbar) {\ifdefvoid{\@partabstract}{}{\begin{varwidth}{.9\linewidth}\baselineskip=3ex \@partabstract\end{varwidth}}}; % 简介文字调整 +\else +\node[below,font=\itshape\fontsize{13}{13}\selectfont,shift={(0,-1.2*\barwidth)}] at (partcontents) {\ifdefvoid{\@partabstract}{}{\begin{varwidth}{.9\linewidth}\baselineskip=3ex \@partabstract\end{varwidth}}}; % 简介文字调整 +\fi + \else + \fill [outermarginfgcolor!20]% + (current page.north west) rectangle ++(\outermarginwidth,-\paperheight); + \pattern [pattern=north west lines,pattern color=outermarginfgcolor!50]% + (current page.north west) rectangle ++(\outermarginwidth,-\paperheight); + \fill [outermarginbgcolor!90,path fading=fade south]% + ([yshift=1mm]current page.north west) rectangle ++(\outermarginwidth,-.8\paperheight); + \fill [outermarginbgcolor,path fading=fade north]% + (current page.south west) rectangle ++(\outermarginwidth,.8\paperheight);% + % lines + \fill[outermarginfgcolor,rounded corners=2pt] (current page.north west) --++(5pt,-0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,0.15cm)--cycle; + \coordinate (anchor of headmark) at ([shift={(1.2\outermarginwidth,-0.2cm)}]current page.north west); + \node[below ,text=outermarginfgcolor,font=\sffamily\bfseries\fontsize{15}{20}\selectfont] (partpagenum) at ([shift={(.5\outermarginwidth,0)}]current page.north west) {\thepage}; + \fill[outermarginfgcolor,rounded corners=2pt] (current page.south west) --++(5pt,0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,-0.15cm)--cycle; % 页码横线 + \node[] (hbar) at ($(current page.north)!0.33!(current page.south)$) { + \begin{tikzpicture} + %%--------------- Horizontal Line --------------------%% + \fill[outermarginbgcolor!70] + (0,0) rectangle ++(\paperwidth,-1cm); + %%--------------- Horizontal Line -------------------%% + \fill[outermarginbgcolor] + (0,-.25cm) rectangle ++(\paperwidth,-.5cm); + \fill[outermarginfgcolor] + (.15\paperwidth,-.25cm) rectangle ++(4.5cm,-.5cm); + \fill[outermarginfgcolor!20!white] + (.15\paperwidth-1mm,-.25cm) rectangle ++(1mm,-.5cm); + \fill[outermarginfgcolor!20!white] + (.15\paperwidth+4.5cm,-.25cm) rectangle ++(1mm,-.5cm); + \end{tikzpicture} + }; + \node[above,font=\sc\huge,shift={(-.31\linewidth,.5\barwidth)}] (partname) at (hbar) {Part\ \thepart}; + \node[below right,font=\sc\huge,shift={(-.125\linewidth,-\barwidth)}] (partcontents) at (partname) {\begin{varwidth}{.9\linewidth}\raggedright\baselineskip=25pt #1 \end{varwidth}}; % 标题名称 + \begin{pgfonlayer}{background} + \node[above,shift={(.35\linewidth,-4*\barwidth)}] at (partname) {\ifdefvoid{\@partimage}{}{\includegraphics[width=1.2\linewidth]{\@partimage}}}; % 图片位置调整 + % % 应用渐变效果 + \fill[path fading=fade bottom to top, fill=nuanbai] (current page.north east) rectangle ([xshift=\outermarginwidth]current page.south west); + \end{pgfonlayer} +%判断标题文字长度与临界长度的关系 +\ifdim\partstarlen<\criticstarlen +%如果标题长度小于临界长度则使用(hbar)定位 +\node[below,font=\itshape\fontsize{13}{13}\selectfont,shift={(0,-1.2*\barwidth)}] at (hbar) {\ifdefvoid{\@partabstract}{}{\begin{varwidth}{.9\linewidth}\baselineskip=3ex \@partabstract\end{varwidth}}}; % 简介文字调整 +\else +\node[below,font=\itshape\fontsize{13}{13}\selectfont,shift={(0,-1.2*\barwidth)}] at (partcontents) {\ifdefvoid{\@partabstract}{}{\begin{varwidth}{.9\linewidth}\baselineskip=3ex \@partabstract\end{varwidth}}}; % 简介文字调整 +\fi + \fi + \end{tikzpicture}} +\makeatother +\assignpagestyle{\part}{empty} +\assignpagestyle{\chapter}{empty} + + +%% -- Section +\titleformat{\section} +{} +{} +{-.5em} %左右移动\thesection标签位置 +{\mysectionformat{#1}} + +\titleformat{name=\section,numberless}{}{}{-.5em}{\mysectionnonumformat{#1}} + +\newcommand{\mysectionformat}[1]{% +\makebox[0pt][l]{\def\rad{7pt}% +\begin{tikzpicture}[remember picture] + \path[fill=outermarginfgcolor,drop shadow={opacity=0.3,shadow xshift=.05cm,shadow yshift=-.05cm}]node[append after command={ + ([xshift=\rad]sec.north west) to[out=180,in=0,looseness=1] ([xshift=-3*\rad]sec.south west) --([xshift=-\rad]sec.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]sec.north east) --cycle}, + text=white,font=\sffamily\large\bfseries,align=center,inner ysep=2mm] (sec) at (0,0) {Sec\ \thesection}; + \node[text=black,font=\large,below right] (secnum) at ([shift={(0,-1mm)}]sec.north east) {\begin{varwidth}{.85\linewidth}\setlength\baselineskip{18pt}\hspace{.5cm}#1\end{varwidth}}; +\end{tikzpicture}}}%最后一个选项为 [] + +\newcommand{\mysectionnonumformat}[1]{% +\makebox[0pt][l]{\def\rad{7pt}% +\begin{tikzpicture}[remember picture] + \path[fill=outermarginfgcolor,drop shadow={opacity=0.3,shadow xshift=.05cm,shadow yshift=-.05cm}]node[append after command={ + ([xshift=\rad]sec.north west) to[out=180,in=0,looseness=1] ([xshift=-3*\rad]sec.south west) --([xshift=-\rad]sec.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]sec.north east) --cycle}, + text=white,font=\sffamily\large\bfseries,align=center,inner ysep=2mm] (sec) at (0,0) {Sec}; + \node[text=black,font=\large,below right] (secnum) at ([shift={(0,-1mm)}]sec.north east) {\begin{varwidth}{.85\linewidth}\setlength\baselineskip{18pt}\hspace{.5cm}#1\end{varwidth}}; +\end{tikzpicture}}}%最后一个选项为 [] + +\titlespacing*{\section}{0pt}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex} + +% /* -------------------------------------------------------------------------- */ +% /* Subsection Style */ +% /* -------------------------------------------------------------------------- */ +\usepackage{pifont} +\newcommand{\subsectionnumstyle}[2]{ +\makebox[0pt][l]{\def\rad{5pt}% +\def\inrad{3pt} + \begin{tikzpicture}[remember picture] + \path[fill=#2,drop shadow={opacity=0.3,shadow xshift=0.5mm,shadow yshift=-0.5mm}]node[append after command={ + % 主体 + ([shift={(\rad,\rad)}]sec.north west) arc[start angle=90, end angle=180, radius=\rad] {[rounded corners=\inrad]--(sec.south west)}--([yshift=-3mm]$(sec.south west)!0.5!(sec.south east)$) {[rounded corners=\inrad]--(sec.south east)} -- (sec.north east) arc[start angle=180, end angle=90, radius=\rad]--cycle + }, + text=white,font=\sffamily\large\bfseries,align=center,inner ysep=1.5mm,inner xsep=1mm] (sec) at (0,0) {\thesubsection}; + % 阴影 + \begin{pgfonlayer}{bottom} + \fill[#2!30!black!70,opacity=0.8] ([xshift=\rad,yshift=\rad]sec.north east) to[out=0,in=-81,looseness=1.5] ([xshift=1.8*\rad]sec.north east)--(sec.north east) |-cycle; + \end{pgfonlayer} + \node[text=black,font=\large,below right] (sectitle) at ([shift={(2mm,6.5mm)}]sec.south east) {\begin{varwidth}{.9\linewidth}\setlength\baselineskip{18pt}#1\end{varwidth}}; + \begin{pgfonlayer}{bottom} + \draw[gray,dashed,opacity=0.5] ([xshift=0]sec.north west) --([xshift=4*\rad]sec.north east); + \end{pgfonlayer} + \end{tikzpicture}} +} + +\newcommand{\subsectionnonumstyle}[2]{ +\makebox[0pt][l]{\def\rad{5pt}% +\def\inrad{3pt} + \begin{tikzpicture}[remember picture] + \path[fill=#2,drop shadow={opacity=0.3,shadow xshift=0.5mm,shadow yshift=-0.5mm}]node[append after command={ + % 主体 + ([shift={(\rad,\rad)}]sec.north west) arc[start angle=90, end angle=180, radius=\rad] {[rounded corners=\inrad]--(sec.south west)}--([yshift=-3mm]$(sec.south west)!0.5!(sec.south east)$) {[rounded corners=\inrad]--(sec.south east)} -- (sec.north east) arc[start angle=180, end angle=90, radius=\rad] --cycle + }, + text=white,font=\sffamily\large\bfseries,align=center,inner ysep=0.5mm,inner xsep=1.5mm] (sec) at (0,0) {\Huge\ding{99}}; + % 阴影 + \begin{pgfonlayer}{bottom} + \fill[#2!30!black!70,opacity=0.8] ([xshift=\rad,yshift=\rad]sec.north east) to[out=0,in=-81,looseness=1.5] ([xshift=1.8*\rad]sec.north east)--(sec.north east) |-cycle; + \end{pgfonlayer} + \node[text=black,font=\large,below right] (sectitle) at ([shift={(2mm,6.5mm)}]sec.south east) {\begin{varwidth}{.9\linewidth}\setlength\baselineskip{18pt}#1\end{varwidth}}; + \begin{pgfonlayer}{bottom} + \draw[gray,dashed,opacity=0.5] (sec.north west) --([xshift=4*\rad]sec.north east); + \end{pgfonlayer} + \end{tikzpicture}} +} +%% -- Subsection +\titleformat{\subsection} +{} +{} +{-.5em} %左右移动\thesection标签位置 +{\subsectionnumstyle{#1}{outermarginfgcolor}} + +\titleformat{name=\subsection,numberless}{}{}{-.5em}{\subsectionnonumstyle{#1}{outermarginfgcolor}} + +% \titlespacing*{\subsection}{0pt}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex} +%%-------------------------------- SCRLAYER-SCRPAGE -------------------------------------%% +%% SIDE-BAR +\newlength\chapternumbersize +\setlength\chapternumbersize{36pt} +\setlength{\headheight}{40pt} % 页眉高度 +\renewcommand\chaptermarkformat{} +% define a new mark for the chapter number +\newmarks\chapternum +\xapptocmd\chaptermark{\marks\chapternum{\thechapter}}{}{\PatchFailed} +\newmarks\secnum +\xapptocmd\sectionmark{\marks\secnum{\thesection}}{}{\PatchFailed} + +\newcommand*\outermarginpagemark{% +\tikzoverlay{ + \begin{pgfonlayer}{top} + \ifodd\value{page} + \fill[outermarginfgcolor,rounded corners=2pt] (current page.north east) --++(-5pt,-0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,0.15cm)--cycle; + \coordinate (anchor of headmark) at ([shift={(-1.2\outermarginwidth,-0.2cm)}]current page.north east); + \node[below ,text=outermarginfgcolor,font=\sffamily\bfseries\fontsize{15}{15}\selectfont] at ([shift={(-.5\outermarginwidth,-0.15cm)}]current page.north east) {\thepage}; + \fill[outermarginfgcolor!50,rounded corners=1pt] ([shift={(0.2\outermarginwidth,0.2cm)}]anchor of headmark) --++(-5pt,-0.15cm)--++(-.45\linewidth,0) --++(-5pt,0.15cm)--cycle; % 页眉横线 + \node[below left,font=\upshape,text=outermarginfgcolor] at ([yshift=0.05cm]anchor of headmark) {\begin{varwidth}{\linewidth}\rightmark\end{varwidth}}; + \fill[outermarginfgcolor,rounded corners=2pt] (current page.south east) --++(-5pt,0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,-0.15cm)--cycle; % 页码横线 + \else + \fill[outermarginfgcolor,rounded corners=2pt] (current page.north west) --++(5pt,-0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,0.15cm)--cycle; + \coordinate (anchor of headmark) at ([shift={(1.2\outermarginwidth,-0.2cm)}]current page.north west); + \node[below ,text=outermarginfgcolor,font=\sffamily\bfseries\fontsize{15}{15}\selectfont] at ([shift={(.5\outermarginwidth,-0.15cm)}]current page.north west) {\thepage}; + \fill[outermarginfgcolor!50,rounded corners=1pt] ([shift={(-0.2\outermarginwidth,0.2cm)}]anchor of headmark) --++(5pt,-0.15cm)--++(.45\linewidth,0) --++(5pt,0.15cm)--cycle; % 页眉横线 + \node[below right,font=\upshape,text=outermarginfgcolor] at ([yshift=0.05cm]anchor of headmark) {\begin{varwidth}{\linewidth}\rightmark\end{varwidth}}; + \fill[outermarginfgcolor,rounded corners=2pt] (current page.south west) --++(5pt,0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,-0.15cm)--cycle; % 页码横线 + \fi + \end{pgfonlayer}} +} +\newlength\baryshift +\setlength\baryshift{-2.5\outermarginwidth} +\makeatletter +% Add A Side-Bar Box For The Chapter Number +\newcommand*\outermarginchapternumberbox{% + \if@mainmatter + \tikzoverlay{ + \shade[top color=outermarginfgcolor!90,bottom color=outermarginbgcolor] + (\outermarginwidth,-.5\outermarginwidth+2mm) rectangle (0,-1.5\outermarginwidth+2mm); + \node[anchor=center,text=white,font=\sffamily\bfseries] at (1/2*\outermarginwidth,-\outermarginwidth+2mm) {\usekomafont{chapternumber}{\botmarks\chapternum}};% + } + \fi + \vfill +} +\makeatother + +\newkomafont{chapternumber}{%页边章节编号字体 + \fontsize{\chapternumbersize}{\chapternumbersize}\selectfont +}% +\makeatletter +\newcommand\outermarginmark{ + \ifodd\value{page}\hfill\else\hspace*{\dimexpr\outermarginwidth*3/8\relax}\fi + \rotatebox{90}{\parbox{\layerheight}{ + \raggedleft + \usekomafont{outermargin}{% + \MakeMarkcase{\ifodd\value{page}\odd@outermargin\else\even@outermargin\fi}}% + }}% + \ifodd\value{page}\hspace*{\dimexpr\outermarginwidth*3/8\relax}\fi% +} +\newcommand*\even@outermargin{} +\newcommand*\odd@outermargin{} +\newcommand*\evenoutermargin[1]{\renewcommand\even@outermargin{#1}}% 偶数页内容 +\newcommand*\oddoutermargin[1]{\renewcommand\odd@outermargin{#1}}% 奇数页内容 +\makeatother +% +\newkomafont{outermargin}{%页边章节名称字体 + \bfseries\fontsize{15}{15}\selectfont\color{outermarginfgcolor} +} +% declare new page style using layers +\DeclareNewPageStyleByLayers{scth}{% + scth.outermargin.bg.even,% + scth.outermargin.bg.odd,% + scth.outermargin.fg.even,% + scth.outermargin.fg.odd,% + scth.outermargin.pn.even,% + scth.outermargin.pn.odd,% + scth.outermargin.cn.even,% + scth.outermargin.cn.odd,% + scth.outermargin.text.even,% + scth.outermargin.text.odd% +} +% define the layers for even pages +\DeclareNewLayer[ + background, % 下层(背景) + evenpage, + outermargin, + width=\outermarginwidth, + contents={\color{outermarginbgcolor}\rule{\layerwidth}{\layerheight}} %色彩装饰条 +]{scth.outermargin.bg.even}% +%%=============% 页边条颜色 %=======================%% +% /* -------------------------------------------------------------------------- */ +% /* 透明度渐变填充设定 */ +% /* -------------------------------------------------------------------------- */ +\tikzfading[name=fade south, + top color =transparent!0, + bottom color=transparent!80] +\tikzfading[name=fade north, + top color =transparent!100, + bottom color=transparent!0] +\tikzfading[name=fade right, + right color =transparent!100, + left color=transparent!0] +\tikzfading[name=fade left, + left color =transparent!100, + right color=transparent!0] +% /* -------------------------------------------------------------------------- */ +% /* 透明度渐变填充设定 */ +% /* -------------------------------------------------------------------------- */ +%偶数页边纹理效果设置 +\newcommand{\evensidbardeepcolor}{% +\tikzoverlay{ +\ifodd\value{page} +\fill [outermarginfgcolor!20]% + (current page.north east) rectangle ([xshift=-\outermarginwidth,yshift=0]current page.south east); + \pattern [pattern=checkerboard,pattern color=outermarginfgcolor!50]% + (current page.north east) rectangle ([xshift=-\outermarginwidth,yshift=0]current page.south east); + \fill [outermarginbgcolor!90,path fading=fade south]% + ([yshift=1mm]current page.north east) rectangle ([xshift=-\outermarginwidth,yshift=-.5\layerheight]current page.north east); + \fill [outermarginbgcolor,path fading=fade north]% + (current page.south east) rectangle ([xshift=-\outermarginwidth,yshift=.2\layerheight]current page.south east); +\else + \fill [outermarginfgcolor!20]% + (current page.north west) rectangle ([xshift=\outermarginwidth,yshift=0]current page.south west); + \pattern [pattern=checkerboard,pattern color=outermarginfgcolor!50]% + (current page.north west) rectangle ([xshift=\outermarginwidth,yshift=0]current page.south west); + \fill [outermarginbgcolor!90,path fading=fade south]% + ([yshift=1mm]current page.north west) rectangle ([xshift=\outermarginwidth,yshift=-.5\layerheight]current page.north west); + \fill [outermarginbgcolor,path fading=fade north]% + (current page.south west) rectangle ([xshift=\outermarginwidth,yshift=.2\layerheight]current page.south west); + \fi +} +} +%%==============偶数页页边条颜色========================%% +\DeclareNewLayer[ + foreground, % + evenpage, + outermargin, + width=\outermarginwidth, + contents=\evensidbardeepcolor %色彩装饰条 +]{scth.outermargin.fg.even}% +%%==============偶数页页脚页码========================%% +\DeclareNewLayer[ + foreground, %上层 (背景之上) + evenpage, + foot, % 页脚 + contents=\outermarginpagemark +]{scth.outermargin.pn.even}% +%%==============偶数页章节编号========================%% +\DeclareNewLayer[ + foreground, %上层 (背景之上) + evenpage, + head, %页眉 + hoffset=0pt, + width=\outermarginwidth, + align=t, + addvoffset=\dimexpr-\chapternumbersize-12pt+\headheight\relax, + height=\chapternumbersize+\headheight, + contents=\outermarginchapternumberbox%章节编号 +]{scth.outermargin.cn.even}% +%%======================章节名称===================================%% +\DeclareNewLayer[ + clone=scth.outermargin.cn.even, + addheight=\dimexpr\headheight+\headsep+\textheight\relax, + addvoffset=\dimexpr+2\outermarginwidth\relax, + hoffset=-2.5pt, + contents=\outermarginmark % +]{scth.outermargin.text.even}% + +% define the layers for odd page from the settings for even pages +\newcommand*\DeclareOddFromEven[1]{%复制自偶数页样式命令 +\DeclareNewLayer[ + clone=#1.even, + oddpage, + align=r, + hoffset=\paperwidth +]{#1.odd}% +} +\DeclareOddFromEven{scth.outermargin.bg} +\DeclareOddFromEven{scth.outermargin.pn} +\DeclareOddFromEven{scth.outermargin.cn} +\DeclareOddFromEven{scth.outermargin.text} +\DeclareOddFromEven{scth.outermargin.fg} + +% add the layers to page style scrheadings and page style plain +\ForEachLayerOfPageStyle*{scth}{% + \AddLayersToPageStyle{scrheadings}{#1}% + \AddLayersToPageStyle{plain.scrheadings}{#1}% +} +%---------------------------------------------- +\KOMAoptions{markcase=upper} %页眉 +% for page styles scrheadings and plain +\clearpairofpagestyles +\ohead{} +\cfoot{} +\ofoot{} + +%%-------------------------------- SCRLAYER-SCRPAGE -------------------------------------%% + +%% Begin The Most Beautiful Box (STYLE : ys style) % 中国风盒子 +\makeatletter +\definecolor{framegolden}{HTML}{455a64} % 控制外框颜色 +\definecolor{framegray}{HTML}{e0e0e0} % 控制填充颜色 +\newdimen\ys@frame@linewidth +\newdimen\ys@frame@radius +\newdimen\ys@frame@sep +\def\ys@frame@fill@opacity{0.2} + +\pgfdeclarehorizontalshading{ys@fade@circle}{500bp} +{color(0bp)=(pgftransparent!100); color(25bp)=(pgftransparent!100); +color(45bp)=(pgftransparent!0); color(55bp)=(pgftransparent!0); +color(75bp)=(pgftransparent!100); color(100bp)=(pgftransparent!100)} +\pgfdeclarefading{ys circle}{\pgfuseshading{ys@fade@circle}} + +\def\ys@frame@star@list@t{% + -0.7071\ys@frame@radius+0.2133\ys@frame@sep/% + -0.7071\ys@frame@radius+0.2133\ys@frame@sep/% + frame.north east,% + 0.7071\ys@frame@radius-0.2133\ys@frame@sep/% + -0.7071\ys@frame@radius+0.2133\ys@frame@sep/% + frame.north west} +\def\ys@frame@star@list@b{% + 0.7071\ys@frame@radius-0.2133\ys@frame@sep/% + 0.7071\ys@frame@radius-0.2133\ys@frame@sep/% + frame.south west,% + -0.7071\ys@frame@radius+0.2133\ys@frame@sep/% + 0.7071\ys@frame@radius-0.2133\ys@frame@sep/% + frame.south east} +\edef\ys@frame@star@list{\ys@frame@star@list@t,\ys@frame@star@list@b} + +%region outer +\def\ys@frame@remove@middleline#1#2{} +\def\ys@frame@draw@middleline#1#2{% + \clip ([xshift=-\ys@frame@linewidth,#1]frame.north west)-- + ([xshift=\ys@frame@linewidth,#1]frame.north east)-- + ([xshift=\ys@frame@linewidth,#2]frame.south east)-- + ([xshift=-\ys@frame@linewidth,#2]frame.south west)--cycle;} +\def\ys@frame@unbrokenouter{% + \path[draw=framegolden,fill=framegray,fill opacity=\ys@frame@fill@opacity,line width=\ys@frame@linewidth] + ([xshift=\ys@frame@radius]frame.north west)--([xshift=-\ys@frame@radius]frame.north east) + arc(-180:-90:\ys@frame@radius)-- + ([yshift=-\ys@frame@radius]frame.north east)--([yshift=\ys@frame@radius]frame.south east) + arc(90:180:\ys@frame@radius)-- + ([xshift=-\ys@frame@radius]frame.south east)--([xshift=\ys@frame@radius]frame.south west) + arc(0:90:\ys@frame@radius)-- + ([yshift=\ys@frame@radius]frame.south west)--([yshift=-\ys@frame@radius]frame.north west) + arc(-90:0:\ys@frame@radius)--cycle;} +\def\ys@frame@firstouter{% + \ys@frame@remove@middleline{yshift=.5\ys@frame@linewidth}{yshift=.7\ys@frame@linewidth}% + \path[draw=framegolden,fill=framegray,fill opacity=\ys@frame@fill@opacity,line width=\ys@frame@linewidth] + ([xshift=\ys@frame@radius]frame.north west)--([xshift=-\ys@frame@radius]frame.north east) + arc(-180:-90:\ys@frame@radius)-- + ([yshift=-\ys@frame@radius]frame.north east)-- + (frame.south east)-- + (frame.south west)-- + ([yshift=-\ys@frame@radius]frame.north west) + arc(-90:0:\ys@frame@radius)--cycle;} +\def\ys@frame@middleouter{% + \ys@frame@remove@middleline{yshift=-.7\ys@frame@linewidth}{yshift=.7\ys@frame@linewidth}% + \path[draw=framegolden,fill=framegray,fill opacity=\ys@frame@fill@opacity,line width=\ys@frame@linewidth] + (frame.north west)--(frame.north east)--(frame.south east)-- + (frame.south west)--cycle;} +\def\ys@frame@lastouter{% + \ys@frame@remove@middleline{yshift=-.7\ys@frame@linewidth}{yshift=-.5\ys@frame@linewidth}% + \path[draw=framegolden,fill=framegray,fill opacity=\ys@frame@fill@opacity,line width=\ys@frame@linewidth] + (frame.north west)--(frame.north east)-- + ([yshift=\ys@frame@radius]frame.south east) + arc(90:180:\ys@frame@radius)-- + ([xshift=-\ys@frame@radius]frame.south east)--([xshift=\ys@frame@radius]frame.south west) + arc(0:90:\ys@frame@radius)-- + ([yshift=\ys@frame@radius]frame.south west)-- + (frame.north west)--cycle;} +%endregion +%region inner +\def\ys@frame@unbrokeninner{% +\path[draw=framegolden,line width=.5\ys@frame@linewidth,line cap=round] +([xshift=\ys@frame@radius+2\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) + --([xshift=\ys@frame@radius+5\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) --++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) + ([xshift=\ys@frame@radius+6\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) %第一节 + --([xshift=-\ys@frame@radius-8.828\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) + ([xshift=-\ys@frame@radius-7.828\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第二节 + --([xshift=-\ys@frame@radius-2\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east) + %% +([yshift=-\ys@frame@radius-2\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east) +--([yshift=-\ys@frame@radius-5\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east) --++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) +([yshift=-\ys@frame@radius-6\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) %第一节 +--([yshift=\ys@frame@radius+8.828\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) +([yshift=\ys@frame@radius+7.828\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第二节 +% + --([yshift=\ys@frame@radius+2\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east) +% +([xshift=\ys@frame@radius+2\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) +--([xshift=\ys@frame@radius+5\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) --++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) +([xshift=\ys@frame@radius+6\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第一节 +--([xshift=-\ys@frame@radius-8.828\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) +([xshift=-\ys@frame@radius-7.828\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) %第二节 + --([xshift=-\ys@frame@radius-2\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east) +% +([yshift=-\ys@frame@radius-2\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west) +--([yshift=-\ys@frame@radius-5\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west) --++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) +([yshift=-\ys@frame@radius-6\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第一节 +--([yshift=\ys@frame@radius+8.828\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) +([yshift=\ys@frame@radius+7.828\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) %第二节 + --([yshift=\ys@frame@radius+2\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west);} +\def\ys@frame@firstinner{% + \path[draw=framegolden,line width=.5\ys@frame@linewidth,line cap=round] + ([xshift=\ys@frame@radius+2\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) + --([xshift=\ys@frame@radius+5\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) --++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) + ([xshift=\ys@frame@radius+6\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) %第一节 + --([xshift=-\ys@frame@radius-8.828\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) + ([xshift=-\ys@frame@radius-7.828\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第二节 + --([xshift=-\ys@frame@radius-2\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east) + %% +([yshift=-\ys@frame@radius-2\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east) +--([yshift=-\ys@frame@radius-5\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east) --++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) +([yshift=-\ys@frame@radius-6\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) %第一节 +--([xshift=-\ys@frame@sep]frame.south east) + + ([yshift=-\ys@frame@radius-2\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west) + --([yshift=-\ys@frame@radius-5\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west) --++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) + ([yshift=-\ys@frame@radius-6\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第一节 + --([xshift=\ys@frame@sep]frame.south west);} +\def\ys@frame@middleinner{% + \path[draw=framegolden,line width=.5\ys@frame@linewidth,line cap=round] + ([xshift=-\ys@frame@sep]frame.north east)--([xshift=-\ys@frame@sep]frame.south east) + ([xshift=\ys@frame@sep]frame.north west)--([xshift=\ys@frame@sep]frame.south west);} +\def\ys@frame@lastinner{% + \path[draw=framegolden,line width=.5\ys@frame@linewidth,line cap=round] + ([xshift=-\ys@frame@sep]frame.north east) + --([yshift=\ys@frame@radius+8.828\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) + ([yshift=\ys@frame@radius+7.828\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第二节 + % + --([yshift=\ys@frame@radius+2\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east) +% + ([xshift=\ys@frame@radius+2\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) + --([xshift=\ys@frame@radius+5\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) --++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) + ([xshift=\ys@frame@radius+6\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第一节 + --([xshift=-\ys@frame@radius-8.828\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) + ([xshift=-\ys@frame@radius-7.828\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) %第二节 + --([xshift=-\ys@frame@radius-2\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east) +% + ([xshift=\ys@frame@sep]frame.north west) + --([yshift=\ys@frame@radius+8.828\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) + ([yshift=\ys@frame@radius+7.828\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) %第二节 + --([yshift=\ys@frame@radius+2\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west);} +%endregion +%region corner +\def\ys@frame@unbrokencorner{% + \path[draw=framegolden,line width=1.5\ys@frame@linewidth,line cap=round] + ([xshift=\ys@frame@radius-2.7\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) + --([xshift=\ys@frame@sep,yshift=-\ys@frame@sep]frame.north west) + --([xshift=\ys@frame@sep,yshift=-\ys@frame@radius+2.7\ys@frame@linewidth]frame.north west) + ([xshift=-\ys@frame@radius+2.7\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east) + --([xshift=-\ys@frame@sep,yshift=-\ys@frame@sep]frame.north east) + --([xshift=-\ys@frame@sep,yshift=-\ys@frame@radius+2.7\ys@frame@linewidth]frame.north east) + ([xshift=-\ys@frame@radius+2.7\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east) + --([xshift=-\ys@frame@sep,yshift=\ys@frame@sep]frame.south east) + --([xshift=-\ys@frame@sep,yshift=\ys@frame@radius-2.7\ys@frame@linewidth]frame.south east) + ([xshift=\ys@frame@radius-2.7\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) + --([xshift=\ys@frame@sep,yshift=\ys@frame@sep]frame.south west) + --([xshift=\ys@frame@sep,yshift=\ys@frame@radius-2.7\ys@frame@linewidth]frame.south west);} +\def\ys@frame@firstcorner{% + \path[draw=framegolden,line width=1.5\ys@frame@linewidth,line cap=round] + ([xshift=\ys@frame@radius-2.7\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) + --([xshift=\ys@frame@sep,yshift=-\ys@frame@sep]frame.north west) + --([xshift=\ys@frame@sep,yshift=-\ys@frame@radius+2.7\ys@frame@linewidth]frame.north west) + ([xshift=-\ys@frame@radius+2.7\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east) + --([xshift=-\ys@frame@sep,yshift=-\ys@frame@sep]frame.north east) + --([xshift=-\ys@frame@sep,yshift=-\ys@frame@radius+2.7\ys@frame@linewidth]frame.north east);} +\def\ys@frame@middlecorner{} +\def\ys@frame@lastcorner{% + \path[draw=framegolden,line width=1.5\ys@frame@linewidth,line cap=round] + ([xshift=-\ys@frame@radius+2.7\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east) + --([xshift=-\ys@frame@sep,yshift=\ys@frame@sep]frame.south east) + --([xshift=-\ys@frame@sep,yshift=\ys@frame@radius-2.7\ys@frame@linewidth]frame.south east) + ([xshift=\ys@frame@radius-2.7\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) + --([xshift=\ys@frame@sep,yshift=\ys@frame@sep]frame.south west) + --([xshift=\ys@frame@sep,yshift=\ys@frame@radius-2.7\ys@frame@linewidth]frame.south west);} +%endregion +\def\ys@frame@star#1#2#3{% + \begin{scope}[shift={([xshift=#1,yshift=#2]#3)},scale=\ys@frame@ratio*0.1] + \path[draw=framegolden,fill=white, + line width=.7\ys@frame@linewidth,line join=round] + (1,1)..controls(0.3,0.5) and (-0.3,0.5).. + (-1,1)..controls(-0.5,0.3) and (-0.5,-0.3).. + (-1,-1)..controls(-0.3,-0.5) and (0.3,-0.5).. + (1,-1)..controls(0.5,-0.3) and (0.5,0.3)..(1,1)--cycle; + \path[scale=0.45,fill=framegolden,line join=round] + (1,1)..controls(0.3,0.7) and (-0.3,0.7).. + (-1,1)..controls(-0.7,0.3) and (-0.7,-0.3).. + (-1,-1)..controls(-0.3,-0.7) and (0.3,-0.7).. + (1,-1)..controls(0.7,-0.3) and (0.7,0.3)..(1,1)--cycle; + \end{scope}} +\def\ys@frame@segmentation{% + \draw[color=framegolden,path fading=ys circle] + ([xshift=5\ys@frame@radius]segmentation.west) to[ornament=88] + ([xshift=-5\ys@frame@radius]segmentation.east);} + +\tcbset{ + % 控制是否在断点处的线不画出来 + ys/frame/not at break/.code=\let\ys@frame@remove@middleline\ys@frame@draw@middleline, + ys/frame/fill opacity/.store in=\ys@frame@fill@opacity, + ys/frame/draw at break/.code=\let\ys@frame@remove@middleline\@gobbletwo, + % 控制线宽 + ys/frame/line width/.code={\pgfmathsetlength\ys@frame@linewidth{#1}}, + ys/frame/line width=1.4pt, + % 控制圆弧大小,应为数字,而非长度 + ys/frame/radius/.code={\pgfmathparse{#1}\let\ys@frame@ratio\pgfmathresult + \pgfmathsetlength\ys@frame@radius{(#1)*1em}% + \pgfmathsetlength\ys@frame@sep{(#1)*0.5ex}}, + ys/frame/radius=2, + ys/frame/unbroken/.style={ + interior code={% + \ys@frame@unbrokenouter % 外框 + \foreach \ii/\jj/\kk in \ys@frame@star@list {\ys@frame@star{\ii}{\jj}{\kk}} % 星 + \ys@frame@unbrokeninner % 内线 + \ys@frame@unbrokencorner % 四角 + }, + interior titled code={% + \ys@frame@unbrokenouter % 外框 + \foreach \ii/\jj/\kk in \ys@frame@star@list {\ys@frame@star{\ii}{\jj}{\kk}} % 星 + \ys@frame@unbrokeninner % 内线 + \ys@frame@unbrokencorner % 四角 + } + }, + ys/frame/first/.style={ + interior code={% + \ys@frame@firstouter + \foreach \ii/\jj/\kk in \ys@frame@star@list@t {\ys@frame@star{\ii}{\jj}{\kk}} + \ys@frame@firstinner + \ys@frame@firstcorner}, + interior titled code={% + \ys@frame@firstouter + \foreach \ii/\jj/\kk in \ys@frame@star@list@t {\ys@frame@star{\ii}{\jj}{\kk}} + \ys@frame@firstinner + \ys@frame@firstcorner}, + }, + ys/frame/middle/.style={ + interior code={% + \ys@frame@middleouter + \ys@frame@middleinner + \ys@frame@middlecorner} + }, + ys/frame/last/.style={ + interior code={% + \ys@frame@lastouter + \foreach \ii/\jj/\kk in \ys@frame@star@list@b {\ys@frame@star{\ii}{\jj}{\kk}} + \ys@frame@lastinner + \ys@frame@lastcorner} + }, + ys/frame style/unbroken/.style={ + boxsep=2\ys@frame@sep, + left={.8\ys@frame@radius},right={.8\ys@frame@radius}, + ys/frame/unbroken,title hidden, + segmentation code=\ys@frame@segmentation + }, + ys/frame style/first/.style={ys/frame/first,title hidden,segmentation code=\ys@frame@segmentation}, + ys/frame style/middle/.style={ys/frame/middle,segmentation code=\ys@frame@segmentation}, + ys/frame style/last/.style={ys/frame/last,segmentation code=\ys@frame@segmentation}, + ys style/.style={frame hidden, + ys/frame style/unbroken, + extras first={ys/frame style/first}, + extras middle={ys/frame style/middle}, + extras last={ys/frame style/last}, + }, +} +\makeatother +\newtcolorbox{fancybox}[1][]{enhanced,ys style,breakable,pad at break=2mm, + ys/frame/not at break,ys/frame/fill opacity=0,#1,fontupper=\itshape} +%% End The Most Beautiful Box +\makeatletter +\definecolor{CyaN}{HTML}{dbe1e5} +\colorlet{OrangE}{yellow!20!orange} +\colorlet{BluE}{cyan!70!blue} +\colorlet{ReD}{red!20!orange} +\colorlet{GreeN}{yellow!40!green} + +% 第一种定理 +\tcbset{my@basic@thm/.style={enhanced jigsaw, breakable, + enlarge left by=-3.5mm, width=\textwidth+3.5mm, boxrule=0pt, + top=2pt, bottom=2pt, left=2.5mm, frame hidden}} +\newcommand{\@my@newtheorem@n}[1]{\ERROR} +\newcommand{\@my@newtheorem@nn}[2]{% + \@ifundefined{#1}{\@my@newtheorem{#1}#2}{\@my@renewtheorem{#1}#2}} +\NewDocumentCommand{\@my@newtheorem}{ m m o +m } + {\IfNoValueTF{#3}{\newtheorem{#1}{#2}}{\newtheorem{#1}{#2}[#3]}% + \tcbset{my@#1@thmstyle/.style={#4}}% + \tcolorboxenvironment{#1}{my@basic@thm, my@#1@thmstyle}} +\NewDocumentCommand{\@my@renewtheorem}{ m m o +m } + {\IfNoValueTF{#3}{\renewtheorem{#1}{#2}}{\renewtheorem{#1}{#2}[#3]}% + \tcbset{my@#1@thmstyle/.style={#4}}} +% +% ---------------------------------------------------------------------------------- % +% 第二种定理 +\tcbset{my@basic@tcbthm/.style={detach title,}} +\newcommand{\@my@newtcbtheorem@n}[1]{\ERROR} +\newcommand{\@my@newtcbtheorem@nn}[2]{% + \@ifundefined{#1}{\@my@newtcbtheorem{#1}{#2}}{\@my@renewtcbtheorem{#1}{#2}}} +\newcommand{\@my@newtcbtheorem}[2]{% + \edef\my@curr@thmenvname{#1}% 它保存当前定理环境的名称 + \mytcbtheoremset{#2}% + \NewTColorBox{#1}{ O{} O{} o } + {my@basic@tcbthm, my@#1@tcbthmstyle, title={##2}, IfNoValueF={##3}{label={##3}}, ##1}} +\newcommand{\@my@renewtcbtheorem}[2]{\edef\my@curr@thmenvname{#1}\mytcbtheoremset{#2}} + +% 键值设置 +\pgfkeys{/mytcbtheorem/.is family} +\newcommand{\mytcbtheoremset}{\pgfqkeys{/mytcbtheorem}} +\mytcbtheoremset{ + name/.code=\@namedef{\my@curr@thmenvname @name}{#1}, %无效 + counter/.code=\@namedef{my@\my@curr@thmenvname @counter}{#1}\newcounter{#1}[chapter], % 计数器遇到subsection就会自动归零 % https://zhuanlan.zhihu.com/p/57454848#circle=on + the counter/.code=\@namedef{the\@nameuse{my@\my@curr@thmenvname @counter}}{#1}, + autoref name/.code=\@namedef{\@nameuse{my@\my@curr@thmenvname @counter}autorefname}{#1}, + style/.code=\tcbset{my@\my@curr@thmenvname @tcbthmstyle/.style={#1}}, + thmcolor/.code=\@namedef{\my@curr@thmenvname @thmcolor}{#1}, %无效 + lemcolor/.code=\@namedef{\my@curr@thmenvname @lemcolor}{#1}, %无效 +} +% 存储键值 (LaTeX3) +\ExplSyntaxOn +\cs_new_protected:Npn \mynewtheorem + { \keyval_parse:NNn \@my@newtheorem@n \@my@newtheorem@nn } +\cs_new_protected:Npn \mynewtcbtheorem + { \keyval_parse:NNn \@my@newtcbtheorem@n \@my@newtcbtheorem@nn } +\ExplSyntaxOff +\makeatother + +% 第二种定理 +\makeatletter +%% Overlay Settings +\newcommand{\my@theorem@overlay@unbroken}[2]{ + %%============== First ==============%% + \fill[black!60] ([xshift=1cm,yshift=5pt]frame.north west)-- ([xshift=0.8cm,yshift=0cm]frame.north west)--([xshift=1.2cm,yshift=0cm]frame.north west)--cycle; + \node[rectangle, text=white, drop shadow={opacity=.3, shadow xshift=0.1cm}, inner sep=1.5mm,fill=#2, +anchor=west,rounded corners=3pt,font=\bfseries\normalsize] at ([xshift=0cm,yshift=-3.mm]frame.north west) {\hspace*{1.5em}#1.\ \ifdefvoid{\tcbtitletext}{}{(\itshape\tcbtitletext)}}; + \fill[color=#2,drop shadow={opacity=0.3,shadow xshift=.3pt}] + ([xshift=1cm,yshift=5pt]frame.north west) {[rounded corners=3pt]--++(-1cm-5pt,0)}--++(0,-1cm-5pt)--cycle; + \fill[color=black!60] ([xshift=-5pt,yshift=-1cm]frame.north west)--([xshift=0cm,yshift=-0.8cm]frame.north west)-- ([xshift=0cm,yshift=-1.2cm]frame.north west)--cycle; + %%============== End ==============%% + \fill[#2,drop shadow={opacity=0.3,shadow xshift=-0.008\linewidth,shadow yshift=0.0016\linewidth}] + ([xshift=-0.05\linewidth,yshift=-5pt]frame.south east) {[rounded corners=3pt]--++(0.05\linewidth+5pt,0)}--++(0,0.05\linewidth+5pt)--cycle; + \fill[black!60] ([xshift=-0.05\linewidth,yshift=-5pt]frame.south east) -- ([xshift=-0.04\linewidth,yshift=0pt]frame.south east)-- ([xshift=-0.06\linewidth,yshift=0pt]frame.south east)--cycle; + \fill[black!60] ([xshift=5pt,yshift=0.05\linewidth]frame.south east)-- ([yshift=0.04\linewidth]frame.south east) -- ([yshift=0.06\linewidth]frame.south east)--cycle; +} +\newcommand{\my@theorem@overlay@first}[2]{ + \fill[black!60] ([xshift=1cm,yshift=5pt]frame.north west)-- ([xshift=0.8cm,yshift=0cm]frame.north west)--([xshift=1.2cm,yshift=0cm]frame.north west)--cycle; + \node[rectangle, text=white, drop shadow={opacity=.3, shadow xshift=0.1cm}, inner sep=1.5mm,fill=#2, anchor=west,rounded corners=3pt,font=\bfseries\normalsize] at ([xshift=0cm,yshift=-3.mm]frame.north west) {\hspace*{1.5em}#1.\ \ifdefvoid{\tcbtitletext}{}{(\itshape\tcbtitletext)}}; + \fill[color=#2,drop shadow={opacity=0.3,shadow xshift=.3pt}] + ([xshift=1cm,yshift=5pt]frame.north west) {[rounded corners=3pt]--++(-1cm-5pt,0)}--++(0,-1cm-5pt)--cycle; + \fill[color=black!60] ([xshift=-5pt,yshift=-1cm]frame.north west)--([xshift=0cm,yshift=-0.8cm]frame.north west)-- ([xshift=0cm,yshift=-1.2cm]frame.north west)--cycle; +} +\newcommand{\my@theorem@overlay@last}[1]{ + \fill[#1,drop shadow={opacity=0.3,shadow xshift=-0.008\linewidth,shadow yshift=0.0016\linewidth}] + ([xshift=-0.05\linewidth,yshift=-5pt]frame.south east) {[rounded corners=3pt]--++(0.05\linewidth+5pt,0)}--++(0,0.05\linewidth+5pt)--cycle; + \fill[black!60] ([xshift=-0.05\linewidth,yshift=-5pt]frame.south east) -- ([xshift=-0.04\linewidth,yshift=0pt]frame.south east)-- ([xshift=-0.06\linewidth,yshift=0pt]frame.south east)--cycle; + \fill[black!60] ([xshift=5pt,yshift=0.05\linewidth]frame.south east)-- ([yshift=0.04\linewidth]frame.south east) -- ([yshift=0.06\linewidth]frame.south east)--cycle; +} +% Second theorem style overlay settings +\newcommand{\my@lemma@overlay@unbroken}[2]{ + %%============== First ==============%% + \def\Rad{3.5pt} + \def\theight{0.57cm} + \def\rad{7pt}% + \path[fill=#2,drop shadow={opacity=0.3,shadow xshift=.05cm,shadow yshift=-.05cm}]node[append after command={ + ([xshift=-1.5*\rad]thmname.north west) to[out=0,in=180,looseness=1] ([xshift=2.5*\rad]thmname.south west) --([xshift=-\rad]thmname.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]thmname.north east) --cycle}, + text=white,font=\bfseries,align=center,inner ysep=1.5mm,minimum height=0.6cm,right] (thmname) at ([xshift=\rad,yshift=-.7*\rad]frame.north west) {\hspace*{10pt}#1.\ \ifdefvoid{\tcbtitletext}{}{(\itshape\tcbtitletext)}}; + \begin{pgfonlayer}{bottom} + \fill[#2,opacity=0.5] + ([xshift=-1.5*\rad]thmname.north west) to[out=180,in=305,looseness=1.5] +(3pt,-6pt) -| ++(12pt,0)--cycle; + \fill[#2,opacity=0.5] + ([xshift=3*\rad]thmname.north east) to[out=0,in=-90] +(5pt,-5pt) -| ++(-10pt,0) --cycle; + \end{pgfonlayer} + %%============== End ==============%% + \def\tlen{1.5cm} + \path[fill=#2,drop shadow={opacity=0.3,shadow xshift=.3pt}] + ([xshift=-2*\rad,yshift=-5pt]frame.south east) coordinate (SE) to[out=0,in=180] +(4*\rad,5pt+\theight) --([shift={(-\tlen+4*\rad,5pt+\theight)}]SE) to[out=180,in=0] +(-4*\rad,-5pt-\theight) --cycle; + \begin{pgfonlayer}{bottom} + \fill[color=#2,opacity=0.5] ([xshift=-1.35*\tlen+\Rad,yshift=-5pt]frame.south east) to[out=180,in=90,looseness=0.7] ([xshift=-1.35*\tlen-0.5*\Rad]frame.south east) coordinate (NWl)--([xshift=2*\rad]NWl) to[out=-90,in=-180,looseness=0.7] ([xshift=-1.35*\tlen+\Rad,yshift=-5pt]frame.south east)--cycle; + \end{pgfonlayer} + } +\newcommand{\my@lemma@overlay@first}[2]{ + %%============== First ==============%% + \def\Rad{3.5pt} + \def\theight{0.57cm} + \def\rad{7pt}% + \path[fill=#2,drop shadow={opacity=0.3,shadow xshift=.05cm,shadow yshift=-.05cm}]node[append after command={ + ([xshift=-1.5*\rad]thmname.north west) to[out=0,in=180,looseness=1] ([xshift=2.5*\rad]thmname.south west) --([xshift=-\rad]thmname.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]thmname.north east) --cycle}, + text=white,font=\bfseries,align=center,inner ysep=1.5mm,minimum height=0.6cm,right] (thmname) at ([xshift=\rad,yshift=-.7*\rad]frame.north west) {\hspace*{10pt}#1.\ \ifdefvoid{\tcbtitletext}{}{(\itshape\tcbtitletext)}}; + \begin{pgfonlayer}{bottom} + \fill[#2,opacity=0.5] + ([xshift=-1.5*\rad]thmname.north west) to[out=180,in=305,looseness=1.5] +(3pt,-6pt) -| ++(12pt,0)--cycle; + \fill[#2,opacity=0.5] + ([xshift=3*\rad]thmname.north east) to[out=0,in=-90] +(5pt,-5pt) -| ++(-10pt,0) --cycle; + \end{pgfonlayer} + } +\newcommand{\my@lemma@overlay@last}[1]{ + %%============== End ==============%% + \def\Rad{3.5pt} + \def\rad{7pt}% + \def\theight{0.57cm} + \def\tlen{1.5cm} + \path[fill=#1,drop shadow={opacity=0.3,shadow xshift=.3pt}] + ([xshift=-2*\rad,yshift=-5pt]frame.south east) coordinate (SE) to[out=0,in=180] +(4*\rad,5pt+\theight) --([shift={(-\tlen+4*\rad,5pt+\theight)}]SE) to[out=180,in=0] +(-4*\rad,-5pt-\theight) --cycle; + \begin{pgfonlayer}{bottom} + \fill[color=#1,opacity=0.5] ([xshift=-1.35*\tlen+\Rad,yshift=-5pt]frame.south east) to[out=180,in=90,looseness=0.7] ([xshift=-1.35*\tlen-0.5*\Rad]frame.south east) coordinate (NWl)--([xshift=2*\rad]NWl) to[out=-90,in=-180,looseness=0.7] ([xshift=-1.35*\tlen+\Rad,yshift=-5pt]frame.south east)--cycle; + \end{pgfonlayer} + } +\makeatother +%% + +% proof +\newcommand{\itbf}[1]{\textit{\textbf{#1}}} +\declaretheoremstyle[ + spaceabove=3pt,spacebelow=3pt, + headfont=\normalfont\bfseries, + notefont=\normalfont\bfseries,notebraces={(}{)}, + bodyfont=\normalfont, + postheadspace=.5em, + headpunct={.}, + qed=\color{cyan!40!black}$\blacksquare$,%\qedsymbol +]{Proofstyle} +\declaretheorem[style=Proofstyle,numbered=no,name={\itbf{Proof}}]{Proof} +\renewenvironment{proof}{\begin{Proof} }{\end{Proof}} +\declaretheorem[style=Proofstyle,numbered=no,name={\itbf{Solution}}]{solution} + +%%%%%%%%%%%%%%% 计数器知识 %%%%%%%%%%%%%%%%%%%%%% +% 每次用 \newcounter{foo} 定义新计数器,内部都会定义这几个命令 + +% \c@foo,储存计数器的值,初始值为 0 +% \thefoo,储存计数器输出时的格式,初始定义为 \arabic{foo} +% \p@foo,储存计数器被引用时的前缀,初始定义为空 +% \cl@foo,储存「子计数器」列表(此处有简化),foo 自增时它的每个「子计数器」都会归零(详见「自动归零」一节),初始定义为空 +%% 关于计数器的自动归零 +% 如果还定义了计数器 \newcounter{bar}[foo],那么 \cl@foo 里就有了 bar +% \@addtoreset{child}{parent} 和 \@removefromreset{child}{parent} 可以把计数器 child 移入/移出 \cl@parent +% \counterwithin* 和 \counterwithout* 和上一条里两个命令的功能类似,但它们在执行前会检查接受的两个参数是否为已定义的计数器。不加星号的版本会修改 \thechild,详见「输出格式」一节 +% 在使用 \stepcounter{parent} 和 \refstepcounter{parent} 时,parent 自增,同时归零\cl@parent 里的「子计数器」 +% \addtocount{parent}{1} 只自增 parent,没有归零其「子计数器」的效果 +% 归零实现为「对每个子计数器,先设为 -1,然后使用 \stepcounter 自增」,这样实现的「归零」功能是递归的 +% 递归的意思是,如果还有 \newcounter{grandchild}[child],那么 \stepcounter{parent} 会将 child 和 grandchild 都归零 diff --git a/macros/latex/contrib/beautybook/beautybook-EN.cls b/macros/latex/contrib/beautybook/beautybook-EN.cls new file mode 100644 index 0000000000..1aa67be4a3 --- /dev/null +++ b/macros/latex/contrib/beautybook/beautybook-EN.cls @@ -0,0 +1,1197 @@ +%This Class is based on the default book class and options will be passed +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{beautybook-EN}[30-06-2024 V10.0 beautybook Class] +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}} +\ProcessOptions\relax +\LoadClass[twoside]{book} +\RequirePackage[dvipsnames,svgnames,x11names,table]{xcolor} +\RequirePackage{cncolours} +\RequirePackage[utf8]{inputenc} % UTF-8编码 +\RequirePackage{times} % Times New Roman Font +\RequirePackage[T1]{fontenc} +\RequirePackage{microtype} % 字体间距调整 +\colorlet{outermarginfgcolor}{DarkCyan} % foregroundcolor 较深 +\colorlet{outermarginbgcolor}{DarkCyan!30} % backgroundcolor 较浅 +\RequirePackage{bropd} % math 自适应数学括号命令 \br{} !!! +\RequirePackage{tikz-imagelabels} % tikz图像标注 +\RequirePackage{epigraph-keys} % 名言引用 +\RequirePackage{fitbox} % 图像自适应 +\RequirePackage{pgfornament-han} +\RequirePackage{tikz} +\usetikzlibrary{calc,shadows,hobby,intersections, decorations.markings, decorations.pathreplacing,spy,arrows,shapes,fadings,trees,mindmap,patterns,shapes.arrows,shapes.symbols,tikzmark,shapes.geometric,graphs, quotes, angles,decorations.pathmorphing,through,shadings,backgrounds,positioning,fit,arrows.meta,shapes.misc,decorations.shapes} +\RequirePackage{pgfplots} %画图 %%页面样式设计核心包 %提供\pgfonlayer命令以及下列图层指令 +\pgfplotsset{compat=1.18} +% +\ExplSyntaxOn +% 封面切换程序 (LaTeX3)! +\keys_define:nn {beautybook/coverstyle} + { + cover-choose.choice:, + cover-choose.value_required:n = true, + cover-choose/cn.code:n = {\RequirePackage{stys/beautybook-cover-cn}}, + cover-choose/en.code:n = {\RequirePackage{stys/beautybook-cover-en}}, + cover-choose/enfig.code:n = {\RequirePackage{stys/beautybook-cover-enfig}}, + cover-choose/birkar.code:n = {\RequirePackage{stys/beautybook-cover-birkar}}, + %cover-choose .initial:n = en , % 设置 en 为初始值 + } +\newtoks \l__beautybook_tmpa_toks +\cs_new_protected:Npn \coverstyle + { + \tex_afterassignment:D \__beautybook_set_coverstyle: + \l__beautybook_tmpa_toks + } +\cs_new:Npn \__beautybook_set_coverstyle: + { \keys_set:nV { beautybook / coverstyle } \l__beautybook_tmpa_toks } +% Math fonts +\keys_define:nn {beautybook/mathstyle} + { + math-font.choice:, + math-font.value_required:n = true, + math-font/plain.code:n={}, + math-font/stix.code:n={ + \RequirePackage{stix} + }, + math-font/mtpro2.code:n = { + \RequirePackage{mtpro2} + \RequirePackage{bm} + \DeclareFontFamily{U}{nxlmi}{} + \DeclareFontSubstitution{U}{nxlmi}{m}{it} + \DeclareFontShape{U}{nxlmi}{m}{it}{ + <-6.3> nxlmi05 + <6.3-8.6> nxlmi07 + <8.6-> nxlmi0 + }{} + + \DeclareFontShape{U}{nxlmi}{b}{it}{ + <-6.3> nxlbmi05 + <6.3-8.6> nxlbmi07 + <8.6-> nxlbmi0 + }{} + \renewcommand{\partial}{{\text{\usefont{U}{nxlmi}{m}{it}\symbol{64}}\mspace{1mu}}} + }, + %cover-choose .initial:n = plain , % 设置 en 为初始值 + } +\cs_new_protected:Npn \mathstyle + { + \tex_afterassignment:D \__beautybook_set_mathstyle: + \l__beautybook_tmpa_toks + } +\cs_new:Npn \__beautybook_set_mathstyle: + { \keys_set:nV { beautybook / mathstyle } \l__beautybook_tmpa_toks } +\ExplSyntaxOff +\RequirePackage{stys/beautybook-bottompage} %封底 +\RequirePackage{rotating} +\tikzset{>=Stealth} +\setlist{font=\upshape} % 取消所有列表默认距离 nosep, +% 浮动环境设置 +% 默认情况下, \LaTeX{} 要求每页的文字至少占据 20%,否则该页就只单独放置一个浮动环境, +% 而这通常不是我们想要的, 我们将这个要求降低到 5%. +\renewcommand*{\textfraction}{0.05} +% 有时如果多个浮动环境连续放在一起, +% 会将它们分在几个不同页,即使它们可在同一页放 +% 得下. 我们可以通过修改 |\topfraction| 和 |\bottomfraction| 分别设置顶端和底端的浮 +% 动环境的最大比例. +\renewcommand*{\topfraction}{0.9} +\renewcommand*{\bottomfraction}{0.8} +% 有时\LaTeX{}会把一个浮动环境单独放在一页, +% 我们要求这个环境至少要占据 85% 才能单独放在一页. +% 注意: |\floatpagefraction| 的数值必须小于 |\topfraction|. +\renewcommand*{\floatpagefraction}{0.85} +% 关于图片 graphicx +% 如果图片没有指定后缀, 依次按下列顺序搜索 +\DeclareGraphicsExtensions{.pdf,.eps,.jpg,.png} +% 设置图表搜索路径, 可以给图表文件夹取如下名字 +\graphicspath{{inner_pics/}{inner_pics/titleimages/}{figures/}{figure/}{pictures/}{picture/}{pic/}{pics/}{image/}{images/}} +% \RequirePackage[physics]{stys/physicx} +% \RequirePackage{stys/Symbols} +\RequirePackage{extarrows} +\usetikzlibrary{tikzmark} +% \arrowname{super-script} +% \arrowname[sub-script]{super-script} +\RequirePackage{appendix} % 附录 +% \RequirePackage{stys/symbols} +% +\RequirePackage{amssymb,amsfonts,upgreek} +\RequirePackage{makeidx} +\RequirePackage{etoolbox} % 判断函数 +\RequirePackage{paracol} +\RequirePackage{tikz-cd} +\RequirePackage{imakeidx} +\RequirePackage{anyfontsize} +\RequirePackage{calc} +\RequirePackage{xkeyval,ifthen} +\RequirePackage[backgroundcolor=yellow!40!cyan!20,bordercolor=yellow!40!cyan!20,linecolor=DarkCyan]{todonotes} +\RequirePackage{varwidth} +\RequirePackage[colorlinks,linkcolor = purple, %%修改此处为你想要的颜色 +anchorcolor = purple, %%修改此处为你想要的颜色 +urlcolor = purple, %%修改此处为你想要的颜色 +citecolor = purple, %%修改此处为你想要的颜色 +]{hyperref} +\setcounter{tocdepth}{3} +\setcounter{secnumdepth}{3}%增加编号深度 +\RequirePackage{dashrule} +\newlength\outermarginwidth +\setlength\outermarginwidth{1.5cm} +\newlength\covershift +\setlength\covershift{5cm} +\RequirePackage{caption} +% 图注与表注格式 +\colorlet{captioncolor}{outermarginfgcolor} % 图片和表格题注文字颜色 +\makeatletter +%%----------------------------------封面信息定义--------------------------------------------------------%% +\newcommand\bookseries[1]{\def\@bookseries{#1}} +\newcommand\subtitle[1]{\def\@subtitle{#1}} +\newcommand\edition[1]{\def\@edition{#1}} +\newcommand\presslogo[1]{\def\@presslogo{#1}} +\newcommand\pressname[1]{\def\@pressname{#1}} +\newcommand\coverimage[1]{\def\@coverimage{#1}} +\newcommand\chapimage[1]{\def\@chapimage{#1}} +%%----------------------------------封面信息定义--------------------------------------------------------%% +\makeatother +\RequirePackage{indentfirst} +\RequirePackage{amsmath} +\RequirePackage[left=2cm,right=2cm,top=.6cm,bottom=2.2cm]{geometry} +\RequirePackage{xpatch}%修正章节编号 +\RequirePackage[automark]{scrlayer-scrpage}%页面设置宏包,隶属于koma-script文档类 +\RequirePackage{fontawesome5} +\RequirePackage{mathrsfs} +\RequirePackage[most]{tcolorbox} +\tcbuselibrary{breakable, skins,theorems}%TcolorBox Library +\RequirePackage{tabularx} +\RequirePackage{lastpage} +%\RequirePackage{twemojis} +\RequirePackage{ninecolors} +\RequirePackage{colortbl} %彩色表格 +\RequirePackage{tabularray} +\UseTblrLibrary{amsmath} +% 定义 +array, +matrix, +bmatrix, +Bmatrix, +pmatrix, +vmatrix, +Vmatrix 和 +cases 环境。其 +% 中,每一个环境都类似于不带 + 前缀的环境,但是就像 tblr 环境一样,使用 rowsep=2pt 默认值。 +% 除了+array 环境外,其余的每个环境都可以带一个可选项,通过该可选项,可能为环境设置内部 +% 参数。 +\UseTblrLibrary{booktabs} % 定义 \toprule、 \midrule、\bottomrule 和 \cmidrule 命令,这些命令可以直接用于 tblr环境中 +\UseTblrLibrary{diagbox} % 在tblr 环境中使用 \diagbox 和\diagboxthree 命令排版斜线表头 +\UseTblrLibrary{varwidth} % 为表格添加 measure 内部参数。当设置了 measure=vbox 后,则会使用 \vbox 测量单元格宽度。%可以使用stretch=-1 移除列表环境上下的间距, 注意,stretch=-1 选项也会移除单元格中的支架 +\RequirePackage{pgfornament} +\RequirePackage{zhnumber} +\RequirePackage{dashrule} +\RequirePackage{adjustbox} +\RequirePackage{enumitem} +\RequirePackage{multicol} +\RequirePackage{amsthm} +\RequirePackage{thmtools,thm-restate}%定理环境 %定理的重写 +\RequirePackage{bclogo} +\RequirePackage[normalem]{ulem} +\RequirePackage{pgfplots} %画图 %%页面样式设计核心包 %提供\pgfonlayer命令以及下列图层指令 +\pgfplotsset{compat=1.18} +\RequirePackage{graphicx}%修正minipage顶部对齐问题 +\pgfdeclarelayer{background} %背景%底层 +\pgfdeclarelayer{foreground} %上层 +\pgfdeclarelayer{top} %顶部 +\pgfdeclarelayer{bottom} %底部 +\pgfsetlayers{bottom,background,main,foreground,top} +\newcommand{\tikzoverlay}[1]{\begin{tikzpicture}[remember picture,overlay] #1 \end{tikzpicture}} +\RequirePackage[explicit]{titlesec} +\RequirePackage{titletoc} + +\newcommand\boxednum[1] +{ +\tcbsidebyside[sidebyside adapt=left, +nobeforeafter,fontupper=\sffamily\large\bfseries,fontlower=\large,colframe=white,colupper=white,colback=outermarginfgcolor!90,colbacklower=gray!10,frame hidden,width =\textwidth, +top=0mm,bottom=0mm,right=0mm,left=2mm,before skip balanced=0em,after skip balanced=0em,arc=0pt,outer arc=0pt,bicolor,sidebyside gap=6mm,boxrule=0pt,sidebyside align=center,halign=center,halign lower=left,fuzzy shadow={-0.4mm}{0.4mm}{0mm}{0.2mm}{white!50!gray},% 上 +fuzzy shadow={0.4mm}{-0.4mm}{0mm}{0.2mm}{fill=white!40!gray},%下 +]{% left hand side % adjust from this side +\thecontentslabel +}{% right hand side +\textbf{#1} \hfill \thecontentspage +}% end +} + +\newcommand\boxednonum[1] +{ +\begin{tcolorbox}[nobeforeafter,fontupper=\large,fontlower=\large,colframe=white,fontupper=\sffamily\bfseries,colupper=white,colback=outermarginfgcolor!90,colbacklower=gray!10,frame hidden,width = \textwidth,sidebyside gap=6mm, +top=0mm,bottom=0mm,right=0cm,left=2mm,before skip balanced=0em,after skip balanced=0em,arc=0pt,outer arc=0pt,bicolor,sidebyside,boxrule=0pt,sidebyside align=center,halign=center,halign lower=left,lefthand width=3mm,fuzzy shadow={-0.4mm}{0.4mm}{0mm}{0.2mm}{white!50!gray},% 上 +fuzzy shadow={0.4mm}{-0.4mm}{0mm}{0.2mm}{fill=white!40!gray},%下 +] +\tcblower \textbf{#1}\hfill \thecontentspage +\end{tcolorbox} +} +% +\titlecontents{chapter}[0mm] + {\addvspace{-.5em}} + {\contentsmargin{0pt}\boxednum} + {\contentsmargin{0pt}\boxednonum} + {} + [\addvspace{-.5em}] +% + \titlecontents{section} + [4.5em] % ie, 1.5em (chapter) + 2.3em + {} + {\hyperlink{section.\thecontentslabel}{\contentslabel{2.2em}}} + {\hspace*{-2.2em}} + {\titlerule*[1pc]{.}\contentspage\hspace*{1.5mm}} +% + \titlecontents{subsection} + [7.3em] % ie, 1.5em (chapter) + 2.3em + {} + {\hyperlink{subsection.\thecontentslabel}{\contentslabel{2.7em}}} + {\hspace*{-2.7em}} + {\titlerule*[1pc]{.}\contentspage\hspace*{1.5mm}} +% + \titlecontents{subsubsection} + [10.7em] % ie, 1.5em (chapter) + 2.3em + {} + {\hyperlink{subsubsection.\thecontentslabel}{\contentslabel{3.3em}}} + {\hspace*{-3.3em}} + {\titlerule*[1pc]{.}\contentspage\hspace*{1.5mm}} + +% tcolorbox中插入图片或者tikz绘图方法 +\newcommand\Figure[4]{% + \begin{center} + \captionsetup{type=figure} %消除 Package caption Warning: The option `hypcap=true' will be ignored for this +%(caption) particular \caption on input line XX.警告信息 + \includegraphics[#1]{#2} + \captionof{figure}{#3}\label{#4} + \end{center} +}%用法 : 用于tcolorbox中插入图片 +\newcommand\Tikz[3]{% + \begin{center} + \captionsetup{type=figure} %消除 Package caption Warning: The option `hypcap=true' will be ignored for this(caption) particular \caption on input line XX.警告信息 + #3 %最后一个参数为Tikz画图代码窗口 + \captionof{figure}{#1}\label{#2} %第一与第二个参数是Tikz画图的名称与标签 + \end{center} +} %用法 : 用于tcolorbox中插入Tikz绘图 +%特殊注释矩阵 +\newcommand\coolover[2]{\mathrlap{\smash{\overbrace{\phantom{% + \begin{matrix} #2 \end{matrix}}}^{\mbox{$#1$}}}}#2} + +\newcommand\coolunder[2]{\mathrlap{\smash{\underbrace{\phantom{% + \begin{matrix} #2 \end{matrix}}}_{\mbox{$#1$}}}}#2} + +\newcommand\coolleftbrace[2]{% + #1\left\{\vphantom{\begin{matrix} #2 \end{matrix}}\right.} + +\newcommand\coolrightbrace[2]{% + \left.\vphantom{\begin{matrix} #1 \end{matrix}}\right\}#2} +\definecolor{lightergray}{gray}{0.99} + +\newcommand*{\circled}[1]{\lower.7ex\hbox{\tikz\draw (0pt, 0pt)% + circle (.5em) node {\makebox[1em][c]{\small #1}};}} +\newcommand{\twicecircle}{\raisebox{.7ex}{ + \begin{tikzpicture}[remember picture,overlay] + \draw[line width=0.6pt,black!60] (0,0) circle (3pt); + \fill[black] (0,0) circle (1.6pt) ; + \end{tikzpicture}} +} +\newcommand{\exercise}[2][\bcicosaedre]{\bigskip +\begin{tikzpicture}[remember picture,overlay] +\draw[line width=2pt,loosely dotted,teal] (0,0)--node[pos=0.4,rectangle,minimum height=1.5em,font=\sffamily\Large,text=black,fill=black!2,drop shadow={opacity=.3, shadow xshift=0.1cm},anchor=center, + inner sep=1.5mm, + anchor=west,] {$#1$ ~ #2} (\linewidth,0); +\end{tikzpicture}\bigskip\smallskip +} +\RequirePackage{extarrows} +\newcommand{\R}{\mathbb{R}} +\newcommand{\F}{\mathcal{F}} +\newcommand{\lan}[1]{\langle #1 \rangle} +\newenvironment{eq}[1]{\begin{equation}\begin{aligned}#1}{\end{aligned}\end{equation}} %有编号 +\newenvironment{eq*}[1]{\begin{equation*}\begin{aligned}#1}{\end{aligned}\end{equation*}} %无编号 +% \everymath{\displaystyle} + +%% -------- 章节样式 +\makeatletter +% titleimage +\ExplSyntaxOn +\seq_new:N \g__beautybook_chapter_oimage_seq % odd +\seq_new:N \g__beautybook_chapter_eimage_seq % even +\seq_new:N \g__beautybook_part_oimage_seq % odd +\seq_new:N \g__beautybook_part_eimage_seq % even +% +\keys_define:nn { beautybook/titleimage } + { + chapteroddimage .code:n = + \seq_gset_from_clist:Nn \g__beautybook_chapter_oimage_seq {#1} , + chapterevenimage .code:n = + \seq_gset_from_clist:Nn \g__beautybook_chapter_eimage_seq {#1} , + partoddimage .code:n = + \seq_gset_from_clist:Nn \g__beautybook_part_oimage_seq {#1} , + partevenimage .code:n = + \seq_gset_from_clist:Nn \g__beautybook_part_eimage_seq {#1} , + } +\cs_new:Npn \__beautybook_title_image:Nn #1#2 % image seq, number + { \seq_item:Nn #1 { \int_mod:nn {#2} { \seq_count:N #1 } + 1 } } %对照表-对录入的字符串进行编号 +\cs_new:Npn \beautybook@chapterimagename %生成索契表 : 判断奇偶数页并按(章节编号)!!读取相应的列表组中的字符串 + { + \int_if_odd:nTF { \value{page} } + { \__beautybook_title_image:Nn \g__beautybook_chapter_oimage_seq { \value{chapter} } } + { \__beautybook_title_image:Nn \g__beautybook_chapter_eimage_seq { \value{chapter} } } + } +\cs_new:Npn \beautybook@partimagename + { + \int_if_odd:nTF { \value{page} } + { \__beautybook_title_image:Nn \g__beautybook_part_oimage_seq { \value{part} } } + { \__beautybook_title_image:Nn \g__beautybook_part_eimage_seq { \value{part} } } + } +\cs_new_protected:Npn \titleimage #1 + { \keys_set:nn { beautybook/titleimage } {#1} } +\ExplSyntaxOff +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\titleformat{\chapter}{\huge\bfseries\filcenter}{}{1em}{ + \makebox[0pt][l]{\def\rad{7pt}% + \begin{tikzpicture}[remember picture, overlay]% + \begin{pgfonlayer}{bottom} + \ifodd\value{page} + \shade[right color=outermarginbgcolor!30,middle color=outermarginbgcolor!50,left color=outermarginfgcolor!30] (current page.north west) rectangle ++(\paperwidth,-.2\paperheight); % background odd + \else + \shade[left color=outermarginbgcolor!30,middle color=outermarginbgcolor!50,right color=outermarginfgcolor!30] (current page.north west) rectangle ++(\paperwidth,-.2\paperheight); % background even + \fi + \fill[outermarginfgcolor,opacity=.5]([shift={(0,-4.45cm)}]current page.north west) rectangle ++(\paperwidth,-2mm); % line + \end{pgfonlayer} + \path[fill=outermarginfgcolor]node[append after command={ + ([xshift=-3*\rad]chapinfoofpart.north west) to[out=0,in=-180,looseness=1] ([xshift=\rad]chapinfoofpart.south west) --([xshift=-\rad]chapinfoofpart.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]chapinfoofpart.north east) --cycle}, + text=white,font=\sffamily\large\bfseries,align=center,minimum height=1cm] (chapinfoofpart) at ([shift={(.6\linewidth,-4.95cm)}]current page.north west) {Part\ \thepart}; + \begin{pgfonlayer}{bottom} + \fill[outermarginfgcolor!90,opacity=0.5] ([shift={(-3*\rad,0)}]chapinfoofpart.north west) to[out=180,in=0,looseness=1] +(-4*\rad,-1.2cm)--([shift={(7*\rad,-1.2cm)}]chapinfoofpart.north east) to[out=-180,in=0,looseness=1] +(-4*\rad,1.2cm); % partnumber shade + \end{pgfonlayer} + \ifodd\value{page} + \begin{pgfonlayer}{top} + \fill[outermarginfgcolor,opacity=0.7,rounded corners=5pt]node[append after command={([yshift=2cm]chapnum.north west) rectangle (chapnum.south east)},right,text=white,minimum width=2cm,align=center,font=\sffamily\bfseries] (chapnum) at ([shift={(1.5cm,-2.5cm)}]current page.north west) {\scalebox{3}{\thechapter}}; + \begin{pgfonlayer}{foreground} + \pattern[pattern=sixpointed stars,pattern color=white,opacity=1.0,rounded corners=5pt] + ([yshift=2cm]chapnum.north west) rectangle (chapnum.south east); + \end{pgfonlayer} + \fill [outermarginfgcolor,path fading=fade up,rounded corners=5pt]% + ([yshift=2cm]chapnum.north west) rectangle (chapnum.south east); + \node[above left,font=\sc\fontsize{22pt}{22pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north east) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}}; + \end{pgfonlayer} + \begin{pgfonlayer}{bottom} + \node[right] (image) at ([shift={(-0.5cm,-2.8cm)}]current page.north west) {\includegraphics[width=7cm]{\@chapimage}}; + \end{pgfonlayer} + \else + \begin{pgfonlayer}{top} + \fill[outermarginfgcolor,opacity=0.7,rounded corners=5pt]node[append after command={([yshift=2cm]chapnum.north west) rectangle (chapnum.south east)},left,text=white,minimum width=2cm,align=center,font=\sffamily\bfseries] (chapnum) at ([shift={(-1.5cm,-2.5cm)}]current page.north east) {\scalebox{3}{\thechapter}}; + \begin{pgfonlayer}{foreground} + \pattern[pattern=sixpointed stars,pattern color=white,opacity=1.0,rounded corners=5pt] + ([yshift=2cm]chapnum.north west) rectangle (chapnum.south east); + \end{pgfonlayer} + \fill [outermarginfgcolor,path fading=fade up,rounded corners=5pt]% + ([yshift=2cm]chapnum.north west) rectangle (chapnum.south east); + \node[above right,font=\sc\fontsize{22pt}{22pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north west) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}}; + \end{pgfonlayer} + \begin{pgfonlayer}{background} + \node[left] (image) at ([shift={(0.5cm,-2.8cm)}]current page.north east) {\includegraphics[width=7cm]{\@chapimage}}; + \end{pgfonlayer} + \fi + \path[fill=outermarginbgcolor]node[append after command={ + ([xshift=-2*\rad]pagenumber.south west) to[out=0,in=180,looseness=1] ([xshift=\rad]pagenumber.north west) --([xshift=-\rad]pagenumber.north east) to[out=0,in=-180,looseness=1] ([xshift=2*\rad]pagenumber.south east) --cycle}, + text=outermarginfgcolor,font=\sffamily\fontsize{15}{15}\selectfont\bfseries,align=center,minimum height=0.4cm,minimum width=1.3cm,inner sep=1.5mm] (pagenumber) at ([shift={(0,0.3cm)}]current page.south) {\thepage}; + \end{tikzpicture}} + } +\titleformat{name=\chapter,numberless}{\bfseries\huge\filcenter}{}{1em}{ + \makebox[0pt][l]{\def\rad{7pt}% + \begin{tikzpicture}[remember picture, overlay]% + \begin{pgfonlayer}{bottom} + \ifodd\value{page} + \shade[right color=outermarginbgcolor!30,middle color=outermarginbgcolor!50,left color=outermarginfgcolor!30] (current page.north west) rectangle ++(\paperwidth,-.2\paperheight); % background odd + \else + \shade[left color=outermarginbgcolor!30,middle color=outermarginbgcolor!50,right color=outermarginfgcolor!30] (current page.north west) rectangle ++(\paperwidth,-.2\paperheight); % background even + \fi + \fill[outermarginfgcolor,opacity=.5]([shift={(0,-4.45cm)}]current page.north west) rectangle ++(\paperwidth,-2mm); % line + \end{pgfonlayer} + \ifodd\value{page} + \begin{pgfonlayer}{top} + \node[above left,font=\sc\fontsize{25pt}{25pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north east) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}}; + \end{pgfonlayer} + \begin{pgfonlayer}{bottom} + \node[right] (image) at ([shift={(-0.5cm,-2.8cm)}]current page.north west) {\includegraphics[width=7cm]{\@chapimage}}; + \end{pgfonlayer} + \else + \begin{pgfonlayer}{top} + \node[above right,font=\sc\fontsize{25pt}{25pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north west) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}}; + \end{pgfonlayer} + \begin{pgfonlayer}{background} + \node[left] (image) at ([shift={(0.5cm,-2.8cm)}]current page.north east) {\includegraphics[width=7cm]{\@chapimage}}; + \end{pgfonlayer} + \fi + \path[fill=outermarginbgcolor]node[append after command={ + ([xshift=-2*\rad]pagenumber.south west) to[out=0,in=180,looseness=1] ([xshift=\rad]pagenumber.north west) --([xshift=-\rad]pagenumber.north east) to[out=0,in=-180,looseness=1] ([xshift=2*\rad]pagenumber.south east) --cycle}, + text=outermarginfgcolor,font=\sffamily\fontsize{15}{15}\selectfont\bfseries,align=center,minimum height=0.4cm,minimum width=1.3cm,inner sep=1.5mm] (pagenumber) at ([shift={(0,0.3cm)}]current page.south) {\thepage}; + \end{tikzpicture}} +} +\titlespacing{\chapter}{0pt}{0pt}{80pt} +\makeatother +% -------- Part定制 +%%定义标题文字长度%% +\newlength{\partstarlen} +%%设置临界长度%% +\newlength{\criticstarlen} +\setlength{\criticstarlen}{\textwidth} +% 定义垂直方向的渐变 +\tikzfading[name=fade bottom to top, + bottom color=transparent!0, % 底部完全透明 + top color=transparent!100] % 顶部不透明 +\tikzfading[name=middle, top color=transparent!90, bottom +color=transparent!90, middle color=transparent!20] +\makeatletter +\newcommand\partabstract[1]{\def\@partabstract{#1}} +\newcommand\partimage[1]{\def\@partimage{#1}} +\titleformat{\part} +{\normalfont\huge\filcenter} +{} +{20pt} +{\settowidth{\partstarlen}{\sc\huge #1} % 计算\partabstract的长度并写入到\partstarlen中 + \begin{tikzpicture}[remember picture,overlay] + \def\barwidth{2cm} + \fill[outermarginbgcolor,opacity=0.6] + (current page.north west) rectangle (current page.south east); + \ifodd\value{page} + \fill [outermarginfgcolor!20]% + (current page.north east) rectangle ++(-\outermarginwidth,-\paperheight); + \pattern [pattern=north east lines,pattern color=outermarginfgcolor!50]% + (current page.north east) rectangle ++(-\outermarginwidth,-\paperheight); + \fill [outermarginbgcolor!90,path fading=fade south]% + ([yshift=1mm]current page.north east) rectangle ++(-\outermarginwidth,-.8\paperheight); + \fill [outermarginbgcolor,path fading=fade north]% + (current page.south east) rectangle ++(-\outermarginwidth,.8\paperheight);% + % lines + \fill[outermarginfgcolor,rounded corners=2pt] (current page.north east) --++(-5pt,-0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,0.15cm)--cycle; + \coordinate (anchor of headmark) at ([shift={(-1.2\outermarginwidth,-0.2cm)}]current page.north east); + \node[below ,text=outermarginfgcolor,font=\sffamily\bfseries\fontsize{15}{20}\selectfont] (partpagenum) at ([shift={(-.5\outermarginwidth,0)}]current page.north east) {\thepage}; + \fill[outermarginfgcolor,rounded corners=2pt] (current page.south east) --++(-5pt,0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,-0.15cm)--cycle; % 页码横线 + \node[] (hbar) at ($(current page.north)!0.33!(current page.south)$) { + \begin{tikzpicture} + %%--------------- Horizontal Line --------------------%% + \fill[outermarginbgcolor!70] + (0,0) rectangle ++(\paperwidth,-1cm); + %%--------------- Horizontal Line -------------------%% + \fill[outermarginbgcolor] + (0,-.25cm) rectangle ++(\paperwidth,-.5cm); + \fill[outermarginfgcolor] + (.67\paperwidth,-.25cm) rectangle ++(4.5cm,-.5cm); + \fill[outermarginfgcolor!20!white] + (.67\paperwidth-1mm,-.25cm) rectangle ++(1mm,-.5cm); + \fill[outermarginfgcolor!20!white] + (.67\paperwidth+4.4cm,-.25cm) rectangle ++(1mm,-.5cm); + \end{tikzpicture} + }; + \node[above,font=\sc\huge,shift={(.33\linewidth,.5\barwidth)}] (partname) at (hbar) {Part\ \thepart}; + \node[below left,font=\sc\huge,shift={(.146\linewidth,-\barwidth)}] (partcontents) at (partname) {\begin{varwidth}{.9\linewidth}\raggedright\baselineskip=25pt #1 \end{varwidth}}; % 标题名称 + \begin{pgfonlayer}{background} + \node[above,shift={(-.4\linewidth,-4*\barwidth)}] at (partname) {\ifdefvoid{\@partimage}{}{\includegraphics[width=1.2\linewidth]{\@partimage}}}; % 图片位置调整 + % % 应用渐变效果 +\fill[path fading=fade bottom to top, fill=nuanbai] (current page.north west) rectangle ([xshift=-\outermarginwidth]current page.south east); + \end{pgfonlayer} +%判断标题文字长度与临界长度的关系 +\ifdim\partstarlen<\criticstarlen +%如果标题长度小于临界长度则使用(hbar)定位 +\node[below,font=\itshape\fontsize{13}{13}\selectfont,shift={(0,-1.2*\barwidth)}] at (hbar) {\ifdefvoid{\@partabstract}{}{\begin{varwidth}{.9\linewidth}\baselineskip=3ex \@partabstract\end{varwidth}}}; % 简介文字调整 +\else +\node[below,font=\itshape\fontsize{13}{13}\selectfont,shift={(0,-1.2*\barwidth)}] at (partcontents) {\ifdefvoid{\@partabstract}{}{\begin{varwidth}{.9\linewidth}\baselineskip=3ex \@partabstract\end{varwidth}}}; % 简介文字调整 +\fi + \else + \fill [outermarginfgcolor!20]% + (current page.north west) rectangle ++(\outermarginwidth,-\paperheight); + \pattern [pattern=north west lines,pattern color=outermarginfgcolor!50]% + (current page.north west) rectangle ++(\outermarginwidth,-\paperheight); + \fill [outermarginbgcolor!90,path fading=fade south]% + ([yshift=1mm]current page.north west) rectangle ++(\outermarginwidth,-.8\paperheight); + \fill [outermarginbgcolor,path fading=fade north]% + (current page.south west) rectangle ++(\outermarginwidth,.8\paperheight);% + % lines + \fill[outermarginfgcolor,rounded corners=2pt] (current page.north west) --++(5pt,-0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,0.15cm)--cycle; + \coordinate (anchor of headmark) at ([shift={(1.2\outermarginwidth,-0.2cm)}]current page.north west); + \node[below ,text=outermarginfgcolor,font=\sffamily\bfseries\fontsize{15}{20}\selectfont] (partpagenum) at ([shift={(.5\outermarginwidth,0)}]current page.north west) {\thepage}; + \fill[outermarginfgcolor,rounded corners=2pt] (current page.south west) --++(5pt,0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,-0.15cm)--cycle; % 页码横线 + \node[] (hbar) at ($(current page.north)!0.33!(current page.south)$) { + \begin{tikzpicture} + %%--------------- Horizontal Line --------------------%% + \fill[outermarginbgcolor!70] + (0,0) rectangle ++(\paperwidth,-1cm); + %%--------------- Horizontal Line -------------------%% + \fill[outermarginbgcolor] + (0,-.25cm) rectangle ++(\paperwidth,-.5cm); + \fill[outermarginfgcolor] + (.15\paperwidth,-.25cm) rectangle ++(4.5cm,-.5cm); + \fill[outermarginfgcolor!20!white] + (.15\paperwidth-1mm,-.25cm) rectangle ++(1mm,-.5cm); + \fill[outermarginfgcolor!20!white] + (.15\paperwidth+4.5cm,-.25cm) rectangle ++(1mm,-.5cm); + \end{tikzpicture} + }; + \node[above,font=\sc\huge,shift={(-.31\linewidth,.5\barwidth)}] (partname) at (hbar) {Part\ \thepart}; + \node[below right,font=\sc\huge,shift={(-.125\linewidth,-\barwidth)}] (partcontents) at (partname) {\begin{varwidth}{.9\linewidth}\raggedright\baselineskip=25pt #1 \end{varwidth}}; % 标题名称 + \begin{pgfonlayer}{background} + \node[above,shift={(.35\linewidth,-4*\barwidth)}] at (partname) {\ifdefvoid{\@partimage}{}{\includegraphics[width=1.2\linewidth]{\@partimage}}}; % 图片位置调整 + % % 应用渐变效果 + \fill[path fading=fade bottom to top, fill=nuanbai] (current page.north east) rectangle ([xshift=\outermarginwidth]current page.south west); + \end{pgfonlayer} +%判断标题文字长度与临界长度的关系 +\ifdim\partstarlen<\criticstarlen +%如果标题长度小于临界长度则使用(hbar)定位 +\node[below,font=\itshape\fontsize{13}{13}\selectfont,shift={(0,-1.2*\barwidth)}] at (hbar) {\ifdefvoid{\@partabstract}{}{\begin{varwidth}{.9\linewidth}\baselineskip=3ex \@partabstract\end{varwidth}}}; % 简介文字调整 +\else +\node[below,font=\itshape\fontsize{13}{13}\selectfont,shift={(0,-1.2*\barwidth)}] at (partcontents) {\ifdefvoid{\@partabstract}{}{\begin{varwidth}{.9\linewidth}\baselineskip=3ex \@partabstract\end{varwidth}}}; % 简介文字调整 +\fi + \fi + \end{tikzpicture}} +\makeatother +\assignpagestyle{\part}{empty} +\assignpagestyle{\chapter}{empty} + + +%% -- Section +\titleformat{\section} +{} +{} +{-.5em} %左右移动\thesection标签位置 +{\mysectionformat{#1}} + +\titleformat{name=\section,numberless}{}{}{-.5em}{\mysectionnonumformat{#1}} + +\newcommand{\mysectionformat}[1]{% +\makebox[0pt][l]{\def\rad{7pt}% +\begin{tikzpicture}[remember picture] + \path[fill=outermarginfgcolor,drop shadow={opacity=0.3,shadow xshift=.05cm,shadow yshift=-.05cm}]node[append after command={ + ([xshift=\rad]sec.north west) to[out=180,in=0,looseness=1] ([xshift=-3*\rad]sec.south west) --([xshift=-\rad]sec.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]sec.north east) --cycle}, + text=white,font=\sffamily\large\bfseries,align=center,inner ysep=2mm] (sec) at (0,0) {Sec\ \thesection}; + \node[text=black,font=\large,below right] (secnum) at ([shift={(0,-1mm)}]sec.north east) {\begin{varwidth}{.85\linewidth}\setlength\baselineskip{18pt}\hspace{.5cm}#1\end{varwidth}}; +\end{tikzpicture}}}%最后一个选项为 [] + +\newcommand{\mysectionnonumformat}[1]{% +\makebox[0pt][l]{\def\rad{7pt}% +\begin{tikzpicture}[remember picture] + \path[fill=outermarginfgcolor,drop shadow={opacity=0.3,shadow xshift=.05cm,shadow yshift=-.05cm}]node[append after command={ + ([xshift=\rad]sec.north west) to[out=180,in=0,looseness=1] ([xshift=-3*\rad]sec.south west) --([xshift=-\rad]sec.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]sec.north east) --cycle}, + text=white,font=\sffamily\large\bfseries,align=center,inner ysep=2mm] (sec) at (0,0) {Sec}; + \node[text=black,font=\large,below right] (secnum) at ([shift={(0,-1mm)}]sec.north east) {\begin{varwidth}{.85\linewidth}\setlength\baselineskip{18pt}\hspace{.5cm}#1\end{varwidth}}; +\end{tikzpicture}}}%最后一个选项为 [] + +\titlespacing*{\section}{0pt}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex} + +%%-------------------------------- SCRLAYER-SCRPAGE -------------------------------------%% +%% SIDE-BAR +\newlength\chapternumbersize +\setlength\chapternumbersize{36pt} +\setlength{\headheight}{40pt} % 页眉高度 +\renewcommand\chaptermarkformat{} +% define a new mark for the chapter number +\newmarks\chapternum +\xapptocmd\chaptermark{\marks\chapternum{\thechapter}}{}{\PatchFailed} +\newmarks\secnum +\xapptocmd\sectionmark{\marks\secnum{\thesection}}{}{\PatchFailed} + +\newcommand*\outermarginpagemark{% +\tikzoverlay{ + \begin{pgfonlayer}{top} + \ifodd\value{page} + \fill[outermarginfgcolor,rounded corners=2pt] (current page.north east) --++(-5pt,-0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,0.15cm)--cycle; + \coordinate (anchor of headmark) at ([shift={(-1.2\outermarginwidth,-0.2cm)}]current page.north east); + \node[below ,text=outermarginfgcolor,font=\sffamily\bfseries\fontsize{15}{15}\selectfont] at ([shift={(-.5\outermarginwidth,-0.15cm)}]current page.north east) {\thepage}; + \fill[outermarginfgcolor!50,rounded corners=1pt] ([shift={(0.2\outermarginwidth,0.2cm)}]anchor of headmark) --++(-5pt,-0.15cm)--++(-.45\linewidth,0) --++(-5pt,0.15cm)--cycle; % 页眉横线 + \node[below left,font=\upshape,text=outermarginfgcolor] at ([yshift=0.05cm]anchor of headmark) {\begin{varwidth}{\linewidth}\rightmark\end{varwidth}}; + \fill[outermarginfgcolor,rounded corners=2pt] (current page.south east) --++(-5pt,0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,-0.15cm)--cycle; % 页码横线 + \else + \fill[outermarginfgcolor,rounded corners=2pt] (current page.north west) --++(5pt,-0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,0.15cm)--cycle; + \coordinate (anchor of headmark) at ([shift={(1.2\outermarginwidth,-0.2cm)}]current page.north west); + \node[below ,text=outermarginfgcolor,font=\sffamily\bfseries\fontsize{15}{15}\selectfont] at ([shift={(.5\outermarginwidth,-0.15cm)}]current page.north west) {\thepage}; + \fill[outermarginfgcolor!50,rounded corners=1pt] ([shift={(-0.2\outermarginwidth,0.2cm)}]anchor of headmark) --++(5pt,-0.15cm)--++(.45\linewidth,0) --++(5pt,0.15cm)--cycle; % 页眉横线 + \node[below right,font=\upshape,text=outermarginfgcolor] at ([yshift=0.05cm]anchor of headmark) {\begin{varwidth}{\linewidth}\rightmark\end{varwidth}}; + \fill[outermarginfgcolor,rounded corners=2pt] (current page.south west) --++(5pt,0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,-0.15cm)--cycle; % 页码横线 + \fi + \end{pgfonlayer}} +} +\newlength\baryshift +\setlength\baryshift{-2.5\outermarginwidth} +\makeatletter +% Add A Side-Bar Box For The Chapter Number +\newcommand*\outermarginchapternumberbox{% + \if@mainmatter + \tikzoverlay{ + \shade[top color=outermarginfgcolor!90,bottom color=outermarginbgcolor] + (\outermarginwidth,-.5\outermarginwidth+2mm) rectangle (0,-1.5\outermarginwidth+2mm); + \node[anchor=center,text=white,font=\sffamily\bfseries] at (1/2*\outermarginwidth,-\outermarginwidth+2mm) {\usekomafont{chapternumber}{\botmarks\chapternum}};% + } + \fi + \vfill +} +\makeatother + +\newkomafont{chapternumber}{%页边章节编号字体 + \fontsize{\chapternumbersize}{\chapternumbersize}\selectfont +}% +\makeatletter +\newcommand\outermarginmark{ + \ifodd\value{page}\hfill\else\hspace*{\dimexpr\outermarginwidth*3/8\relax}\fi + \rotatebox{90}{\parbox{\layerheight}{ + \raggedleft + \usekomafont{outermargin}{% + \MakeMarkcase{\ifodd\value{page}\odd@outermargin\else\even@outermargin\fi}}% + }}% + \ifodd\value{page}\hspace*{\dimexpr\outermarginwidth*3/8\relax}\fi% +} +\newcommand*\even@outermargin{} +\newcommand*\odd@outermargin{} +\newcommand*\evenoutermargin[1]{\renewcommand\even@outermargin{#1}}% 偶数页内容 +\newcommand*\oddoutermargin[1]{\renewcommand\odd@outermargin{#1}}% 奇数页内容 +\makeatother +% +\newkomafont{outermargin}{%页边章节名称字体 + \bfseries\fontsize{15}{15}\selectfont\color{outermarginfgcolor} +} +% declare new page style using layers +\DeclareNewPageStyleByLayers{scth}{% + scth.outermargin.bg.even,% + scth.outermargin.bg.odd,% + scth.outermargin.fg.even,% + scth.outermargin.fg.odd,% + scth.outermargin.pn.even,% + scth.outermargin.pn.odd,% + scth.outermargin.cn.even,% + scth.outermargin.cn.odd,% + scth.outermargin.text.even,% + scth.outermargin.text.odd% +} +% define the layers for even pages +\DeclareNewLayer[ + background, % 下层(背景) + evenpage, + outermargin, + width=\outermarginwidth, + contents={\color{outermarginbgcolor}\rule{\layerwidth}{\layerheight}} %色彩装饰条 +]{scth.outermargin.bg.even}% +%%=============% 页边条颜色 %=======================%% +\tikzfading[name=fade south, + top color =transparent!0, + bottom color=transparent!80] +\tikzfading[name=fade north, + top color =transparent!100, + bottom color=transparent!0] +%偶数页边纹理效果设置 +\newcommand{\evensidbardeepcolor}{% +\tikzoverlay{ +\ifodd\value{page} +\fill [outermarginfgcolor!20]% + (current page.north east) rectangle ([xshift=-\outermarginwidth,yshift=0]current page.south east); + \pattern [pattern=checkerboard,pattern color=outermarginfgcolor!50]% + (current page.north east) rectangle ([xshift=-\outermarginwidth,yshift=0]current page.south east); + \fill [outermarginbgcolor!90,path fading=fade south]% + ([yshift=1mm]current page.north east) rectangle ([xshift=-\outermarginwidth,yshift=-.5\layerheight]current page.north east); + \fill [outermarginbgcolor,path fading=fade north]% + (current page.south east) rectangle ([xshift=-\outermarginwidth,yshift=.2\layerheight]current page.south east); +\else + \fill [outermarginfgcolor!20]% + (current page.north west) rectangle ([xshift=\outermarginwidth,yshift=0]current page.south west); + \pattern [pattern=checkerboard,pattern color=outermarginfgcolor!50]% + (current page.north west) rectangle ([xshift=\outermarginwidth,yshift=0]current page.south west); + \fill [outermarginbgcolor!90,path fading=fade south]% + ([yshift=1mm]current page.north west) rectangle ([xshift=\outermarginwidth,yshift=-.5\layerheight]current page.north west); + \fill [outermarginbgcolor,path fading=fade north]% + (current page.south west) rectangle ([xshift=\outermarginwidth,yshift=.2\layerheight]current page.south west); + \fi +} +} +%%==============偶数页页边条颜色========================%% +\DeclareNewLayer[ + foreground, % + evenpage, + outermargin, + width=\outermarginwidth, + contents=\evensidbardeepcolor %色彩装饰条 +]{scth.outermargin.fg.even}% +%%==============偶数页页脚页码========================%% +\DeclareNewLayer[ + foreground, %上层 (背景之上) + evenpage, + foot, % 页脚 + contents=\outermarginpagemark +]{scth.outermargin.pn.even}% +%%==============偶数页章节编号========================%% +\DeclareNewLayer[ + foreground, %上层 (背景之上) + evenpage, + head, %页眉 + hoffset=0pt, + width=\outermarginwidth, + align=t, + addvoffset=\dimexpr-\chapternumbersize-12pt+\headheight\relax, + height=\chapternumbersize+\headheight, + contents=\outermarginchapternumberbox%章节编号 +]{scth.outermargin.cn.even}% +%%======================章节名称===================================%% +\DeclareNewLayer[ + clone=scth.outermargin.cn.even, + addheight=\dimexpr\headheight+\headsep+\textheight\relax, + addvoffset=\dimexpr+2\outermarginwidth\relax, + hoffset=-2.5pt, + contents=\outermarginmark % +]{scth.outermargin.text.even}% + +% define the layers for odd page from the settings for even pages +\newcommand*\DeclareOddFromEven[1]{%复制自偶数页样式命令 +\DeclareNewLayer[ + clone=#1.even, + oddpage, + align=r, + hoffset=\paperwidth +]{#1.odd}% +} +\DeclareOddFromEven{scth.outermargin.bg} +\DeclareOddFromEven{scth.outermargin.pn} +\DeclareOddFromEven{scth.outermargin.cn} +\DeclareOddFromEven{scth.outermargin.text} +\DeclareOddFromEven{scth.outermargin.fg} + +% add the layers to page style scrheadings and page style plain +\ForEachLayerOfPageStyle*{scth}{% + \AddLayersToPageStyle{scrheadings}{#1}% + \AddLayersToPageStyle{plain.scrheadings}{#1}% +} +%---------------------------------------------- +\KOMAoptions{markcase=upper} %页眉 +% for page styles scrheadings and plain +\clearpairofpagestyles +\ohead{} +\cfoot{} +\ofoot{} + +%%-------------------------------- SCRLAYER-SCRPAGE -------------------------------------%% + +%% Begin The Most Beautiful Box (STYLE : ys style) % 中国风盒子 +\makeatletter +\definecolor{framegolden}{HTML}{455a64} % 控制外框颜色 +\definecolor{framegray}{HTML}{e0e0e0} % 控制填充颜色 +\newdimen\ys@frame@linewidth +\newdimen\ys@frame@radius +\newdimen\ys@frame@sep +\def\ys@frame@fill@opacity{0.2} + +\pgfdeclarehorizontalshading{ys@fade@circle}{500bp} +{color(0bp)=(pgftransparent!100); color(25bp)=(pgftransparent!100); +color(45bp)=(pgftransparent!0); color(55bp)=(pgftransparent!0); +color(75bp)=(pgftransparent!100); color(100bp)=(pgftransparent!100)} +\pgfdeclarefading{ys circle}{\pgfuseshading{ys@fade@circle}} + +\def\ys@frame@star@list@t{% + -0.7071\ys@frame@radius+0.2133\ys@frame@sep/% + -0.7071\ys@frame@radius+0.2133\ys@frame@sep/% + frame.north east,% + 0.7071\ys@frame@radius-0.2133\ys@frame@sep/% + -0.7071\ys@frame@radius+0.2133\ys@frame@sep/% + frame.north west} +\def\ys@frame@star@list@b{% + 0.7071\ys@frame@radius-0.2133\ys@frame@sep/% + 0.7071\ys@frame@radius-0.2133\ys@frame@sep/% + frame.south west,% + -0.7071\ys@frame@radius+0.2133\ys@frame@sep/% + 0.7071\ys@frame@radius-0.2133\ys@frame@sep/% + frame.south east} +\edef\ys@frame@star@list{\ys@frame@star@list@t,\ys@frame@star@list@b} + +%region outer +\def\ys@frame@remove@middleline#1#2{} +\def\ys@frame@draw@middleline#1#2{% + \clip ([xshift=-\ys@frame@linewidth,#1]frame.north west)-- + ([xshift=\ys@frame@linewidth,#1]frame.north east)-- + ([xshift=\ys@frame@linewidth,#2]frame.south east)-- + ([xshift=-\ys@frame@linewidth,#2]frame.south west)--cycle;} +\def\ys@frame@unbrokenouter{% + \path[draw=framegolden,fill=framegray,fill opacity=\ys@frame@fill@opacity,line width=\ys@frame@linewidth] + ([xshift=\ys@frame@radius]frame.north west)--([xshift=-\ys@frame@radius]frame.north east) + arc(-180:-90:\ys@frame@radius)-- + ([yshift=-\ys@frame@radius]frame.north east)--([yshift=\ys@frame@radius]frame.south east) + arc(90:180:\ys@frame@radius)-- + ([xshift=-\ys@frame@radius]frame.south east)--([xshift=\ys@frame@radius]frame.south west) + arc(0:90:\ys@frame@radius)-- + ([yshift=\ys@frame@radius]frame.south west)--([yshift=-\ys@frame@radius]frame.north west) + arc(-90:0:\ys@frame@radius)--cycle;} +\def\ys@frame@firstouter{% + \ys@frame@remove@middleline{yshift=.5\ys@frame@linewidth}{yshift=.7\ys@frame@linewidth}% + \path[draw=framegolden,fill=framegray,fill opacity=\ys@frame@fill@opacity,line width=\ys@frame@linewidth] + ([xshift=\ys@frame@radius]frame.north west)--([xshift=-\ys@frame@radius]frame.north east) + arc(-180:-90:\ys@frame@radius)-- + ([yshift=-\ys@frame@radius]frame.north east)-- + (frame.south east)-- + (frame.south west)-- + ([yshift=-\ys@frame@radius]frame.north west) + arc(-90:0:\ys@frame@radius)--cycle;} +\def\ys@frame@middleouter{% + \ys@frame@remove@middleline{yshift=-.7\ys@frame@linewidth}{yshift=.7\ys@frame@linewidth}% + \path[draw=framegolden,fill=framegray,fill opacity=\ys@frame@fill@opacity,line width=\ys@frame@linewidth] + (frame.north west)--(frame.north east)--(frame.south east)-- + (frame.south west)--cycle;} +\def\ys@frame@lastouter{% + \ys@frame@remove@middleline{yshift=-.7\ys@frame@linewidth}{yshift=-.5\ys@frame@linewidth}% + \path[draw=framegolden,fill=framegray,fill opacity=\ys@frame@fill@opacity,line width=\ys@frame@linewidth] + (frame.north west)--(frame.north east)-- + ([yshift=\ys@frame@radius]frame.south east) + arc(90:180:\ys@frame@radius)-- + ([xshift=-\ys@frame@radius]frame.south east)--([xshift=\ys@frame@radius]frame.south west) + arc(0:90:\ys@frame@radius)-- + ([yshift=\ys@frame@radius]frame.south west)-- + (frame.north west)--cycle;} +%endregion +%region inner +\def\ys@frame@unbrokeninner{% +\path[draw=framegolden,line width=.5\ys@frame@linewidth,line cap=round] +([xshift=\ys@frame@radius+2\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) + --([xshift=\ys@frame@radius+5\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) --++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) + ([xshift=\ys@frame@radius+6\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) %第一节 + --([xshift=-\ys@frame@radius-8.828\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) + ([xshift=-\ys@frame@radius-7.828\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第二节 + --([xshift=-\ys@frame@radius-2\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east) + %% +([yshift=-\ys@frame@radius-2\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east) +--([yshift=-\ys@frame@radius-5\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east) --++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) +([yshift=-\ys@frame@radius-6\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) %第一节 +--([yshift=\ys@frame@radius+8.828\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) +([yshift=\ys@frame@radius+7.828\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第二节 +% + --([yshift=\ys@frame@radius+2\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east) +% +([xshift=\ys@frame@radius+2\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) +--([xshift=\ys@frame@radius+5\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) --++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) +([xshift=\ys@frame@radius+6\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第一节 +--([xshift=-\ys@frame@radius-8.828\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) +([xshift=-\ys@frame@radius-7.828\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) %第二节 + --([xshift=-\ys@frame@radius-2\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east) +% +([yshift=-\ys@frame@radius-2\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west) +--([yshift=-\ys@frame@radius-5\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west) --++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) +([yshift=-\ys@frame@radius-6\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第一节 +--([yshift=\ys@frame@radius+8.828\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) +([yshift=\ys@frame@radius+7.828\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) %第二节 + --([yshift=\ys@frame@radius+2\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west);} +\def\ys@frame@firstinner{% + \path[draw=framegolden,line width=.5\ys@frame@linewidth,line cap=round] + ([xshift=\ys@frame@radius+2\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) + --([xshift=\ys@frame@radius+5\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) --++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) + ([xshift=\ys@frame@radius+6\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) %第一节 + --([xshift=-\ys@frame@radius-8.828\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) + ([xshift=-\ys@frame@radius-7.828\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第二节 + --([xshift=-\ys@frame@radius-2\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east) + %% +([yshift=-\ys@frame@radius-2\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east) +--([yshift=-\ys@frame@radius-5\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east) --++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) +([yshift=-\ys@frame@radius-6\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) %第一节 +--([xshift=-\ys@frame@sep]frame.south east) + + ([yshift=-\ys@frame@radius-2\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west) + --([yshift=-\ys@frame@radius-5\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west) --++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) + ([yshift=-\ys@frame@radius-6\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第一节 + --([xshift=\ys@frame@sep]frame.south west);} +\def\ys@frame@middleinner{% + \path[draw=framegolden,line width=.5\ys@frame@linewidth,line cap=round] + ([xshift=-\ys@frame@sep]frame.north east)--([xshift=-\ys@frame@sep]frame.south east) + ([xshift=\ys@frame@sep]frame.north west)--([xshift=\ys@frame@sep]frame.south west);} +\def\ys@frame@lastinner{% + \path[draw=framegolden,line width=.5\ys@frame@linewidth,line cap=round] + ([xshift=-\ys@frame@sep]frame.north east) + --([yshift=\ys@frame@radius+8.828\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) + ([yshift=\ys@frame@radius+7.828\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第二节 + % + --([yshift=\ys@frame@radius+2\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east) +% + ([xshift=\ys@frame@radius+2\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) + --([xshift=\ys@frame@radius+5\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) --++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) + ([xshift=\ys@frame@radius+6\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第一节 + --([xshift=-\ys@frame@radius-8.828\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) + ([xshift=-\ys@frame@radius-7.828\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) %第二节 + --([xshift=-\ys@frame@radius-2\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east) +% + ([xshift=\ys@frame@sep]frame.north west) + --([yshift=\ys@frame@radius+8.828\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) + ([yshift=\ys@frame@radius+7.828\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) %第二节 + --([yshift=\ys@frame@radius+2\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west);} +%endregion +%region corner +\def\ys@frame@unbrokencorner{% + \path[draw=framegolden,line width=1.5\ys@frame@linewidth,line cap=round] + ([xshift=\ys@frame@radius-2.7\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) + --([xshift=\ys@frame@sep,yshift=-\ys@frame@sep]frame.north west) + --([xshift=\ys@frame@sep,yshift=-\ys@frame@radius+2.7\ys@frame@linewidth]frame.north west) + ([xshift=-\ys@frame@radius+2.7\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east) + --([xshift=-\ys@frame@sep,yshift=-\ys@frame@sep]frame.north east) + --([xshift=-\ys@frame@sep,yshift=-\ys@frame@radius+2.7\ys@frame@linewidth]frame.north east) + ([xshift=-\ys@frame@radius+2.7\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east) + --([xshift=-\ys@frame@sep,yshift=\ys@frame@sep]frame.south east) + --([xshift=-\ys@frame@sep,yshift=\ys@frame@radius-2.7\ys@frame@linewidth]frame.south east) + ([xshift=\ys@frame@radius-2.7\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) + --([xshift=\ys@frame@sep,yshift=\ys@frame@sep]frame.south west) + --([xshift=\ys@frame@sep,yshift=\ys@frame@radius-2.7\ys@frame@linewidth]frame.south west);} +\def\ys@frame@firstcorner{% + \path[draw=framegolden,line width=1.5\ys@frame@linewidth,line cap=round] + ([xshift=\ys@frame@radius-2.7\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) + --([xshift=\ys@frame@sep,yshift=-\ys@frame@sep]frame.north west) + --([xshift=\ys@frame@sep,yshift=-\ys@frame@radius+2.7\ys@frame@linewidth]frame.north west) + ([xshift=-\ys@frame@radius+2.7\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east) + --([xshift=-\ys@frame@sep,yshift=-\ys@frame@sep]frame.north east) + --([xshift=-\ys@frame@sep,yshift=-\ys@frame@radius+2.7\ys@frame@linewidth]frame.north east);} +\def\ys@frame@middlecorner{} +\def\ys@frame@lastcorner{% + \path[draw=framegolden,line width=1.5\ys@frame@linewidth,line cap=round] + ([xshift=-\ys@frame@radius+2.7\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east) + --([xshift=-\ys@frame@sep,yshift=\ys@frame@sep]frame.south east) + --([xshift=-\ys@frame@sep,yshift=\ys@frame@radius-2.7\ys@frame@linewidth]frame.south east) + ([xshift=\ys@frame@radius-2.7\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) + --([xshift=\ys@frame@sep,yshift=\ys@frame@sep]frame.south west) + --([xshift=\ys@frame@sep,yshift=\ys@frame@radius-2.7\ys@frame@linewidth]frame.south west);} +%endregion +\def\ys@frame@star#1#2#3{% + \begin{scope}[shift={([xshift=#1,yshift=#2]#3)},scale=\ys@frame@ratio*0.1] + \path[draw=framegolden,fill=white, + line width=.7\ys@frame@linewidth,line join=round] + (1,1)..controls(0.3,0.5) and (-0.3,0.5).. + (-1,1)..controls(-0.5,0.3) and (-0.5,-0.3).. + (-1,-1)..controls(-0.3,-0.5) and (0.3,-0.5).. + (1,-1)..controls(0.5,-0.3) and (0.5,0.3)..(1,1)--cycle; + \path[scale=0.45,fill=framegolden,line join=round] + (1,1)..controls(0.3,0.7) and (-0.3,0.7).. + (-1,1)..controls(-0.7,0.3) and (-0.7,-0.3).. + (-1,-1)..controls(-0.3,-0.7) and (0.3,-0.7).. + (1,-1)..controls(0.7,-0.3) and (0.7,0.3)..(1,1)--cycle; + \end{scope}} +\def\ys@frame@segmentation{% + \draw[color=framegolden,path fading=ys circle] + ([xshift=5\ys@frame@radius]segmentation.west) to[ornament=88] + ([xshift=-5\ys@frame@radius]segmentation.east);} + +\tcbset{ + % 控制是否在断点处的线不画出来 + ys/frame/not at break/.code=\let\ys@frame@remove@middleline\ys@frame@draw@middleline, + ys/frame/fill opacity/.store in=\ys@frame@fill@opacity, + ys/frame/draw at break/.code=\let\ys@frame@remove@middleline\@gobbletwo, + % 控制线宽 + ys/frame/line width/.code={\pgfmathsetlength\ys@frame@linewidth{#1}}, + ys/frame/line width=1.4pt, + % 控制圆弧大小,应为数字,而非长度 + ys/frame/radius/.code={\pgfmathparse{#1}\let\ys@frame@ratio\pgfmathresult + \pgfmathsetlength\ys@frame@radius{(#1)*1em}% + \pgfmathsetlength\ys@frame@sep{(#1)*0.5ex}}, + ys/frame/radius=2, + ys/frame/unbroken/.style={ + interior code={% + \ys@frame@unbrokenouter % 外框 + \foreach \ii/\jj/\kk in \ys@frame@star@list {\ys@frame@star{\ii}{\jj}{\kk}} % 星 + \ys@frame@unbrokeninner % 内线 + \ys@frame@unbrokencorner % 四角 + }, + interior titled code={% + \ys@frame@unbrokenouter % 外框 + \foreach \ii/\jj/\kk in \ys@frame@star@list {\ys@frame@star{\ii}{\jj}{\kk}} % 星 + \ys@frame@unbrokeninner % 内线 + \ys@frame@unbrokencorner % 四角 + } + }, + ys/frame/first/.style={ + interior code={% + \ys@frame@firstouter + \foreach \ii/\jj/\kk in \ys@frame@star@list@t {\ys@frame@star{\ii}{\jj}{\kk}} + \ys@frame@firstinner + \ys@frame@firstcorner}, + interior titled code={% + \ys@frame@firstouter + \foreach \ii/\jj/\kk in \ys@frame@star@list@t {\ys@frame@star{\ii}{\jj}{\kk}} + \ys@frame@firstinner + \ys@frame@firstcorner}, + }, + ys/frame/middle/.style={ + interior code={% + \ys@frame@middleouter + \ys@frame@middleinner + \ys@frame@middlecorner} + }, + ys/frame/last/.style={ + interior code={% + \ys@frame@lastouter + \foreach \ii/\jj/\kk in \ys@frame@star@list@b {\ys@frame@star{\ii}{\jj}{\kk}} + \ys@frame@lastinner + \ys@frame@lastcorner} + }, + ys/frame style/unbroken/.style={ + boxsep=2\ys@frame@sep, + left={.8\ys@frame@radius},right={.8\ys@frame@radius}, + ys/frame/unbroken,title hidden, + segmentation code=\ys@frame@segmentation + }, + ys/frame style/first/.style={ys/frame/first,title hidden,segmentation code=\ys@frame@segmentation}, + ys/frame style/middle/.style={ys/frame/middle,segmentation code=\ys@frame@segmentation}, + ys/frame style/last/.style={ys/frame/last,segmentation code=\ys@frame@segmentation}, + ys style/.style={frame hidden, + ys/frame style/unbroken, + extras first={ys/frame style/first}, + extras middle={ys/frame style/middle}, + extras last={ys/frame style/last}, + }, +} +\makeatother +\newtcolorbox{fancybox}[1][]{enhanced,ys style,breakable,pad at break=2mm, + ys/frame/not at break,ys/frame/fill opacity=0,#1,fontupper=\itshape} +%% End The Most Beautiful Box +\makeatletter +\definecolor{CyaN}{HTML}{dbe1e5} +\colorlet{OrangE}{yellow!20!orange} +\colorlet{BluE}{cyan!70!blue} +\colorlet{ReD}{red!20!orange} +\colorlet{GreeN}{yellow!40!green} + +% 第一种定理 +\tcbset{my@basic@thm/.style={enhanced jigsaw, breakable, + enlarge left by=-3.5mm, width=\textwidth+3.5mm, boxrule=0pt, + top=2pt, bottom=2pt, left=2.5mm, frame hidden}} +\newcommand{\@my@newtheorem@n}[1]{\ERROR} +\newcommand{\@my@newtheorem@nn}[2]{% + \@ifundefined{#1}{\@my@newtheorem{#1}#2}{\@my@renewtheorem{#1}#2}} +\NewDocumentCommand{\@my@newtheorem}{ m m o +m } + {\IfNoValueTF{#3}{\newtheorem{#1}{#2}}{\newtheorem{#1}{#2}[#3]}% + \tcbset{my@#1@thmstyle/.style={#4}}% + \tcolorboxenvironment{#1}{my@basic@thm, my@#1@thmstyle}} +\NewDocumentCommand{\@my@renewtheorem}{ m m o +m } + {\IfNoValueTF{#3}{\renewtheorem{#1}{#2}}{\renewtheorem{#1}{#2}[#3]}% + \tcbset{my@#1@thmstyle/.style={#4}}} +% +% ---------------------------------------------------------------------------------- % +% 第二种定理 +\tcbset{my@basic@tcbthm/.style={detach title,}} +\newcommand{\@my@newtcbtheorem@n}[1]{\ERROR} +\newcommand{\@my@newtcbtheorem@nn}[2]{% + \@ifundefined{#1}{\@my@newtcbtheorem{#1}{#2}}{\@my@renewtcbtheorem{#1}{#2}}} +\newcommand{\@my@newtcbtheorem}[2]{% + \edef\my@curr@thmenvname{#1}% 它保存当前定理环境的名称 + \mytcbtheoremset{#2}% + \NewTColorBox{#1}{ O{} O{} o } + {my@basic@tcbthm, my@#1@tcbthmstyle, title={##2}, IfNoValueF={##3}{label={##3}}, ##1}} +\newcommand{\@my@renewtcbtheorem}[2]{\edef\my@curr@thmenvname{#1}\mytcbtheoremset{#2}} + +% 键值设置 +\pgfkeys{/mytcbtheorem/.is family} +\newcommand{\mytcbtheoremset}{\pgfqkeys{/mytcbtheorem}} +\mytcbtheoremset{ + name/.code=\@namedef{\my@curr@thmenvname @name}{#1}, %无效 + counter/.code=\@namedef{my@\my@curr@thmenvname @counter}{#1}\newcounter{#1}[chapter], % 计数器遇到subsection就会自动归零 % https://zhuanlan.zhihu.com/p/57454848#circle=on + the counter/.code=\@namedef{the\@nameuse{my@\my@curr@thmenvname @counter}}{#1}, + autoref name/.code=\@namedef{\@nameuse{my@\my@curr@thmenvname @counter}autorefname}{#1}, + style/.code=\tcbset{my@\my@curr@thmenvname @tcbthmstyle/.style={#1}}, + thmcolor/.code=\@namedef{\my@curr@thmenvname @thmcolor}{#1}, %无效 + lemcolor/.code=\@namedef{\my@curr@thmenvname @lemcolor}{#1}, %无效 +} +% 存储键值 (LaTeX3) +\ExplSyntaxOn +\cs_new_protected:Npn \mynewtheorem + { \keyval_parse:NNn \@my@newtheorem@n \@my@newtheorem@nn } +\cs_new_protected:Npn \mynewtcbtheorem + { \keyval_parse:NNn \@my@newtcbtheorem@n \@my@newtcbtheorem@nn } +\ExplSyntaxOff +\makeatother + +% 第二种定理 +\makeatletter +%% Overlay Settings +\newcommand{\my@theorem@overlay@unbroken}[2]{ + %%============== First ==============%% + \fill[black!60] ([xshift=1cm,yshift=5pt]frame.north west)-- ([xshift=0.8cm,yshift=0cm]frame.north west)--([xshift=1.2cm,yshift=0cm]frame.north west)--cycle; + \node[rectangle, text=white, drop shadow={opacity=.3, shadow xshift=0.1cm}, inner sep=1.5mm,fill=#2, +anchor=west,rounded corners=3pt,font=\bfseries\normalsize] at ([xshift=0cm,yshift=-3.mm]frame.north west) {\hspace*{1.5em}#1.\ \ifdefvoid{\tcbtitletext}{}{(\itshape\tcbtitletext)}}; + \fill[color=#2,drop shadow={opacity=0.3,shadow xshift=.3pt}] + ([xshift=1cm,yshift=5pt]frame.north west) {[rounded corners=3pt]--++(-1cm-5pt,0)}--++(0,-1cm-5pt)--cycle; + \fill[color=black!60] ([xshift=-5pt,yshift=-1cm]frame.north west)--([xshift=0cm,yshift=-0.8cm]frame.north west)-- ([xshift=0cm,yshift=-1.2cm]frame.north west)--cycle; + %%============== End ==============%% + \fill[#2,drop shadow={opacity=0.3,shadow xshift=-0.008\linewidth,shadow yshift=0.0016\linewidth}] + ([xshift=-0.05\linewidth,yshift=-5pt]frame.south east) {[rounded corners=3pt]--++(0.05\linewidth+5pt,0)}--++(0,0.05\linewidth+5pt)--cycle; + \fill[black!60] ([xshift=-0.05\linewidth,yshift=-5pt]frame.south east) -- ([xshift=-0.04\linewidth,yshift=0pt]frame.south east)-- ([xshift=-0.06\linewidth,yshift=0pt]frame.south east)--cycle; + \fill[black!60] ([xshift=5pt,yshift=0.05\linewidth]frame.south east)-- ([yshift=0.04\linewidth]frame.south east) -- ([yshift=0.06\linewidth]frame.south east)--cycle; +} +\newcommand{\my@theorem@overlay@first}[2]{ + \fill[black!60] ([xshift=1cm,yshift=5pt]frame.north west)-- ([xshift=0.8cm,yshift=0cm]frame.north west)--([xshift=1.2cm,yshift=0cm]frame.north west)--cycle; + \node[rectangle, text=white, drop shadow={opacity=.3, shadow xshift=0.1cm}, inner sep=1.5mm,fill=#2, anchor=west,rounded corners=3pt,font=\bfseries\normalsize] at ([xshift=0cm,yshift=-3.mm]frame.north west) {\hspace*{1.5em}#1.\ \ifdefvoid{\tcbtitletext}{}{(\itshape\tcbtitletext)}}; + \fill[color=#2,drop shadow={opacity=0.3,shadow xshift=.3pt}] + ([xshift=1cm,yshift=5pt]frame.north west) {[rounded corners=3pt]--++(-1cm-5pt,0)}--++(0,-1cm-5pt)--cycle; + \fill[color=black!60] ([xshift=-5pt,yshift=-1cm]frame.north west)--([xshift=0cm,yshift=-0.8cm]frame.north west)-- ([xshift=0cm,yshift=-1.2cm]frame.north west)--cycle; +} +\newcommand{\my@theorem@overlay@last}[1]{ + \fill[#1,drop shadow={opacity=0.3,shadow xshift=-0.008\linewidth,shadow yshift=0.0016\linewidth}] + ([xshift=-0.05\linewidth,yshift=-5pt]frame.south east) {[rounded corners=3pt]--++(0.05\linewidth+5pt,0)}--++(0,0.05\linewidth+5pt)--cycle; + \fill[black!60] ([xshift=-0.05\linewidth,yshift=-5pt]frame.south east) -- ([xshift=-0.04\linewidth,yshift=0pt]frame.south east)-- ([xshift=-0.06\linewidth,yshift=0pt]frame.south east)--cycle; + \fill[black!60] ([xshift=5pt,yshift=0.05\linewidth]frame.south east)-- ([yshift=0.04\linewidth]frame.south east) -- ([yshift=0.06\linewidth]frame.south east)--cycle; +} +% Second theorem style overlay settings +\newcommand{\my@lemma@overlay@unbroken}[2]{ + %%============== First ==============%% + \def\Rad{3.5pt} + \def\theight{0.57cm} + \def\rad{7pt}% + \path[fill=#2,drop shadow={opacity=0.3,shadow xshift=.05cm,shadow yshift=-.05cm}]node[append after command={ + ([xshift=-1.5*\rad]thmname.north west) to[out=0,in=180,looseness=1] ([xshift=2.5*\rad]thmname.south west) --([xshift=-\rad]thmname.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]thmname.north east) --cycle}, + text=white,font=\bfseries,align=center,inner ysep=1.5mm,minimum height=0.6cm,right] (thmname) at ([xshift=\rad,yshift=-.7*\rad]frame.north west) {\hspace*{10pt}#1.\ \ifdefvoid{\tcbtitletext}{}{(\itshape\tcbtitletext)}}; + \begin{pgfonlayer}{bottom} + \fill[#2,opacity=0.5] + ([xshift=-1.5*\rad]thmname.north west) to[out=180,in=305,looseness=1.5] +(3pt,-6pt) -| ++(12pt,0)--cycle; + \fill[#2,opacity=0.5] + ([xshift=3*\rad]thmname.north east) to[out=0,in=-90] +(5pt,-5pt) -| ++(-10pt,0) --cycle; + \end{pgfonlayer} + %%============== End ==============%% + \def\tlen{1.5cm} + \path[fill=#2,drop shadow={opacity=0.3,shadow xshift=.3pt}] + ([xshift=-2*\rad,yshift=-5pt]frame.south east) coordinate (SE) to[out=0,in=180] +(4*\rad,5pt+\theight) --([shift={(-\tlen+4*\rad,5pt+\theight)}]SE) to[out=180,in=0] +(-4*\rad,-5pt-\theight) --cycle; + \begin{pgfonlayer}{bottom} + \fill[color=#2,opacity=0.5] ([xshift=-1.35*\tlen+\Rad,yshift=-5pt]frame.south east) to[out=180,in=90,looseness=0.7] ([xshift=-1.35*\tlen-0.5*\Rad]frame.south east) coordinate (NWl)--([xshift=2*\rad]NWl) to[out=-90,in=-180,looseness=0.7] ([xshift=-1.35*\tlen+\Rad,yshift=-5pt]frame.south east)--cycle; + \end{pgfonlayer} + } +\newcommand{\my@lemma@overlay@first}[2]{ + %%============== First ==============%% + \def\Rad{3.5pt} + \def\theight{0.57cm} + \def\rad{7pt}% + \path[fill=#2,drop shadow={opacity=0.3,shadow xshift=.05cm,shadow yshift=-.05cm}]node[append after command={ + ([xshift=-1.5*\rad]thmname.north west) to[out=0,in=180,looseness=1] ([xshift=2.5*\rad]thmname.south west) --([xshift=-\rad]thmname.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]thmname.north east) --cycle}, + text=white,font=\bfseries,align=center,inner ysep=1.5mm,minimum height=0.6cm,right] (thmname) at ([xshift=\rad,yshift=-.7*\rad]frame.north west) {\hspace*{10pt}#1.\ \ifdefvoid{\tcbtitletext}{}{(\itshape\tcbtitletext)}}; + \begin{pgfonlayer}{bottom} + \fill[#2,opacity=0.5] + ([xshift=-1.5*\rad]thmname.north west) to[out=180,in=305,looseness=1.5] +(3pt,-6pt) -| ++(12pt,0)--cycle; + \fill[#2,opacity=0.5] + ([xshift=3*\rad]thmname.north east) to[out=0,in=-90] +(5pt,-5pt) -| ++(-10pt,0) --cycle; + \end{pgfonlayer} + } +\newcommand{\my@lemma@overlay@last}[1]{ + %%============== End ==============%% + \def\Rad{3.5pt} + \def\rad{7pt}% + \def\theight{0.57cm} + \def\tlen{1.5cm} + \path[fill=#1,drop shadow={opacity=0.3,shadow xshift=.3pt}] + ([xshift=-2*\rad,yshift=-5pt]frame.south east) coordinate (SE) to[out=0,in=180] +(4*\rad,5pt+\theight) --([shift={(-\tlen+4*\rad,5pt+\theight)}]SE) to[out=180,in=0] +(-4*\rad,-5pt-\theight) --cycle; + \begin{pgfonlayer}{bottom} + \fill[color=#1,opacity=0.5] ([xshift=-1.35*\tlen+\Rad,yshift=-5pt]frame.south east) to[out=180,in=90,looseness=0.7] ([xshift=-1.35*\tlen-0.5*\Rad]frame.south east) coordinate (NWl)--([xshift=2*\rad]NWl) to[out=-90,in=-180,looseness=0.7] ([xshift=-1.35*\tlen+\Rad,yshift=-5pt]frame.south east)--cycle; + \end{pgfonlayer} + } +\makeatother +%% + +% proof +\newcommand{\itbf}[1]{\textit{\textbf{#1}}} +\declaretheoremstyle[ + spaceabove=3pt,spacebelow=3pt, + headfont=\normalfont\bfseries, + notefont=\normalfont\bfseries,notebraces={(}{)}, + bodyfont=\normalfont, + postheadspace=.5em, + headpunct={.}, + qed=\color{cyan!40!black}$\blacksquare$,%\qedsymbol +]{Proofstyle} +\declaretheorem[style=Proofstyle,numbered=no,name={\itbf{Proof}}]{Proof} +\renewenvironment{proof}{\begin{Proof} }{\end{Proof}} +\declaretheorem[style=Proofstyle,numbered=no,name={\itbf{Solution}}]{solution} + +%%%%%%%%%%%%%%% 计数器知识 %%%%%%%%%%%%%%%%%%%%%% +% 每次用 \newcounter{foo} 定义新计数器,内部都会定义这几个命令 + +% \c@foo,储存计数器的值,初始值为 0 +% \thefoo,储存计数器输出时的格式,初始定义为 \arabic{foo} +% \p@foo,储存计数器被引用时的前缀,初始定义为空 +% \cl@foo,储存「子计数器」列表(此处有简化),foo 自增时它的每个「子计数器」都会归零(详见「自动归零」一节),初始定义为空 +%% 关于计数器的自动归零 +% 如果还定义了计数器 \newcounter{bar}[foo],那么 \cl@foo 里就有了 bar +% \@addtoreset{child}{parent} 和 \@removefromreset{child}{parent} 可以把计数器 child 移入/移出 \cl@parent +% \counterwithin* 和 \counterwithout* 和上一条里两个命令的功能类似,但它们在执行前会检查接受的两个参数是否为已定义的计数器。不加星号的版本会修改 \thechild,详见「输出格式」一节 +% 在使用 \stepcounter{parent} 和 \refstepcounter{parent} 时,parent 自增,同时归零\cl@parent 里的「子计数器」 +% \addtocount{parent}{1} 只自增 parent,没有归零其「子计数器」的效果 +% 归零实现为「对每个子计数器,先设为 -1,然后使用 \stepcounter 自增」,这样实现的「归零」功能是递归的 +% 递归的意思是,如果还有 \newcounter{grandchild}[child],那么 \stepcounter{parent} 会将 child 和 grandchild 都归零 diff --git a/macros/latex/contrib/beautybook/beautybook-cn.pdf b/macros/latex/contrib/beautybook/beautybook-cn.pdf new file mode 100644 index 0000000000..7dadd8e3c9 Binary files /dev/null and b/macros/latex/contrib/beautybook/beautybook-cn.pdf differ diff --git a/macros/latex/contrib/beautybook/beautybook-cn.tex b/macros/latex/contrib/beautybook/beautybook-cn.tex new file mode 100644 index 0000000000..bbfa40c4ae --- /dev/null +++ b/macros/latex/contrib/beautybook/beautybook-cn.tex @@ -0,0 +1,1007 @@ +%% This work is released under the LaTeX Project Public License, v1.3c or later. +% This template is made by Ethan Lu. +% Please use XeLaTeX engine! +\documentclass[zihao=-4,fontset=windows]{beautybook-CN} +% ---------------------------------------------------------------------------- % +% The Cover Theme Chosen % +% ---------------------------------------------------------------------------- % +\definecolor{coverbgcolor}{HTML}{e0e0e0} +\definecolor{coverfgcolor}{HTML}{1f3134} % The color of the background +\definecolor{coverbar}{HTML}{7c9092} % The color of the left bar +\definecolor{bottomcolor}{HTML}{2c4f54} +\definecolor{nuanbai}{HTML}{f5f5f5} +\coverstyle={ % 封面键值列表 + cover-choose=cn, % cn ; en ; enfig ; birkar +} +% ---------------------------------------------------------------------------- % +% The Cover Theme Chosen % +% ---------------------------------------------------------------------------- % +\mathstyle={ % 数学字体键值列表 + math-font=plain, %plain (默认数学字体); stix; mtpro2 +} +\setmainfont{Times New Roman} +\renewcommand{\partial}{∂} +%% First one +\mynewtheorem{ + defi={\textbf{Definition}}[section]{interior style={left color=ReD!8,right color=ReD!5!CyaN!50}, borderline west={1.5mm}{0mm}{ReD}}, + thm={\textbf{Theorem}}[section]{interior style={left color=CyaN!80!black!20,right color=CyaN!80!black!15!CyaN!50}, borderline west={1.5mm}{0mm}{CyaN!80!black}}, + lem={\textbf{Lemma}}[section]{interior style={left color=BluE!8,right color=BluE!5!CyaN!50}, borderline west={1.5mm}{0mm}{BluE}}, + prop={\textbf{Proposition}}[section]{interior style={left color=OrangE!8,right color=OrangE!5!CyaN!50}, borderline west={1.5mm}{0mm}{OrangE}}, + exam={\textbf{Example}}[chapter]{interior style={left color=DarkGreen!8,right color=DarkGreen!5!CyaN!50}, borderline west={1.5mm}{0mm}{DarkGreen}}, + cor={\textbf{Corollary}}[chapter]{interior style={left color=violet!8,right color=violet!5!CyaN!50}, borderline west={1.5mm}{0mm}{violet}}, +} +\newtheorem*{remark}{\textbf{Remark}} +%% Second one +\makeatletter +\mynewtcbtheorem{ + % 这个 theorem 是环境名 + problem={ + counter=tcbprob, + the counter=\thesection.\arabic{tcbprob}, + name=Problem, % 它保存到 \theorem@name 里 + thmcolor=绛紫, + autoref name=\bfseries Problem, + style={ + arc=3pt,breakable,enhanced,interior style={top color=绛紫!9 ,middle color=绛紫!6, bottom color=绛紫!3},boxrule=0pt,top=8mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + opacityframe=0, opacityback=0.98, + fontupper=\itshape, step={tcbprob}, + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@theorem@overlay@unbroken{Problem\ \thetcbprob}{绛紫}, + overlay first=\my@theorem@overlay@first{Problem\ \thetcbprob}{绛紫}, + overlay last=\my@theorem@overlay@last{绛紫}, + } + }, + lemma={ + counter=tcblem, + the counter=\thesection.\arabic{tcblem}, + name=Lemma, + lemcolor=靛蓝, + autoref name=\bfseries Lemma, + style={ + arc=0mm,breakable,enhanced,interior style={top color=靛蓝!9 ,middle color=靛蓝!6, bottom color=靛蓝!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + opacityframe=0, opacityback=0.98, + fontupper=\itshape,step={tcblem}, + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@lemma@overlay@unbroken{\lemma@name\ \thetcblem}{\lemma@lemcolor}, + overlay first=\my@lemma@overlay@first{\lemma@name\ \thetcblem}{\lemma@lemcolor}, + overlay last=\my@lemma@overlay@last{\lemma@lemcolor}, + } + }, + corollary={ + counter=tcbcor, + the counter=\thesection.\arabic{tcbcor}, + autoref name=\bfseries Corollary, + style={ + arc=0mm,breakable,enhanced,interior style={top color=茶色!9 ,middle color=茶色!6, bottom color=茶色!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + opacityframe=0, opacityback=0.98, + fontupper=\itshape,step={tcbcor}, + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@lemma@overlay@unbroken{Corollary\ \thetcbcor}{茶色}, + overlay first=\my@lemma@overlay@first{Corollary\ \thetcbcor}{茶色}, + overlay last=\my@lemma@overlay@last{茶色}, + } + }, + proposition={ + counter=tcbprop, + the counter=\thesection.\arabic{tcbprop}, + autoref name=\bfseries Proposition, + style={ + arc=0mm,breakable,enhanced,interior style={top color=黛绿!9 ,middle color=黛绿!6, bottom color=黛绿!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + opacityframe=0, opacityback=0.98, + fontupper=\itshape,step={tcbprop}, + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@lemma@overlay@unbroken{Proposition\ \thetcbprop}{黛绿}, + overlay first=\my@lemma@overlay@first{Proposition\ \thetcbprop}{黛绿}, + overlay last=\my@lemma@overlay@last{黛绿}, + } + }, + definition={ + counter=tcbdefi, + the counter=\thesection.\arabic{tcbdefi}, + autoref name=\bfseries Definition, + style={ + arc=0mm,breakable,enhanced,interior style={top color=茜色!9 ,middle color=茜色!6, bottom color=茜色!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + opacityframe=0, opacityback=0.98, + fontupper=\normalsize,step={tcbdefi}, + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@lemma@overlay@unbroken{Definition\ \thetcbdefi}{茜色}, + overlay first=\my@lemma@overlay@first{Definition\ \thetcbdefi}{茜色}, + overlay last=\my@lemma@overlay@last{茜色}, + } + }, + example={ + counter=tcbexam, + the counter=\thesection.\arabic{tcbexam}, + autoref name=\bfseries Example, + style={ + arc=0mm,breakable,enhanced,interior style={top color=黛绿!9 ,middle color=黛绿!6, bottom color=黛绿!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + opacityframe=0, opacityback=0.98, + fontupper=\normalsize,step={tcbexam}, + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@lemma@overlay@unbroken{Example\ \thetcbexam}{黛绿}, + overlay first=\my@lemma@overlay@first{Example\ \thetcbexam}{黛绿}, + overlay last=\my@lemma@overlay@last{黛绿}, + } + }, + Exercise={ + counter=tcbexer, + the counter=\thechapter.\arabic{tcbexer}, + autoref name=\bfseries Exercise, + style={ + arc=0mm,breakable,enhanced,interior style={top color=绛紫!9 ,middle color=绛紫!6, bottom color=绛紫!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + opacityframe=0, opacityback=0.9, + fontupper=\normalsize,step={tcbexer}, + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@lemma@overlay@unbroken{Exercise\ \thetcbexer}{绛紫}, + overlay first=\my@lemma@overlay@first{Exercise\ \thetcbexer}{绛紫}, + overlay last=\my@lemma@overlay@last{绛紫}, + } + }, + theorem={ + counter=tcbthm, + the counter=\thesection.\arabic{tcbthm}, + autoref name=\bfseries Theorem, + style={ + arc=0mm,breakable,enhanced,interior style={top color=黛绿!9 ,middle color=黛绿!6, bottom color=黛绿!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + opacityframe=0, opacityback=0.98, + fontupper=\itshape,step={tcbthm}, + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@lemma@overlay@unbroken{Theorem\ \thetcbthm}{黛绿}, + overlay first=\my@lemma@overlay@first{Theorem\ \thetcbthm}{黛绿}, + overlay last=\my@lemma@overlay@last{黛绿}, + } + }, + conjecture={ + counter=tcbconj, + the counter=\thesection.\arabic{tcbconj}, + name=Conjecture, + lemcolor=靛蓝, + autoref name=\bfseries Conjecture, + style={ + arc=0mm,breakable,enhanced,interior style={top color=靛蓝!9 ,middle color=靛蓝!6, bottom color=靛蓝!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + opacityframe=0, opacityback=0.98, + fontupper=\itshape,step={tcbconj}, + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@lemma@overlay@unbroken{Conjecture\ \thetcblem}{靛蓝}, + overlay first=\my@lemma@overlay@first{Conjecture\ \thetcblem}{靛蓝}, + overlay last=\my@lemma@overlay@last{靛蓝}, + } + }, +} +\makeatother + +%% --------参考文献 +\RequirePackage[ +backend=biber, +style=numeric, +sorting=nty +]{biblatex} +\addbibresource{ref.bib} + +\indexsetup{level=\chapter*,noclearpage} +\makeindex[title={\sffamily References},columns=3,columnsep=15pt,columnseprule] +\makeindex + + \usepackage{listings} + \lstset{ + basicstyle=\small\ttfamily, + keywordstyle=\color{NavyBlue}, + commentstyle=\color{gray!50!black!50}, + stringstyle=\rmfamily\slshape\color{red}, + backgroundcolor=\color{gray!5}, + frame=leftline, + framerule=0.5pt,rulecolor=\color{gray!80}, + numbers=left, + numberstyle=\footnotesize, + firstnumber=1, + stepnumber=1, + numbersep=7pt, + aboveskip=.25em, + showspaces=false, + showstringspaces=false, + keepspaces=true, + showtabs=false, + tabsize=2, + captionpos=b, + flexiblecolumns=true, + breaklines=true, + breakatwhitespace=false, + breakautoindent=true, + breakindent=1em, + title=\lstname, + escapeinside=``, + xleftmargin=1em, xrightmargin=1em, + aboveskip=1ex, belowskip=1ex, + framextopmargin=1pt, framexbottommargin=1pt, + abovecaptionskip=-2pt,belowcaptionskip=3pt, + extendedchars=false, columns=flexible, mathescape=true, + texcl=true, + fontadjust + }% +% 设置1.25倍行距 +\linespread{1.25} +\setlist[itemize]{itemsep=1pt, parsep=1pt} % 对所有itemize环境生效 +\setlist[enumerate]{itemsep=1pt, parsep=1pt} % 对所有enumerate环境生效 +\begin{document} +\thispagestyle{empty} +\title{Beautybook模板简介} +\subtitle{} +\edition{First Edition} +\bookseries{Illustrated by Ethan Lu} +\author{Ethan Lu} +\pressname{Beautybook} +\presslogo{inner_pics/logo.png} +\coverimage{inner_pics/coverimage.jpg}%ivy-ge998908f8_1280.jpg +\makecover + +\makeatletter +% ---------------------------------------------------------------------------- % +% The Sidebar Theme Chosen % +% ---------------------------------------------------------------------------- % +\definecolor{bg}{HTML}{e0e0e0} +\definecolor{fg}{HTML}{2c4f54} +\colorlet{outermarginbgcolor}{bg} +\colorlet{outermarginfgcolor}{fg} +% set the contents of the outer margin on even and odd pages for scrheadings, plain and scth +\oddoutermargin{\sffamily \leftmark} % Odd +\evenoutermargin{\sffamily\@title} % Even +% ---------------------------------------------------------------------------- % +% The Sidebar Theme Chosen % +% ---------------------------------------------------------------------------- % + +% ---------------------------------------------------------------------------- % +% The images used in the title % +% ---------------------------------------------------------------------------- % +\titleimage{ + chapteroddimage={odd1,odd2,odd3,odd4,odd5,odd6,odd7,odd8,odd9,odd10,odd11,odd12,odd13,odd14,odd15,mid1,mid2,mid3,mid4,mid5,mid6,mid7,mid8,mid9,mid10,mid11}, +% + partoddimage={odd1,odd2,odd3,odd4,odd5,odd6,odd7,odd8,odd9,odd10,odd11,odd12,odd13,odd14,odd15,mid1,mid2,mid3,mid4,mid5,mid6,mid7,mid8,mid9,mid10,mid11}, +% + chapterevenimage={songeven,even1,even2,even3,even4,mid1,mid2,mid3,mid4,mid5,mid6,mid7,mid8,mid9,mid10,mid11}, +% + partevenimage={songeven,even1,even2,even3,even4,mid1,mid2,mid3,mid4,mid5,mid6,mid7,mid8,mid9,mid10,mid11}, +} +\chapimage{\beautybook@chapterimagename} % 会自动改变 +\partimage{\beautybook@partimagename} % 会自动改变 +\makeatother +% ---------------------------------------------------------------------------- % +% The images used in the title % +% ---------------------------------------------------------------------------- % + +% ---------------------------------------------------------------------------- % +% The Color Chosen for The Magic Box % +% ---------------------------------------------------------------------------- % +\colorlet{framegolden}{fg} % The line color of the magic box +\colorlet{framegray}{bg!50} % The background color of the magic box +% ---------------------------------------------------------------------------- % +% The Color Chosen for The Magic Box % +% ---------------------------------------------------------------------------- % + +\frontmatter +\pagenumbering{Roman} + +{% Preface +\thispagestyle{empty} +% \addcontentsline{toc}{chapter}{Preface} +\chapter*{Preface} +Introduction to Beatybook template. + + +\hfill +\begin{tabular}{lr} + &--- Ethan Lu\\ + &2024-03-17 +\end{tabular} +\clearpage} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\thispagestyle{empty} +\tableofcontents\let\cleardoublepage\clearpage + + +\mainmatter +\pagenumbering{arabic} + +\partabstract{\hspace*{2em} \textbf{Beautybook} 模板的使用说明,这里是每一个部分 (Part) 的简介区域, 您可以在此处书写下您对该部分的一个简明扼要的概述, 当然,倘若无话可说,此处可以留空.} +\part{\textbf{Beautybook} 模板使用说明} + +\chapter{Beautybook模板的简要介绍} + +\section{简介} + +Beauty\LaTeX{} 系列模板是由我所做的书籍模板系列, 名叫\textbf{Beautybook}! 关于为何起这么奇怪的名字? 我的答案是, 本来我是想起名elegantboook的,但是奈何已经有了大名鼎鼎的elegantbook系列, 所以鄙人只能退而求其次,命名为同样是美丽意思的名词与书籍相组合,古人云:书中自有颜如玉,这不, 美女配书籍,岂不美哉! 故而,这就是 \textbf{Beautybook} 的由来! + +本人致力于打造一系列美观、优雅、简便的模板以方便用户和我自己 (主要是服务于自己的,但是耐不住大伙的赏识,遂毛遂自荐一番,望谅解!) 使用。版本经常有所更迭,请关注版本信息,在未开始使用模板前,建议直接选择最新正式版本!最新测试版通常会发布在QQ群内,诸君可自取, 取完后是留是去随意. + + +本文将介绍本模板的一些设置内容以及基本使用方法。如果您有其他问题,建议或者意见,欢迎在 GitHub 上给我提交 \href{https://github.com/BeautyLaTeX/latex-template/issues}{issues} 或者邮件\href{h1479840692@163.com}{163邮箱}或者\href{1479840692@qq.com}{qq邮箱}联系我。我的联系方式如下,建议加入用户 QQ 群提问,这样能更快获得准确的反馈,加群时请备注 \LaTeX{} 或者 Beauty\LaTeX{} 相关内容。 +\begin{itemize} + \item GitHub 地址:\href{https://github.com/BeautyLaTeX/latex-template}{https://github.com/BeautyLaTeX/latex-template} + \item Texpage 地址: \href{https://www.texpage.com/template/8dc933fc-6579-44c9-b660-ea58409d193b}{https://www.texpage.com/template/8dc933fc-6579-44c9-b660-ea58409d193b} + \item 下载地址:\href{https://github.com/BeautyLaTeX/latex-template/releases}{正式发行版} + \item 用户 QQ 群:809237593 + \item 我的outlook邮箱:\href{https://h1479840692@outlook.com}{Outlook Email} +\end{itemize} +\textbf{This work is released under the LaTeX Project Public License, v1.3c or later.} + +\section{模板安装与更新} + +你需要通过下载然后编译的方式使用本模板,仅有本地(文件夹内)使用一种方式。 + +\subsection{在线使用模板} +本模板可以直接上传到overleaf上使用,但需要注意的是, 需要使用 math-font=plain 键值, 并使用XeLaTeX或者lualatex编译! +\newpage +\subsection{本地安装使用} + +\textbf{本地安装}使用方法如下:从 GitHub 或者 QQ群下载最新版, 然后将模板文件放在你的工作目录下即可使用。 + +以下是最小工作示例: +\begin{lstlisting} +\documentclass[zihao=-4,fontset=windows]{beautybook-CN} +\coverstyle={ % 封面键值列表 + cover-choose=cn, % cn ; en ; enfig ; birkar +} +\mathstyle={ % 数学字体键值列表 + math-font=plain, %plain (默认数学字体); stix; mtpro2 +} +%% First one +\mynewtheorem{ + defi={\textbf{Definition}}[section]{interior style={left color=ReD!8,right color=ReD!5!CyaN!50}, borderline west={1.5mm}{0mm}{ReD}}, + thm={\textbf{Theorem}}[section]{interior style={left color=CyaN!80!black!20,right color=CyaN!80!black!15!CyaN!50}, borderline west={1.5mm}{0mm}{CyaN!80!black}}, + lem={\textbf{Lemma}}[section]{interior style={left color=BluE!8,right color=BluE!5!CyaN!50}, borderline west={1.5mm}{0mm}{BluE}}, + prop={\textbf{Proposition}}[section]{interior style={left color=OrangE!8,right color=OrangE!5!CyaN!50}, borderline west={1.5mm}{0mm}{OrangE}}, + exam={\textbf{Example}}[chapter]{interior style={left color=DarkGreen!8,right color=DarkGreen!5!CyaN!50}, borderline west={1.5mm}{0mm}{DarkGreen}}, + cor={\textbf{Corollary}}[chapter]{interior style={left color=violet!8,right color=violet!5!CyaN!50}, borderline west={1.5mm}{0mm}{violet}}, +} +\newtheorem*{remark}{\textbf{Remark}} +%% Second one +\makeatletter +\mynewtcbtheorem{ + % 这个 theorem 是环境名 + problem={ + counter=tcbprob, + the counter=\thesection.\arabic{tcbprob}, + name=Problem, % 它保存到 \theorem@name 里 + thmcolor=绛紫, + autoref name=\bfseries Problem, + style={ + arc=3pt,breakable,enhanced,interior style={top color=绛紫!9 ,middle color=绛紫!6, bottom color=绛紫!3},boxrule=0pt,top=8mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + opacityframe=0, opacityback=0.98, + fontupper=\itshape, step={tcbprob}, + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@theorem@overlay@unbroken{Problem\ \thetcbprob}{绛紫}, + overlay first=\my@theorem@overlay@first{Problem\ \thetcbprob}{绛紫}, + overlay last=\my@theorem@overlay@last{绛紫}, + } + }, + lemma={ + counter=tcblem, + the counter=\thesection.\arabic{tcblem}, + name=Lemma, + lemcolor=靛蓝, + autoref name=\bfseries Lemma, + style={ + arc=0mm,breakable,enhanced,interior style={top color=靛蓝!9 ,middle color=靛蓝!6, bottom color=靛蓝!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + opacityframe=0, opacityback=0.98, + fontupper=\itshape,step={tcblem}, + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@lemma@overlay@unbroken{\lemma@name\ \thetcblem}{\lemma@lemcolor}, + overlay first=\my@lemma@overlay@first{\lemma@name\ \thetcblem}{\lemma@lemcolor}, + overlay last=\my@lemma@overlay@last{\lemma@lemcolor}, + } + }, + corollary={ + counter=tcbcor, + the counter=\thesection.\arabic{tcbcor}, + autoref name=\bfseries Corollary, + style={ + arc=0mm,breakable,enhanced,interior style={top color=茶色!9 ,middle color=茶色!6, bottom color=茶色!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + opacityframe=0, opacityback=0.98, + fontupper=\itshape,step={tcbcor}, + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@lemma@overlay@unbroken{Corollary\ \thetcbcor}{茶色}, + overlay first=\my@lemma@overlay@first{Corollary\ \thetcbcor}{茶色}, + overlay last=\my@lemma@overlay@last{茶色}, + } + }, + proposition={ + counter=tcbprop, + the counter=\thesection.\arabic{tcbprop}, + autoref name=\bfseries Proposition, + style={ + arc=0mm,breakable,enhanced,interior style={top color=黛绿!9 ,middle color=黛绿!6, bottom color=黛绿!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + opacityframe=0, opacityback=0.98, + fontupper=\itshape,step={tcbprop}, + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@lemma@overlay@unbroken{Proposition\ \thetcbprop}{黛绿}, + overlay first=\my@lemma@overlay@first{Proposition\ \thetcbprop}{黛绿}, + overlay last=\my@lemma@overlay@last{黛绿}, + } + }, + definition={ + counter=tcbdefi, + the counter=\thesection.\arabic{tcbdefi}, + autoref name=\bfseries Definition, + style={ + arc=0mm,breakable,enhanced,interior style={top color=茜色!9 ,middle color=茜色!6, bottom color=茜色!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + opacityframe=0, opacityback=0.98, + fontupper=\normalsize,step={tcbdefi}, + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@lemma@overlay@unbroken{Definition\ \thetcbdefi}{茜色}, + overlay first=\my@lemma@overlay@first{Definition\ \thetcbdefi}{茜色}, + overlay last=\my@lemma@overlay@last{茜色}, + } + }, + example={ + counter=tcbexam, + the counter=\thesection.\arabic{tcbexam}, + autoref name=\bfseries Example, + style={ + arc=0mm,breakable,enhanced,interior style={top color=黛绿!9 ,middle color=黛绿!6, bottom color=黛绿!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + opacityframe=0, opacityback=0.98, + fontupper=\normalsize,step={tcbexam}, + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@lemma@overlay@unbroken{Example\ \thetcbexam}{黛绿}, + overlay first=\my@lemma@overlay@first{Example\ \thetcbexam}{黛绿}, + overlay last=\my@lemma@overlay@last{黛绿}, + } + }, + Exercise={ + counter=tcbexer, + the counter=\thechapter.\arabic{tcbexer}, + autoref name=\bfseries Exercise, + style={ + arc=0mm,breakable,enhanced,interior style={top color=绛紫!9 ,middle color=绛紫!6, bottom color=绛紫!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + opacityframe=0, opacityback=0.9, + fontupper=\normalsize,step={tcbexer}, + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@lemma@overlay@unbroken{Exercise\ \thetcbexer}{绛紫}, + overlay first=\my@lemma@overlay@first{Exercise\ \thetcbexer}{绛紫}, + overlay last=\my@lemma@overlay@last{绛紫}, + } + }, + theorem={ + counter=tcbthm, + the counter=\thesection.\arabic{tcbthm}, + autoref name=\bfseries Theorem, + style={ + arc=0mm,breakable,enhanced,interior style={top color=黛绿!9 ,middle color=黛绿!6, bottom color=黛绿!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + opacityframe=0, opacityback=0.98, + fontupper=\itshape,step={tcbthm}, + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@lemma@overlay@unbroken{Theorem\ \thetcbthm}{黛绿}, + overlay first=\my@lemma@overlay@first{Theorem\ \thetcbthm}{黛绿}, + overlay last=\my@lemma@overlay@last{黛绿}, + } + }, + conjecture={ + counter=tcbconj, + the counter=\thesection.\arabic{tcbconj}, + name=Conjecture, + lemcolor=靛蓝, + autoref name=\bfseries Conjecture, + style={ + arc=0mm,breakable,enhanced,interior style={top color=靛蓝!9 ,middle color=靛蓝!6, bottom color=靛蓝!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + opacityframe=0, opacityback=0.98, + fontupper=\itshape,step={tcbconj}, + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@lemma@overlay@unbroken{Conjecture\ \thetcblem}{靛蓝}, + overlay first=\my@lemma@overlay@first{Conjecture\ \thetcblem}{靛蓝}, + overlay last=\my@lemma@overlay@last{靛蓝}, + } + }, +} +\makeatother + +%% --------参考文献 +\RequirePackage[ +backend=biber, +style=numeric, +sorting=nty +]{biblatex} +\addbibresource{ref.bib} + +\indexsetup{level=\chapter*,noclearpage} +\makeindex[title={\sffamily References},columns=3,columnsep=15pt,columnseprule] +\makeindex + \usepackage{listings} + \lstset{ % 代码环境 + basicstyle=\small\ttfamily, + keywordstyle=\color{NavyBlue}, + commentstyle=\color{gray!50!black!50}, + stringstyle=\rmfamily\slshape\color{red}, + backgroundcolor=\color{gray!5}, + frame=leftline, + framerule=0.5pt,rulecolor=\color{gray!80}, + numbers=left, + numberstyle=\footnotesize, + firstnumber=1, + stepnumber=1, + numbersep=7pt, + aboveskip=.25em, + showspaces=false, + showstringspaces=false, + keepspaces=true, + showtabs=false, + tabsize=2, + captionpos=b, + flexiblecolumns=true, + breaklines=true, + breakatwhitespace=false, + breakautoindent=true, + breakindent=1em, + title=\lstname, + escapeinside=``, + xleftmargin=1em, xrightmargin=1em, + aboveskip=1ex, belowskip=1ex, + framextopmargin=1pt, framexbottommargin=1pt, + abovecaptionskip=-2pt,belowcaptionskip=3pt, + extendedchars=false, columns=flexible, mathescape=true, + texcl=true, + fontadjust + }% + +\begin{document} +\thispagestyle{empty} +\title{Beautybook模板简介} +\subtitle{} +\edition{First Edition} +\bookseries{Illustrated by Ethan Lu} +\author{Ethan Lu} +\pressname{Beautybook} +\presslogo{inner_pics/logo.png} +\coverimage{inner_pics/coverimage.jpg}%ivy-ge998908f8_1280.jpg +\makecover + + +\definecolor{bg}{HTML}{e0e0e0} +\definecolor{fg}{HTML}{2c4f54} +\colorlet{outermarginbgcolor}{bg} +\colorlet{outermarginfgcolor}{fg} +\colorlet{framegolden}{fg} +\colorlet{framegray}{bg!50} + +\makeatletter +% set the contents of the outer margin on even and odd pages for scrheadings, plain and scth +\oddoutermargin{\sffamily Vanishing Theorems on Vector Bundles with Semidefinite Curvature} % Odd 奇数页 +\evenoutermargin{\sffamily\@title} % Even 偶数页 +% +\titleimage{ + chapteroddimage={odd1,odd2,odd3,odd4,odd5,odd6,odd7,odd8,odd9,odd10,odd11,odd12,odd13,odd14,odd15,mid1,mid2,mid3,mid4,mid5,mid6,mid7,mid8,mid9,mid10,mid11}, +% + partoddimage={odd1,odd2,odd3,odd4,odd5,odd6,odd7,odd8,odd9,odd10,odd11,odd12,odd13,odd14,odd15,mid1,mid2,mid3,mid4,mid5,mid6,mid7,mid8,mid9,mid10,mid11}, +% + chapterevenimage={songeven,even1,even2,even3,even4,mid1,mid2,mid3,mid4,mid5,mid6,mid7,mid8,mid9,mid10,mid11}, +% + partevenimage={songeven,even1,even2,even3,even4,mid1,mid2,mid3,mid4,mid5,mid6,mid7,mid8,mid9,mid10,mid11}, +} +\chapimage{\beautybook@chapterimagename} % 会自动改变 +\partimage{\beautybook@partimagename} % 会自动改变 +\makeatother +% +\frontmatter +\pagenumbering{Roman} + +{% Preface +\thispagestyle{empty} +% \addcontentsline{toc}{chapter}{Preface} +\chapter*{Preface} +Introduction to Beatybook template. + + +\hfill +\begin{tabular}{lr} + &-- Ethan Lu\\ + &2024-06-30 +\end{tabular} +\clearpage} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\thispagestyle{empty} +\tableofcontents\let\cleardoublepage\clearpage + + +\mainmatter +\pagenumbering{arabic} + +\partabstract{\hspace*{2em} \textbf{Beautybook} 模板的使用说明,这里是每一个部分 (Part) 的简介区域, 您可以在此处书写下您对该部分的一个简明扼要的概述, 当然,倘若无话可说,此处可以留空.} +\part{\textbf{Beautybook} 模板使用说明} + +\chapter{Beautybook模板的简要介绍} + +\section{简介} + +% your main contents here! + + +\printindex\thispagestyle{empty} +\bottomimage{inner_pics/coverimage.jpg} +\ISBNcode{\EANisbn[ISBN=978-80-7340-097-2]} % +\summary{Summary.} +\makebottomcover +\end{document} +\end{lstlisting} + +\subsection{发行版安装与更新} + +本模板测试环境为 +\begin{enumerate} +\item Win11 23H2 + \TeX{} Live 2024; +\end{enumerate} + +\TeX Live/Mac\TeX{} 的安装请参考知乎的文章,此处略过。 + +安装 \TeX{} Live 之后,安装后建议升级全部宏包,升级方法:使用 cmd 或 terminal 运行 \lstinline{tlmgr update --all},如果 tlmgr 需要更新,请使用 cmd 运行 \lstinline{tlmgr update --self},如果更新过程中出现了中断,请改用 \lstinline{tlmgr update --self --all --reinstall-forcibly-removed} 更新,也即 + +\begin{lstlisting} +tlmgr update --self +tlmgr update --all +tlmgr update --self --all --reinstall-forcibly-removed +\end{lstlisting} + +更多的内容请参考 \href{https://tex.stackexchange.com/questions/55437/how-do-i-update-my-tex-distribution}{How do I update my \TeX{} distribution?} + +\subsection{其他发行版本} + +由于宏包版本问题,本模板不支持 C\TeX{} 套装,请务必安装 TeX Live/Mac\TeX{}。更多关于 \TeX{} Live 的安装使用以及 C\TeX{} 与 \TeX{} Live 的兼容、系统路径问题,请参考官方文档。 + + + +\chapter{Beautybook 设置说明} + +本模板英文版基于基础的 book 文类, 中文版则基于ctexbook文类,所以 book或者ctexbook 的选项对于本模板也是有效的。默认编码为 UTF-8,推荐使用 \TeX{} Live 编译。 + +\section{语言模式} +本模板内含两套基础语言环境, 分别为 中文的\lstinline{beautybook-CN.cls}、英文的\lstinline{beautybook-EN.cls}。改变语言环境会改变图表标题的引导词(图,表),文章结构词(比如目录,参考文献等),以及定理环境中的引导词(比如定理,引理等)。不同语言模式的启用如下: +\begin{lstlisting} +\documentclass{beautybook-CN} % 中文 +\documentclass{beautybook-EN} % 英文 +\end{lstlisting} + +除模板自带的两套语言设定之外,如果您需要使用其他语言, 可以通过更改cls文件中这几处解决, 分别为 + +\begin{enumerate} + \item 更改 part环境的名称 \lstinline{Part \thepart}为 \lstinline{(你的语言中part的翻译) \thepart} + \item 主文件,即当前文件导言区中的定理引导词 + \item 更改chapter环境中的part名称如第一条所示 + \item 记住, 仅有亚洲语言环境可以使用ctexbook文类, 即基于\lstinline{beautybook-CN.cls}更改, 其他西语环境需要基于\lstinline{beautybook-EN.cls}更改. +\end{enumerate} + + +\section{颜色主题} + +本模板的颜色是可以自由配置的,可以配置的颜色参数如下: +\begin{lstlisting} + \definecolor{bg}{HTML}{e0e0e0} % 整体风格的背景色 % 即浅色 + \definecolor{fg}{HTML}{455a64} % 整体风格的前景色 % 即深色 + %% 下面颜色位于 stys/bottompage.sty文件中 + \definecolor{coverbgcolor}{HTML}{f9b868} % 封面及封底背景色 + \definecolor{coverfgcolor}{HTML}{503D4B} % 封面及封底前景色 + \definecolor{coverbar}{HTML}{BF8E6F} % 封面竖条颜色 + \definecolor{bottomcolor}{HTML}{B3686A} % 封底说明背景颜色 + %%%%%%%%%%%%%%%%%%%%%%%% + \colorlet{framegolden}{fg} % 古风盒子线条颜色 + \colorlet{framegray}{黛绿!5} % 古风盒子背景色 +\end{lstlisting} +还有定理环境颜色可以在此文件的导言区设置,下面数学环境部分会展开讲. + +这里推荐使用林莲枝开发的cncolours宏包的颜色配置,可以对照选取适合的颜色. + +\section{封面} + +\subsection{封面个性化} + +本模板拥有多套封面可随意取用, 其中使用方法如下: +\begin{enumerate} + \item Springer经典封面--对应宏包 \lstinline{cover-choose=cn} (中文默认), + \item Springer经典封面之二--对应宏包 \lstinline{cover-choose=en} (英文默认), + \item Springer经典封面之三--对应宏包 \lstinline{cover-choose=enfig} (图片背景), + \item 中文书籍经典封面--对应宏包\lstinline{cover-choose=birkar} (三角几何风)。 + 注意, 使用该封面所对应的信息不太一样, 看好上面的示例,按照要求操作即可。 +\end{enumerate} + +\begin{table}[htbp] + \centering + \caption{封面元素信息} + \begin{tabular}{cccccc} + \hline + 信息 & 命令 & 信息 & 命令 & 信息 & 命令 \\ + \hline + 标题 & \lstinline|\title| & 副标题 & \lstinline|\subtitle| & 作者 & \lstinline|\author| \\ + 出版社 & \lstinline|\pressname| & 版本 & \lstinline|\edition| & 封面图 & \lstinline|\coverimage|\\ + 徽标 & \lstinline|\presslogo| & &&&\\ + \hline + \end{tabular} +\end{table} + + +\subsection{封面图} +封面图片可以自行选取. + +\subsection{徽标} + +本文用到的 Logo 为wiki随意找的springer经典马标, 可以自己查询下载出版社logo, 为免侵权,在更换图片的时候请选择合适合法的图片进行替换。 + +\subsection{自定义封面} + +另外,如果使用自定义的封面,比如 Adobe illustrator 或者其他软件制作的 A4 PDF 文档,请把 \lstinline{\makecover} 注释掉,然后借助 \lstinline{pdfpages} 宏包将自制封面插入即可。如果使用 \lstinline{titlepage} 环境,也是类似。 + +\section{章标题} + +本模板自定义了一套标题样式, 主要是 part、chapter、section 这三个标题,具体代码见cls。可能不适合所有人的审美,可以注释掉就会回归默认ctexbook的标题样式。 + +\section{数学环境简介} + +在我们这个模板中,我们定义了四种不同的定理模式,包括简单模式(默认的定理样式amsthm) 、有点自定义的thmtools、彩色强调盒子、以及本人开发的专有版权盒子,当然,由雾月老师给我定制的古风盒子您也可以是用来作为定理盒子,只需要在本文件导言区第一种定理样式里面加上\lstinline{ys style}即可. + + +\subsection{定理类环境的使用} +以下是使用效果展示 +\subsubsection{amsthm} +\begin{remark} + 这是基于amsthm的注释环境 +\end{remark} +\subsubsection{thmtools} +\begin{proof}[证明的说明] + 证明环境 +\end{proof} + +\begin{solution}[解的说明] + 解环境 +\end{solution} +\subsubsection{彩色强调盒子} +\begin{defi}[名称]\label{defi:def test} + 第一种定义环境 +\end{defi} + +\begin{thm}[名称]\label{thm:thm test} + 第一种定理环境 +\end{thm} + +\begin{cor}[名称]\label{cor:cor test} + 第一种推论环境 +\end{cor} + +\begin{prop}[名称]\label{prop:prop test} + 第一种命题环境 +\end{prop} + +\begin{exam}[名称]\label{exam:exam test} + 第一种例题环境 +\end{exam} + +\begin{lem}[名称]\label{lem:lem test} + 第一种引理环境 +\end{lem} +\clearpage +\subsubsection{个人版权的盒子共两种} + +\begin{definition}[][名称][def label] + 这是个人定制的盒子定制的定理环境,这是其中定义环境示例。注意:使用方法如下 + \begin{itemize} + \item 如果你没有名称和标签,使用方法为 + \begin{lstlisting} + \begin{definition} + 定义环境内容 + \end{definition} + \end{lstlisting} + \item 如果你没有标签但有名称,使用方法为 + \begin{lstlisting} + \begin{definition}[][名称] + 定义环境内容 + \end{definition} + \end{lstlisting} + \item 如果你有标签,那么无论是否有名称,使用方法为 + \begin{lstlisting} + \begin{definition}[][有就填,没有空着][标签] + 定义环境内容 + \end{definition} + \end{lstlisting} + \item 如果你想更改盒子的一些设定选项,比如加框线等之类的,使用方法为 + \begin{lstlisting} + \begin{definition}[tcolorbox选项][名称有就写,没有就连带外面括号删掉][标签 (有标签下就这样子,没有标签可以把这个标签连带外面的括号删掉)] + 定义环境内容 + \end{definition} + \end{lstlisting} + \end{itemize} +\end{definition} + +\begin{theorem} + 用法同上,引用下上面的标签 \ref{def label}或者可以\autoref{def label}. +\end{theorem} + +\begin{lemma} + 用法同上,引用下上面的标签 \ref{def label}或者可以\autoref{def label}. +\end{lemma} + +\begin{corollary} + 用法同上,引用下上面的标签 \ref{def label}或者可以\autoref{def label}. +\end{corollary} + +\begin{example} + 用法同上,引用下上面的标签 \ref{def label}或者可以\autoref{def label}. +\end{example} + +古风盒子 +\begin{fancybox} +古风盒子测试,可以任意嵌套其他环境! +\end{fancybox} + +\subsection{修改计数器} + +当前定理等环境计数器按章计数,如果想修改定理类环境按节计数,可以修改计数器选项 \lstinline{ counter/.code}中的\lstinline{chapter},可用选项为 \lstinline{chapter} (默认)与 \lstinline{section}、 \lstinline{subsection}等 + +\subsection{自定义定理类环境} +用户可以采用四种方式定义自己的定理环境,分别为amsthm与thmtools, 这两种看宏包说明文档即可; 后面两种定理的定义方式为 +如本文件导言区: +\begin{lstlisting} + % 这是第一种 + \mynewtheorem{ + defi={\textbf{定义}}[section]{interior style={left color=ReD!8,right color=ReD!5!CyaN!50}, borderline west={1.5mm}{0mm}{ReD}}, % 类似模仿即可 + } + + % 下面是第二种 + \mynewtcbtheorem{ + % 这个 theorem 是环境名 + theorem={ % 第一种 : 圣诞礼盒风格 + counter=tcbthm, + the counter=\thesection.\arabic{tcbthm}, + name=定理, % 它保存到 \theorem@name 里 + thmcolor=purple5, + autoref name=\bfseries 定理, + style={ + arc=3pt,breakable,enhanced,interior style={top color=purple5!5 ,middle color=purple5!1!nuanbai, bottom color=nuanbai},boxrule=0pt,top=8mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + opacityframe=0, opacityback=0.98, + fontupper=\itshape, step={tcbthm}, + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@theorem@overlay@unbroken{\theorem@name\ \thetcbthm}{\theorem@thmcolor}, + overlay first=\my@theorem@overlay@first{\theorem@name\ \thetcbthm}{\theorem@thmcolor}, + overlay last=\my@theorem@overlay@last{\theorem@thmcolor}, + } + }, + lemma={ % 第二种 : 丝带风格 + counter=tcblem, + the counter=\thesection.\arabic{tcblem}, + name=引理, + lemcolor=靛蓝, + autoref name=\bfseries 引理, + style={ + arc=0mm,breakable,enhanced,interior style={top color=靛蓝!5 ,middle color=靛蓝!1!nuanbai, bottom color=nuanbai},arc=3pt,boxrule=0pt,top=7mm,bottom=5mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + opacityframe=0, opacityback=0.98, + fontupper=\normalsize,step={tcblem}, + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@lemma@overlay@unbroken{\lemma@name\ \thetcblem}{\lemma@lemcolor}, + overlay first=\my@lemma@overlay@first{\lemma@name\ \thetcblem}{\lemma@lemcolor}, + overlay last=\my@lemma@overlay@last{\lemma@lemcolor}, + } + }, +} +\end{lstlisting} +\begin{remark} + 解释一下, 其中的overlay部分更改需要看中文修改,定理名称改成你想要的,颜色也是,然后别忘了给最外面的example之类的环境名改成你的,比如axiom之类,还有就是tcbexam这个计数器名称要换成你新定义的,如tcbaxiom之类,其他就不用动了。至于说第一种定理样式看上面例子相信您能学会的。 +\end{remark} +\newpage +\section{列表环境} +本模板借助于 \lstinline{enumitem} 实现了可定制化,具体见enumitem宏包说明文档,这里示例如下\\[2ex] +\begin{minipage}[b]{0.49\textwidth} + \begin{itemize}[label=$\bigodot $] + \item first item of nesti; + \item second item of nesti; + \begin{itemize} + \item first item of nestii; + \item second item of nestii; + \begin{itemize} + \item first item of nestiii; + \item second item of nestiii. + \end{itemize} + \end{itemize} + \end{itemize} +\end{minipage} +\begin{minipage}[b]{0.49\textwidth} + \begin{enumerate}[label=\arabic*)] + \item first item of nesti; + \item second item of nesti; + \begin{enumerate} + \item first item of nestii; + \item second item of nestii; + \begin{enumerate} + \item first item of nestiii; + \item second item of nestiii. + \end{enumerate} + \end{enumerate} + \end{enumerate} +\end{minipage} + +\section{参考文献} + +\subsection{打印文献} + +\lstinline{ref.bib} 为参考文献存放的文件,需要放在项目文件夹下。 + +\subsection{修改文献格式} + +此外,本模板调用了 biblatex 宏包,并提供了 biber引擎编译参考文献,当然您也可以直接删除cls中的biblatex宏包(cls最后几行)来使用bibtex. + +关于文献条目(bib item),你可以在谷歌学术,Mendeley,Endnote 中取,然后把它们添加到 \lstinline{ref.bib} 中。在文中引用的时候,引用它们的键值(bib key)即可。 + +文献样式默认为数字样式。 +\begin{lstlisting} +\usepackage[ +backend=biber, % 可改为bibtex +style=numeric, % 可改为其他样式,参考biblatex说明文档 +sorting=nty +]{biblatex} +\addbibresource{ref.bib} +\end{lstlisting} + +\chapter{字体选项} +字体选项独立成章的原因是,我们希望本模板的用户关心模板使用的字体,知晓自己使用的字体以及遇到字体相关的问题能更加便捷地找到答案。 + +本模板默认使用ctex的windows选项提供的字体, 如非必要,字体不应改动,当然,如果确实需要,可按照下面代码操作: +\begin{lstlisting} + \setCJKmainfont[Path=fonts/,BoldFont={XX.TTF},ItalicFont={YY.TTF},SlantedFont = {ZZ.TTF} , SlantedFeatures = {FakeSlant}]{WW.TTF} + \setCJKsansfont[Path=fonts/,BoldFont={XX.TTF},ItalicFont={XX.TTF}]{XX.TTF} + \setCJKmonofont[Path=fonts/,BoldFont={XX.TTF},ItalicFont={XX.TTF}]{XX.TTF} + %设置新的中文字体命令 + \newCJKfontfamily[song]\songti{XX.TTF}[Path=fonts/] %宋体 + %设置新的英文字体命令 + \newfontfamily\largetitlestyle[Path=fonts/]{XX.TTF} +\end{lstlisting} +!必须全部使用英文字体名称进行导入,否则报错找不到的!!切记!! + +\section{数学字体选项} +本模板使用的是默认数学字体,仅将$\partial$符号改为Times New Roman的Unicode符号。 + +{\normalem +\printbibliography[ +heading=bibintoc, +title={参考文献} +] +\printindex +\thispagestyle{empty}} +%-------------------封底 ---------------% +\bottomimage{inner_pics/ivy-ge998908f8_1280.jpg} +\ISBNcode{\EANisbn[ISBN=978-80-7340-097-2]} % +\summary{封底信息.} +\makebottomcover +\end{document} \ No newline at end of file diff --git a/macros/latex/contrib/beautybook/beautybook-en.pdf b/macros/latex/contrib/beautybook/beautybook-en.pdf index e8f4618ed8..3203378b04 100644 Binary files a/macros/latex/contrib/beautybook/beautybook-en.pdf and b/macros/latex/contrib/beautybook/beautybook-en.pdf differ diff --git a/macros/latex/contrib/beautybook/beautybook-en.tex b/macros/latex/contrib/beautybook/beautybook-en.tex index 1e5dd8438e..18c81b9fbf 100644 --- a/macros/latex/contrib/beautybook/beautybook-en.tex +++ b/macros/latex/contrib/beautybook/beautybook-en.tex @@ -1,13 +1,14 @@ -\documentclass[12pt]{Beautybook-EN} +\documentclass[12pt]{beautybook-EN} % ---------------------------------------------------------------------------- % % The Cover Theme Chosen % % ---------------------------------------------------------------------------- % \definecolor{coverbgcolor}{HTML}{e0e0e0} -\definecolor{coverfgcolor}{HTML}{826e68} % The color of the background +\definecolor{coverfgcolor}{HTML}{1f3134} % The color of the background \definecolor{coverbar}{HTML}{7c9092} % The color of the left bar -\definecolor{bottomcolor}{HTML}{826e68} -\coverstyle={ % 封面键值列表 - cover-choose=cn, % cn (需新增项\entitle{#}); en ; enfig ; birkar +\definecolor{bottomcolor}{HTML}{2c4f54} +\definecolor{nuanbai}{HTML}{f5f5f5} +\coverstyle={ % cover-keys + cover-choose=en, % cn ; en ; enfig ; birkar } % ---------------------------------------------------------------------------- % % The Cover Theme Chosen % @@ -31,17 +32,17 @@ %% Second one \makeatletter \mynewtcbtheorem{ - % 这个 theorem 是环境名 + % theorem-environment problem={ counter=tcbprob, the counter=\thesection.\arabic{tcbprob}, - name=Problem, % 它保存到 \theorem@name 里 + name=Problem, % it will be saved in \theorem@name thmcolor=绛紫, autoref name=\bfseries Problem, style={ arc=3pt,breakable,enhanced,interior style={top color=绛紫!9 ,middle color=绛紫!6, bottom color=绛紫!3},boxrule=0pt,top=8mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% up + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%down opacityframe=0, opacityback=0.98, fontupper=\itshape, step={tcbprob}, before pre=\smallskip, after app=\smallskip, @@ -58,8 +59,8 @@ autoref name=\bfseries Lemma, style={ arc=0mm,breakable,enhanced,interior style={top color=靛蓝!9 ,middle color=靛蓝!6, bottom color=靛蓝!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},% opacityframe=0, opacityback=0.98, fontupper=\itshape,step={tcblem}, before pre=\smallskip, after app=\smallskip, @@ -74,8 +75,8 @@ autoref name=\bfseries Corollary, style={ arc=0mm,breakable,enhanced,interior style={top color=茶色!9 ,middle color=茶色!6, bottom color=茶色!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},% opacityframe=0, opacityback=0.98, fontupper=\itshape,step={tcbcor}, before pre=\smallskip, after app=\smallskip, @@ -90,8 +91,8 @@ autoref name=\bfseries Proposition, style={ arc=0mm,breakable,enhanced,interior style={top color=黛绿!9 ,middle color=黛绿!6, bottom color=黛绿!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},% opacityframe=0, opacityback=0.98, fontupper=\itshape,step={tcbprop}, before pre=\smallskip, after app=\smallskip, @@ -106,8 +107,8 @@ autoref name=\bfseries Definition, style={ arc=0mm,breakable,enhanced,interior style={top color=茜色!9 ,middle color=茜色!6, bottom color=茜色!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},% opacityframe=0, opacityback=0.98, fontupper=\normalsize,step={tcbdefi}, before pre=\smallskip, after app=\smallskip, @@ -122,8 +123,8 @@ autoref name=\bfseries Example, style={ arc=0mm,breakable,enhanced,interior style={top color=黛绿!9 ,middle color=黛绿!6, bottom color=黛绿!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},% opacityframe=0, opacityback=0.98, fontupper=\normalsize,step={tcbexam}, before pre=\smallskip, after app=\smallskip, @@ -138,8 +139,8 @@ autoref name=\bfseries Exercise, style={ arc=0mm,breakable,enhanced,interior style={top color=绛紫!9 ,middle color=绛紫!6, bottom color=绛紫!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},% opacityframe=0, opacityback=0.9, fontupper=\normalsize,step={tcbexer}, before pre=\smallskip, after app=\smallskip, @@ -154,8 +155,8 @@ autoref name=\bfseries Theorem, style={ arc=0mm,breakable,enhanced,interior style={top color=黛绿!9 ,middle color=黛绿!6, bottom color=黛绿!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},% opacityframe=0, opacityback=0.98, fontupper=\itshape,step={tcbthm}, before pre=\smallskip, after app=\smallskip, @@ -172,8 +173,8 @@ autoref name=\bfseries Conjecture, style={ arc=0mm,breakable,enhanced,interior style={top color=靛蓝!9 ,middle color=靛蓝!6, bottom color=靛蓝!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, - fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上 - fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下 + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},% opacityframe=0, opacityback=0.98, fontupper=\itshape,step={tcbconj}, before pre=\smallskip, after app=\smallskip, @@ -187,7 +188,7 @@ % -%% --------参考文献 +%% --------reference \RequirePackage[ backend=biber, style=numeric, @@ -238,12 +239,12 @@ sorting=nty \begin{document} \thispagestyle{empty} -\title{An Introduction to Beautybook template} +\title{An Introduction to beautybook template} \subtitle{} \edition{First Edition} \bookseries{Illustrated by Ethan Lu} \author{Ethan Lu} -\pressname{Beautybook} +\pressname{beautybook} \presslogo{inner_pics/logo.png} \coverimage{inner_pics/coverimage.jpg}%ivy-ge998908f8_1280.jpg \makecover @@ -275,8 +276,8 @@ sorting=nty % partevenimage={songeven,even1,even2,even3,even4,mid1,mid2,mid3,mid4,mid5,mid6,mid7,mid8,mid9,mid10,mid11}, } -\chapimage{\Beautybook@chapterimagename} -\partimage{\Beautybook@partimagename} +\chapimage{\beautybook@chapterimagename} +\partimage{\beautybook@partimagename} \makeatother % ---------------------------------------------------------------------------- % % The images used in the title % @@ -303,8 +304,8 @@ An introduction to the beautybook template. \hfill \begin{tabular}{lr} - &--- Ethan Lu\\ - &2024-03-17 + &-- Ethan Lu\\ + & 2024-06-30 \end{tabular} \clearpage} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -317,13 +318,13 @@ An introduction to the beautybook template. \pagenumbering{arabic} \partabstract{\hspace*{2em} Here is the introduction area of each part, where you can write a concise overview of the part, of course, if there is nothing to say, you can leave it blank.} -\part{The template usage introduction of \textbf{Beautybook}} +\part{The template usage introduction of \textbf{beautybook}} -\chapter{A short introduction of \textbf{Beautybook}} +\chapter{A short introduction of \textbf{beautybook}} \section{Introduction} -The Beauty\LaTeX{} collection is a series of templates authored by a humble, unknown individual. In fact, there are only two series, one is the custom book template \textbf{fancybook } , which is dedicated to the fresh and elegant style, the other is my flagship product-\textbf{ Beautybook } ! Why did I choose such an unusual name? My answer is, originally I wanted to name it elegantboook, but there is already the famous elegantbook template. Inspired by the old poem "There is a jade-like beauty waiting for you in the book", the template is named ``Beautybook", which means a beautiful woman in your arms and the fragrance of a book overflowing! Therefore, this is the origin of the name \textbf{Beautybook } ! +The Beauty\LaTeX{} collection is a series of templates authored by a humble, unknown individual. In fact, there are only two series, one is the custom book template \textbf{fancybook } , which is dedicated to the fresh and elegant style, the other is my flagship product-\textbf{ beautybook } ! Why did I choose such an unusual name? My answer is, originally I wanted to name it elegantboook, but there is already the famous elegantbook template. Inspired by the old poem "There is a jade-like beauty waiting for you in the book", the template is named ``beautybook", which means a beautiful woman in your arms and the fragrance of a book overflowing! Therefore, this is the origin of the name \textbf{beautybook } ! I am committed to creating a series of beautiful, elegant, simple template to facilitate the use of users and myself. Version changes frequently, please pay attention to version information. Before starting to use templates, it is recommended to choose the latest official version! The latest test version will usually be released in the QQ Group, you can download it and try it yourself! @@ -336,6 +337,7 @@ This article covers some of the setup and basic usage of this template. If you h The Project Addresses are the following. \begin{itemize} \item GitHub repository: \href{https://github.com/BeautyLaTeX/latex-template}{https://github.com/BeautyLaTeX/latex-template}, + \item Texpage : \href{https://www.texpage.com/template/8dc933fc-6579-44c9-b660-ea58409d193b}{https://www.texpage.com/template/8dc933fc-6579-44c9-b660-ea58409d193b} \item Download Release: \href{https://github.com/BeautyLaTeX/latex-template/releases}{Official release}, \item User QQ Group: 809237593. (!If you are not in China, please e-mail me at \href{h1479840692@outlook.com}{outlook-email}.) \end{itemize} @@ -357,16 +359,24 @@ To install locally, follow above steps to download the latest version from GitHu The following is an example of a minimal work: \begin{lstlisting} -\documentclass[12pt]{Beautybook-EN} -\coverstyle={ - cover-choose=enfig, % cn (en ; enfig ; birkar) +\documentclass[12pt]{beautybook-EN} +% ---------------------------------------------------------------------------- % +% The Cover Theme Chosen % +% ---------------------------------------------------------------------------- % +\definecolor{coverbgcolor}{HTML}{e0e0e0} +\definecolor{coverfgcolor}{HTML}{1f3134} % The color of the background +\definecolor{coverbar}{HTML}{7c9092} % The color of the left bar +\definecolor{bottomcolor}{HTML}{2c4f54} +\definecolor{nuanbai}{HTML}{f5f5f5} +\coverstyle={ % cover-keys + cover-choose=cn, % cn ; en ; enfig ; birkar } +% ---------------------------------------------------------------------------- % +% The Cover Theme Chosen % +% ---------------------------------------------------------------------------- % \mathstyle={ math-font=plain, % plain; stix; mtpro2 } -\usepackage{bm} -% \overfullrule=1pt -% \RequirePackage[fontsize=13.5pt]{fontsize} %% First one \mynewtheorem{ defi={\textbf{Definition}}[section]{interior style={left color=ReD!8,right color=ReD!5!CyaN!50}, borderline west={1.5mm}{0mm}{ReD}}, @@ -377,6 +387,162 @@ The following is an example of a minimal work: cor={\textbf{Corollary}}[chapter]{interior style={left color=violet!8,right color=violet!5!CyaN!50}, borderline west={1.5mm}{0mm}{violet}}, } \newtheorem*{remark}{\textbf{Remark}} +%% Second one +\makeatletter +\mynewtcbtheorem{ + % theorem environment + problem={ + counter=tcbprob, + the counter=\thesection.\arabic{tcbprob}, + name=Problem, + thmcolor=purple, + autoref name=\bfseries Problem, + style={ + arc=3pt,breakable,enhanced,interior style={top color=purplepurplepurplegreen!9 ,middle color=purplepurplepurplegreen!6, bottom color=purplepurplepurplegreen!3},boxrule=0pt,top=8mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% up + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%down + opacityframe=0, opacityback=0.98, + fontupper=\itshape, step={tcbprob}, + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@theorem@overlay@unbroken{Problem\ \thetcbprob}{purplepurplepurplegreen}, + overlay first=\my@theorem@overlay@first{Problem\ \thetcbprob}{purplepurplepurplegreen}, + overlay last=\my@theorem@overlay@last{purplepurplepurplegreen}, + } + }, + lemma={ + counter=tcblem, + the counter=\thesection.\arabic{tcblem}, + name=Lemma, + lemcolor=purplepurplegreen, + autoref name=\bfseries Lemma, + style={ + arc=0mm,breakable,enhanced,interior style={top color=purplepurplegreen!9 ,middle color=purplepurplegreen!6, bottom color=purplepurplegreen!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},% + opacityframe=0, opacityback=0.98, + fontupper=\itshape,step={tcblem}, + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@lemma@overlay@unbroken{\lemma@name\ \thetcblem}{\lemma@lemcolor}, + overlay first=\my@lemma@overlay@first{\lemma@name\ \thetcblem}{\lemma@lemcolor}, + overlay last=\my@lemma@overlay@last{\lemma@lemcolor}, + } + }, + corollary={ + counter=tcbcor, + the counter=\thesection.\arabic{tcbcor}, + autoref name=\bfseries Corollary, + style={ + arc=0mm,breakable,enhanced,interior style={top color=purplegreen!9 ,middle color=purplegreen!6, bottom color=purplegreen!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},% + opacityframe=0, opacityback=0.98, + fontupper=\itshape,step={tcbcor}, + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@lemma@overlay@unbroken{Corollary\ \thetcbcor}{purplegreen}, + overlay first=\my@lemma@overlay@first{Corollary\ \thetcbcor}{purplegreen}, + overlay last=\my@lemma@overlay@last{purplegreen}, + } + }, + proposition={ + counter=tcbprop, + the counter=\thesection.\arabic{tcbprop}, + autoref name=\bfseries Proposition, + style={ + arc=0mm,breakable,enhanced,interior style={top color=green!9 ,middle color=green!6, bottom color=green!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},% + opacityframe=0, opacityback=0.98, + fontupper=\itshape,step={tcbprop},purplered + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@lemma@overlay@unbroken{Proposition\ \thetcbprop}{green}, + overlay first=\my@lemma@overlay@first{Proposition\ \thetcbprop}{green}, + overlay last=\my@lemma@overlay@last{green}, + } + }, + definition={ + counter=tcbdefi, + the counter=\thesection.\arabic{tcbdefi}, + autoref name=\bfseries Definition, + style={ + arc=0mm,breakable,enhanced,interior style={top color=purplered!9 ,middle color=purplered!6, bottom color=purplered!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},% + opacityframe=0, opacityback=0.98, + fontupper=\normalsize,step={tcbdefi}, + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@lemma@overlay@unbroken{Definition\ \thetcbdefi}{purplered}, + overlay first=\my@lemma@overlay@first{Definition\ \thetcbdefi}{purplered}, + overlay last=\my@lemma@overlay@last{purplered}, + } + }, + example={ + counter=tcbexam, + the counter=\thesection.\arabic{tcbexam}, + autoref name=\bfseries Example, + style={ + arc=0mm,breakable,enhanced,interior style={top color=red!9 ,middle color=red!6, bottom color=red!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},% + opacityframe=0, opacityback=0.98, + fontupper=\normalsize,step={tcbexam},redpurple + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@lemma@overlay@unbroken{Example\ \thetcbexam}{red}, + overlay first=\my@lemma@overlay@first{Example\ \thetcbexam}{red}, + overlay last=\my@lemma@overlay@last{red}, + } + }, + Exercise={ + counter=tcbexer, + the counter=\thechapter.\arabic{tcbexer}, + autoref name=\bfseries Exercise, + style={ + arc=0mm,breakable,enhanced,interior style={top color=redpurple!9 ,middle color=redpurple!6, bottom color=redpurple!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},% + opacityframe=0, opacityback=0.9, + fontupper=\normalsize,step={tcbexer}, + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@lemma@overlay@unbroken{Exercise\ \thetcbexer}{redpurple}, + overlay first=\my@lemma@overlay@first{Exercise\ \thetcbexer}{redpurple}, + overlay last=\my@lemma@overlay@last{redpurple}, + } + }, + theorem={ + counter=tcbthm, + the counter=\thesection.\arabic{tcbthm}, + autoref name=\bfseries Theorem, + style={ + arc=0mm,breakable,enhanced,interior style={top color=purple!9 ,middle color=purple!6, bottom color=purple!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},% + opacityframe=0, opacityback=0.98, + fontupper=\itshape,step={tcbthm}, + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@lemma@overlay@unbroken{Theorem\ \thetcbthm}{purple}, + overlay first=\my@lemma@overlay@first{Theorem\ \thetcbthm}{purple}, + overlay last=\my@lemma@overlay@last{purple}, + } + }, + conjecture={ + counter=tcbconj, + the counter=\thesection.\arabic{tcbconj}, + name=Conjecture, + lemcolor=purple, + autoref name=\bfseries Conjecture, + style={ + arc=0mm,breakable,enhanced,interior style={top color=purple!9 ,middle color=purple!6, bottom color=purple!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm, + fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% + fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},% + opacityframe=0, opacityback=0.98, + fontupper=\itshape,step={tcbconj}, + before pre=\smallskip, after app=\smallskip, + overlay unbroken=\my@lemma@overlay@unbroken{Conjecture\ \thetcblem}{purple}, + overlay first=\my@lemma@overlay@first{Conjecture\ \thetcblem}{purple}, + overlay last=\my@lemma@overlay@last{purple}, + } + }, +} +\makeatother % @@ -430,29 +596,34 @@ sorting=nty \begin{document} \thispagestyle{empty} -\title{An Introduction to Beautybook template} +\title{Your title} \subtitle{} -\edition{First Edition} -\bookseries{Illustrated by Ethan Lu} -\author{Ethan Lu} -\pressname{Beautybook} +\edition{The Edition} +\bookseries{Illustrated by author} +\author{author} +\pressname{press} \presslogo{inner_pics/logo.png} \coverimage{inner_pics/coverimage.jpg}%ivy-ge998908f8_1280.jpg \makecover - +\makeatletter +% ---------------------------------------------------------------------------- % +% The Sidebar Theme Chosen % +% ---------------------------------------------------------------------------- % \definecolor{bg}{HTML}{e0e0e0} \definecolor{fg}{HTML}{2c4f54} \colorlet{outermarginbgcolor}{bg} \colorlet{outermarginfgcolor}{fg} -\colorlet{framegolden}{fg} -\colorlet{framegray}{bg!50} - -\makeatletter % set the contents of the outer margin on even and odd pages for scrheadings, plain and scth -\oddoutermargin{\sffamily \leftmark} % Odd page -\evenoutermargin{\sffamily\@title} % Even page -% +\oddoutermargin{\sffamily \leftmark} % Odd sidebar text +\evenoutermargin{\sffamily\@title} % Even sidebar text +% ---------------------------------------------------------------------------- % +% The Sidebar Theme Chosen % +% ---------------------------------------------------------------------------- % + +% ---------------------------------------------------------------------------- % +% The images used in the title % +% ---------------------------------------------------------------------------- % \titleimage{ chapteroddimage={odd1,odd2,odd3,odd4,odd5,odd6,odd7,odd8,odd9,odd10,odd11,odd12,odd13,odd14,odd15,mid1,mid2,mid3,mid4,mid5,mid6,mid7,mid8,mid9,mid10,mid11}, % @@ -462,10 +633,22 @@ sorting=nty % partevenimage={songeven,even1,even2,even3,even4,mid1,mid2,mid3,mid4,mid5,mid6,mid7,mid8,mid9,mid10,mid11}, } -\chapimage{\Beautybook@chapterimagename} -\partimage{\Beautybook@partimagename} +\chapimage{\beautybook@chapterimagename} +\partimage{\beautybook@partimagename} \makeatother -% +% ---------------------------------------------------------------------------- % +% The images used in the title % +% ---------------------------------------------------------------------------- % + +% ---------------------------------------------------------------------------- % +% The Color Chosen for The Magic Box % +% ---------------------------------------------------------------------------- % +\colorlet{framegolden}{fg} % The line color of the magic box +\colorlet{framegray}{bg!50} % The background color of the magic box +% ---------------------------------------------------------------------------- % +% The Color Chosen for The Magic Box % +% ---------------------------------------------------------------------------- % + \frontmatter \pagenumbering{Roman} @@ -478,8 +661,8 @@ An introduction to the beautybook template. \hfill \begin{tabular}{lr} - &--- Ethan Lu\\ - &2024-03-17 + &-- author\\ + & 2024-06-30 \end{tabular} \clearpage} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -492,11 +675,11 @@ An introduction to the beautybook template. \pagenumbering{arabic} \partabstract{\hspace*{2em} Here is the introduction area of each part, where you can write a concise overview of the part, of course, if there is nothing to say, you can leave it blank.} -\part{The template usage introduction of \textbf{Beautybook}} +\part{Part} -\chapter{A short introduction of \textbf{Beautybook}} +\chapter{Chapter} -\section{Introduction} +\section{Section} % your main contents here! @@ -537,8 +720,8 @@ The English version of this template is based on the basic ``book" class, and th This template includes two basic locales: \lstinline{Beautybook-CN.cls} in Chinese and \lstinline{Beautybook-EN.cls} in English. Changing the locales alters the headings (including figures and tables) of the chart title, the article formatting (such as table of contents and references), and the language used for theorem contexts (such as Theorem, Lemma, etc.). You can switch between these language modes using the following instructions in the top of the premble: \begin{lstlisting} -\documentclass{Beautybook-CN} % chinese -\documentclass{Beautybook-EN} % english +\documentclass{beautybook-CN} % chinese +\documentclass{beautybook-EN} % english \end{lstlisting} In addition to the two language settings that come with the template, if you need to use another language, you can do so by modifying the \texttt{.cls} file as follows @@ -546,7 +729,7 @@ In addition to the two language settings that come with the template, if you nee \begin{enumerate} \item Change the name of the part environment \lstinline{Part\ \thepart} to \lstinline{(translation of part in your language)\ \thepart} \item Theorem environment guide words in premble, such as Theorem. - \item Please remember that only Asian languages can be modified based on \lstinline{Beautybook-CN.cls}, other foreign languages need to be modified based on \lstinline{Beautybook-EN.cls}. + \item Please remember that only Asian languages can be modified based on \lstinline{beautybook-CN.cls}, other foreign languages need to be modified based on \lstinline{beautybook-EN.cls}. \end{enumerate} \section{Theme Color} diff --git a/macros/latex/contrib/beautybook/stys/Beautybook-bottompage.sty b/macros/latex/contrib/beautybook/stys/Beautybook-bottompage.sty deleted file mode 100644 index 892cf4fbac..0000000000 --- a/macros/latex/contrib/beautybook/stys/Beautybook-bottompage.sty +++ /dev/null @@ -1,81 +0,0 @@ -\NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{stys/Beautybook-bottompage}[2023/01/18,v2.0] -\usepackage[ISBN=978-80-85955-35-4,SC0]{ean13isbn} -\makeatletter -%%----------------------------------封面信息定义--------------------------------------------------------%% -\newcommand\summary[1]{\def\@summary{#1}} -\newcommand\ISBNcode[1]{\def\@ISBNcode{#1}} -\newcommand\bottomimage[1]{\def\@bottomimage{#1}} -%%----------------------------------封面信息定义--------------------------------------------------------%% -\makeatother -% Define the layers to be used in document. -% ***************************************************** -\pgfdeclarelayer{background} %背景%底层 -\pgfdeclarelayer{foreground} %上层 -\pgfdeclarelayer{top} %顶部 -\pgfdeclarelayer{bottom} %底部 -\pgfsetlayers{bottom,background,main,foreground,top} -\makeatletter -\newcommand*\makebottomcover{ - %% Use the Tikz library positioning and clear the page header and footer - \newpage - \thispagestyle{empty} - \phantom{s} - \clearpage - \newpage - \usetikzlibrary{positioning} - \thispagestyle{empty} - \begin{tikzpicture}[remember picture,overlay] - \begin{pgfonlayer}{bottom} - \node[opacity=0.85,inner sep=0pt] at (current - page.center){\includegraphics[width=\paperwidth,height=\paperheight]{\@bottomimage}}; - \path[fill=bottomcolor!50] - (current page.north east) coordinate (E) --++(-.6\paperwidth,0) coordinate (B) [bend right=30] to ([yshift=-.2\paperheight]E)--cycle; - \path[fill=bottomcolor!75,opacity=0.8] - (current page.north east) coordinate (E) --++(-.6\paperwidth,0) coordinate (B) [bend right=30] to ([yshift=-.25\paperheight]E)--cycle; - \end{pgfonlayer} - \ifdefvoid{\@summary}{}{ - \begin{pgfonlayer}{foreground} - \fill[color=bottomcolor!80,opacity=.6]node[append after command={ - ([yshift=0.5cm]bottominfo.north west) rectangle ([yshift=-0.5cm]bottominfo.south east)},font=\large\bfseries,text=white,minimum width=\paperwidth,opacity=1] (bottominfo) at (current page.center) {\begin{varwidth}{\linewidth}\baselineskip=3ex\@summary\end{varwidth}}; - \end{pgfonlayer} - } - \node[text=white,left] at ([xshift=0cm,yshift=-.25\covershift]current page.north east) {% - \parbox{.6\linewidth}{\baselineskip=22.5pt - \raggedright - \sc\fontsize{20}{23}\selectfont\@bookseries} - }; %系列丛书名称 - \node[right,text=white,font=\rmfamily\Large,] at - ([shift={(-.5cm,1.5cm)}]current page.south west) % - {\raisebox{-1.1cm}{\includegraphics[width=0.2\linewidth]{\@presslogo}}\hspace*{-3.5ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};% - \ifdefvoid{\@ISBNcode}{}{ - \node[scale=1.5] (isbn) at ([shift={(-1.85\outermarginwidth,.5\covershift)}]current page.south east) {\@ISBNcode};% - \begin{pgfonlayer}{bottom} - \fill[white] (isbn.north west) rectangle (isbn.south east);% - \end{pgfonlayer} - } -\end{tikzpicture}% -} -\makeatother -\endinput - - - - - - - - - - - - - - - - - - - - - diff --git a/macros/latex/contrib/beautybook/stys/Beautybook-cover-birkar.sty b/macros/latex/contrib/beautybook/stys/Beautybook-cover-birkar.sty deleted file mode 100644 index 8a2c51aa08..0000000000 --- a/macros/latex/contrib/beautybook/stys/Beautybook-cover-birkar.sty +++ /dev/null @@ -1,125 +0,0 @@ -\NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{stys/Beautybook-cover-birkar}[2022/05/21,v1.0] -\usepackage{anyfontsize} % 提供\fontsize{}{}\selectfont命令 -\usepackage{etoolbox} %提供自定义封面选项接口 -\usepackage[dvipsnames,svgnames,x11names,table]{xcolor}%颜色宏包 % Driver-independent color extensions -\usepackage{tikz} -\usetikzlibrary{intersections, positioning, fit, backgrounds, shapes, fadings, -decorations.pathmorphing, graphs, quotes, angles, calc, through, backgrounds} % %Tikz指令库 -\usepackage{graphicx} %插图 -\usetikzlibrary{calc,fadings,patterns} -\usepackage{adjustbox} %修正minipage顶部对齐问题 - -% Define the layers to be used in document. -% ***************************************************** -\pgfdeclarelayer{background} %背景%底层 -\pgfdeclarelayer{foreground} %上层 -\pgfdeclarelayer{top} %顶部 -\pgfdeclarelayer{bottom} %底部 -\pgfsetlayers{bottom,background,main,foreground,top} -\definecolor{RED}{RGB}{220, 41, 26} -\definecolor{arc color}{HTML}{546E7A} - -\tikzfading[name=fade right, - right color =transparent!100, - left color=transparent!0] -\tikzfading[name=fade left, - left color =transparent!100, - right color=transparent!50] -\tikzfading[name=fade up, - top color =transparent!100, - bottom color=transparent!50] -\tikzfading[name=fade down, - bottom color =transparent!100, - top color=transparent!50] -\makeatletter -\newcommand*\makecover{ - %% Use the Tikz library positioning and clear the page header and footer - \usetikzlibrary{positioning} - \thispagestyle{empty} - \begin{tikzpicture}[remember picture,overlay] - \begin{pgfonlayer}{bottom} - \fill[coverfgcolor] - (current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor) - \fill[RED] - ([shift={(2.05cm,0)}]current page.north west) rectangle ([shift={(2.35cm,-6cm)}]current page.north west); - \fill[coverfgcolor!80,opacity=0.5] - ([shift={(0,-2cm)}]current page.north west) arc (90:-90:.3\paperheight) --cycle; - \fill[coverfgcolor!80,opacity=0.5] - ([shift={(0,-4cm)}]current page.north east) arc (90:270:.2\paperheight) --cycle; - \fill[coverfgcolor!80] - (current page.north west) rectangle ([shift={(2cm,0)}]current page.south west); - \begin{scope}[opacity=0.8] - \coordinate (triangleA) at ([shift={(1cm,-1cm)}]current page.north); - \coordinate (triangleB) at ([shift={(-.85\linewidth,-.46\paperheight)}]triangleA); - \coordinate (triangleC) at ([shift={(.52\linewidth,-.46\paperheight)}]triangleA); - \draw[name path=triangle,very thick,coverfgcolor!70!white] - (triangleA)--(triangleB)--(triangleC)--cycle; - \draw[name path=circle,very thick,coverfgcolor!70!white] - ([shift={(-1.6cm,-7.3cm)}]triangleA) coordinate (O) circle(6cm); - %标注每个交点坐标 - \fill [name intersections={of=triangle and circle, name=i, total=\t}] - [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}] - \foreach \s in {1,...,\t}{(i-\s) circle (1em) node {}}; - \draw[name path=l,very thick,coverfgcolor!70!white] (i-1) -- (triangleC); - \draw[very thick,coverfgcolor!70!white] (i-6) -- (triangleB); - \draw[name path=l2,very thick,coverfgcolor!70!white] (i-4) -- (triangleA); - \fill[name intersections={of=l and circle,name=j,total=\l}] - [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}] - \foreach \c in {1,...,\l}{(j-\c) circle (1em) node {}}; - - \fill[name intersections={of=l2 and l,name=jj,total=\ll}] - [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}] - \foreach \cc in {1,...,\ll}{(jj-\cc) circle (1em) node {}}; - \end{scope} - \end{pgfonlayer} - \begin{pgfonlayer}{foreground} - \fill[coverbar,opacity=.5] - ([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形 - \end{pgfonlayer} - \shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=.3] - ([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形 - \node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {% - \parbox{.8\paperwidth}{ - \filright - \color{white}\sffamily\fontsize{20}{23}\selectfont\@bookseries} - }; %系列丛书名称 - \node[ anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.57\paperheight]current page.north) - {\parbox{.8\paperwidth}{% - \raggedright% - {\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex] - \color{white}\sffamily\fontsize{30}{30}\selectfont - \ifdefvoid{\@subtitle}{}{\@subtitle}\par} - }};% 封面标题与副标题 - \node[anchor=west,font=\sffamily\fontsize{23}{23}\selectfont,text=white] at ([xshift=1.8\outermarginwidth,yshift=-.6\covershift]current page.west) {\@edition}; - \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth,yshift=\covershift]current page.west) {\@author}; - \node[left,text=white,font=\rmfamily\Large,] at - ([shift={(-1cm,2cm)}]current page.south east) % - {\raisebox{-1.1cm}{\includegraphics[width=0.2\linewidth]{\@presslogo}}\hspace*{-3.5ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};% - \end{tikzpicture}% - {\newpage\thispagestyle{empty}} -} -\makeatother - -\endinput - - - - - - - - - - - - - - - - - - - - - diff --git a/macros/latex/contrib/beautybook/stys/Beautybook-cover-cn.sty b/macros/latex/contrib/beautybook/stys/Beautybook-cover-cn.sty deleted file mode 100644 index b151d4e5fc..0000000000 --- a/macros/latex/contrib/beautybook/stys/Beautybook-cover-cn.sty +++ /dev/null @@ -1,103 +0,0 @@ -\NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{stys/Beautybook-cover-cn}[2023/05/10,v1.0] -\usetikzlibrary{calc,fadings,patterns} -\usepackage{adjustbox} %修正minipage顶部对齐问题 -%%%%===============================================================%%%%% -% \definecolor{coverbgcolor}{HTML}{9CCCDA} -% \definecolor{coverfgcolor}{HTML}{508E99} -% \definecolor{coverbar}{HTML}{305756} -\tikzfading[name=fade right, - right color =transparent!100, - left color=transparent!50] -\tikzfading[name=fade left, - left color =transparent!100, - right color=transparent!50] -\tikzfading[name=fade up, -top color =transparent!100, -bottom color=transparent!50] -\tikzfading[name=fade down, - bottom color =transparent!100, - top color=transparent!50] -\makeatletter -\newcommand*\makecover{ - %% Use the Tikz library positioning and clear the page header and footer - \usetikzlibrary{positioning} - \thispagestyle{empty} - \begin{tikzpicture}[remember picture,overlay] - \fill[coverfgcolor!75] - (current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor) - \fill[coverfgcolor!50] - ([xshift=-3\covershift,yshift=-.4\covershift]current page.east) rectangle ([yshift=-1.35\covershift]current page.east); % 被标题背景遮挡露出一部分的装饰矩形 - \fill[coverfgcolor] - ([xshift=\outermarginwidth]current page.north west) rectangle ([xshift=-\outermarginwidth,yshift=1.5\covershift]current page.south east); % 标题背景大矩形 - \fill[coverbar] - ([yshift=.44\covershift]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.4\covershift]current page.west); % 最左侧装饰矩形 - \node[left] at ([xshift=-1.8cm,yshift=-1.5cm]current page.north east) {% - \parbox{3\covershift}{ - \raggedleft - \color{white}\sffamily\bfseries\fontsize{18}{22}\selectfont\@bookseries} - }; %系列丛书名称 - \node[right] at ([xshift=\outermarginwidth,yshift=1.5*\covershift]current page.west) - {\parbox{.8\paperwidth}{% - \filright% - \color{white}\sffamily\bfseries\fontsize{30}{30}\selectfont\@title\\[-1.6ex] - \begin{tikzpicture} - \draw[white,line width=1pt] (0,0) --++ (\paperwidth-3\outermarginwidth,0); - \end{tikzpicture}\\[-.5ex] - \color{white}\sffamily\bfseries\fontsize{30}{30}\selectfont - \ifdefvoid{\@subtitle}{}{\@subtitle} - }};% 封面英文书名与中文书名 - \node[left,inner sep=0pt,outer sep=0pt] at ([xshift=1.2\outermarginwidth,yshift=1.8cm]current page.east) - {% - \adjustbox{valign=t}{ - \begin{minipage}{.25\textwidth} - \begin{tikzpicture} - \foreach \x/\r in {1.2/6,.8/4} { - \draw[white,line width=\x pt] (0,0) circle [radius=\r pt];} - \fill[white] (0,0) circle [radius=2.5pt]; - \end{tikzpicture} - \hspace{2pt}\color{white}\sffamily\fontsize{20}{25}\selectfont Editors - \end{minipage}} - \hfill - \adjustbox{valign=t}{\begin{minipage}{.45\textwidth} - \raggedright\color{white}\sffamily\fontsize{20}{25}\selectfont\@author - \end{minipage}} - };% 封面作者信息栏 - \fill [path picture={ \node at (path picture bounding box.center) - {\includegraphics[height=1.1\linewidth]{\@coverimage}};}] - ([xshift=\outermarginwidth]current page.south west) rectangle ++(1.8*\covershift,.575\paperheight); - \fill[pattern color=coverfgcolor!70,pattern=horizontal lines,opacity=0.8] - ([xshift=\outermarginwidth,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east); - \fill [coverfgcolor!80,path fading=fade right]% - ([xshift=\outermarginwidth+.5\linewidth+.5cm,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east); - \fill [coverfgcolor!80,path fading=fade left]% - ([xshift=\outermarginwidth+.5\linewidth+.5cm,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east); - \node[left,text=white,font=\rmfamily\Large,] at - ([shift={(-2cm,2cm)}]current page.south east) % - {\raisebox{-1.1cm}{\includegraphics[width=0.2\linewidth]{\@presslogo}}\hspace*{-3.5ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};% - \end{tikzpicture}% - {\newpage\thispagestyle{empty}}} -\makeatother -\endinput -% %%%%===============================================================%%%%% - - - - - - - - - - - - - - - - - - - - - diff --git a/macros/latex/contrib/beautybook/stys/Beautybook-cover-en.sty b/macros/latex/contrib/beautybook/stys/Beautybook-cover-en.sty deleted file mode 100644 index 2279661d94..0000000000 --- a/macros/latex/contrib/beautybook/stys/Beautybook-cover-en.sty +++ /dev/null @@ -1,87 +0,0 @@ -\NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{stys/Beautybook-cover-en}[2022/05/21,v1.0] -\usepackage{anyfontsize} % 提供\fontsize{}{}\selectfont命令 -\usepackage{etoolbox} %提供自定义封面选项接口 -\usepackage[dvipsnames,svgnames,x11names,table]{xcolor}%颜色宏包 % Driver-independent color extensions -\usepackage{tikz} -\usepackage{graphicx} %插图 -\usetikzlibrary{calc,fadings,patterns} -\usepackage{adjustbox} %修正minipage顶部对齐问题 -\tikzfading[name=fade right, - right color =transparent!100, - left color=transparent!50] -\tikzfading[name=fade left, - left color =transparent!100, - right color=transparent!50] -\tikzfading[name=fade up, - top color =transparent!100, - bottom color=transparent!50] -\tikzfading[name=fade down, - bottom color =transparent!100, - top color=transparent!50] -\makeatletter -\newcommand*\makecover{ - %% Use the Tikz library positioning and clear the page header and footer - \usetikzlibrary{positioning} - \thispagestyle{empty} - \begin{tikzpicture}[remember picture,overlay] - \fill[coverfgcolor] - (current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor) - \coordinate (start) at ($(current page.east)!0.5!(current page.north east)+(1,-1)$); - \coordinate (end) at (current page.north west); - \foreach \i in {0,0.01,...,1} - { - \coordinate (point) at ($(start)!\i!(end)$); - \draw[coverfgcolor!50] - ($(point)+(310*\i:6)$)-- - ($(point)+(310*\i+120:6)$)-- - ($(point)+(310*\i+240:6)$)-- - ($(point)+(310*\i:6)$); - } - \coordinate (start) at (current page.south west); - \coordinate (end) at (current page.east); - \foreach \i in {0,0.02,...,1} - { - \coordinate (point) at ($(start)!\i!(end)$); - \draw[coverfgcolor!50] - ($(point)+(310*\i:10)$)-- - ($(point)+(310*\i+120:10)$)-- - ($(point)+(310*\i+240:10)$)-- - ($(point)+(310*\i:10)$); - } - \shade[bottom color=coverfgcolor,top color=coverfgcolor!70,opacity=0.7] - ([xshift=.5\outermarginwidth]current page.north west) rectangle (current page.south east); % 背景大矩形 - \shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=0.5] - ([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形 - \fill[coverbar!90,opacity=0.8] - ([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形 - \foreach \lx/\rx/\ry/\bc/\tc in { - 1/1.5/1.75/70/80,1.5/2/1.6/65/75,2/2.5/1.3/60/70,2.5/3/1/55/65,3/3.5/.7/50/60,3.5/4/1.2/60/70,4/4.5/1.9/75/85,4.5/5/1.1/55/65,5/5.5/1.2/60/70,6/6.5/1.6/65/75,6.5/7/1.3/60/70,7/7.5/1.87/70/80,7.5/8/1/55/65,8/8.5/.9/50/60,8.5/9/1.8/70/80,9/9.5/1.6/65/75,9.5/10/1.4/60/70,10/10.5/1/55/65,10.5/11/.7/50/60,11/11.5/1.3/55/65,11.5/12/1/70/80,12/12.5/1.3/65/75,12.5/13/1.6/60/70,13/13.5/1.75/55/65,13.5/14/1.6/65/75,14/14.5/1.3/60/70 - }{ - \shade[bottom color=coverfgcolor!\bc,top color=coverfgcolor!\tc,opacity=.5] - ([xshift=\lx\outermarginwidth]current page.north west) rectangle ([xshift=\rx\outermarginwidth,yshift=-\ry\covershift]current page.north west);%顶部琴键矩形 - } - \node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {% - \parbox{.8\paperwidth}{ - \filright - \color{white}\sffamily\fontsize{20}{23}\selectfont\@bookseries} - }; %系列丛书名称 - \node[ anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.57\paperheight]current page.north) - {\parbox{.8\paperwidth}{% - \raggedright% - {\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex] - \color{white}\sffamily\fontsize{30}{30}\selectfont - \ifdefvoid{\@subtitle}{}{\@subtitle}\par} - }};% 封面标题与副标题 - \node[anchor=west,font=\sffamily\fontsize{23}{23}\selectfont,text=white] at ([xshift=1.8\outermarginwidth,yshift=-.6\covershift]current page.west) {\@edition}; - \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth,yshift=\covershift]current page.west) {\@author}; - \node[left,text=white,font=\rmfamily\Large,] at - ([shift={(-1cm,2cm)}]current page.south east) % - {\raisebox{-1.1cm}{\includegraphics[width=0.2\linewidth]{\@presslogo}}\hspace*{-3.5ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};% - \end{tikzpicture}% - {\newpage\thispagestyle{empty}} -} -\makeatother -%%%%===============================================================%%%%% -%%------------------------------------------------------封面设计--------------------------------------------------------%% -\endinput \ No newline at end of file diff --git a/macros/latex/contrib/beautybook/stys/Beautybook-cover-enfig.sty b/macros/latex/contrib/beautybook/stys/Beautybook-cover-enfig.sty deleted file mode 100644 index 005518a6d9..0000000000 --- a/macros/latex/contrib/beautybook/stys/Beautybook-cover-enfig.sty +++ /dev/null @@ -1,55 +0,0 @@ -\NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{stys/Beautybook-cover-enfig}[2023/02/03,v1.0] -\definecolor{coverbgcolor}{HTML}{004183} -\definecolor{coverfgcolor}{HTML}{826e68} -\definecolor{coverbar}{HTML}{7c9092} -\tikzfading[name=fade right, - right color =transparent!100, - left color=transparent!0] -\tikzfading[name=fade left, - left color =transparent!100, - right color=transparent!50] -\tikzfading[name=fade up, - top color =transparent!100, - bottom color=transparent!50] -\tikzfading[name=fade down, - bottom color =transparent!100, - top color=transparent!50] -\makeatletter -\newcommand*\makecover{ - %% Use the Tikz library positioning and clear the page header and footer - \usetikzlibrary{positioning} - \thispagestyle{empty} - \begin{tikzpicture}[remember picture,overlay] - \begin{pgfonlayer}{bottom} - \node[opacity=0.8,inner sep=0pt] at (current - page.center){\includegraphics[width=\paperwidth,height=\paperheight]{\@coverimage}}; - \end{pgfonlayer} - \shade[left color=coverbgcolor!70,right color=coverbgcolor!50,path fading=fade right,opacity=.5] - ([xshift=.5\outermarginwidth]current page.north west) rectangle ([xshift=4\outermarginwidth]current page.south west); % 背景大矩形虚化 - \shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=.8] - ([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形 - \fill[coverbar,opacity=0.8] - ([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形 - \node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {% - \parbox{.8\paperwidth}{ - \filright - \color{white}\sc\fontsize{20}{23}\selectfont\@bookseries} - }; %系列丛书名称 - \node[ anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.55\paperheight]current page.north) - {\parbox{.8\paperwidth}{% - \raggedright% - {\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex] - \color{white}\sc\fontsize{30}{30}\selectfont - \ifdefvoid{\@subtitle}{}{\@subtitle}\par} - }};% 封面标题与副标题 - \node[anchor=west,font=\sc\fontsize{23}{23}\selectfont,text=white] at ([xshift=1.8\outermarginwidth,yshift=-.6\covershift]current page.west) {\@edition}; - \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth,yshift=\covershift]current page.west) {\@author}; - \node[left,text=white,font=\rmfamily\Large,] at - ([shift={(-1cm,2cm)}]current page.south east) % - {\raisebox{-1.1cm}{\includegraphics[width=0.2\linewidth]{\@presslogo}}\hspace*{-3.5ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};% - \end{tikzpicture}% - {\newpage\thispagestyle{empty}} -} -\makeatother -\endinput diff --git a/macros/latex/contrib/beautybook/stys/beautybook-bottompage.sty b/macros/latex/contrib/beautybook/stys/beautybook-bottompage.sty new file mode 100644 index 0000000000..069dc61f60 --- /dev/null +++ b/macros/latex/contrib/beautybook/stys/beautybook-bottompage.sty @@ -0,0 +1,81 @@ +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{stys/beautybook-bottompage}[2024/06/30,v2.0] +\usepackage[ISBN=978-80-85955-35-4,SC0]{ean13isbn} +\makeatletter +%%----------------------------------封面信息定义--------------------------------------------------------%% +\newcommand\summary[1]{\def\@summary{#1}} +\newcommand\ISBNcode[1]{\def\@ISBNcode{#1}} +\newcommand\bottomimage[1]{\def\@bottomimage{#1}} +%%----------------------------------封面信息定义--------------------------------------------------------%% +\makeatother +% Define the layers to be used in document. +% ***************************************************** +\pgfdeclarelayer{background} %背景%底层 +\pgfdeclarelayer{foreground} %上层 +\pgfdeclarelayer{top} %顶部 +\pgfdeclarelayer{bottom} %底部 +\pgfsetlayers{bottom,background,main,foreground,top} +\makeatletter +\newcommand*\makebottomcover{ + %% Use the Tikz library positioning and clear the page header and footer + \newpage + \thispagestyle{empty} + \phantom{s} + \clearpage + \newpage + \usetikzlibrary{positioning} + \thispagestyle{empty} + \begin{tikzpicture}[remember picture,overlay] + \begin{pgfonlayer}{bottom} + \node[opacity=0.85,inner sep=0pt] at (current + page.center){\includegraphics[width=\paperwidth,height=\paperheight]{\@bottomimage}}; + \path[fill=bottomcolor!50] + (current page.north east) coordinate (E) --++(-.6\paperwidth,0) coordinate (B) [bend right=30] to ([yshift=-.2\paperheight]E)--cycle; + \path[fill=bottomcolor!75,opacity=0.8] + (current page.north east) coordinate (E) --++(-.6\paperwidth,0) coordinate (B) [bend right=30] to ([yshift=-.25\paperheight]E)--cycle; + \end{pgfonlayer} + \ifdefvoid{\@summary}{}{ + \begin{pgfonlayer}{foreground} + \fill[color=bottomcolor!80,opacity=.6]node[append after command={ + ([yshift=0.5cm]bottominfo.north west) rectangle ([yshift=-0.5cm]bottominfo.south east)},font=\large\bfseries,text=white,minimum width=\paperwidth,opacity=1] (bottominfo) at (current page.center) {\begin{varwidth}{\linewidth}\baselineskip=3ex\@summary\end{varwidth}}; + \end{pgfonlayer} + } + \node[text=white,left] at ([xshift=0cm,yshift=-.25\covershift]current page.north east) {% + \parbox{.6\linewidth}{\baselineskip=22.5pt + \raggedright + \sc\fontsize{20}{23}\selectfont\@bookseries} + }; %系列丛书名称 + \node[right,text=white,font=\rmfamily\Large,] at + ([shift={(-.5cm,1.5cm)}]current page.south west) % + {\raisebox{-1.1cm}{\includegraphics[width=0.2\linewidth]{\@presslogo}}\hspace*{-3.5ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};% + \ifdefvoid{\@ISBNcode}{}{ + \node[scale=1.5] (isbn) at ([shift={(-1.85\outermarginwidth,.5\covershift)}]current page.south east) {\@ISBNcode};% + \begin{pgfonlayer}{bottom} + \fill[white] (isbn.north west) rectangle (isbn.south east);% + \end{pgfonlayer} + } +\end{tikzpicture}% +} +\makeatother +\endinput + + + + + + + + + + + + + + + + + + + + + diff --git a/macros/latex/contrib/beautybook/stys/beautybook-cover-birkar.sty b/macros/latex/contrib/beautybook/stys/beautybook-cover-birkar.sty new file mode 100644 index 0000000000..4253b6a3a0 --- /dev/null +++ b/macros/latex/contrib/beautybook/stys/beautybook-cover-birkar.sty @@ -0,0 +1,159 @@ +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{stys/beautybook-cover-birkar}[2024/06/30,v2.0] +\usepackage{anyfontsize} % 提供\fontsize{}{}\selectfont命令 +\usepackage{etoolbox} %提供自定义封面选项接口 +\usepackage[dvipsnames,svgnames,x11names,table]{xcolor}%颜色宏包 % Driver-independent color extensions +\usepackage{tikz} +\usetikzlibrary{intersections, positioning, fit, backgrounds, shapes, fadings, +decorations.pathmorphing, graphs, quotes, angles, calc, through, backgrounds} % %Tikz指令库 +\usepackage{graphicx} %插图 +\usetikzlibrary{calc,fadings,patterns} +\usepackage{adjustbox} %修正minipage顶部对齐问题 + +% Define the layers to be used in document. +% ***************************************************** +\pgfdeclarelayer{background} %背景%底层 +\pgfdeclarelayer{foreground} %上层 +\pgfdeclarelayer{top} %顶部 +\pgfdeclarelayer{bottom} %底部 +\pgfsetlayers{bottom,background,main,foreground,top} +\definecolor{RED}{RGB}{220, 41, 26} +\definecolor{arc color}{HTML}{546E7A} + +\tikzfading[name=fade right, + right color =transparent!100, + left color=transparent!0] +\tikzfading[name=fade left, + left color =transparent!100, + right color=transparent!50] +\tikzfading[name=fade up, + top color =transparent!100, + bottom color=transparent!50] +\tikzfading[name=fade down, + bottom color =transparent!100, + top color=transparent!50] +\makeatletter +\newcommand{\aivcover}{ + \begin{scope}[opacity=0.8] + \coordinate (triangleA) at ([shift={(1cm,-1.5cm)}]current page.north); + \coordinate (triangleB) at ([shift={(-.75\linewidth,-.44\paperheight)}]triangleA); + \coordinate (triangleC) at ([shift={(.5\linewidth,-.44\paperheight)}]triangleA); + \draw[name path=triangle,very thick,coverfgcolor!70!white] + (triangleA)--(triangleB)--(triangleC)--cycle; + \draw[name path=circle,very thick,coverfgcolor!70!white] + ([shift={(-1.65cm,-7.8cm)}]triangleA) coordinate (O) circle(6cm); + %标注每个交点坐标 + \fill [name intersections={of=triangle and circle, name=i, total=\t}] + [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}] + \foreach \s in {1,...,\t}{(i-\s) circle (1em) node {}}; + \draw[name path=l,very thick,coverfgcolor!70!white] (i-1) -- (triangleC); + \draw[very thick,coverfgcolor!70!white] (i-6) -- (triangleB); + \draw[name path=l2,very thick,coverfgcolor!70!white] (i-4) -- (triangleA); + \fill[name intersections={of=l and circle,name=j,total=\l}] + [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}] + \foreach \c in {1,...,\l}{(j-\c) circle (1em) node {}}; + + \fill[name intersections={of=l2 and l,name=jj,total=\ll}] + [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}] + \foreach \cc in {1,...,\ll}{(jj-\cc) circle (1em) node {}}; + \end{scope} +} + +\newcommand{\lettercover}{ + \begin{scope}[opacity=0.8] + \coordinate (triangleA) at ([shift={(1cm,-1cm)}]current page.north); + \coordinate (triangleB) at ([shift={(-.85\linewidth,-.46\paperheight)}]triangleA); + \coordinate (triangleC) at ([shift={(.52\linewidth,-.46\paperheight)}]triangleA); + \draw[name path=triangle,very thick,coverfgcolor!70!white] + (triangleA)--(triangleB)--(triangleC)--cycle; + \draw[name path=circle,very thick,coverfgcolor!70!white] + ([shift={(-1.6cm,-7.3cm)}]triangleA) coordinate (O) circle(6cm); + %标注每个交点坐标 + \fill [name intersections={of=triangle and circle, name=i, total=\t}] + [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}] + \foreach \s in {1,...,\t}{(i-\s) circle (1em) node {}}; + \draw[name path=l,very thick,coverfgcolor!70!white] (i-1) -- (triangleC); + \draw[very thick,coverfgcolor!70!white] (i-6) -- (triangleB); + \draw[name path=l2,very thick,coverfgcolor!70!white] (i-4) -- (triangleA); + \fill[name intersections={of=l and circle,name=j,total=\l}] + [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}] + \foreach \c in {1,...,\l}{(j-\c) circle (1em) node {}}; + + \fill[name intersections={of=l2 and l,name=jj,total=\ll}] + [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}] + \foreach \cc in {1,...,\ll}{(jj-\cc) circle (1em) node {}}; + \end{scope} +} + +\newcommand*\makecover{ + \thispagestyle{empty} + \begin{tikzpicture}[remember picture,overlay] + \begin{pgfonlayer}{bottom} + \fill[coverfgcolor] + (current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor) + \fill[RED] + ([shift={(2.05cm,0)}]current page.north west) rectangle ([shift={(2.35cm,-6cm)}]current page.north west); + \fill[coverfgcolor!80,opacity=0.5] + ([shift={(0,-2cm)}]current page.north west) arc (90:-90:.3\paperheight) --cycle; + \fill[coverfgcolor!80,opacity=0.5] + ([shift={(0,-4cm)}]current page.north east) arc (90:270:.2\paperheight) --cycle; + \fill[coverfgcolor!80] + (current page.north west) rectangle ([shift={(2cm,0)}]current page.south west); + % /* -------------------------------------------------------------------------- */ + % /* 判断a4paper */ + % /* -------------------------------------------------------------------------- */ + \ifaivpaper@TF{\aivcover}{\lettercover} + % /* -------------------------------------------------------------------------- */ + % /* 判断a4paper */ + % /* -------------------------------------------------------------------------- */ +\end{pgfonlayer} +\begin{pgfonlayer}{foreground} + \fill[coverbar,opacity=.5] +([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形 +\end{pgfonlayer} +\shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=.3] +([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形 +\node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {% +\parbox{.8\paperwidth}{ +\filright +\color{white}\sffamily\fontsize{20}{23}\selectfont\@bookseries} +}; %系列丛书名称 +\node[ anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.57\paperheight]current page.north) +{\parbox{.8\paperwidth}{% + \raggedright% +{\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex] + \color{white}\sffamily\fontsize{30}{30}\selectfont + \ifdefvoid{\@subtitle}{}{\@subtitle}\par} +}};% 封面标题与副标题 +\node[anchor=west,font=\sffamily\fontsize{23}{23}\selectfont,text=white] at ([xshift=1.8\outermarginwidth,yshift=-.6\covershift]current page.west) {\@edition}; +\node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth,yshift=\covershift]current page.west) {\@author}; +\node[left,text=white,font=\rmfamily\Large,] at +([shift={(-1cm,2cm)}]current page.south east) % +{\raisebox{-1.1cm}{\includegraphics[width=0.2\linewidth]{\@presslogo}}\hspace*{-3.5ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};% +\end{tikzpicture}% + {\newpage\thispagestyle{empty}} +} +\makeatother + +\endinput + + + + + + + + + + + + + + + + + + + + + diff --git a/macros/latex/contrib/beautybook/stys/beautybook-cover-cn.sty b/macros/latex/contrib/beautybook/stys/beautybook-cover-cn.sty new file mode 100644 index 0000000000..176e740f6f --- /dev/null +++ b/macros/latex/contrib/beautybook/stys/beautybook-cover-cn.sty @@ -0,0 +1,103 @@ +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{stys/beautybook-cover-cn}[2024/06/30,v2.0] +\usetikzlibrary{calc,fadings,patterns} +\usepackage{adjustbox} %修正minipage顶部对齐问题 +%%%%===============================================================%%%%% +% \definecolor{coverbgcolor}{HTML}{9CCCDA} +% \definecolor{coverfgcolor}{HTML}{508E99} +% \definecolor{coverbar}{HTML}{305756} +\tikzfading[name=fade right, + right color =transparent!100, + left color=transparent!50] +\tikzfading[name=fade left, + left color =transparent!100, + right color=transparent!50] +\tikzfading[name=fade up, + top color =transparent!100, + bottom color=transparent!50] +\tikzfading[name=fade down, + bottom color =transparent!100, + top color=transparent!50] +\makeatletter +\newcommand*\makecover{ + %% Use the Tikz library positioning and clear the page header and footer + \usetikzlibrary{positioning} + \thispagestyle{empty} + \begin{tikzpicture}[remember picture,overlay] + \fill[coverfgcolor!75] + (current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor) + \fill[coverfgcolor!50] + ([xshift=-3\covershift,yshift=-.4\covershift]current page.east) rectangle ([yshift=-1.35\covershift]current page.east); % 被标题背景遮挡露出一部分的装饰矩形 + \fill[coverfgcolor] + ([xshift=\outermarginwidth]current page.north west) rectangle ([xshift=-\outermarginwidth,yshift=1.5\covershift]current page.south east); % 标题背景大矩形 + \fill[coverbar] + ([yshift=.44\covershift]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.4\covershift]current page.west); % 最左侧装饰矩形 + \node[left] at ([xshift=-1.8cm,yshift=-1.5cm]current page.north east) {% + \parbox{3\covershift}{ + \raggedleft + \color{white}\sffamily\bfseries\fontsize{18}{22}\selectfont\@bookseries} + }; %系列丛书名称 + \node[right] at ([xshift=\outermarginwidth,yshift=1.5*\covershift]current page.west) + {\parbox{.8\paperwidth}{% + \filright% + \color{white}\sffamily\bfseries\fontsize{30}{30}\selectfont\@title\\[-1.2ex] + \begin{tikzpicture} + \draw[white,line width=1pt] (0,0) --++ (\paperwidth-3\outermarginwidth,0); + \end{tikzpicture}\\[-.5ex] + \color{white}\sffamily\bfseries\fontsize{30}{30}\selectfont + \ifdefvoid{\@subtitle}{}{\@subtitle} + }};% 封面英文书名与中文书名 + \node[left,inner sep=0pt,outer sep=0pt] at ([xshift=1.2\outermarginwidth,yshift=1.8cm]current page.east) + {% + \adjustbox{valign=t}{ + \begin{minipage}{.25\textwidth} + \begin{tikzpicture} + \foreach \x/\r in {1.2/6,.8/4} { + \draw[white,line width=\x pt] (0,0) circle [radius=\r pt];} + \fill[white] (0,0) circle [radius=2.5pt]; + \end{tikzpicture} + \hspace{2pt}\color{white}\sffamily\fontsize{20}{25}\selectfont Editors + \end{minipage}} + \hfill + \adjustbox{valign=t}{\begin{minipage}{.45\textwidth} + \raggedright\color{white}\sffamily\fontsize{20}{25}\selectfont\@author + \end{minipage}} + };% 封面作者信息栏 + \fill [path picture={ \node at (path picture bounding box.center) + {\includegraphics[height=1.1\linewidth,keepaspectratio]{\@coverimage}};}] + ([xshift=\outermarginwidth]current page.south west) rectangle ++(1.8*\covershift,.575\paperheight); + \fill[pattern color=coverfgcolor!70,pattern=horizontal lines,opacity=0.8] + ([xshift=\outermarginwidth,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east); + \fill [coverfgcolor!80,path fading=fade right]% + ([xshift=\outermarginwidth+.5\linewidth+.5cm,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east); + \fill [coverfgcolor!80,path fading=fade left]% + ([xshift=\outermarginwidth+.5\linewidth+.5cm,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east); + \node[left,text=white,font=\rmfamily\Large,] at + ([shift={(-2cm,2cm)}]current page.south east) % + {\raisebox{-1.1cm}{\includegraphics[width=0.2\linewidth]{\@presslogo}}\hspace*{-3.5ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};% + \end{tikzpicture}% + {\newpage\thispagestyle{empty}}} +\makeatother +\endinput +% %%%%===============================================================%%%%% + + + + + + + + + + + + + + + + + + + + + diff --git a/macros/latex/contrib/beautybook/stys/beautybook-cover-en.sty b/macros/latex/contrib/beautybook/stys/beautybook-cover-en.sty new file mode 100644 index 0000000000..1c86810380 --- /dev/null +++ b/macros/latex/contrib/beautybook/stys/beautybook-cover-en.sty @@ -0,0 +1,87 @@ +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{stys/beautybook-cover-en}[2024/06/30,v2.0] +\usepackage{anyfontsize} % 提供\fontsize{}{}\selectfont命令 +\usepackage{etoolbox} %提供自定义封面选项接口 +\usepackage[dvipsnames,svgnames,x11names,table]{xcolor}%颜色宏包 % Driver-independent color extensions +\usepackage{tikz} +\usepackage{graphicx} %插图 +\usetikzlibrary{calc,fadings,patterns} +\usepackage{adjustbox} %修正minipage顶部对齐问题 +\tikzfading[name=fade right, + right color =transparent!100, + left color=transparent!50] +\tikzfading[name=fade left, + left color =transparent!100, + right color=transparent!50] +\tikzfading[name=fade up, + top color =transparent!100, % 完全透明 + bottom color=transparent!50] % 半透明 +\tikzfading[name=fade down, + bottom color =transparent!100, + top color=transparent!50] +\makeatletter +\newcommand*\makecover{ + %% Use the Tikz library positioning and clear the page header and footer + \usetikzlibrary{positioning} + \thispagestyle{empty} + \begin{tikzpicture}[remember picture,overlay] + \fill[coverfgcolor] + (current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor) + \coordinate (start) at ($(current page.east)!0.5!(current page.north east)+(1,-1)$); + \coordinate (end) at (current page.north west); + \foreach \i in {0,0.01,...,1} + { + \coordinate (point) at ($(start)!\i!(end)$); + \draw[coverfgcolor!50] + ($(point)+(310*\i:6)$)-- + ($(point)+(310*\i+120:6)$)-- + ($(point)+(310*\i+240:6)$)-- + ($(point)+(310*\i:6)$); + } + \coordinate (start) at (current page.south west); + \coordinate (end) at (current page.east); + \foreach \i in {0,0.02,...,1} + { + \coordinate (point) at ($(start)!\i!(end)$); + \draw[coverfgcolor!50] + ($(point)+(310*\i:10)$)-- + ($(point)+(310*\i+120:10)$)-- + ($(point)+(310*\i+240:10)$)-- + ($(point)+(310*\i:10)$); + } + \shade[bottom color=coverfgcolor,top color=coverfgcolor!70,opacity=0.7] + ([xshift=.5\outermarginwidth]current page.north west) rectangle (current page.south east); % 背景大矩形 + \shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=0.5] + ([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形 + \fill[coverbar!90,opacity=0.8] + ([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形 + \foreach \lx/\rx/\ry/\bc/\tc in { + 1/1.5/1.75/70/80,1.5/2/1.6/65/75,2/2.5/1.3/60/70,2.5/3/1/55/65,3/3.5/.7/50/60,3.5/4/1.2/60/70,4/4.5/1.9/75/85,4.5/5/1.1/55/65,5/5.5/1.2/60/70,6/6.5/1.6/65/75,6.5/7/1.3/60/70,7/7.5/1.87/70/80,7.5/8/1/55/65,8/8.5/.9/50/60,8.5/9/1.8/70/80,9/9.5/1.6/65/75,9.5/10/1.4/60/70,10/10.5/1/55/65,10.5/11/.7/50/60,11/11.5/1.3/55/65,11.5/12/1/70/80,12/12.5/1.3/65/75,12.5/13/1.6/60/70,13/13.5/1.75/55/65,13.5/14/1.6/65/75,14/14.5/1.3/60/70 + }{ + \shade[bottom color=coverfgcolor!\bc,top color=coverfgcolor!\tc,opacity=.5] + ([xshift=\lx\outermarginwidth]current page.north west) rectangle ([xshift=\rx\outermarginwidth,yshift=-\ry\covershift]current page.north west);%顶部琴键矩形 + } + \node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {% + \parbox{.8\paperwidth}{ + \filright + \color{white}\sffamily\fontsize{20}{23}\selectfont\@bookseries} + }; %系列丛书名称 + \node[ anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.57\paperheight]current page.north) + {\parbox{.8\paperwidth}{% + \raggedright% + {\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex] + \color{white}\sffamily\fontsize{30}{30}\selectfont + \ifdefvoid{\@subtitle}{}{\@subtitle}\par} + }};% 封面标题与副标题 + \node[anchor=west,font=\sffamily\fontsize{23}{23}\selectfont,text=white] at ([xshift=1.8\outermarginwidth,yshift=-.6\covershift]current page.west) {\@edition}; + \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth,yshift=\covershift]current page.west) {\@author}; + \node[left,text=white,font=\rmfamily\Large,] at + ([shift={(-1cm,2cm)}]current page.south east) % + {\raisebox{-1.1cm}{\includegraphics[width=0.2\linewidth]{\@presslogo}}\hspace*{-3.5ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};% + \end{tikzpicture}% + {\newpage\thispagestyle{empty}} +} +\makeatother +%%%%===============================================================%%%%% +%%------------------------------------------------------封面设计--------------------------------------------------------%% +\endinput \ No newline at end of file diff --git a/macros/latex/contrib/beautybook/stys/beautybook-cover-enfig.sty b/macros/latex/contrib/beautybook/stys/beautybook-cover-enfig.sty new file mode 100644 index 0000000000..e84129ddea --- /dev/null +++ b/macros/latex/contrib/beautybook/stys/beautybook-cover-enfig.sty @@ -0,0 +1,52 @@ +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{stys/beautybook-cover-enfig}[2024/06/30,v2.0] +\tikzfading[name=fade right, + right color =transparent!100, + left color=transparent!0] +\tikzfading[name=fade left, + left color =transparent!100, + right color=transparent!50] +\tikzfading[name=fade up, + top color =transparent!100, + bottom color=transparent!50] +\tikzfading[name=fade down, + bottom color =transparent!100, + top color=transparent!50] +\makeatletter +\newcommand*\makecover{ + %% Use the Tikz library positioning and clear the page header and footer + \usetikzlibrary{positioning} + \thispagestyle{empty} + \begin{tikzpicture}[remember picture,overlay] + \begin{pgfonlayer}{bottom} + \node[opacity=0.8,inner sep=0pt] at (current + page.center){\includegraphics[width=\paperwidth,height=\paperheight]{\@coverimage}}; + \end{pgfonlayer} + \shade[left color=coverbgcolor!70,right color=coverbgcolor!50,path fading=fade right,opacity=.5] + ([xshift=.5\outermarginwidth]current page.north west) rectangle ([xshift=4\outermarginwidth]current page.south west); % 背景大矩形虚化 + \shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=.8] + ([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形 + \fill[coverbar,opacity=0.8] + ([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形 + \node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {% + \parbox{.8\paperwidth}{ + \filright + \color{white}\sc\fontsize{20}{23}\selectfont\@bookseries} + }; %系列丛书名称 + \node[ anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.55\paperheight]current page.north) + {\parbox{.8\paperwidth}{% + \raggedright% + {\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex] + \color{white}\sc\fontsize{30}{30}\selectfont + \ifdefvoid{\@subtitle}{}{\@subtitle}\par} + }};% 封面标题与副标题 + \node[anchor=west,font=\sc\fontsize{23}{23}\selectfont,text=white] at ([xshift=1.8\outermarginwidth,yshift=-.6\covershift]current page.west) {\@edition}; + \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth,yshift=\covershift]current page.west) {\@author}; + \node[left,text=white,font=\rmfamily\Large,] at + ([shift={(-1cm,2cm)}]current page.south east) % + {\raisebox{-1.1cm}{\includegraphics[width=0.2\linewidth]{\@presslogo}}\hspace*{-3.5ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};% + \end{tikzpicture}% + {\newpage\thispagestyle{empty}} +} +\makeatother +\endinput diff --git a/macros/latex/contrib/preview/preview.dtx b/macros/latex/contrib/preview/preview.dtx index f8b72e0522..cafb03636d 100644 --- a/macros/latex/contrib/preview/preview.dtx +++ b/macros/latex/contrib/preview/preview.dtx @@ -20,7 +20,7 @@ % Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, % Boston, MA 02110-1301 USA % \fi -% \CheckSum{1758} +% \CheckSum{1770} % \GetFileInfo{preview.sty} % \date{\filedate} % \author{David Kastrup\thanks{\texttt{bug-auctex@gnu.org}}} @@ -437,8 +437,8 @@ %<*style> %<*!active> \NeedsTeXFormat{LaTeX2e} -\def\pr@version{13.3} -\def\pr@date{2024/01/17} +\def\pr@version{14.0.6} +\def\pr@date{2024/06/30} \ProvidesPackage{preview}[\pr@date\space \pr@version\space (AUCTeX/preview-latex)] % \end{macrocode} % \end{macro} @@ -1427,11 +1427,17 @@ Please complain to your document class author}% %\PreviewMacro*[?[{@{[]}}{}][#1]\item %\PreviewMacro*\emph %\PreviewMacro*\textrm +%\PreviewMacro*\textbf %\PreviewMacro*\textit %\PreviewMacro*\textsc %\PreviewMacro*\textsf %\PreviewMacro*\textsl %\PreviewMacro*\texttt +%\PreviewMacro*\textulc +%\PreviewMacro*\textmd +%\PreviewMacro*\textnormal +%\PreviewMacro*\textup +%\PreviewMacro*\textsw %\PreviewMacro*\textcolor %\PreviewMacro*\mbox %\PreviewMacro*[][#1{}]\author @@ -1891,7 +1897,7 @@ Please complain to your document class author}% % \Finale{} % \iffalse % Local Variables: -% mode: doctex +% mode: docTeX % TeX-master: "preview.drv" % End: % \fi diff --git a/macros/latex/contrib/preview/preview.pdf b/macros/latex/contrib/preview/preview.pdf index 4728d12e42..57f681d0c3 100644 Binary files a/macros/latex/contrib/preview/preview.pdf and b/macros/latex/contrib/preview/preview.pdf differ diff --git a/macros/latex/contrib/sjtutex/sjtutex.dtx b/macros/latex/contrib/sjtutex/sjtutex.dtx index ab429d6850..bcf46b7fbe 100644 --- a/macros/latex/contrib/sjtutex/sjtutex.dtx +++ b/macros/latex/contrib/sjtutex/sjtutex.dtx @@ -216,7 +216,7 @@ Please update your TeX distribution}{}} % %<*!(driver|install)> -%<+!driver>\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu $ +%<+!driver>\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ % {Thesis document class for Shanghai Jiao Tong University (SJTUTeX)} %\ProvidesExplClass{sjtuthesis} % {Report document class for Shanghai Jiao Tong University (SJTUTeX)} @@ -335,7 +335,7 @@ %\ProvidesExplFile{sjtu-cjk-font-founder-zh.def} % {Founder CJK fonts definition for Japanese (SJTUTeX)} %\ProvidesExplFile{sjtu-cjk-font-founder-ja.def} -% {\ExplFileDate}{2.1.2}{\ExplFileDescription} +% {\ExplFileDate}{2.1.3}{\ExplFileDescription} % % %<*driver> @@ -343,7 +343,7 @@ \documentclass{ctxdoc} \newcommand{\sjtutex}{SJTU\TeX} \expandafter\def\csname ver@\jobname.dtx\endcsname - {2024/04/05 v2.1.2 SJTUTeX} + {2024/06/29 v2.1.3 SJTUTeX} \usepackage{float} \usepackage{multirow} \usepackage{longtable} @@ -1638,6 +1638,14 @@ % \urlprefix\url{https://ctan.org/pkg/ctex} % \urlprefix\CTANurl[文档及源代码:]{language/chinese/ctex/ctex.pdf} % +% \bibitem{zhlineskip} +% 张瑞熹. +% \newblock \textit{zhlineskip 宏包}\allowbreak[EB/OL]. +% \newblock version 1.0e, +% \newblock (2019-05-15). +% \urlprefix\url{https://ctan.org/pkg/zhlineskip} +% \urlprefix\CTANurl[文档:]{language/chinese/zhlineskip/zhlineskip.pdf} +% % \bibitem{fduthesis} % 曾祥东. % \newblock \textit{fduthesis: 复旦大学论文模板}\allowbreak[EB/OL]. @@ -4076,6 +4084,11 @@ % \exp_not:N \zihao { \g_@@_zihao_tl } % equation-font .initial:V = \c_empty_tl } +% \end{macrocode} +% \end{macro} +% +% 借用 \pkg{zhlineskip} 宏包的代码设置行间公式字体。 +% \begin{macrocode} \clist_map_inline:nn { array, matrix, pmatrix, bmatrix, Bmatrix, vmatrix, Vmatrix, @@ -4101,7 +4114,6 @@ \spread@equation } % \end{macrocode} -% \end{macro} % % \subsection{数学环境} % @@ -5318,23 +5330,24 @@ % \end{macro} % % \changes{v2.1.2}{2024/03/31}{改用 \pkg{titletoc} 设置目录格式。} +% \changes{v2.1.3}{2024/06/28}{更新目录样式。} % \begin{macrocode} \tl_set:Nn \SJTU@leaders { \titlerule* [ 4bp ] { . } } \contentsmargin [ 2.55 em ] { 0 pt } %
\titlecontents { section } %\titlecontents { chapter } [ 0 pt ] { \addvspace { 6 bp } \bfseries } - { \contentspush { \thecontentslabel \quad } } { } + { \contentspush { \thecontentslabel \enskip } } { } { \SJTU@leaders \thecontentspage } %
\titlecontents { subsection } %\titlecontents { section } [ 2 em ] { } - { \contentspush { \thecontentslabel \quad } } { } + { \contentspush { \thecontentslabel \enskip } } { } { \SJTU@leaders \thecontentspage } %
\titlecontents { subsubsection } %\titlecontents { subsection } [ 4 em ] { } - { \contentspush { \thecontentslabel \quad } } { } + { \contentspush { \thecontentslabel \enskip } } { } { \SJTU@leaders \thecontentspage } % \end{macrocode} % @@ -5357,7 +5370,7 @@ { \SJTU@listof {#4} {#2} } \titlecontents {#2} [ 0 pt ] { } - { \contentspush { #3 \space \thecontentslabel \quad } } { } + { \contentspush { #3 \space \thecontentslabel \enskip } } { } { \SJTU@leaders \thecontentspage } \exp_args:Nnv \contentsuse {#2} { ext@ #2 } } @@ -6044,7 +6057,7 @@ { address } { Shanghai,~ P.R.~ China } , { author } { Author } , { supervisor } { Supervisor } , - { assoc_supervisor } { Assoc.~ Supervisor } , + { assoc_supervisor } { Assoc.\ Supervisor } , { co_supervisor } { Co-supervisor } , { title_page } { Title~ Page } , { declaration } { Statutory~ Declaration } , diff --git a/macros/latex/contrib/sjtutex/sjtutex.pdf b/macros/latex/contrib/sjtutex/sjtutex.pdf index ae3ed269b6..a5994fd3be 100644 Binary files a/macros/latex/contrib/sjtutex/sjtutex.pdf and b/macros/latex/contrib/sjtutex/sjtutex.pdf differ -- cgit v1.2.3