diff options
Diffstat (limited to 'macros/latex/contrib/elegantbook/elegantbook.cls')
-rw-r--r-- | macros/latex/contrib/elegantbook/elegantbook.cls | 1483 |
1 files changed, 0 insertions, 1483 deletions
diff --git a/macros/latex/contrib/elegantbook/elegantbook.cls b/macros/latex/contrib/elegantbook/elegantbook.cls deleted file mode 100644 index 4fb3e3d93a..0000000000 --- a/macros/latex/contrib/elegantbook/elegantbook.cls +++ /dev/null @@ -1,1483 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%% -%% 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{elegantbook}[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\LARGE\enspace\bfseries{\color{structurecolor} \IfAppendix{\appendixname\;\thechapter\;}{\xchaptertitle\;}}}{1pt}{ - \LARGE\bfseries\color{structurecolor}\filcenter}[] -\titleformat{\section}[hang]{\bfseries}{ - \Large\bfseries{\color{structurecolor}\thesection}\enspace}{1pt}{% - \color{structurecolor}\Large\bfseries\filright} -\titleformat{\subsection}[hang]{\bfseries}{ - \large\bfseries\color{structurecolor}\thesubsection\enspace}{1pt}{% - \color{structurecolor}\large\bfseries\filright} -\titleformat{\subsubsection}[hang]{\bfseries}{ - \large\bfseries\color{structurecolor}\thesubsubsection\enspace}{1pt}{% - \color{structurecolor}\large\bfseries\filright} - -\titlespacing{\chapter}{0pt}{-20pt}{1.3\baselineskip} -%\titlespacing{\subsection}{0pt}{0.5\baselineskip}{-\baselineskip} - - - -%%define the -%%definition theorem postulate axiom corollary lemma proposition -%%and proof environment -\RequirePackage{pifont,manfnt,bbding} -\RequirePackage[many]{tcolorbox} -% \newlength{\normalparindent} -% \setlength{\normalparindent}{\parindent} -\newcommand{\ELEGANT@tmp@tl}{} -\ifELEGANT@usesamecnt - \newcounter{ELEGANT@samecnt} - \counterwithin{ELEGANT@samecnt}{\ELEGANT@thmcnt} - \tcbset{ - new/usesamecnt/.style = {use counter = ELEGANT@samecnt} - } -\else - \tcbset{ - new/usesamecnt/.style = {} - } -\fi - -\ifdefstring{\ELEGANT@mode}{fancy}{ - \tcbset{ - common/.style={ - fontupper=\citshape, - lower separated=false, - % before upper={\setlength{\parindent}{\normalparindent}}, - coltitle=white, - colback=gray!5, - boxrule=0.5pt, - fonttitle=\bfseries, - enhanced, - breakable, - top=8pt, - before skip=8pt, - attach boxed title to top left={ - yshift=-0.11in, - xshift=0.15in}, - boxed title style={ - boxrule=0pt, - colframe=white, - arc=0pt, - outer arc=0pt}, - separator sign={.},}, - defstyle/.style={ - common, - colframe=main, - colback=main!5, - colbacktitle=main, - overlay unbroken and last={ - \node[anchor=south east, outer sep=0pt] at (\linewidth-width,0) { - \textcolor{main}{$\clubsuit$}};}}, - thmstyle/.style={ - common, - colframe=second, - colback=second!5, - colbacktitle=second, - overlay unbroken and last={ - \node[anchor=south east, outer sep=0pt] at (\linewidth-width,0) { - \textcolor{second}{$\heartsuit$}};}}, - prostyle/.style={ - common, - colframe=third, - colback=third!5, - colbacktitle=third, - overlay unbroken and last={ - \node[anchor=south east, outer sep=0pt] at (\linewidth-width,0) { - \textcolor{third}{$\spadesuit$}};}}, - ELEGANT@title/.code n args={2} - { - - \tcbset - { - title= - { - \csname #1name\endcsname~% - \ifdef{\thetcbcounter}{\thetcbcounter}{}% - \ifblank{#2}{}{\ (#2)} - } - } - }, - ELEGANT@label/.code n args={2} - { - \ifblank{#2} - {}{\tcbset{label={#1:#2}}} - } - } - - % define an internal control sequence \ELEGANT@newtheorem for fancy mode's newtheorem - % #1 is the environment name, #2 is the prefix of label, #3 is the style - % style: thmstyle, defstyle, prostyle - % e.g. \ELEGANT@newtheorem{theorem}{thm}{thmstyle} - % will define two environments: numbered ``theorem'' and no-numbered ``theorem*'' - % WARNING FOR MULTILINGUAL: this cs will automatically find \theoremname's definition, - % WARNING FOR MULTILINGUAL: it should be defined in language settings. - \NewDocumentCommand \ELEGANT@newtheorem { m m m O{} }{ - \ifcsundef{#1name}{% - \ClassError{elegantbook}{% - \ #1name undefined, \MessageBreak - Please check in language setting - }{} - }{\relax} - \expandafter\ifblank\expandafter{#4}{ - \tcbset{ - new/usecnt/.style={} - } - }{ - \tcbset{ - new/usecnt/.style= {use counter from = #4} - } - } - \DeclareTColorBox[auto counter,number within=\ELEGANT@thmcnt,usesamecnt,usecnt]{#1}{ g o t\label g }{ - common,#3, - IfValueTF={##1} - {ELEGANT@title={#1}{##1}} - { - IfValueTF={##2} - {ELEGANT@title={#1}{##2}} - {ELEGANT@title={#1}{}} - }, - IfValueT={##4} - { - IfBooleanTF={##3} - {label={##4}} - {ELEGANT@label={#2}{##4}} - } - } - \DeclareTColorBox{#1*}{ g o }{ - common,#3, - IfValueTF={##1} - {ELEGANT@title={#1}{##1}} - { - IfValueTF={##2} - {ELEGANT@title={#1}{##2}} - {ELEGANT@title={#1}{}} - }, - } - } - % define several environment - % we define headers like \definitionname before - \ELEGANT@newtheorem{theorem}{thm}{thmstyle} - \ELEGANT@newtheorem{definition}{def}{defstyle} - \ELEGANT@newtheorem{postulate}{pos}{thmstyle} - \ELEGANT@newtheorem{axiom}{axi}{thmstyle} - \ELEGANT@newtheorem{corollary}{cor}{thmstyle} - \ELEGANT@newtheorem{lemma}{lem}{thmstyle} - \ELEGANT@newtheorem{proposition}{pro}{prostyle} -}{\relax} - - -\ifdefstring{\ELEGANT@mode}{simple}{ - \let\openbox\relax - \RequirePackage{amsthm} - \let\proof\relax - % \let\proofname\relax - \let\endproof\relax - - % declare new theorem styles: defstyle, thmstyle, prostyle - \newtheoremstyle{defstyle}{3pt}{3pt}{\citshape}{-3pt}{ - \bfseries\color{main}}{}{0.5em}{\thmname{#1} \thmnumber{#2} \thmnote{(#3)}} - \newtheoremstyle{thmstyle}{3pt}{3pt}{\citshape}{-3pt}{ - \bfseries\color{second}}{}{0.5em}{\thmname{#1} \thmnumber{#2} \thmnote{(#3)}} - \newtheoremstyle{prostyle}{3pt}{3pt}{\citshape}{-3pt}{ - \bfseries\color{third}}{}{0.5em}{\thmname{#1} \thmnumber{#2} \thmnote{(#3)}} - - % define an internal control sequence \ELEGANT@newtheorem for simple mode's newtheorem - % #1 is the environment name, #2 is the style - % style: thmstyle, defstyle, prostyle - % e.g. \ELEGANT@newtheorem{theorem}{thmstyle} - % will define two environments: numbered ``theorem'' and no-numbered ``theorem*'' - % WARNING FOR MULTILINGUAL: this cs will automatically find \theoremname's definition, - % WARNING FOR MULTILINGUAL: it should be defined in language settings. - \NewDocumentCommand \ELEGANT@newtheorem { m m O{} } { - \theoremstyle{#2} - \ifELEGANT@usesamecnt - \newtheorem{#1}[ELEGANT@samecnt]{\csname #1name\endcsname} - \else - \ifblank{#3}{ - \newtheorem{#1}{\csname #1name\endcsname}[\ELEGANT@thmcnt] - }{ - \newtheorem{#1}[#3]{\csname #1name\endcsname} - } - \fi - \newtheorem*{#1*}{\csname #1name\endcsname} - } - - % define several environment - % we define headers like \definitionname before - \ELEGANT@newtheorem{theorem}{thmstyle} - \ELEGANT@newtheorem{definition}{defstyle} - \ELEGANT@newtheorem{postulate}{thmstyle} - \ELEGANT@newtheorem{axiom}{thmstyle} - \ELEGANT@newtheorem{corollary}{thmstyle} - \ELEGANT@newtheorem{lemma}{thmstyle} - \ELEGANT@newtheorem{proposition}{prostyle} -}{\relax} - -% define an user control sequence \elegantnewtheorem -% #1 is the evironment, #2 is the theorem header -% #3 is the style #4 is the prefix for fancy mode -% style: thmstyle, defstyle, prostyle -% if #4 is given in simple mode, an error will be raised -% if #4 isn't given in fancy mode, the prefix will be set equal to #1, -% and a warning will be raised -\newcommand{\ELEGANT@newtheorem@warning}{} -\newcommand{\ELEGANT@newtheorem@error}{} -\newcommand{\ELEGANT@usesamecnt@warning}{} -\NewDocumentCommand\elegantnewtheorem{ m m m g O{} } - { - \renewcommand{\ELEGANT@usesamecnt@warning}{ - \ClassWarning{elegantbook}{% - [#5] won't make sence with option \MessageBreak - `usesamecnt'. - } - } - \renewcommand{\ELEGANT@newtheorem@warning}{ - \ClassWarning{elegantbook}{% - Because you didn't provide a prefix, \MessageBreak - we use #1 as the default prefix. \MessageBreak - You have to use \MessageBreak - \ref{#1:label} to refer a \MessageBreak - \begin{#1}{name}{label} environment. \MessageBreak - } - } - \renewcommand{\ELEGANT@newtheorem@error}{ - \ClassError{elegantbook}{% - You can't set a prefix in mode ``simple''.\MessageBreak - Just use \MessageBreak - \elegantnewtheorem{#1}{#2}{#3} - }{% - We are using ``amsthm'' package to \MessageBreak - generate theorem-like theorem. \MessageBreak - The 4th parameter ``prefix'' isn't allowed. - } - } - \ifELEGANT@usesamecnt - \ifblank{#5}{}{\ELEGANT@usesamecnt@warning} - \else - \renewcommand{\ELEGANT@tmp@tl}{#5} - \fi - \expandafter\def\csname #1name\endcsname{#2} - \ifdefstring{\ELEGANT@mode}{simple}{% - \IfValueTF{#4} - {\ELEGANT@newtheorem@error} - {\ELEGANT@newtheorem{#1}{#3}[\ELEGANT@tmp@tl]} - }{\relax} - \ifdefstring{\ELEGANT@mode}{fancy}{% - \IfValueTF{#4} - { - \def\ELEGANT@temp@prefix{#4} - \ifdefempty{\ELEGANT@temp@prefix} - { - \ELEGANT@newtheorem{#1}{#1}{#3}[\ELEGANT@tmp@tl] - \ELEGANT@newtheorem@warning - } - {\ELEGANT@newtheorem{#1}{#4}{#3}[\ELEGANT@tmp@tl]} - } - { - \ELEGANT@newtheorem{#1}{#1}{#3}[\ELEGANT@tmp@tl] - \ELEGANT@newtheorem@warning - } - }{\relax} - } - -% main(green-def): example exercise problem solution -% second(orange-thm): proof note remark -% third(blue-prop): assumptions property conclusion custom - -%% Example with counter -\newcounter{exam}[chapter] -\setcounter{exam}{0} -\renewcommand{\theexam}{\thechapter.\arabic{exam}} -\newenvironment{example}[1][]{ - \refstepcounter{exam} - \par\noindent\textbf{\color{main}{\examplename} \theexam #1 }\rmfamily}{ - \par\ignorespacesafterend} - -%% Exercise with counter -\newcounter{exer}[chapter] -\setcounter{exer}{0} -\renewcommand{\theexer}{\thechapter.\arabic{exer}} -\newenvironment{exercise}[1][]{ - \refstepcounter{exer} - \par\noindent\makebox[-3pt][r]{ - \scriptsize\color{red!90}\HandPencilLeft\quad} - \textbf{\color{main}{\exercisename} \theexer #1 }\rmfamily}{ - \par\ignorespacesafterend} - -%% Problem with counter -\newcounter{prob}[chapter] -\setcounter{prob}{0} -\renewcommand{\theprob}{\thechapter.\arabic{prob}} -\newenvironment{problem}[1][]{ - \refstepcounter{prob} - \par\noindent\textbf{\color{main}{\problemname} \theprob #1 }\rmfamily}{ - \par\ignorespacesafterend} - -\newenvironment{note}{ - \par\noindent\makebox[-3pt][r]{ - \scriptsize\color{red!90}\textdbend\quad} - \textbf{\color{second}\notename} \citshape}{\par} - -\newenvironment{proof}{ - \par\noindent\textbf{\color{second}\proofname\;} - \color{black!90}\cfs}{ - % \hfill$\Box$\quad - \par} - -\newenvironment{solution}{\par\noindent\textbf{\color{main}\solutionname} \citshape}{\par} -\newenvironment{remark}{\noindent\textbf{\color{second}\remarkname}}{\par} -\newenvironment{assumption}{\par\noindent\textbf{\color{third}\assumptionname} \citshape}{\par} -\newenvironment{conclusion}{\par\noindent\textbf{\color{third}\conclusionname} \citshape}{\par} -\newenvironment{property}{\par\noindent\textbf{\color{third}\propertyname} \citshape}{\par} -\newenvironment{custom}[1]{\par\noindent\textbf{\color{third} #1} \citshape}{\par} - -\RequirePackage{multicol} -\tcbset{ - introductionsty/.style={ - enhanced, - breakable, - colback=structurecolor!10, - colframe=structurecolor, - fonttitle=\bfseries, - colbacktitle=structurecolor, - fontupper=\citshape, - attach boxed title to top center={yshift=-3mm,yshifttext=-1mm}, - boxrule=0pt, - toprule=0.5pt, - bottomrule=0.5pt, - top=8pt, - before skip=8pt, - sharp corners - }, -} - - -\newenvironment{introduction}[1][\introductionname]{ - \begin{tcolorbox}[introductionsty,title={#1}] - \begin{multicols}{2} - \begin{itemize}[label=\textcolor{structurecolor}{\upshape\scriptsize\SquareShadowBottomRight}]}{ - \end{itemize} - \end{multicols} - \end{tcolorbox}} - -\RequirePackage{adforn} - -\newenvironment{problemset}[1][\xchaptertitle~\exercisename]{ - \vspace*{10pt} - \begin{center} - \phantomsection\addcontentsline{toc}{section}{\texorpdfstring{\xchaptertitle~\exercisename}{\exercisename}} - % \markboth{#1}{\rightmark} - \markright{#1} - \textcolor{structurecolor}{\Large\bfseries\adftripleflourishleft~#1~\adftripleflourishright} - \end{center} - \begin{enumerate}}{ - \end{enumerate}} - -\def\relsec{\endgroup start} -\def\endrelsec{end\begingroup\def \@currenvir {relsec}} - -\ifdefstring{\ELEGANT@result}{noanswer}{ - \AtBeginDocument{ - \excludecomment{solution} - \excludecomment{proof} - \excludecomment{inline} - } -}{\relax} - - -%页眉页脚 -\RequirePackage{fancyhdr} -\fancyhf{} - - -\fancyfoot[c]{\color{structurecolor}\small\thepage} -\if@twoside - \fancyhead[EL]{\color{structurecolor}\cnormal\leftmark} - \fancyhead[OR]{\color{structurecolor}\cnormal\rightmark} -\else - \fancyhead[R]{\color{structurecolor}\cnormal\rightmark} -\fi - -\renewcommand{\headrule}{\color{structurecolor}\hrule width\textwidth} -\pagestyle{fancy} -\renewcommand{\headrulewidth}{1pt} -% \renewcommand{\headrule}{} -\fancypagestyle{plain}{\renewcommand{\headrulewidth}{0pt}\fancyhf{}\renewcommand{\headrule}{}} -\renewcommand{\sectionmark}[1]{\markright{\thesection\, #1}{}} -\renewcommand{\chaptermark}[1]{\markboth{\xchaptertitle\, #1}{}} - - -\renewcommand*{\maketitle}{% -\hypersetup{pageanchor=false} -\pagenumbering{Alph} -\begin{titlepage} - \newgeometry{margin = 0in} - \parindent=0pt - \ifdefstring{\ELEGANT@device}{normal}{ - \ifcsname @cover\endcsname - \includegraphics[width=\linewidth]{\@cover} - \else - \includegraphics[width=\linewidth]{example-image} - \fi - }{\relax} - \ifdefstring{\ELEGANT@device}{pad}{ - \ifcsname @cover\endcsname - \includegraphics[trim=0 26bp 0 26bp,clip=true, width=\linewidth]{\@cover} - \else - \includegraphics[trim=0 26bp 0 26bp,clip=true, width=\linewidth]{example-image} - \fi - }{\relax} - \setlength{\fboxsep}{0pt} - \colorbox{coverlinecolor}{\makebox[\linewidth][c]{\shortstack[c]{\vspace{0.5in}}}} - \vfill - \vskip-2ex - \hspace{2em} - \parbox{0.8\textwidth}{ - \bfseries\Huge - \ifcsname @title\endcsname \@title \fi - \par} - \vfill - \vspace{-1.0cm} - \setstretch{2.5} - \hspace{2.5em} - \begin{minipage}[c]{0.67\linewidth} - {\color{darkgray}\bfseries\Large - \ifcsname @subtitle\endcsname\@subtitle\\[2ex]\fi} - \color{gray}\normalsize - {\renewcommand{\arraystretch}{0.618} - \begin{tabular}{l} - % \ifcsname @author\endcsname \authorname \@author\\\fi - \ifx\@author\empty\else\authorname\cnormal\@author\\ \fi - \ifcsname @institute\endcsname \institutename \cnormal\@institute\\ \fi - % \ifcsname @date\endcsname \@date\\\fi - \ifx\@date\empty\else\datename\cnormal\@date \\ \fi - \ifcsname @version\endcsname \cnormal\versionname\@version\\ \fi - \ifcsname @bioinfo\endcsname \cnormal\@bioinfo\\ \fi - \end{tabular}} - \end{minipage} - \begin{minipage}[c]{0.27\linewidth} - \begin{tikzpicture}[remember picture,overlay] - \begin{pgfonlayer}{background} - \node[opacity=0.8, - anchor=south east, - outer sep=0pt, - inner sep=0pt] at ($(current page.south east) +(-0.8in,1.5in)$) { - \ifcsname @logo\endcsname\includegraphics[width=4.2cm]{\@logo}\fi}; - \end{pgfonlayer} - \end{tikzpicture} - \end{minipage} - \vfill - \begin{center} - \setstretch{1.3} - \parbox[t]{0.7\textwidth}{\centering \citshape - \ifcsname @extrainfo\endcsname\@extrainfo\fi} - \end{center} - \vfill -\end{titlepage} -\restoregeometry -\thispagestyle{empty}} - - -\newcommand{\dollar}{\mbox{\textdollar}} - -\RequirePackage{listings} -\renewcommand{\ttdefault}{cmtt} -\lstdefinestyle{mystyle}{ - basicstyle=% - \ttfamily - \lst@ifdisplaystyle\small\fi -} - -\lstset{basicstyle=\ttfamily,style=mystyle,breaklines=true} - -\definecolor{lightgrey}{rgb}{0.9,0.9,0.9} -\definecolor{frenchplum}{RGB}{190,20,83} -\lstset{language=[LaTeX]TeX, - texcsstyle=*\color{winered}, - numbers=none, - mathescape=false, - breaklines=true, - keywordstyle=\color{winered}, - commentstyle=\color{gray}, - emph={elegantpaper,fontenc,fontspec,xeCJK,citestyle,FiraMono,xunicode,figure,fig,image,img,table,itemize,enumerate,ctex,microtype,description,times,booktabs,tabular,PDFLaTeX,XeLaTeX,type1cm,BibTeX,device,color,mode,lang,amsthm,tcolorbox,titlestyle,cite,ctex,listings,base,math,scheme,toc,esint,chinesefont,amsmath,bibstyle,natbib,pgfornament,addbibresource,printbibliography}, - emphstyle={\color{frenchplum}}, - morekeywords={DeclareSymbolFont,SetSymbolFont,toprule,midrule,bottomrule,institute,version,includegraphics,setmainfont,setsansfont,setmonofont ,setCJKmainfont,setCJKsansfont,setCJKmonofont,RequirePackage,figref,tabref,email,maketitle,keywords,definecolor,extrainfo,logo,cover,subtitle,appendix,chapter,section,hypersetup,mainmatter,frontmatter,tableofcontents,elegantpar,heiti,kaishu,lstset,pagecolor,zhnumber,marginpar,part,equote,marginnote,bioinfo,datechange,listofchange,lvert,lastpage,songti,heiti,fangsong,setCJKfamilyfont,textbf,elegantnewtheorem,thmcnt,colorlet,usesamecnt}, - frame=single, - tabsize=2, - rulecolor=\color{structurecolor}, - framerule=0.2pt, - columns=flexible, - % backgroundcolor=\color{lightgrey} -} - -\newcommand\bmmax{0} -\RequirePackage{bm} - -% add the list of change history -\newcommand{\dateinfoline}[2]{ - \noindent\makebox[0pt][r]{% - \makebox[-3em][r]{% - \small - \textbf{\textcolor{structurecolor}{#1}}}\;\;}% - {\citshape\updatename\ignorespaces#2}} - -\newcommand{\datechange}[2]{% - \noindent{\makebox[\textwidth][r]{\color{structurecolor}\rule{1.15\textwidth}{.4pt}}} - \dateinfoline{#1}{#2} - \addcontentsline{dates}{section}{#1 -- #2}} - -\newcommand{\listofchanges}{% - \begingroup - \renewcommand{\contentsname}{\historyname} - \let\old@starttoc\@starttoc - \def\@starttoc##1{ - \old@starttoc{dates}} - \tableofcontents% - \endgroup} -% https://tex.stackexchange.com/questions/472931/list-of-all-dates-in-a-document - -\newenvironment{change}{ - \begin{enumerate}[label=\small\protect\circled{\arabic*}]}{ - \end{enumerate}} - - - -\renewcommand\tableofcontents{% - \hypersetup{linktoc=all, linkcolor=black} - \if@twocolumn - \@restonecoltrue\onecolumn - \else - \@restonecolfalse - \fi - \chapter*{\contentsname - \@mkboth{% - \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}% - \ifdefstring{\ELEGANT@toc}{twocol}{ - \setlength{\columnsep}{2em} - \begin{multicols}{2}% - \@starttoc{toc} - \end{multicols}}{ - \@starttoc{toc}} - \if@restonecol\twocolumn\fi - \hypersetup{linkcolor=winered}} - - -\renewcommand*{\cleardoublepage}{\clearpage\if@twoside \ifodd\c@page\else -\hbox{}% -\thispagestyle{empty}% -\newpage% -\if@twocolumn\hbox{}\newpage\fi\fi\fi} - - -% https://tex.stackexchange.com/questions/56839/chaptername-is-used-even-for-appendix-chapters-in-toc -\RequirePackage{calc} -\RequirePackage[titles]{tocloft} -\ifdefstring{\ELEGANT@lang}{cn}{ - % \renewcommand{\cftchappresnum}{\beforechap\space} - % \renewcommand{\cftchapaftersnum}{\space\afterchap} - % \setlength{\cftchapnumwidth}{\widthof{\textbf{附录~十一}}} - \renewcommand{\numberline}[1]{% - \@cftbsnum #1\@cftasnum~\@cftasnumb ~% - } - \g@addto@macro\appendix{% - % recover \thechapter in the \NR@chapter's \numberline - \ifELEGANT@Hy@later - \patchcmd{\NR@chapter}% - {\numberline{\xchaptertitle}}{\numberline{\thechapter}}% - {}{\fail} - \else - \patchcmd{\Hy@org@chapter}% - {\numberline{\xchaptertitle}}{\numberline{\thechapter}}% - {}{\fail} - \fi - \addtocontents{toc}{% - \protect\renewcommand{\protect\cftchappresnum}{\appendixname\space}% - \protect\renewcommand{\protect\cftchapaftersnum}{}% - }% - } -}{ - \renewcommand{\cftchappresnum}{\chaptername\space} - \renewcommand{\cftchapaftersnum}{\space} - \setlength{\cftchapnumwidth}{\widthof{\textbf{Appendix~9}}} - \g@addto@macro\appendix{% - \addtocontents{toc}{% - \protect\renewcommand{\protect\cftchappresnum}{\appendixname\space}% - \protect\renewcommand{\protect\cftchapaftersnum}{}% - \setlength{\cftchapnumwidth}{\widthof{\textbf{Appendix~999}}} - }% - } -} - -% restore the tt default family to lmodern tt family -\renewcommand\ttdefault{lmtt}
\ No newline at end of file |