1483 lines
49 KiB
TeX
1483 lines
49 KiB
TeX
%%%%%%%%%%%%%%%%%%%%%%
|
||
%% start of file `elegantbook.cls'.
|
||
%% Copyright 2013-2022 ElegantLaTeX (elegantlatex2e@gmail.com)
|
||
%%
|
||
%% This work may be distributed and/or modified freely
|
||
%% available at https://github.com/ElegantLaTeX/ElegantBook
|
||
%
|
||
%%%%%%%%%%%%%%%%%%%%%
|
||
% % !Mode:: "TeX:UTF-8"
|
||
\NeedsTeXFormat{LaTeX2e}
|
||
\ProvidesClass{elegantbookzero}[2022/12/31 v4.5 ElegantBook document class]
|
||
|
||
|
||
%%%
|
||
\RequirePackage{kvoptions}
|
||
\RequirePackage{etoolbox}
|
||
\SetupKeyvalOptions{family=ELEGANT, prefix=ELEGANT@, setkeys=\kvsetkeys}
|
||
\newcommand{\ekv}[1]{\kvsetkeys{ELEGANT}{#1}}
|
||
% ----- Colors -----
|
||
\DeclareStringOption[blue]{color}
|
||
\DeclareStringOption[en]{lang}
|
||
\DeclareStringOption[answer]{result}
|
||
\DeclareStringOption[fancy]{mode}
|
||
\DeclareStringOption[normal]{device}
|
||
\DeclareStringOption[cm]{math}
|
||
\DeclareStringOption[marginfalse]{marginpar}
|
||
\DeclareStringOption[onecol]{toc}
|
||
\DeclareStringOption{scheme}
|
||
|
||
% ----- backward compatibility
|
||
\DeclareVoidOption{green}{\ekv{color=green}}
|
||
\DeclareVoidOption{cyan}{\ekv{color=cyan}}
|
||
\DeclareVoidOption{blue}{\ekv{color=blue}}
|
||
\DeclareVoidOption{gray}{\ekv{color=gray}}
|
||
\DeclareVoidOption{black}{\ekv{color=black}}
|
||
\DeclareVoidOption{nocolor}{\ekv{color=none}}
|
||
|
||
\DeclareVoidOption{chinese}{\ekv{scheme=chinese}}
|
||
|
||
\DeclareStringOption[ctexfont]{chinesefont}
|
||
\DeclareVoidOption{ctexfont}{\ekv{chinesefont=ctexfont}}
|
||
\DeclareVoidOption{founder}{\ekv{chinesefont=founder}}
|
||
\DeclareVoidOption{nofont}{\ekv{chinesefont=nofont}}
|
||
|
||
\DeclareVoidOption{en}{\ekv{lang=en}}
|
||
\DeclareVoidOption{cn}{\ekv{lang=cn}}
|
||
\DeclareVoidOption{it}{\ekv{lang=it}}
|
||
\DeclareVoidOption{fr}{\ekv{lang=fr}}
|
||
\DeclareVoidOption{nl}{\ekv{lang=nl}}
|
||
\DeclareVoidOption{hu}{\ekv{lang=hu}}
|
||
\DeclareVoidOption{de}{\ekv{lang=de}}
|
||
\DeclareVoidOption{mn}{\ekv{lang=mn}}
|
||
\DeclareVoidOption{pt}{\ekv{lang=pt}}
|
||
\DeclareVoidOption{jp}{\ekv{lang=jp}}
|
||
|
||
\DeclareVoidOption{fancy}{\ekv{mode=fancy}}
|
||
\DeclareVoidOption{simple}{\ekv{mode=simple}}
|
||
\DeclareBoolOption[false]{usesamecnt}
|
||
|
||
\DeclareVoidOption{answer}{\ekv{result=answer}}
|
||
\DeclareVoidOption{noanswer}{\ekv{result=noanswer}}
|
||
|
||
\DeclareVoidOption{normal}{\ekv{device=normal}}
|
||
\DeclareVoidOption{pad}{\ekv{device=pad}}
|
||
|
||
\DeclareStringOption[numeric-comp]{citestyle}
|
||
\DeclareStringOption[numeric]{bibstyle}
|
||
|
||
\DeclareVoidOption{newtx}{\ekv{math=newtx}}
|
||
\DeclareVoidOption{mtpro2}{\ekv{math=mtpro2}}
|
||
\DeclareVoidOption{cm}{\ekv{math=cm}}
|
||
|
||
\DeclareVoidOption{margintrue}{\ekv{marginpar=margintrue}}
|
||
\DeclareVoidOption{marginfalse}{\ekv{marginpar=marginfalse}}
|
||
|
||
|
||
\DeclareVoidOption{onecol}{\ekv{toc=onecol}}
|
||
\DeclareVoidOption{twocol}{\ekv{toc=twocol}}
|
||
|
||
\DeclareStringOption[chapter]{thmcnt}
|
||
\DeclareVoidOption{chapter}{\ekv{thmcnt=chapter}}
|
||
\DeclareVoidOption{section}{\ekv{thmcnt=section}}
|
||
|
||
\DeclareStringOption[biber]{bibend}
|
||
\DeclareVoidOption{biber}{\ekv{bibend=biber}}
|
||
\DeclareVoidOption{bibtex}{\ekv{bibend=bibtex}}
|
||
|
||
|
||
% ----- Math option -----
|
||
\newcommand\mailto[1]{\href{mailto:#1}{\nolinkurl{#1}}}
|
||
|
||
% ----- Title Style -----
|
||
\DeclareStringOption[hang]{titlestyle}[hang]
|
||
% ----- backward compatibility
|
||
\DeclareVoidOption{hang}{\ekv{titlestyle=hang}}
|
||
\DeclareVoidOption{display}{\ekv{titlestyle=display}}
|
||
% ----- Default Options -----
|
||
\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{book}}
|
||
|
||
\ProcessKeyvalOptions*\relax
|
||
% \ProcessOptions*\relax
|
||
\LoadClass[a4paper,oneside]{book}
|
||
|
||
\RequirePackage{setspace}
|
||
|
||
\RequirePackage{csquotes}
|
||
|
||
|
||
\RequirePackage{hyperref}
|
||
\hypersetup{
|
||
breaklinks,
|
||
unicode,
|
||
linktoc=all,
|
||
bookmarksnumbered=true,
|
||
bookmarksopen=true,
|
||
pdfkeywords={ElegantBook},
|
||
colorlinks,
|
||
linkcolor=winered,
|
||
citecolor=winered,
|
||
urlcolor=winered,
|
||
plainpages=false,
|
||
pdfstartview=FitH,
|
||
pdfborder={0 0 0},
|
||
linktocpage
|
||
}
|
||
\newif\ifELEGANT@Hy@later
|
||
\@ifpackagelater{hyperref}{2022/05/16}
|
||
{\ELEGANT@Hy@latertrue}
|
||
{\ELEGANT@Hy@laterfalse}
|
||
|
||
%% device settings
|
||
\RequirePackage{geometry}
|
||
\ifdefstring{\ELEGANT@device}{normal}{
|
||
\geometry{
|
||
a4paper,
|
||
top=25.4mm, bottom=25.4mm,
|
||
left=20mm, right=20mm,
|
||
headheight=2.17cm,
|
||
headsep=4mm,
|
||
footskip=12mm
|
||
}
|
||
\ifdefstring{\ELEGANT@marginpar}{margintrue}{
|
||
\geometry{
|
||
marginparwidth=5cm, marginparsep=5mm,
|
||
left=2cm,right=7cm}}{\relax}}{
|
||
\relax}
|
||
|
||
\ifdefstring{\ELEGANT@device}{pad}{
|
||
\geometry{
|
||
paperwidth=7.5in,
|
||
paperheight=10in,
|
||
margin=16mm,
|
||
headheight=2.17cm,
|
||
footskip=4mm
|
||
}}{\relax}
|
||
|
||
|
||
\RequirePackage{indentfirst,comment}
|
||
% fontsetting
|
||
\ifdefstring{\ELEGANT@math}{mtpro2}{
|
||
\let\Bbbk\relax
|
||
\RequirePackage[lite]{mtpro2}
|
||
}{\relax}
|
||
|
||
\setcounter{tocdepth}{1}
|
||
\renewcommand{\baselinestretch}{1.2}
|
||
|
||
\PassOptionsToPackage{no-math}{fontspec}
|
||
\PassOptionsToPackage{quiet}{fontspec}
|
||
\RequirePackage{iftex}
|
||
|
||
\ifpdftex
|
||
\RequirePackage{newtxtext}
|
||
\RequirePackage[scaled=.90]{helvet}
|
||
\else
|
||
\RequirePackage[no-math]{fontspec}
|
||
\setmainfont{TeXGyreTermesX}[
|
||
UprightFont = *-Regular ,
|
||
BoldFont = *-Bold ,
|
||
ItalicFont = *-Italic ,
|
||
BoldItalicFont = *-BoldItalic ,
|
||
Extension = .otf ,
|
||
Scale = 1.0]
|
||
|
||
\setsansfont{texgyreheros}[
|
||
UprightFont = *-regular ,
|
||
BoldFont = *-bold ,
|
||
ItalicFont = *-italic ,
|
||
BoldItalicFont = *-bolditalic ,
|
||
Extension = .otf ,
|
||
Scale = 0.9]
|
||
\fi
|
||
|
||
\ifdefstring{\ELEGANT@lang}{cn}{
|
||
\ifdefstring{\ELEGANT@chinesefont}{founder}{
|
||
\RequirePackage[UTF8, scheme=plain, fontset=none]{ctex}
|
||
\setCJKmainfont[BoldFont={FZHei-B01},ItalicFont={FZKai-Z03}]{FZShuSong-Z01}
|
||
\setCJKsansfont[BoldFont={FZHei-B01}]{FZKai-Z03}
|
||
\setCJKmonofont[BoldFont={FZHei-B01}]{FZFangSong-Z02}
|
||
\setCJKfamilyfont{zhsong}{FZShuSong-Z01}
|
||
\setCJKfamilyfont{zhhei}{FZHei-B01}
|
||
\setCJKfamilyfont{zhkai}[BoldFont={FZHei-B01}]{FZKai-Z03}
|
||
\setCJKfamilyfont{zhfs}[BoldFont={FZHei-B01}]{FZFangSong-Z02}
|
||
\newcommand*{\songti}{\CJKfamily{zhsong}}
|
||
\newcommand*{\heiti}{\CJKfamily{zhhei}}
|
||
\newcommand*{\kaishu}{\CJKfamily{zhkai}}
|
||
\newcommand*{\fangsong}{\CJKfamily{zhfs}}}{\relax}
|
||
|
||
\ifdefstring{\ELEGANT@chinesefont}{nofont}{
|
||
\RequirePackage[UTF8,scheme=plain,fontset=none]{ctex}
|
||
\xeCJKsetup{AutoFakeBold=true}
|
||
}{\relax}
|
||
|
||
\ifdefstring{\ELEGANT@chinesefont}{ctexfont}{
|
||
\RequirePackage[UTF8,scheme=plain]{ctex}
|
||
\xeCJKsetup{AutoFakeBold=true}
|
||
}{\relax}
|
||
|
||
\AfterEndPreamble{
|
||
\setlength\parindent{2\ccwd}}
|
||
}{\relax}
|
||
|
||
\ifcsname heiti\endcsname
|
||
\newcommand{\cbfseries}{\heiti}
|
||
\else
|
||
\newcommand{\cbfseries}{\bfseries}
|
||
\fi
|
||
|
||
|
||
\ifcsname kaishu\endcsname
|
||
\newcommand{\citshape}{\kaishu}
|
||
\else
|
||
\newcommand{\citshape}{\itshape}
|
||
\fi
|
||
\ifcsname kaishu\endcsname
|
||
\newcommand{\cnormal}{\kaishu}
|
||
\else
|
||
\newcommand{\cnormal}{\normalfont}
|
||
\fi
|
||
|
||
\ifcsname fangsong\endcsname
|
||
\newcommand{\cfs}{\fangsong}
|
||
\else
|
||
\newcommand{\cfs}{\normalfont}
|
||
\fi
|
||
|
||
\RequirePackage{anyfontsize}
|
||
\ifdefstring{\ELEGANT@math}{newtx}{
|
||
\let\oldencodingdefault\encodingdefault
|
||
\let\oldrmdefault\rmdefault
|
||
\let\oldsfdefault\sfdefault
|
||
\let\oldttdefault\ttdefault
|
||
\def\encodingdefault{T1}
|
||
\renewcommand{\rmdefault}{ntxtlf}
|
||
\renewcommand{\sfdefault}{qhv}
|
||
\renewcommand{\ttdefault}{ntxtt}
|
||
\RequirePackage{newtxmath}
|
||
\let\encodingdefault\oldencodingdefault
|
||
\let\rmdefault\oldrmdefault
|
||
\let\sfdefault\oldsfdefault
|
||
\let\ttdefault\oldttdefault
|
||
\let\Bbbk\relax
|
||
\RequirePackage{esint}
|
||
%%% use yhmath pkg, uncomment following code
|
||
% \let\oldwidering\widering
|
||
% \let\widering\undefined
|
||
% \RequirePackage{yhmath}
|
||
% \let\widering\oldwidering
|
||
|
||
%%% use esvect pkg, uncomment following code
|
||
% \RequirePackage{esvect}
|
||
|
||
\DeclareSymbolFont{CMlargesymbols}{OMX}{cmex}{m}{n}
|
||
\let\sumop\relax\let\prodop\relax
|
||
\DeclareMathSymbol{\sumop}{\mathop}{CMlargesymbols}{"50}
|
||
\DeclareMathSymbol{\prodop}{\mathop}{CMlargesymbols}{"51}
|
||
}{\relax}
|
||
|
||
|
||
% ----- Handle Colors -----
|
||
%% 章节以及页脚图形
|
||
|
||
\RequirePackage[table]{xcolor}
|
||
\ifdefstring{\ELEGANT@color}{green}{
|
||
\definecolor{structurecolor}{RGB}{0,120,2}%
|
||
\definecolor{main}{RGB}{0,120,2}%
|
||
\definecolor{second}{RGB}{230,90,7}%
|
||
\definecolor{third}{RGB}{0,160,152}%
|
||
}{\relax}
|
||
\ifdefstring{\ELEGANT@color}{cyan}{
|
||
\definecolor{structurecolor}{RGB}{31,186,190}%
|
||
\definecolor{main}{RGB}{59,180,5}%
|
||
\definecolor{second}{RGB}{175,153,8}%
|
||
\definecolor{third}{RGB}{244,105,102}%
|
||
}{\relax}
|
||
\ifdefstring{\ELEGANT@color}{blue}{
|
||
\definecolor{structurecolor}{RGB}{60,113,183}
|
||
\definecolor{main}{RGB}{0,166,82}%
|
||
\definecolor{second}{RGB}{255,134,24}%
|
||
\definecolor{third}{RGB}{0,174,247}%
|
||
}{\relax}
|
||
\ifdefstring{\ELEGANT@color}{gray}{
|
||
\definecolor{structurecolor}{RGB}{150,150,150}
|
||
\definecolor{main}{RGB}{150,150,150}%
|
||
\definecolor{second}{RGB}{150,150,150}%
|
||
\definecolor{third}{RGB}{150,150,150}%
|
||
}{\relax}
|
||
\ifdefstring{\ELEGANT@color}{black}{
|
||
\definecolor{structurecolor}{RGB}{0,0,0}
|
||
\definecolor{main}{RGB}{0,0,0}%
|
||
\definecolor{second}{RGB}{0,0,0}%
|
||
\definecolor{third}{RGB}{0,0,0}%
|
||
}{\relax}
|
||
|
||
%green color
|
||
\definecolor{structure1}{RGB}{0,120,2}%
|
||
\definecolor{main1}{RGB}{0,120,2}%
|
||
\definecolor{second1}{RGB}{230,90,7}%
|
||
\definecolor{third1}{RGB}{0,160,152}%
|
||
%cyan color
|
||
\definecolor{structure2}{RGB}{31,186,190}%
|
||
\definecolor{main2}{RGB}{59,180,5}%
|
||
\definecolor{second2}{RGB}{175,153,8}%
|
||
\definecolor{third2}{RGB}{244,105,102}%
|
||
%blue color
|
||
\definecolor{structure3}{RGB}{60,113,183}
|
||
\definecolor{main3}{RGB}{0,166,82}%
|
||
\definecolor{second3}{RGB}{255,134,24}%
|
||
\definecolor{third3}{RGB}{0,174,247}%
|
||
% gray color
|
||
\definecolor{structure4}{RGB}{150,150,150}
|
||
\definecolor{main4}{RGB}{150,150,150}%
|
||
\definecolor{second4}{RGB}{150,150,150}%
|
||
\definecolor{third4}{RGB}{150,150,150}%
|
||
% black color
|
||
\definecolor{structure5}{RGB}{0,0,0}
|
||
\definecolor{main5}{RGB}{0,0,0}%
|
||
\definecolor{second5}{RGB}{0,0,0}%
|
||
\definecolor{third5}{RGB}{0,0,0}%
|
||
|
||
% corlor definition
|
||
\definecolor{winered}{rgb}{0.5,0,0}
|
||
\definecolor{bule}{RGB}{18,29,57}
|
||
\colorlet{coverlinecolor}{second}
|
||
|
||
|
||
% ----- Title Style -----
|
||
\ifdefstring{\ELEGANT@titlestyle}{hang}{\def\style{hang}}{\relax}
|
||
\ifdefstring{\ELEGANT@titlestyle}{display}{\def\style{display}}{\relax}
|
||
|
||
% reference:
|
||
% https://tex.stackexchange.com/questions/58506/how-to-make-a-new-command-similar-to-author
|
||
% https://pastebin.com/C8W4axzV
|
||
\newcommand\email[1]{\href{mailto:#1}{\nolinkurl{#1}}}
|
||
|
||
\global\let\@title\@empty
|
||
\global\let\@author\@empty
|
||
\global\let\@date\@empty
|
||
\newcommand{\subtitle}[1]{\gdef\@subtitle{#1}}
|
||
\newcommand{\institute}[1]{\gdef\@institute{#1}}
|
||
\newcommand{\version}[1]{\gdef\@version{#1}}
|
||
\newcommand{\extrainfo}[1]{\gdef\@extrainfo{#1}}
|
||
|
||
\RequirePackage{mwe}
|
||
\newcommand{\logo}[1]{\gdef\@logo{#1}}
|
||
\newcommand{\cover}[1]{\gdef\@cover{#1}}
|
||
|
||
\newcommand{\question}[1]{{\par\citshape #1}\\[0.2ex]}
|
||
|
||
\RequirePackage{enumerate}
|
||
% list/itemize/enumerate setting
|
||
\RequirePackage[shortlabels,inline]{enumitem}
|
||
\setlist{nolistsep}
|
||
|
||
\RequirePackage[labelfont={bf,color=structurecolor}]{caption}
|
||
\captionsetup[table]{skip=3pt}
|
||
\captionsetup[figure]{skip=3pt}
|
||
|
||
\AtBeginDocument{
|
||
\setlength{\abovedisplayskip}{3pt}
|
||
\setlength{\belowdisplayskip}{3pt}
|
||
\RequirePackage[flushmargin,stable]{footmisc}
|
||
\setlength{\footnotesep}{12pt}
|
||
}
|
||
|
||
|
||
|
||
\RequirePackage{graphicx}
|
||
%\RequirePackage{enumerate}
|
||
\RequirePackage{amsmath,mathrsfs,amsfonts,amssymb}
|
||
% \providecommand\qed{}
|
||
% \renewcommand{\qed}{\hfill\ensuremath{\square}}
|
||
\RequirePackage{booktabs}
|
||
\RequirePackage{multicol,multirow}
|
||
|
||
\RequirePackage{fancyvrb}
|
||
\RequirePackage{makecell,lipsum,hologo}
|
||
%%中文结构名字
|
||
|
||
|
||
%% 章节设置
|
||
\RequirePackage[center,pagestyles]{titlesec}
|
||
\RequirePackage[title,titletoc,header]{appendix}
|
||
|
||
|
||
\RequirePackage[
|
||
backend=\ELEGANT@bibend,
|
||
citestyle=\ELEGANT@citestyle,
|
||
bibstyle=\ELEGANT@bibstyle]{biblatex}
|
||
|
||
\ifdefstring{\ELEGANT@lang}{cn}{
|
||
\renewcommand{\baselinestretch}{1.3}
|
||
\renewcommand{\contentsname}{目录}
|
||
\renewcommand{\figurename}{图}
|
||
\renewcommand{\tablename}{表}
|
||
\renewcommand{\partname}{\color{structurecolor}}
|
||
\renewcommand{\thepart}{第\zhnumber{\arabic{part}}部分}
|
||
\renewcommand{\listfigurename}{插图目录}
|
||
\renewcommand{\listtablename}{表格目录}
|
||
\renewcommand{\bibname}{参考文献}
|
||
\newcommand{\ebibname}{参考文献}
|
||
\renewcommand{\appendixname}{附录}
|
||
\renewcommand{\appendixtocname}{附录}
|
||
\renewcommand{\indexname}{索\hspace{2em}引}
|
||
\newcommand\figref[1]{\textbf{图}~\ref{#1}}
|
||
\newcommand\tabref[1]{\textbf{表}~\ref{#1}}
|
||
\newcommand{\authorname}{\citshape 作者:}
|
||
\newcommand{\institutename}{\citshape 组织:}
|
||
\newcommand{\datename}{\citshape 时间:}
|
||
\newcommand{\versionname}{\citshape 版本:}
|
||
\newcommand{\notename}{笔记}
|
||
\renewcommand*{\proofname}{证明}
|
||
\newcommand{\definitionname}{定义}
|
||
\newcommand{\theoremname}{定理}
|
||
\newcommand{\axiomname}{公理}
|
||
\newcommand{\postulatename}{公设}
|
||
\newcommand{\lemmaname}{引理}
|
||
\newcommand{\propositionname}{命题}
|
||
\newcommand{\corollaryname}{推论}
|
||
\newcommand{\examplename}{例题} %
|
||
\newcommand{\instancename}{示例} %
|
||
\newcommand{\problemname}{问题} % 问题
|
||
\newcommand{\exercisename}{练习} % 练习=习题
|
||
\newcommand{\remarkname}{注}
|
||
\newcommand{\assumptionname}{假设}
|
||
\newcommand{\conclusionname}{结论}
|
||
\newcommand{\solutionname}{解}
|
||
\newcommand{\propertyname}{性质}
|
||
\newcommand{\introductionname}{内容提要}
|
||
\newcommand\bioinfo[2]{\gdef\@bioinfo{{\citshape #1}:#2}}
|
||
\newcommand{\updatename}{更新:}
|
||
\newcommand{\historyname}{版本更新历史}
|
||
\newcommand{\beforechap}{第}
|
||
\newcommand{\afterchap}{章}
|
||
}{\relax}
|
||
|
||
|
||
\ifdefstring{\ELEGANT@lang}{en}{
|
||
\setlength\parindent{2em}
|
||
\newcommand\figref[1]{\textbf{Figure}~\ref{#1}}
|
||
\newcommand\tabref[1]{\textbf{Table}~\ref{#1}}
|
||
\renewcommand{\chaptername}{Chapter}
|
||
\renewcommand{\partname}{\color{structurecolor} Part}
|
||
\newcommand{\authorname}{\textbf{Author: }}
|
||
\newcommand{\institutename}{\textbf{Institute: }}
|
||
\newcommand{\datename}{\textbf{Date: }}
|
||
\newcommand{\versionname}{\textbf{Version: }}
|
||
\newcommand{\notename}{Note}
|
||
\newcommand{\proofname}{Proof}
|
||
\newcommand{\problemname}{Problem}
|
||
\newcommand{\definitionname}{Definition}
|
||
\newcommand{\theoremname}{Theorem}
|
||
\newcommand{\axiomname}{Axiom}
|
||
\newcommand{\postulatename}{Postulate}
|
||
\newcommand{\lemmaname}{Lemma}
|
||
\newcommand{\propositionname}{Proposition}
|
||
\newcommand{\corollaryname}{Corollary}
|
||
\newcommand{\examplename}{Example}
|
||
\newcommand{\exercisename}{Exercise}
|
||
\newcommand{\remarkname}{Remark}
|
||
\newcommand{\assumptionname}{Assumption}
|
||
\newcommand{\conclusionname}{Conclusion}
|
||
\newcommand{\solutionname}{Solution}
|
||
\newcommand{\propertyname}{Property}
|
||
\newcommand{\introductionname}{Introduction}
|
||
\renewcommand{\appendixname}{Appendix}
|
||
\newcommand{\ebibname}{Bibliography}
|
||
% \newcommand{\problemsetname}{Exercise}
|
||
\newcommand\bioinfo[2]{\gdef\@bioinfo{\textbf{#1}: #2}}
|
||
\newcommand{\updatename}{Updates:}
|
||
\newcommand{\historyname}{Version History}
|
||
}{\relax}
|
||
|
||
\ifdefstring{\ELEGANT@lang}{it}{
|
||
% \RequirePackage[utf8]{inputenc}
|
||
\RequirePackage[italian]{babel}
|
||
% \RequirePackage[T1]{fontenc}
|
||
\setlength\parindent{2em}
|
||
\newcommand\figref[1]{\textbf{Figura}~\ref{#1}}
|
||
\newcommand\tabref[1]{\textbf{Tabella}~\ref{#1}}
|
||
\renewcommand{\chaptername}{Chapter}
|
||
\newcommand{\authorname}{\textbf{Autore: }}
|
||
\newcommand{\institutename}{\textbf{Istituto: }}
|
||
\newcommand{\datename}{\textbf{Data: }}
|
||
\newcommand{\versionname}{\textbf{Versione: }}
|
||
\newcommand{\notename}{Nota}
|
||
\newcommand{\proofname}{Dimostrazione}
|
||
\newcommand{\problemname}{Problema}
|
||
\newcommand{\definitionname}{Definizione}
|
||
\newcommand{\theoremname}{Teorema}
|
||
\newcommand{\axiomname}{Assioma}
|
||
\newcommand{\postulatename}{Postulato}
|
||
\newcommand{\lemmaname}{Lemma}
|
||
\newcommand{\propositionname}{Proposizione}
|
||
\newcommand{\corollaryname}{Corollario}
|
||
\newcommand{\examplename}{Esempio}
|
||
\newcommand{\exercisename}{Esercizio}
|
||
\newcommand{\remarkname}{Commento}
|
||
\newcommand{\assumptionname}{Assunto}
|
||
\newcommand{\conclusionname}{Conclusione}
|
||
\newcommand{\solutionname}{Soluzione}
|
||
\newcommand{\propertyname}{Proprietà}
|
||
\newcommand{\introductionname}{Introduzione}
|
||
\newcommand\bioinfo[2]{\gdef\@bioinfo{\textbf{#1}: #2}}
|
||
\newcommand{\updatename}{Aggiornamenti:}
|
||
\newcommand{\ebibname}{Bibliografia}
|
||
\newcommand{\historyname}{Cronologia delle versioni}
|
||
}{\relax}
|
||
|
||
\ifdefstring{\ELEGANT@lang}{fr}{
|
||
\RequirePackage[utf8]{inputenc}
|
||
\RequirePackage[T1]{fontenc}
|
||
\RequirePackage[french]{babel}
|
||
\setlength\parindent{2em}
|
||
\renewcommand\figref[1]{\textbf{Figure}\ref{#1}}
|
||
\renewcommand\tabref[1]{\textbf{Tableau}\ref{#1}}
|
||
\renewcommand{\chaptername}{Chapitre}
|
||
\renewcommand{\authorname}{\textbf{Auteur: }}
|
||
\renewcommand{\institutename}{\textbf{Institut: }}
|
||
\renewcommand{\datename}{\textbf{Date: }}
|
||
\renewcommand{\versionname}{\textbf{Version: }}
|
||
\renewcommand{\notename}{Note}
|
||
\renewcommand{\proofname}{Démonstration}
|
||
\renewcommand{\problemname}{Problème}
|
||
\renewcommand{\definitionname}{Définition}
|
||
\renewcommand{\theoremname}{Théorème}
|
||
\renewcommand{\axiomname}{Axiôme}
|
||
\renewcommand{\postulatename}{Postulat}
|
||
\renewcommand{\lemmaname}{Lemme}
|
||
\renewcommand{\propositionname}{Proposition}
|
||
\renewcommand{\corollaryname}{Corollaire}
|
||
\renewcommand{\examplename}{Exemple}
|
||
\renewcommand{\exercisename}{Exercice}
|
||
\renewcommand{\remarkname}{Remarque}
|
||
\renewcommand{\assumptionname}{Supposition}
|
||
\renewcommand{\conclusionname}{Conclusion}
|
||
\renewcommand{\solutionname}{Solution}
|
||
\renewcommand{\propertyname}{Propriété}
|
||
\renewcommand{\introductionname}{Introduction}
|
||
\renewcommand{\problemsetname}{Exercice}
|
||
\renewcommand{\updatename}{Mises à jour:}
|
||
\newcommand{\ebibname}{Bibliographie}
|
||
\renewcommand{\historyname}{Historique des versions}
|
||
}{\relax}
|
||
|
||
|
||
\ifdefstring{\ELEGANT@lang}{nl}{
|
||
\RequirePackage[dutch]{babel}
|
||
\setlength\parindent{2em}
|
||
\newcommand\figref[1]{\textbf{Figuur}~\ref{#1}}
|
||
\newcommand\tabref[1]{\textbf{Tabel}~\ref{#1}}
|
||
\renewcommand{\chaptername}{Hoofdstuk}
|
||
\newcommand{\authorname}{\textbf{Auteur: }}
|
||
\newcommand{\institutename}{\textbf{Instituut: }}
|
||
\newcommand{\datename}{\textbf{Datum: }}
|
||
\newcommand{\versionname}{\textbf{Versie: }}
|
||
\newcommand{\notename}{Opmerking}
|
||
\newcommand{\proofname}{Bewijs}
|
||
\newcommand{\problemname}{Probleem}
|
||
\newcommand{\definitionname}{Definitie}
|
||
\newcommand{\theoremname}{Stelling}
|
||
\newcommand{\axiomname}{Uitgangspunt}
|
||
\newcommand{\postulatename}{Hypothese}
|
||
\newcommand{\lemmaname}{Lemma}
|
||
\newcommand{\propositionname}{Voorstel}
|
||
\newcommand{\corollaryname}{Gevolgtrekking}
|
||
\newcommand{\examplename}{Voorbeeld}
|
||
\newcommand{\exercisename}{Oefening}
|
||
\newcommand{\remarkname}{Commentaar}
|
||
\newcommand{\assumptionname}{Veronderstelling}
|
||
\newcommand{\conclusionname}{Besluit}
|
||
\newcommand{\solutionname}{Oplossing}
|
||
\newcommand{\propertyname}{Eigenschap}
|
||
\newcommand{\introductionname}{Introductie}
|
||
\newcommand{\problemsetname}{Probleemcomplex}
|
||
\newcommand\bioinfo[2]{\gdef\@bioinfo{\textbf{#1}: #2}}
|
||
\newcommand{\updatename}{Update:}
|
||
\newcommand{\ebibname}{Bibliographie}
|
||
\newcommand{\historyname}{Versie Geschiedenis}
|
||
}{\relax}
|
||
|
||
|
||
\ifdefstring{\ELEGANT@lang}{hu}{
|
||
\RequirePackage[magyar]{babel}
|
||
\setlength\parindent{2em}
|
||
\newcommand\figref[1]{\ref{#1}~\textbf{Ábra}}
|
||
\newcommand\tabref[1]{\ref{#1}~\textbf{Táblázat}}
|
||
\renewcommand{\chaptername}{Fejezet}
|
||
\newcommand{\authorname}{\textbf{Szerző: }}
|
||
\newcommand{\institutename}{\textbf{Intézmény: }}
|
||
\newcommand{\datename}{\textbf{Dátum: }}
|
||
\newcommand{\versionname}{\textbf{Verziószám: }}
|
||
\newcommand{\notename}{Jegyzet}
|
||
\newcommand{\proofname}{Bizonyítás}
|
||
\newcommand{\problemname}{Probléma}
|
||
\newcommand{\definitionname}{Definíció}
|
||
\newcommand{\theoremname}{Tétel}
|
||
\newcommand{\axiomname}{Axióma}
|
||
\newcommand{\postulatename}{Követelmény}
|
||
\newcommand{\lemmaname}{Lemma}
|
||
\newcommand{\propositionname}{Előzmény}
|
||
\newcommand{\corollaryname}{Következmény}
|
||
\newcommand{\examplename}{Példa}
|
||
\newcommand{\exercisename}{Feladat}
|
||
\newcommand{\remarkname}{Megjegyzés}
|
||
\newcommand{\assumptionname}{Sejtés}
|
||
\newcommand{\conclusionname}{Összefoglalás}
|
||
\newcommand{\solutionname}{Megoldás}
|
||
\newcommand{\propertyname}{Tulajdonság}
|
||
\newcommand{\introductionname}{Bevezetés}
|
||
\newcommand{\problemsetname}{Feladatok}
|
||
\newcommand\bioinfo[2]{\gdef\@bioinfo{\textbf{#1}: #2}}
|
||
\newcommand{\updatename}{Frissítve:}
|
||
\newcommand{\ebibname}{Bibliográfia}
|
||
\newcommand{\historyname}{Korábbi verziók}
|
||
}{\relax}
|
||
|
||
\ifdefstring{\ELEGANT@lang}{de}{
|
||
\setlength\parindent{2em}
|
||
\renewcommand{\contentsname}{Inhaltsverzeichnis}
|
||
\newcommand\figref[1]{\textbf{Figur}~\ref{#1}}
|
||
\newcommand\tabref[1]{\textbf{Tabelle}~\ref{#1}}
|
||
\renewcommand{\partname}{\color{structurecolor} Teil}
|
||
\renewcommand{\listfigurename}{Abbildungsverzeichnis}
|
||
\renewcommand{\listtablename}{Tabellenverzeichnis}
|
||
\renewcommand{\bibname}{Bibliographie}
|
||
\renewcommand{\appendixname}{Anhang}
|
||
\renewcommand{\chaptername}{Kapitel}
|
||
\newcommand{\authorname}{\textbf{Autor: }}
|
||
\newcommand{\institutename}{\textbf{Institut: }}
|
||
\newcommand{\datename}{\textbf{Datum: }}
|
||
\newcommand{\versionname}{\textbf{Version: }}
|
||
\newcommand{\notename}{Notiz}
|
||
\newcommand{\proofname}{Beweis}
|
||
\newcommand{\problemname}{Problem}
|
||
\newcommand{\definitionname}{Definition}
|
||
\newcommand{\theoremname}{Theorem}
|
||
\newcommand{\axiomname}{Axiom}
|
||
\newcommand{\postulatename}{Postulat}
|
||
\newcommand{\lemmaname}{Lemma}
|
||
\newcommand{\propositionname}{Behauptung}
|
||
\newcommand{\corollaryname}{Corollary}
|
||
\newcommand{\examplename}{Beispiel}
|
||
\newcommand{\instancename}{Beispiel} %
|
||
\newcommand{\exercisename}{\"{U}bung}
|
||
\newcommand{\remarkname}{Anmerkung}
|
||
\newcommand{\assumptionname}{Annahme}
|
||
\newcommand{\conclusionname}{Abschluss}
|
||
\newcommand{\solutionname}{Aufl\"{o}sung}
|
||
\newcommand{\propertyname}{Property}
|
||
\newcommand{\introductionname}{Einleitung}
|
||
\newcommand\bioinfo[2]{\gdef\@bioinfo{\textbf{#1}: #2}}
|
||
\newcommand{\updatename}{Updates:}
|
||
\renewcommand{\ebibname}{Bibliographie}
|
||
\newcommand{\historyname}{Version der Geschichte}
|
||
}{\relax}
|
||
|
||
\ifdefstring{\ELEGANT@lang}{es}{
|
||
\RequirePackage[spanish]{babel}
|
||
\setlength\parindent{2em}
|
||
\newcommand\figref[1]{\textbf{Figura}~\ref{#1}}
|
||
\newcommand\tabref[1]{\textbf{Tabla}~\ref{#1}}
|
||
\renewcommand{\spanishchaptername}{Capítulo}
|
||
\newcommand{\authorname}{\textbf{Autor: }}
|
||
\newcommand{\institutename}{\textbf{Instituto: }}
|
||
\newcommand{\datename}{\textbf{Fecha: }}
|
||
\newcommand{\versionname}{\textbf{Versión: }}
|
||
\newcommand{\notename}{Nota}
|
||
\newcommand{\proofname}{Demostración}
|
||
\newcommand{\problemname}{Problema}
|
||
\newcommand{\definitionname}{Definición}
|
||
\newcommand{\theoremname}{Teorema}
|
||
\newcommand{\axiomname}{Axioma}
|
||
\newcommand{\postulatename}{Postulado}
|
||
\newcommand{\lemmaname}{Lema}
|
||
\newcommand{\propositionname}{Proposición}
|
||
\newcommand{\corollaryname}{Corolario}
|
||
\newcommand{\examplename}{Ejemplo}
|
||
\newcommand{\exercisename}{Ejercicio}
|
||
\newcommand{\remarkname}{Comentario}
|
||
\newcommand{\assumptionname}{Asunto}
|
||
\newcommand{\conclusionname}{Conclusión}
|
||
\newcommand{\solutionname}{Solución}
|
||
\newcommand{\propertyname}{Propiedad}
|
||
\newcommand{\introductionname}{Introducción}
|
||
\newcommand{\problemsetname}{Ejercicio}
|
||
\newcommand\bioinfo[2]{\gdef\@bioinfo{\textbf{#1}: #2}}
|
||
\newcommand{\updatename}{Actualización:}
|
||
\newcommand{\ebibname}{Bibliografía}
|
||
\newcommand{\historyname}{Historial de versiones}
|
||
}{\relax}
|
||
|
||
\ifdefstring{\ELEGANT@lang}{mn}{
|
||
\RequirePackage[mongolian]{babel}
|
||
\RequirePackage[utf8]{inputenc}
|
||
\RequirePackage[T2A]{fontenc}
|
||
\setlength\parindent{2em}
|
||
\newcommand\figref[1]{\textbf{Зураг}\ref{#1}}
|
||
\newcommand\tabref[1]{\textbf{Хүснэгт}\ref{#1}}
|
||
\renewcommand{\chaptername}{Бүлэг}
|
||
\newcommand{\authorname}{\textbf{Зохиогч: }}
|
||
\newcommand{\institutename}{\textbf{Сургууль: }}
|
||
\newcommand{\datename}{\textbf{Огноо: }}
|
||
\newcommand{\versionname}{\textbf{Хувилбар: }}
|
||
\newcommand{\notename}{Тэмдэглэл}
|
||
\newcommand{\proofname}{Баталгаа}
|
||
\newcommand{\problemname}{Бодлого}
|
||
\newcommand{\definitionname}{Тодорхойлолт}
|
||
\newcommand{\theoremname}{Томьёо}
|
||
\newcommand{\axiomname}{Аксиом}
|
||
\newcommand{\postulatename}{Постулат}
|
||
\newcommand{\lemmaname}{Лемма}
|
||
\newcommand{\propositionname}{Таамаглал}
|
||
\newcommand{\corollaryname}{Үр дүн}
|
||
\newcommand{\examplename}{Жишээ}
|
||
\newcommand{\exercisename}{Дасгал}
|
||
\newcommand{\remarkname}{Тайлбар}
|
||
\newcommand{\assumptionname}{Урьдчилсан нөхцөл}
|
||
\newcommand{\conclusionname}{Дүгнэлт}
|
||
\newcommand{\solutionname}{Хариулт}
|
||
\newcommand{\propertyname}{Шинж чанар}
|
||
\newcommand{\introductionname}{Удиртгал}
|
||
\newcommand{\problemsetname}{Бодлогууд}
|
||
\newcommand\bioinfo[2]{\gdef@bioinfo{\textbf{#1}: #2}}
|
||
\newcommand{\updatename}{Шинэчлэлтүүд:}
|
||
\newcommand{\ebibname}{Ном зүй}
|
||
\newcommand{\historyname}{Хувилбарын түүх}
|
||
}{\relax}
|
||
|
||
|
||
\ifdefstring{\ELEGANT@lang}{pt}{
|
||
\RequirePackage[portuguese]{babel}
|
||
\setlength\parindent{2em}
|
||
\newcommand\figref[1]{\textbf{Figura}~\ref{#1}}
|
||
\newcommand\tabref[1]{\textbf{Tabela}~\ref{#1}}
|
||
\renewcommand{\chaptername}{Capítulo}
|
||
\newcommand{\authorname}{\textbf{Autor: }}
|
||
\newcommand{\institutename}{\textbf{Instituição: }}
|
||
\newcommand{\datename}{\textbf{Data: }}
|
||
\newcommand{\versionname}{\textbf{Versão: }}
|
||
\newcommand{\notename}{Observação}
|
||
\newcommand{\proofname}{Demostração}
|
||
\newcommand{\problemname}{Problema}
|
||
\newcommand{\definitionname}{Definição}
|
||
\newcommand{\theoremname}{Teorema}
|
||
\newcommand{\axiomname}{Axioma}
|
||
\newcommand{\postulatename}{Postulado}
|
||
\newcommand{\lemmaname}{Lema}
|
||
\newcommand{\propositionname}{Proposição}
|
||
\newcommand{\corollaryname}{Corolário}
|
||
\newcommand{\examplename}{Exemplo}
|
||
\newcommand{\exercisename}{Exercício}
|
||
\newcommand{\remarkname}{Comentário}
|
||
\newcommand{\assumptionname}{Assunto}
|
||
\newcommand{\conclusionname}{Conclusão}
|
||
\newcommand{\solutionname}{Soluções}
|
||
\newcommand{\propertyname}{Propiedade}
|
||
\newcommand{\introductionname}{Introdução}
|
||
\newcommand{\problemsetname}{Questão}
|
||
\newcommand\bioinfo[2]{\gdef\@bioinfo{\textbf{#1}: #2}}
|
||
\newcommand{\updatename}{Atualização: }
|
||
\newcommand{\ebibname}{Bibliografia}
|
||
\newcommand{\historyname}{Histórico de versões}
|
||
}{\relax}
|
||
|
||
|
||
\ifdefstring{\ELEGANT@lang}{jp}{
|
||
\RequirePackage{luatexja}
|
||
\setlength\parindent{2em}
|
||
\renewcommand{\contentsname}{目次}
|
||
\newcommand\figref[1]{\textbf{図}~\ref{#1}}
|
||
\newcommand\tabref[1]{\textbf{表}~\ref{#1}}
|
||
\renewcommand{\partname}{\color{structurecolor}}
|
||
\renewcommand{\listfigurename}{イラストカタログ}
|
||
\renewcommand{\listtablename}{表カタログ}
|
||
\renewcommand{\bibname}{参考文献}
|
||
\renewcommand{\appendixname}{付録}
|
||
\renewcommand{\chaptername}{第 \thechapter 章}
|
||
\newcommand{\authorname}{\textbf{著者:}}
|
||
\newcommand{\institutename}{\textbf{組織団体:}}
|
||
\newcommand{\datename}{\textbf{日付:}}
|
||
\newcommand{\versionname}{\textbf{\citshape バージョン:}}
|
||
\newcommand{\notename}{ノート}
|
||
\newcommand{\proofname}{証明}
|
||
\newcommand{\problemname}{問題}
|
||
\newcommand{\definitionname}{定義}
|
||
\newcommand{\theoremname}{定理}
|
||
\newcommand{\axiomname}{公理}
|
||
\newcommand{\postulatename}{公準}
|
||
\newcommand{\lemmaname}{補題}
|
||
\newcommand{\propositionname}{命題}
|
||
\newcommand{\corollaryname}{系}
|
||
\newcommand{\examplename}{例題}
|
||
\newcommand{\instancename}{例}
|
||
\newcommand{\exercisename}{練習}
|
||
\newcommand{\remarkname}{注}
|
||
\newcommand{\assumptionname}{仮設}
|
||
\newcommand{\conclusionname}{結論}
|
||
\newcommand{\solutionname}{解答}
|
||
\newcommand{\propertyname}{性質}
|
||
\newcommand{\introductionname}{内容概要}
|
||
\newcommand\bioinfo[2]{\gdef\@bioinfo{\textbf{#1}: #2}}
|
||
\newcommand{\updatename}{更新:}
|
||
\newcommand{\ebibname}{参考文献}
|
||
\newcommand{\historyname}{バージョン更新履歴}
|
||
}{\relax}
|
||
|
||
|
||
\graphicspath{{./figure/}{./figures/}{./image/}{./images/}{./graphics/}{./graphic/}{./pictures/}{./picture/}}
|
||
|
||
\RequirePackage{tikz} %% load tikz without tikz
|
||
\usetikzlibrary{backgrounds,calc,shadows,positioning,fit}
|
||
\newcommand*\circled[1]{\tikz[baseline=(char.base)]{
|
||
\node[shape=circle,draw,inner sep=1pt] (char) {#1};}}
|
||
% https://tex.stackexchange.com/questions/7032/good-way-to-make-textcircled-numbers
|
||
|
||
\newcommand*{\eitemi}{\tikz \draw [baseline, ball color=structurecolor,draw=none] circle (2pt);}
|
||
\newcommand*{\eitemii}{\tikz \draw [baseline, fill=structurecolor,draw=none,circular drop shadow] circle (2pt);}
|
||
\newcommand*{\eitemiii}{\tikz \draw [baseline, fill=structurecolor,draw=none] circle (2pt);}
|
||
\setlist[enumerate,1]{label=\color{structurecolor}\arabic*.}
|
||
\setlist[enumerate,2]{label=\color{structurecolor}(\alph*).}
|
||
\setlist[enumerate,3]{label=\color{structurecolor}\Roman*.}
|
||
\setlist[enumerate,4]{label=\color{structurecolor}\Alph*.}
|
||
\setlist[itemize,1]{label={\eitemi}}
|
||
\setlist[itemize,2]{label={\eitemii}}
|
||
\setlist[itemize,3]{label={\eitemiii}}
|
||
|
||
\RequirePackage{apptools}
|
||
|
||
% appendix chapter:
|
||
|
||
\ifdefstring{\ELEGANT@lang}{cn}{
|
||
\ifdefstring{\ELEGANT@scheme}{chinese}{
|
||
\newcommand{\xchaptertitle}{第\zhnumber{\arabic{chapter}}章} }{
|
||
\newcommand{\xchaptertitle}{第 \thechapter{} 章}}
|
||
% Hyperref 2022/05/16's changelog.txt said
|
||
% * nameref is loaded always and earlier (issue#235)
|
||
\AtBeginDocument{
|
||
\ifELEGANT@Hy@later
|
||
\patchcmd{\NR@chapter}%
|
||
{\numberline{\thechapter}}{\numberline{\xchaptertitle}}%
|
||
{}{\fail}
|
||
\else
|
||
\patchcmd{\Hy@org@chapter}%
|
||
{\numberline{\thechapter}}{\numberline{\xchaptertitle}}%
|
||
{}{\fail}
|
||
\fi
|
||
}
|
||
}
|
||
{\newcommand{\xchaptertitle}{\chaptername~\thechapter~}}
|
||
|
||
\setcounter{secnumdepth}{5}
|
||
\titleformat{\chapter}[\style]{\bfseries}{
|
||
\filcenter\huge\enspace\bfseries{\color{structurecolor} \IfAppendix{\appendixname\;\thechapter\;}{\xchaptertitle\;}}}{1pt}{
|
||
\huge\bfseries\color{structurecolor}\filcenter}[]
|
||
\titleformat{\section}[hang]{\bfseries}{
|
||
\LARGE\bfseries{\color{structurecolor}\thesection}\enspace}{1pt}{%
|
||
\color{structurecolor}\LARGE\bfseries\filright}
|
||
\titleformat{\subsection}[hang]{\bfseries}{
|
||
\Large\bfseries\color{structurecolor}\thesubsection\enspace}{1pt}{%
|
||
\color{structurecolor}\Large\bfseries\filright}
|
||
\titleformat{\subsubsection}[hang]{\bfseries}{
|
||
\large\bfseries\color{structurecolor}\thesubsubsection\enspace}{1pt}{%
|
||
\color{structurecolor}\large\bfseries\filright}
|
||
|
||
\titlespacing{\chapter}{0pt}{-20pt}{1.3\baselineskip}
|
||
%\titlespacing{\subsection}{0pt}{0.5\baselineskip}{-\baselineskip}
|
||
|
||
|
||
|
||
%%define the
|
||
%%definition theorem postulate axiom corollary lemma proposition
|
||
%%and proof environment
|
||
\RequirePackage{pifont,manfnt,bbding}
|
||
\RequirePackage[many]{tcolorbox}
|
||
% \newlength{\normalparindent}
|
||
% \setlength{\normalparindent}{\parindent}
|
||
\newcommand{\ELEGANT@tmp@tl}{}
|
||
\ifELEGANT@usesamecnt
|
||
\newcounter{ELEGANT@samecnt}
|
||
\counterwithin{ELEGANT@samecnt}{\ELEGANT@thmcnt}
|
||
\tcbset{
|
||
new/usesamecnt/.style = {use counter = ELEGANT@samecnt}
|
||
}
|
||
\else
|
||
\tcbset{
|
||
new/usesamecnt/.style = {}
|
||
}
|
||
\fi
|
||
|
||
\ifdefstring{\ELEGANT@mode}{fancy}{
|
||
\tcbset{
|
||
common/.style={
|
||
fontupper=\citshape,
|
||
lower separated=false,
|
||
% before upper={\setlength{\parindent}{\normalparindent}},
|
||
coltitle=white,
|
||
colback=gray!5,
|
||
boxrule=0.5pt,
|
||
fonttitle=\bfseries,
|
||
enhanced,
|
||
breakable,
|
||
top=8pt,
|
||
before skip=8pt,
|
||
attach boxed title to top left={
|
||
yshift=-0.11in,
|
||
xshift=0.15in},
|
||
boxed title style={
|
||
boxrule=0pt,
|
||
colframe=white,
|
||
arc=0pt,
|
||
outer arc=0pt},
|
||
separator sign={.},},
|
||
defstyle/.style={
|
||
common,
|
||
colframe=main,
|
||
colback=main!5,
|
||
colbacktitle=main,
|
||
overlay unbroken and last={
|
||
\node[anchor=south east, outer sep=0pt] at (\linewidth-width,0) {
|
||
\textcolor{main}{$\clubsuit$}};}},
|
||
thmstyle/.style={
|
||
common,
|
||
colframe=second,
|
||
colback=second!5,
|
||
colbacktitle=second,
|
||
overlay unbroken and last={
|
||
\node[anchor=south east, outer sep=0pt] at (\linewidth-width,0) {
|
||
\textcolor{second}{$\heartsuit$}};}},
|
||
prostyle/.style={
|
||
common,
|
||
colframe=third,
|
||
colback=third!5,
|
||
colbacktitle=third,
|
||
overlay unbroken and last={
|
||
\node[anchor=south east, outer sep=0pt] at (\linewidth-width,0) {
|
||
\textcolor{third}{$\spadesuit$}};}},
|
||
ELEGANT@title/.code n args={2}
|
||
{
|
||
|
||
\tcbset
|
||
{
|
||
title=
|
||
{
|
||
\csname #1name\endcsname~%
|
||
\ifdef{\thetcbcounter}{\thetcbcounter}{}%
|
||
\ifblank{#2}{}{\ (#2)}
|
||
}
|
||
}
|
||
},
|
||
ELEGANT@label/.code n args={2}
|
||
{
|
||
\ifblank{#2}
|
||
{}{\tcbset{label={#1:#2}}}
|
||
}
|
||
}
|
||
|
||
% define an internal control sequence \ELEGANT@newtheorem for fancy mode's newtheorem
|
||
% #1 is the environment name, #2 is the prefix of label, #3 is the style
|
||
% style: thmstyle, defstyle, prostyle
|
||
% e.g. \ELEGANT@newtheorem{theorem}{thm}{thmstyle}
|
||
% will define two environments: numbered ``theorem'' and no-numbered ``theorem*''
|
||
% WARNING FOR MULTILINGUAL: this cs will automatically find \theoremname's definition,
|
||
% WARNING FOR MULTILINGUAL: it should be defined in language settings.
|
||
\NewDocumentCommand \ELEGANT@newtheorem { m m m O{} }{
|
||
\ifcsundef{#1name}{%
|
||
\ClassError{elegantbook}{%
|
||
\ #1name undefined, \MessageBreak
|
||
Please check in language setting
|
||
}{}
|
||
}{\relax}
|
||
\expandafter\ifblank\expandafter{#4}{
|
||
\tcbset{
|
||
new/usecnt/.style={}
|
||
}
|
||
}{
|
||
\tcbset{
|
||
new/usecnt/.style= {use counter from = #4}
|
||
}
|
||
}
|
||
\DeclareTColorBox[auto counter,number within=\ELEGANT@thmcnt,usesamecnt,usecnt]{#1}{ g o t\label g }{
|
||
common,#3,
|
||
IfValueTF={##1}
|
||
{ELEGANT@title={#1}{##1}}
|
||
{
|
||
IfValueTF={##2}
|
||
{ELEGANT@title={#1}{##2}}
|
||
{ELEGANT@title={#1}{}}
|
||
},
|
||
IfValueT={##4}
|
||
{
|
||
IfBooleanTF={##3}
|
||
{label={##4}}
|
||
{ELEGANT@label={#2}{##4}}
|
||
}
|
||
}
|
||
\DeclareTColorBox{#1*}{ g o }{
|
||
common,#3,
|
||
IfValueTF={##1}
|
||
{ELEGANT@title={#1}{##1}}
|
||
{
|
||
IfValueTF={##2}
|
||
{ELEGANT@title={#1}{##2}}
|
||
{ELEGANT@title={#1}{}}
|
||
},
|
||
}
|
||
}
|
||
% define several environment
|
||
% we define headers like \definitionname before
|
||
\ELEGANT@newtheorem{theorem}{thm}{thmstyle}
|
||
\ELEGANT@newtheorem{definition}{def}{defstyle}
|
||
\ELEGANT@newtheorem{postulate}{pos}{thmstyle}
|
||
\ELEGANT@newtheorem{axiom}{axi}{thmstyle}
|
||
\ELEGANT@newtheorem{corollary}{cor}{thmstyle}
|
||
\ELEGANT@newtheorem{lemma}{lem}{thmstyle}
|
||
\ELEGANT@newtheorem{proposition}{pro}{prostyle}
|
||
}{\relax}
|
||
|
||
|
||
\ifdefstring{\ELEGANT@mode}{simple}{
|
||
\let\openbox\relax
|
||
\RequirePackage{amsthm}
|
||
\let\proof\relax
|
||
% \let\proofname\relax
|
||
\let\endproof\relax
|
||
|
||
% declare new theorem styles: defstyle, thmstyle, prostyle
|
||
\newtheoremstyle{defstyle}{3pt}{3pt}{\citshape}{-3pt}{
|
||
\bfseries\color{main}}{}{0.5em}{\thmname{#1} \thmnumber{#2} \thmnote{(#3)}}
|
||
\newtheoremstyle{thmstyle}{3pt}{3pt}{\citshape}{-3pt}{
|
||
\bfseries\color{second}}{}{0.5em}{\thmname{#1} \thmnumber{#2} \thmnote{(#3)}}
|
||
\newtheoremstyle{prostyle}{3pt}{3pt}{\citshape}{-3pt}{
|
||
\bfseries\color{third}}{}{0.5em}{\thmname{#1} \thmnumber{#2} \thmnote{(#3)}}
|
||
|
||
% define an internal control sequence \ELEGANT@newtheorem for simple mode's newtheorem
|
||
% #1 is the environment name, #2 is the style
|
||
% style: thmstyle, defstyle, prostyle
|
||
% e.g. \ELEGANT@newtheorem{theorem}{thmstyle}
|
||
% will define two environments: numbered ``theorem'' and no-numbered ``theorem*''
|
||
% WARNING FOR MULTILINGUAL: this cs will automatically find \theoremname's definition,
|
||
% WARNING FOR MULTILINGUAL: it should be defined in language settings.
|
||
\NewDocumentCommand \ELEGANT@newtheorem { m m O{} } {
|
||
\theoremstyle{#2}
|
||
\ifELEGANT@usesamecnt
|
||
\newtheorem{#1}[ELEGANT@samecnt]{\csname #1name\endcsname}
|
||
\else
|
||
\ifblank{#3}{
|
||
\newtheorem{#1}{\csname #1name\endcsname}[\ELEGANT@thmcnt]
|
||
}{
|
||
\newtheorem{#1}[#3]{\csname #1name\endcsname}
|
||
}
|
||
\fi
|
||
\newtheorem*{#1*}{\csname #1name\endcsname}
|
||
}
|
||
|
||
% define several environment
|
||
% we define headers like \definitionname before
|
||
\ELEGANT@newtheorem{theorem}{thmstyle}
|
||
\ELEGANT@newtheorem{definition}{defstyle}
|
||
\ELEGANT@newtheorem{postulate}{thmstyle}
|
||
\ELEGANT@newtheorem{axiom}{thmstyle}
|
||
\ELEGANT@newtheorem{corollary}{thmstyle}
|
||
\ELEGANT@newtheorem{lemma}{thmstyle}
|
||
\ELEGANT@newtheorem{proposition}{prostyle}
|
||
}{\relax}
|
||
|
||
% define an user control sequence \elegantnewtheorem
|
||
% #1 is the evironment, #2 is the theorem header
|
||
% #3 is the style #4 is the prefix for fancy mode
|
||
% style: thmstyle, defstyle, prostyle
|
||
% if #4 is given in simple mode, an error will be raised
|
||
% if #4 isn't given in fancy mode, the prefix will be set equal to #1,
|
||
% and a warning will be raised
|
||
\newcommand{\ELEGANT@newtheorem@warning}{}
|
||
\newcommand{\ELEGANT@newtheorem@error}{}
|
||
\newcommand{\ELEGANT@usesamecnt@warning}{}
|
||
\NewDocumentCommand\elegantnewtheorem{ m m m g O{} }
|
||
{
|
||
\renewcommand{\ELEGANT@usesamecnt@warning}{
|
||
\ClassWarning{elegantbook}{%
|
||
[#5] won't make sence with option \MessageBreak
|
||
`usesamecnt'.
|
||
}
|
||
}
|
||
\renewcommand{\ELEGANT@newtheorem@warning}{
|
||
\ClassWarning{elegantbook}{%
|
||
Because you didn't provide a prefix, \MessageBreak
|
||
we use #1 as the default prefix. \MessageBreak
|
||
You have to use \MessageBreak
|
||
\ref{#1:label} to refer a \MessageBreak
|
||
\begin{#1}{name}{label} environment. \MessageBreak
|
||
}
|
||
}
|
||
\renewcommand{\ELEGANT@newtheorem@error}{
|
||
\ClassError{elegantbook}{%
|
||
You can't set a prefix in mode ``simple''.\MessageBreak
|
||
Just use \MessageBreak
|
||
\elegantnewtheorem{#1}{#2}{#3}
|
||
}{%
|
||
We are using ``amsthm'' package to \MessageBreak
|
||
generate theorem-like theorem. \MessageBreak
|
||
The 4th parameter ``prefix'' isn't allowed.
|
||
}
|
||
}
|
||
\ifELEGANT@usesamecnt
|
||
\ifblank{#5}{}{\ELEGANT@usesamecnt@warning}
|
||
\else
|
||
\renewcommand{\ELEGANT@tmp@tl}{#5}
|
||
\fi
|
||
\expandafter\def\csname #1name\endcsname{#2}
|
||
\ifdefstring{\ELEGANT@mode}{simple}{%
|
||
\IfValueTF{#4}
|
||
{\ELEGANT@newtheorem@error}
|
||
{\ELEGANT@newtheorem{#1}{#3}[\ELEGANT@tmp@tl]}
|
||
}{\relax}
|
||
\ifdefstring{\ELEGANT@mode}{fancy}{%
|
||
\IfValueTF{#4}
|
||
{
|
||
\def\ELEGANT@temp@prefix{#4}
|
||
\ifdefempty{\ELEGANT@temp@prefix}
|
||
{
|
||
\ELEGANT@newtheorem{#1}{#1}{#3}[\ELEGANT@tmp@tl]
|
||
\ELEGANT@newtheorem@warning
|
||
}
|
||
{\ELEGANT@newtheorem{#1}{#4}{#3}[\ELEGANT@tmp@tl]}
|
||
}
|
||
{
|
||
\ELEGANT@newtheorem{#1}{#1}{#3}[\ELEGANT@tmp@tl]
|
||
\ELEGANT@newtheorem@warning
|
||
}
|
||
}{\relax}
|
||
}
|
||
|
||
% main(green-def): example exercise problem solution
|
||
% second(orange-thm): proof note remark
|
||
% third(blue-prop): assumptions property conclusion custom
|
||
|
||
%% Example with counter
|
||
\newcounter{exam}[chapter]
|
||
\setcounter{exam}{0}
|
||
\renewcommand{\theexam}{\thechapter.\arabic{exam}}
|
||
\newenvironment{example}[1][]{
|
||
\refstepcounter{exam}
|
||
\par\noindent\textbf{\color{main}{\examplename} \theexam #1 }\rmfamily}{
|
||
\par\ignorespacesafterend}
|
||
|
||
%% Exercise with counter
|
||
\newcounter{exer}[chapter]
|
||
\setcounter{exer}{0}
|
||
\renewcommand{\theexer}{\thechapter.\arabic{exer}}
|
||
\newenvironment{exercise}[1][]{
|
||
\refstepcounter{exer}
|
||
\par\noindent\makebox[-3pt][r]{
|
||
\scriptsize\color{red!90}\HandPencilLeft\quad}
|
||
\textbf{\color{main}{\exercisename} \theexer #1 }\rmfamily}{
|
||
\par\ignorespacesafterend}
|
||
|
||
%% Problem with counter
|
||
\newcounter{prob}[chapter]
|
||
\setcounter{prob}{0}
|
||
\renewcommand{\theprob}{\thechapter.\arabic{prob}}
|
||
\newenvironment{problem}[1][]{
|
||
\refstepcounter{prob}
|
||
\par\noindent\textbf{\color{main}{\problemname} \theprob #1 }\rmfamily}{
|
||
\par\ignorespacesafterend}
|
||
|
||
\newenvironment{note}{
|
||
\par\noindent\makebox[-3pt][r]{
|
||
\scriptsize\color{red!90}\textdbend\quad}
|
||
\textbf{\color{second}\notename} \citshape}{\par}
|
||
|
||
\newenvironment{proof}{
|
||
\par\noindent\textbf{\color{second}\proofname\;}
|
||
\color{black!90}\cfs}{
|
||
% \hfill$\Box$\quad
|
||
\par}
|
||
|
||
\newenvironment{solution}{\par\noindent\textbf{\color{main}\solutionname} \citshape}{\par}
|
||
\newenvironment{remark}{\noindent\textbf{\color{second}\remarkname}}{\par}
|
||
\newenvironment{assumption}{\par\noindent\textbf{\color{third}\assumptionname} \citshape}{\par}
|
||
\newenvironment{conclusion}{\par\noindent\textbf{\color{third}\conclusionname} \citshape}{\par}
|
||
\newenvironment{property}{\par\noindent\textbf{\color{third}\propertyname} \citshape}{\par}
|
||
\newenvironment{custom}[1]{\par\noindent\textbf{\color{third} #1} \citshape}{\par}
|
||
|
||
\RequirePackage{multicol}
|
||
\tcbset{
|
||
introductionsty/.style={
|
||
enhanced,
|
||
breakable,
|
||
colback=structurecolor!10,
|
||
colframe=structurecolor,
|
||
fonttitle=\bfseries,
|
||
colbacktitle=structurecolor,
|
||
fontupper=\citshape,
|
||
attach boxed title to top center={yshift=-3mm,yshifttext=-1mm},
|
||
boxrule=0pt,
|
||
toprule=0.5pt,
|
||
bottomrule=0.5pt,
|
||
top=8pt,
|
||
before skip=8pt,
|
||
sharp corners
|
||
},
|
||
}
|
||
|
||
|
||
\newenvironment{introduction}[1][\introductionname]{
|
||
\begin{tcolorbox}[introductionsty,title={#1}]
|
||
\begin{multicols}{2}
|
||
\begin{itemize}[label=\textcolor{structurecolor}{\upshape\scriptsize\SquareShadowBottomRight}]}{
|
||
\end{itemize}
|
||
\end{multicols}
|
||
\end{tcolorbox}}
|
||
|
||
\RequirePackage{adforn}
|
||
|
||
\newenvironment{problemset}[1][\xchaptertitle~\exercisename]{
|
||
\vspace*{10pt}
|
||
\begin{center}
|
||
\phantomsection\addcontentsline{toc}{section}{\texorpdfstring{\xchaptertitle~\exercisename}{\exercisename}}
|
||
% \markboth{#1}{\rightmark}
|
||
\markright{#1}
|
||
\textcolor{structurecolor}{\Large\bfseries\adftripleflourishleft~#1~\adftripleflourishright}
|
||
\end{center}
|
||
\begin{enumerate}}{
|
||
\end{enumerate}}
|
||
|
||
\def\relsec{\endgroup start}
|
||
\def\endrelsec{end\begingroup\def \@currenvir {relsec}}
|
||
|
||
\ifdefstring{\ELEGANT@result}{noanswer}{
|
||
\AtBeginDocument{
|
||
\excludecomment{solution}
|
||
\excludecomment{proof}
|
||
\excludecomment{inline}
|
||
}
|
||
}{\relax}
|
||
|
||
|
||
%页眉页脚
|
||
\RequirePackage{fancyhdr}
|
||
\fancyhf{}
|
||
|
||
|
||
\fancyfoot[c]{\color{structurecolor}\small\thepage}
|
||
\if@twoside
|
||
\fancyhead[EL]{\color{structurecolor}\cnormal\leftmark}
|
||
\fancyhead[OR]{\color{structurecolor}\cnormal\rightmark}
|
||
\else
|
||
\fancyhead[R]{\color{structurecolor}\cnormal\rightmark}
|
||
\fi
|
||
|
||
\renewcommand{\headrule}{\color{structurecolor}\hrule width\textwidth}
|
||
\pagestyle{fancy}
|
||
\renewcommand{\headrulewidth}{1pt}
|
||
% \renewcommand{\headrule}{}
|
||
\fancypagestyle{plain}{\renewcommand{\headrulewidth}{0pt}\fancyhf{}\renewcommand{\headrule}{}}
|
||
\renewcommand{\sectionmark}[1]{\markright{\thesection\, #1}{}}
|
||
\renewcommand{\chaptermark}[1]{\markboth{\xchaptertitle\, #1}{}}
|
||
|
||
|
||
\renewcommand*{\maketitle}{%
|
||
\hypersetup{pageanchor=false}
|
||
\pagenumbering{Alph}
|
||
\begin{titlepage}
|
||
\newgeometry{margin = 0in}
|
||
\parindent=0pt
|
||
\ifdefstring{\ELEGANT@device}{normal}{
|
||
\ifcsname @cover\endcsname
|
||
\includegraphics[width=\linewidth]{\@cover}
|
||
\else
|
||
\includegraphics[width=\linewidth]{example-image}
|
||
\fi
|
||
}{\relax}
|
||
\ifdefstring{\ELEGANT@device}{pad}{
|
||
\ifcsname @cover\endcsname
|
||
\includegraphics[trim=0 26bp 0 26bp,clip=true, width=\linewidth]{\@cover}
|
||
\else
|
||
\includegraphics[trim=0 26bp 0 26bp,clip=true, width=\linewidth]{example-image}
|
||
\fi
|
||
}{\relax}
|
||
\setlength{\fboxsep}{0pt}
|
||
\colorbox{coverlinecolor}{\makebox[\linewidth][c]{\shortstack[c]{\vspace{0.5in}}}}
|
||
\vfill
|
||
\vskip-2ex
|
||
\hspace{2em}
|
||
\parbox{0.8\textwidth}{
|
||
\bfseries\Huge
|
||
\ifcsname @title\endcsname \@title \fi
|
||
\par}
|
||
\vfill
|
||
\vspace{-1.0cm}
|
||
\setstretch{2.5}
|
||
\hspace{2.5em}
|
||
\begin{minipage}[c]{0.67\linewidth}
|
||
{\color{darkgray}\bfseries\Large
|
||
\ifcsname @subtitle\endcsname\@subtitle\\[2ex]\fi}
|
||
\color{gray}\normalsize
|
||
{\renewcommand{\arraystretch}{0.618}
|
||
\begin{tabular}{l}
|
||
% \ifcsname @author\endcsname \authorname \@author\\\fi
|
||
\ifx\@author\empty\else\authorname\cnormal\@author\\ \fi
|
||
\ifcsname @institute\endcsname \institutename \cnormal\@institute\\ \fi
|
||
% \ifcsname @date\endcsname \@date\\\fi
|
||
\ifx\@date\empty\else\datename\cnormal\@date \\ \fi
|
||
\ifcsname @version\endcsname \cnormal\versionname\@version\\ \fi
|
||
\ifcsname @bioinfo\endcsname \cnormal\@bioinfo\\ \fi
|
||
\end{tabular}}
|
||
\end{minipage}
|
||
\begin{minipage}[c]{0.27\linewidth}
|
||
\begin{tikzpicture}[remember picture,overlay]
|
||
\begin{pgfonlayer}{background}
|
||
\node[opacity=0.8,
|
||
anchor=south east,
|
||
outer sep=0pt,
|
||
inner sep=0pt] at ($(current page.south east) +(-0.8in,1.5in)$) {
|
||
\ifcsname @logo\endcsname\includegraphics[width=4.2cm]{\@logo}\fi};
|
||
\end{pgfonlayer}
|
||
\end{tikzpicture}
|
||
\end{minipage}
|
||
\vfill
|
||
\begin{center}
|
||
\setstretch{1.3}
|
||
\parbox[t]{0.7\textwidth}{\centering \citshape
|
||
\ifcsname @extrainfo\endcsname\@extrainfo\fi}
|
||
\end{center}
|
||
\vfill
|
||
\end{titlepage}
|
||
\restoregeometry
|
||
\thispagestyle{empty}}
|
||
|
||
|
||
\newcommand{\dollar}{\mbox{\textdollar}}
|
||
|
||
\RequirePackage{listings}
|
||
\renewcommand{\ttdefault}{cmtt}
|
||
\lstdefinestyle{mystyle}{
|
||
basicstyle=%
|
||
\ttfamily
|
||
\lst@ifdisplaystyle\small\fi
|
||
}
|
||
|
||
\lstset{basicstyle=\ttfamily,style=mystyle,breaklines=true}
|
||
|
||
\definecolor{lightgrey}{rgb}{0.9,0.9,0.9}
|
||
\definecolor{frenchplum}{RGB}{190,20,83}
|
||
\lstset{language=[LaTeX]TeX,
|
||
texcsstyle=*\color{winered},
|
||
numbers=none,
|
||
mathescape=false,
|
||
breaklines=true,
|
||
keywordstyle=\color{winered},
|
||
commentstyle=\color{gray},
|
||
emph={elegantpaper,fontenc,fontspec,xeCJK,citestyle,FiraMono,xunicode,figure,fig,image,img,table,itemize,enumerate,ctex,microtype,description,times,booktabs,tabular,PDFLaTeX,XeLaTeX,type1cm,BibTeX,device,color,mode,lang,amsthm,tcolorbox,titlestyle,cite,ctex,listings,base,math,scheme,toc,esint,chinesefont,amsmath,bibstyle,natbib,pgfornament,addbibresource,printbibliography},
|
||
emphstyle={\color{frenchplum}},
|
||
morekeywords={DeclareSymbolFont,SetSymbolFont,toprule,midrule,bottomrule,institute,version,includegraphics,setmainfont,setsansfont,setmonofont ,setCJKmainfont,setCJKsansfont,setCJKmonofont,RequirePackage,figref,tabref,email,maketitle,keywords,definecolor,extrainfo,logo,cover,subtitle,appendix,chapter,section,hypersetup,mainmatter,frontmatter,tableofcontents,elegantpar,heiti,kaishu,lstset,pagecolor,zhnumber,marginpar,part,equote,marginnote,bioinfo,datechange,listofchange,lvert,lastpage,songti,heiti,fangsong,setCJKfamilyfont,textbf,elegantnewtheorem,thmcnt,colorlet,usesamecnt},
|
||
frame=single,
|
||
tabsize=2,
|
||
rulecolor=\color{structurecolor},
|
||
framerule=0.2pt,
|
||
columns=flexible,
|
||
% backgroundcolor=\color{lightgrey}
|
||
}
|
||
|
||
\newcommand\bmmax{0}
|
||
\RequirePackage{bm}
|
||
|
||
% add the list of change history
|
||
\newcommand{\dateinfoline}[2]{
|
||
\noindent\makebox[0pt][r]{%
|
||
\makebox[-3em][r]{%
|
||
\small
|
||
\textbf{\textcolor{structurecolor}{#1}}}\;\;}%
|
||
{\citshape\updatename\ignorespaces#2}}
|
||
|
||
\newcommand{\datechange}[2]{%
|
||
\noindent{\makebox[\textwidth][r]{\color{structurecolor}\rule{1.15\textwidth}{.4pt}}}
|
||
\dateinfoline{#1}{#2}
|
||
\addcontentsline{dates}{section}{#1 -- #2}}
|
||
|
||
\newcommand{\listofchanges}{%
|
||
\begingroup
|
||
\renewcommand{\contentsname}{\historyname}
|
||
\let\old@starttoc\@starttoc
|
||
\def\@starttoc##1{
|
||
\old@starttoc{dates}}
|
||
\tableofcontents%
|
||
\endgroup}
|
||
% https://tex.stackexchange.com/questions/472931/list-of-all-dates-in-a-document
|
||
|
||
\newenvironment{change}{
|
||
\begin{enumerate}[label=\small\protect\circled{\arabic*}]}{
|
||
\end{enumerate}}
|
||
|
||
|
||
|
||
\renewcommand\tableofcontents{%
|
||
\hypersetup{linktoc=all, linkcolor=black}
|
||
\if@twocolumn
|
||
\@restonecoltrue\onecolumn
|
||
\else
|
||
\@restonecolfalse
|
||
\fi
|
||
\chapter*{\contentsname
|
||
\@mkboth{%
|
||
\MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
|
||
\ifdefstring{\ELEGANT@toc}{twocol}{
|
||
\setlength{\columnsep}{2em}
|
||
\begin{multicols}{2}%
|
||
\@starttoc{toc}
|
||
\end{multicols}}{
|
||
\@starttoc{toc}}
|
||
\if@restonecol\twocolumn\fi
|
||
\hypersetup{linkcolor=winered}}
|
||
|
||
|
||
\renewcommand*{\cleardoublepage}{\clearpage\if@twoside \ifodd\c@page\else
|
||
\hbox{}%
|
||
\thispagestyle{empty}%
|
||
\newpage%
|
||
\if@twocolumn\hbox{}\newpage\fi\fi\fi}
|
||
|
||
|
||
% https://tex.stackexchange.com/questions/56839/chaptername-is-used-even-for-appendix-chapters-in-toc
|
||
\RequirePackage{calc}
|
||
\RequirePackage[titles]{tocloft}
|
||
\ifdefstring{\ELEGANT@lang}{cn}{
|
||
% \renewcommand{\cftchappresnum}{\beforechap\space}
|
||
% \renewcommand{\cftchapaftersnum}{\space\afterchap}
|
||
% \setlength{\cftchapnumwidth}{\widthof{\textbf{附录~十一}}}
|
||
\renewcommand{\numberline}[1]{%
|
||
\@cftbsnum #1\@cftasnum~\@cftasnumb ~%
|
||
}
|
||
\g@addto@macro\appendix{%
|
||
% recover \thechapter in the \NR@chapter's \numberline
|
||
\ifELEGANT@Hy@later
|
||
\patchcmd{\NR@chapter}%
|
||
{\numberline{\xchaptertitle}}{\numberline{\thechapter}}%
|
||
{}{\fail}
|
||
\else
|
||
\patchcmd{\Hy@org@chapter}%
|
||
{\numberline{\xchaptertitle}}{\numberline{\thechapter}}%
|
||
{}{\fail}
|
||
\fi
|
||
\addtocontents{toc}{%
|
||
\protect\renewcommand{\protect\cftchappresnum}{\appendixname\space}%
|
||
\protect\renewcommand{\protect\cftchapaftersnum}{}%
|
||
}%
|
||
}
|
||
}{
|
||
\renewcommand{\cftchappresnum}{\chaptername\space}
|
||
\renewcommand{\cftchapaftersnum}{\space}
|
||
\setlength{\cftchapnumwidth}{\widthof{\textbf{Appendix~9}}}
|
||
\g@addto@macro\appendix{%
|
||
\addtocontents{toc}{%
|
||
\protect\renewcommand{\protect\cftchappresnum}{\appendixname\space}%
|
||
\protect\renewcommand{\protect\cftchapaftersnum}{}%
|
||
\setlength{\cftchapnumwidth}{\widthof{\textbf{Appendix~999}}}
|
||
}%
|
||
}
|
||
}
|
||
|
||
% restore the tt default family to lmodern tt family
|
||
\renewcommand\ttdefault{lmtt} |