diff options
author | Karl Berry <karl@freefriends.org> | 2019-08-18 20:46:55 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-08-18 20:46:55 +0000 |
commit | 56c371d7fc852f154dcf8b66e2b8320661be6208 (patch) | |
tree | e60b38a28e115c79513b307b3227313555b97778 /Master/texmf-dist/tex/latex/elegantbook | |
parent | 2eeb14790650dc914a3a310a620dedbeac90ef18 (diff) |
elegantbook (18aug19)
git-svn-id: svn://tug.org/texlive/trunk@51901 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/elegantbook')
-rw-r--r-- | Master/texmf-dist/tex/latex/elegantbook/elegantbook.cls | 231 |
1 files changed, 116 insertions, 115 deletions
diff --git a/Master/texmf-dist/tex/latex/elegantbook/elegantbook.cls b/Master/texmf-dist/tex/latex/elegantbook/elegantbook.cls index 7c8ddde691b..6441e3d2d37 100644 --- a/Master/texmf-dist/tex/latex/elegantbook/elegantbook.cls +++ b/Master/texmf-dist/tex/latex/elegantbook/elegantbook.cls @@ -8,7 +8,7 @@ %%%%%%%%%%%%%%%%%%%%% % % !Mode:: "TeX:UTF-8" \NeedsTeXFormat{LaTeX2e} -\ProvidesClass{elegantbook}[2019/05/26 v3.08 ElegantBook document class] +\ProvidesClass{elegantbook}[2019/08/18 v3.09 ElegantBook document class] \RequirePackage{kvoptions} \RequirePackage{etoolbox} @@ -25,6 +25,7 @@ \DeclareStringOption[numbers]{cite} \DeclareStringOption[newtxmath]{math} \DeclareStringOption[marginfalse]{marginpar} +\DeclareStringOption[onecol]{toc} % ----- backward compatibility \DeclareVoidOption{green}{\ekv{color=green}} \DeclareVoidOption{cyan}{\ekv{color=cyan}} @@ -56,6 +57,10 @@ \DeclareVoidOption{margintrue}{\ekv{marginpar=margintrue}} \DeclareVoidOption{marginfalse}{\ekv{marginpar=marginfalse}} + +\DeclareVoidOption{onecol}{\ekv{toc=onecol}} +\DeclareVoidOption{twocol}{\ekv{toc=twocol}} + % ----- Math option ----- \newcommand\mailto[1]{\href{mailto:#1}{\nolinkurl{#1}}} @@ -88,45 +93,25 @@ \RequirePackage{ifxetex} -\ifxetex - \RequirePackage{fontenc} -\else - \RequirePackage[T1]{fontenc} -\fi \RequirePackage{newtxtext} -\ifdefstring{\ELEGANT@math}{newtxmath}{ -\RequirePackage{newtxmath} -}{\relax} - - - -% font setting for text and math -% \RequirePackage[T1]{fontenc} -% \RequirePackage{newtxtext} -% \RequirePackage{newtxmath} -% \RequirePackage[scale=0.85]{newtxtt} \RequirePackage{anyfontsize} \ifdefstring{\ELEGANT@math}{newtxmath}{ -\DeclareSymbolFont{CMletters} {OML}{cmm} {m}{it}% -\DeclareSymbolFont{CMsymbols} {OMS}{cmsy}{m}{n}% -\DeclareSymbolFont{CMlargesymbols}{OMX}{cmex}{m}{n}% -% \let\sum\relax -% \DeclareMathSymbol{\sum}{\mathop}{CMlargesymbols}{"50}% -% \let\int\relax -% \DeclareMathSymbol{\int}{\mathop}{CMlargesymbols}{"5A}% -\let\intop\relax\let\sumop\relax\let\ointop\relax\let\prodop\relax +\RequirePackage{newtxmath} +\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{\intop}{\mathop}{CMlargesymbols}{"52} -\DeclareMathSymbol{\ointop}{\mathop}{CMlargesymbols}{"48} \DeclareMathSymbol{\prodop}{\mathop}{CMlargesymbols}{"51} -% \let\partial\relax -% \DeclareMathSymbol{\partial}{\mathord}{CMletters}{"40}% -% \let\in\relax -%\DeclareMathSymbol{\in}{\mathrel}{CMsymbols}{"32}% -% \let\pi\relax -% \DeclareMathSymbol{\pi}{\mathord}{CMletters}{"19} }{\relax} % ----- Handle Colors ----- @@ -227,7 +212,7 @@ \RequirePackage{enumerate} % list/itemize/enumerate setting -\RequirePackage[shortlabels]{enumitem} +\RequirePackage[shortlabels,inline]{enumitem} \setlist{nolistsep} % caption settings @@ -239,7 +224,20 @@ \setlength{\abovedisplayskip}{3pt} \setlength{\belowdisplayskip}{3pt} \setcounter{tocdepth}{1} +\RequirePackage[flushmargin]{footmisc} +\setlength{\footnotesep}{12pt} } + +\ifdefstring{\ELEGANT@toc}{twocol}{ +\renewcommand{\tableofcontents}{% +\setlength{\columnsep}{2em} +%\setlength{\columnseprule}{.8pt} +\begin{multicols}{2}[\chapter*{\contentsname}]% + \@starttoc{toc}% +\end{multicols}} +}{\relax} + + %% 常用宏包 \linespread{1.3} @@ -247,31 +245,35 @@ %\RequirePackage{enumerate} \RequirePackage{amsmath,mathrsfs,amsfonts,amssymb} \RequirePackage{booktabs} -\RequirePackage{multicol} +\RequirePackage{multicol,multirow} \RequirePackage{xcolor} \RequirePackage{fancyvrb} \RequirePackage{makecell,lipsum,hologo,setspace} %%中文结构名字 \ifdefstring{\ELEGANT@lang}{cn}{ -\renewcommand{\contentsname}{目\hspace{2em}录} -\renewcommand{\figurename}{图} -\renewcommand{\tablename}{表} -\renewcommand{\partname}{\color{structurecolor}} -\renewcommand{\thepart}{第\zhnumber{\arabic{part}}部分} -\renewcommand{\listfigurename}{插图目录} -\renewcommand{\listtablename}{表格目录} -\renewcommand{\bibname}{参考文献} -\renewcommand{\appendixname}{附录} -\renewcommand{\indexname}{索\hspace{2em}引} -\newcommand\figref[1]{\textbf{图}~\ref{#1}} -\newcommand\tabref[1]{\textbf{表}~\ref{#1}} -\renewcommand{\chaptername}{第 \thechapter\;章} -\ifdefstring{\ELEGANT@cite}{authoryear}{ -\RequirePackage[authoryear]{gbt7714}}{\relax} -\ifdefstring{\ELEGANT@cite}{numbers}{ -\RequirePackage[numbers]{gbt7714}}{\relax} -% \bibliographystyle{aer} + \renewcommand{\contentsname}{目\hspace{2em}录} + \renewcommand{\figurename}{图} + \renewcommand{\tablename}{表} + \renewcommand{\partname}{\color{structurecolor}} + \renewcommand{\thepart}{第\zhnumber{\arabic{part}}部分} + \renewcommand{\listfigurename}{插图目录} + \renewcommand{\listtablename}{表格目录} + \renewcommand{\bibname}{参考文献} + \renewcommand{\appendixname}{附录} + \renewcommand{\indexname}{索\hspace{2em}引} + \newcommand\figref[1]{\textbf{图}~\ref{#1}} + \newcommand\tabref[1]{\textbf{表}~\ref{#1}} + \renewcommand{\chaptername}{第 \thechapter\,章} + \ifdefstring{\ELEGANT@cite}{authoryear}{ + \RequirePackage[authoryear]{gbt7714} + }{\relax} + \ifdefstring{\ELEGANT@cite}{numbers}{ + \RequirePackage[numbers]{gbt7714} + }{\relax} + \ifdefstring{\ELEGANT@cite}{super}{ + \RequirePackage[super]{gbt7714} + }{\relax} }{\relax} \ifdefstring{\ELEGANT@lang}{en}{ \newcommand\figref[1]{\textbf{Figure}~\ref{#1}} @@ -306,7 +308,6 @@ %% device settings \RequirePackage{geometry} -\RequirePackage{marginnote} \ifdefstring{\ELEGANT@device}{normal}{ \geometry{ a4paper, @@ -317,8 +318,8 @@ } \ifdefstring{\ELEGANT@marginpar}{margintrue}{ \geometry{ - marginparwidth=6cm, marginparsep=5mm, - left=1.5cm,right=7.5cm, + marginparwidth=5cm, marginparsep=5mm, + left=2cm,right=7cm, } }{\relax} }{\relax} @@ -404,21 +405,21 @@ colframe=main, colback=main!5, colbacktitle=main, - overlay unbroken and last={\node[anchor=south east, outer sep=6pt] at (\textwidth-width,0) {\textcolor{main}{$\clubsuit$}}; } + 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=6pt] at (\textwidth-width,0) {\textcolor{second}{$\heartsuit$}}; } + overlay unbroken and last={\node[anchor=south east, outer sep=0pt] at (\linewidth-width,0) {\textcolor{second}{$\heartsuit$}}; } }, propstyle/.style={ common, colframe=third, colback=third!5, colbacktitle=third, - overlay unbroken and last={\node[anchor=south east, outer sep=6pt] at (\textwidth-width,0) {\textcolor{third}{$\spadesuit$}}; } + overlay unbroken and last={\node[anchor=south east, outer sep=0pt] at (\linewidth-width,0) {\textcolor{third}{$\spadesuit$}}; } }, } @@ -521,9 +522,9 @@ \setcounter{exam}{0} \renewcommand{\theexam}{\thechapter.\arabic{exam}} \newenvironment{example}[1][]{ - \refstepcounter{exam}\par\noindent\textbf{\color{main}{ + \refstepcounter{exam}\par\noindent\textbf{\color{main}{% \ifdefstring{\ELEGANT@lang}{en}{Example}{例} - }\theexam #1 }\rmfamily % + }\theexam #1 \,}\rmfamily % }{ \par\medskip\ignorespacesafterend % } @@ -533,9 +534,9 @@ \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}{ + \refstepcounter{exer}\par\noindent\makebox[-3pt][r]{\scriptsize\color{red!90}\HandPencilLeft\quad}\textbf{\color{main}{% \ifdefstring{\ELEGANT@lang}{en}{Exercise}{练习} - }\theexer #1 }\rmfamily % + }\theexer #1 \,}\rmfamily % }{ \par\medskip\ignorespacesafterend % } @@ -547,39 +548,39 @@ \newenvironment{problem}[1][]{ \refstepcounter{prob}\par\noindent\textbf{\color{main}{% \ifdefstring{\ELEGANT@lang}{en}{Problem}{例题} - }\theprob #1 }\rmfamily % + }\theprob #1 \,}\rmfamily % }{ \par\medskip\ignorespacesafterend % } -\newenvironment{note}{\par\noindent{\makebox[0pt][r]{\scriptsize\color{red!90}\textdbend\quad}\textbf{\color{second} - \ifdefstring{\ELEGANT@lang}{en}{Note}{注意} +\newenvironment{note}{\par\noindent{\makebox[0pt][r]{\scriptsize\color{red!90}\textdbend\quad}\textbf{\color{second}% + \ifdefstring{\ELEGANT@lang}{en}{Note}{注意}\, }}\ifdefstring{\ELEGANT@lang}{en}{\itshape}{\kaishu}}{\par} -\newenvironment{proof}{\par\noindent\textbf{\color{second} - \ifdefstring{\ELEGANT@lang}{en}{Proof}{证明} +\newenvironment{proof}{\par\noindent\textbf{\color{second}% + \ifdefstring{\ELEGANT@lang}{en}{Proof}{证明}\; }\color{black!90}\small}{ %\hfill$\Box$\quad \par} -\newenvironment{remark}{\noindent\textbf{\color{second} - \ifdefstring{\ELEGANT@lang}{en}{Remark}{注} +\newenvironment{remark}{\noindent\textbf{\color{second}% + \ifdefstring{\ELEGANT@lang}{en}{Remark}{注}\, }}{\par} -\newenvironment{assumption}{\par\noindent\textbf{\color{third} - \ifdefstring{\ELEGANT@lang}{en}{Assumption}{假设} +\newenvironment{assumption}{\par\noindent\textbf{\color{third}% + \ifdefstring{\ELEGANT@lang}{en}{Assumption}{假设}\, }}{\par} -\newenvironment{conclusion}{\par\noindent\textbf{\color{third} - \ifdefstring{\ELEGANT@lang}{en}{Conclusion}{结论} +\newenvironment{conclusion}{\par\noindent\textbf{\color{third}% + \ifdefstring{\ELEGANT@lang}{en}{Conclusion}{结论}\, }}{\par} -\newenvironment{solution}{\par\noindent\textbf{\color{main} - \ifdefstring{\ELEGANT@lang}{en}{Solution}{解} +\newenvironment{solution}{\par\noindent\textbf{\color{main}% + \ifdefstring{\ELEGANT@lang}{en}{Solution}{解}\; }\ifdefstring{\ELEGANT@lang}{en}{\itshape}{\kaishu}}{\vskip2ex\par} -\newenvironment{property}{\par\noindent\textbf{\color{third} - \ifdefstring{\ELEGANT@lang}{en}{Property}{性质} +\newenvironment{property}{\par\noindent\textbf{\color{third}% + \ifdefstring{\ELEGANT@lang}{en}{Property}{性质}\; }}{\par} \newenvironment{custom}[1]{\par\noindent\textbf{\color{third} - \ifdefstring{\ELEGANT@lang}{en}{#1}{#1} + \ifdefstring{\ELEGANT@lang}{en}{#1}{#1}\, }}{\par} \RequirePackage{multicol} @@ -612,13 +613,17 @@ \end{tcolorbox}} \RequirePackage{adforn} -\newenvironment{problemset}[1][\ifdefstring{\ELEGANT@lang}{en}{\textbf{\chaptername\; Exercise}}{\textbf{\chaptername\; 习题}}]{ +\newenvironment{problemset}[1][\ifdefstring{\ELEGANT@lang}{en}{\textbf{\chaptername\, Exercise}}{\textbf{\chaptername\, 习题}}]{ \begin{center} +\ifdefstring{\ELEGANT@lang}{en}{\addcontentsline{toc}{section}{\texorpdfstring{\chaptername\,}{Chapter} Exercise} }{\addcontentsline{toc}{section}{\texorpdfstring{\chaptername\,}{章节}习题}} \textcolor{structurecolor}{\Large\bfseries\adftripleflourishleft~#1~\adftripleflourishright} \end{center} \begin{enumerate}[label=\textcolor{structurecolor}{\arabic*.}]}{% \end{enumerate}} +\def\relsec{\endgroup start} +\def\endrelsec{end\begingroup\def \@currenvir {relsec}} + \ifdefstring{\ELEGANT@result}{noanswer}{ \AtBeginDocument{ \excludecomment{solution} @@ -633,23 +638,39 @@ \RequirePackage{lastpage} \fancyhf{} -\if@twoside -\fancyhead[EL,OR]{\color{structurecolor}\ifdefstring{\ELEGANT@lang}{en}{\itshape}{\kaishu}--\thepage/\pageref*{LastPage}--} -\fancyhead[ER]{\color{structurecolor}\ifdefstring{\ELEGANT@lang}{en}{\itshape}{\kaishu}\leftmark{}} -\fancyhead[OL]{\color{structurecolor}\ifdefstring{\ELEGANT@lang}{en}{\itshape}{\kaishu}\rightmark} -\else -\fancyhead[R]{\color{structurecolor}\ifdefstring{\ELEGANT@lang}{en}{\itshape}{\kaishu}--\thepage/\pageref*{LastPage}--} -\fancyhead[L]{\color{structurecolor}\ifdefstring{\ELEGANT@lang}{en}{\itshape}{\kaishu}\rightmark} -\fi -\fancyfoot[c]{\base{structurecolor}{88}} +\ifdefstring{\ELEGANT@base}{hide}{ + \if@twoside + \fancyhead[ER,OR]{\color{structurecolor}\ifdefstring{\ELEGANT@lang}{en}{\itshape}{\kaishu}\rightmark} + \fancyhead[El,OL]{\color{structurecolor}\ifdefstring{\ELEGANT@lang}{en}{\itshape}{\kaishu}\leftmark} + \else + \fancyhead[L]{\color{structurecolor}\ifdefstring{\ELEGANT@lang}{en}{\itshape}{\kaishu}\leftmark} + \fancyhead[R]{\color{structurecolor}\ifdefstring{\ELEGANT@lang}{en}{\itshape}{\kaishu}\rightmark} + \fancyfoot[c]{\color{structurecolor}\ifdefstring{\ELEGANT@lang}{en}{\itshape}{\kaishu}--\;\thepage/\pageref*{LastPage}\;--} + \fi +}{\relax} + + +\ifdefstring{\ELEGANT@base}{show}{ + \fancyfoot[c]{\catcode`\$=3\relax\base{structurecolor}{88}} + \if@twoside + \fancyhead[ER,OL]{\color{structurecolor}\ifdefstring{\ELEGANT@lang}{en}{\itshape}{\kaishu}--\;\thepage/\pageref*{LastPage}\;--} + \fancyhead[EL]{\color{structurecolor}\ifdefstring{\ELEGANT@lang}{en}{\itshape}{\kaishu}\leftmark} + \fancyhead[OR]{\color{structurecolor}\ifdefstring{\ELEGANT@lang}{en}{\itshape}{\kaishu}\rightmark} + \else + \fancyhead[R]{\color{structurecolor}\ifdefstring{\ELEGANT@lang}{en}{\itshape}{\kaishu}--\;\thepage/\pageref*{LastPage}\;--} + \fancyhead[L]{\color{structurecolor}\ifdefstring{\ELEGANT@lang}{en}{\itshape}{\kaishu}\leftmark} + \fi +}{\relax} + + \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{\chaptername \; #1\;}{}} +\renewcommand{\sectionmark}[1]{\markright{\thesection\, #1}{} } +\renewcommand{\chaptermark}[1]{\markboth{\chaptername \, #1\,}{}} %%封面 \newcommand*{\extrainfo}[1]{\def\@extrainfo{#1}} @@ -727,7 +748,6 @@ - \RequirePackage{listings} \renewcommand{\ttdefault}{cmtt} \lstdefinestyle{mystyle}{ @@ -746,9 +766,9 @@ breaklines=true, keywordstyle=\color{winered}, commentstyle=\color{gray}, - emph={elegantpaper,fontenc,fontspec,xeCJK,FiraMono,xunicode,newtxmath,figure,fig,image,img,table,itemize,enumerate,newtxtext,newtxtt,ctex,microtype,description,times,newtx,booktabs,tabular,PDFLaTeX,XeLaTeX,type1cm,BibTeX,device,color,mode,lang,amsthm,tcolorbox,titlestyle,cite,marginnote,ctex,listings}, + emph={elegantpaper,fontenc,fontspec,xeCJK,FiraMono,xunicode,newtxmath,figure,fig,image,img,table,itemize,enumerate,newtxtext,newtxtt,ctex,microtype,description,times,newtx,booktabs,tabular,PDFLaTeX,XeLaTeX,type1cm,BibTeX,device,color,mode,lang,amsthm,tcolorbox,titlestyle,cite,marginnote,ctex,listings,base}, 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,hypersetup,mainmatter,tableofcontents,elegantpar,numbers,authoryear,heiti,kaishu,lstset,pagecolor,zhnumber,marginpar,part,equote}, + 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,hypersetup,mainmatter,tableofcontents,elegantpar,heiti,kaishu,lstset,pagecolor,zhnumber,marginpar,part,equote,marginnote}, frame=single, tabsize=2, rulecolor=\color{structurecolor}, @@ -756,25 +776,6 @@ columns=flexible, % backgroundcolor=\color{lightgrey} } - +\newcommand\bmmax{0} \RequirePackage{bm} -\newif\ifstartedinmathmode -\newcommand{\elegantpar}[2]{% - \relax\ifmmode\startedinmathmodetrue\else\startedinmathmodefalse\fi - {\color{second}\ifstartedinmathmode \ensuremath{\bm\langle #1 \bm\rangle}\else $\bm\langle$#1$\bm\rangle$\fi}% - \begin{tikzpicture}[remember picture, baseline=-0.75ex]% - \node[coordinate] (inText) {};% - \end{tikzpicture}% - \marginnote{% - \renewcommand{\baselinestretch}{1.0}% - \begin{tikzpicture}[remember picture]% - \draw node[fill= third!20, rounded corners,text width=\marginparwidth] (inNote){\footnotesize #2};% - \end{tikzpicture}% - }% - \begin{tikzpicture}[remember picture, overlay]% - \draw[draw = second] - ([yshift=-0.55em] inText) - -| ([xshift=-0.55em] inNote.west) - -| (inNote.west);% - \end{tikzpicture}% -} + |