From bffc06817a6ddf602ae1cf3d80ecc0005810dfae Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 3 Feb 2019 22:48:08 +0000 Subject: elegantnote (3feb19) git-svn-id: svn://tug.org/texlive/trunk@49926 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/elegantnote/elegantnote.cls | 340 +++++++++++++++++++++ 1 file changed, 340 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/elegantnote/elegantnote.cls (limited to 'Master/texmf-dist/tex') diff --git a/Master/texmf-dist/tex/latex/elegantnote/elegantnote.cls b/Master/texmf-dist/tex/latex/elegantnote/elegantnote.cls new file mode 100644 index 00000000000..8ad12488500 --- /dev/null +++ b/Master/texmf-dist/tex/latex/elegantnote/elegantnote.cls @@ -0,0 +1,340 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{elegantnote}[2018/01/06 ElegantNote v2.00 class] +\LoadClass[12pt,final]{article} + +\RequirePackage{kvoptions} +\RequirePackage{ifthen} +\RequirePackage{ifxetex} +\RequirePackage{etoolbox} +\RequirePackage{calc} +\AtEndOfClass{\RequirePackage{microtype}} + + +\SetupKeyvalOptions{family=ELEGANT, prefix=ELEGANT@, setkeys=\kvsetkeys} +\newcommand{\ekv}[1]{\kvsetkeys{ELEGANT}{#1}} + +% ----- Colors ----- +\DeclareStringOption[green]{color} +\DeclareStringOption[pad]{device} +\DeclareStringOption[cn]{lang} +\DeclareStringOption{mode} +% ----- backward compatibility +\DeclareVoidOption{green}{\ekv{color = green}} +\DeclareVoidOption{cyan}{\ekv{color = cyan}} +\DeclareVoidOption{blue}{\ekv{color = blue}} +\DeclareVoidOption{sakura}{\ekv{color = sakura}} +\DeclareVoidOption{black}{\ekv{color = black}} + +\DeclareVoidOption{pc}{\ekv{device = pc}} +\DeclareVoidOption{pad}{\ekv{device = pad}} +\DeclareVoidOption{kindle}{\ekv{device = kindle}} +\DeclareVoidOption{normal}{\ekv{device = normal}} + +\DeclareVoidOption{cn}{\ekv{lang = cn}} +\DeclareVoidOption{en}{\ekv{lang = en}} + +\DeclareVoidOption{geye}{\ekv{mode = geye}} + +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} +%\ExecuteOptions{12pt} +\ProcessKeyvalOptions*\relax +\ProcessOptions* + + + +% fontsetting +\RequirePackage{ifxetex} +\ifxetex + \RequirePackage{fontenc} + \RequirePackage[no-math]{fontspec} + \setmainfont{Times New Roman}[NFSSFamily=ntxtlf] + \setsansfont{Arial} + %\setmonofont[Scale=0.9]{Courier New} + \RequirePackage{xeCJK} + \RequirePackage{xunicode} + \setCJKmainfont[BoldFont={SimHei},ItalicFont={KaiTi}]{SimSun} + \setCJKsansfont[BoldFont={SimHei},ItalicFont={KaiTi}]{KaiTi} + \setCJKmonofont[BoldFont={SimHei},ItalicFont={KaiTi},Scale=0.9]{Microsoft YaHei} + \XeTeXlinebreaklocale "zh" + \XeTeXlinebreakskip = 0pt plus 1pt minus 0.1pt + \RequirePackage{newtxmath} + %\DeclareSymbolFont{operators}{OT1}{ntxtlf}{m}{n} + %\SetSymbolFont{operators}{bold}{OT1}{ntxtlf}{b}{n} + \setCJKfamilyfont{zhsong}{SimSun} + \setCJKfamilyfont{zhhei}{SimHei} + \setCJKfamilyfont{zhkai}{KaiTi} + \setCJKfamilyfont{zhfs}{FangSong} + \newcommand*{\songti}{\CJKfamily{zhsong}} + \newcommand*{\heiti}{\CJKfamily{zhhei}} + \newcommand*{\kaishu}{\CJKfamily{zhkai}} + \newcommand*{\fangsong}{\CJKfamily{zhfs}} +\else + \RequirePackage{fontenc} + \RequirePackage{newtxtext} + \RequirePackage{newtxmath} + \RequirePackage[UTF8, scheme=plain]{ctex} +\fi +\RequirePackage[scale=0.8]{FiraMono} + +% 常用宏包 +\RequirePackage{indentfirst} +\RequirePackage{anyfontsize} +\RequirePackage{amsmath} +\RequirePackage{graphicx} +\RequirePackage{booktabs} +\let\openbox\relax +\RequirePackage{amsthm} +\RequirePackage{xcolor} +\RequirePackage{hyperref} +\RequirePackage{xpatch} +\definecolor{winered}{rgb}{0.5,0,0} + +\hypersetup{% + pdfborder = {0 0 0}, + colorlinks, + citecolor=ecolor, + filecolor=ecolor, + linkcolor=ecolor, + urlcolor=ecolor +} +% 行距设置 +\linespread{1.3} +\setlength{\parskip}{3mm} +\setlength{\parindent}{2em} +% 定义护眼模式 geye = true +\RequirePackage{xcolor} + +% good for eye color +\ifdefstring{\ELEGANT@mode}{geye}{ + \definecolor{geyecolor}{RGB}{199,237,204}% + \pagecolor{geyecolor} +}{\relax} + +% graphics path +\graphicspath{{./figure/}{./figures/}{./image/}{./images/}{./graphics/}{./graphic/}{./pictures/}{./picture/}} + +\let\openbox\relax +\newtheoremstyle{plain}{3pt}{3pt}{\itshape}{}{\color{ecolor}\bfseries}{}{0.5em}{\thmname{#1}\thmnumber{ #2}\thmnote{ (#3)}} +\newtheoremstyle{definition}{3pt}{3pt}{\itshape}{}{\color{ecolor}\bfseries}{}{0.5em}{} +\newtheoremstyle{remark}{3pt}{3pt}{\itshape}{}{\color{ecolor}\bfseries}{}{0.5em}{} + + +% caption settings +\RequirePackage[font=small,labelfont={bf,color=ecolor}]{caption} +\captionsetup[table]{skip=3pt} +\captionsetup[figure]{skip=3pt} + +% list/itemize/enumerate setting +\RequirePackage[shortlabels]{enumitem} +\setlist{nolistsep} + + +% headings +\RequirePackage{fancyhdr} +\fancyhf{} +\pagestyle{fancy} +\cfoot{\footnotesize\textcolor{gray}{\thepage}} +\renewcommand{\headrulewidth}{0pt} +\renewcommand{\footrulewidth}{0pt} + +\fancypagestyle{plain}{% + \renewcommand{\headrulewidth}{0pt}% + \fancyhf{}% + \fancyfoot[C]{\footnotesize \textcolor{gray}{\thepage}}% +} + +% bib-settings +\RequirePackage{natbib} +\setlength{\bibsep}{0.0pt} +\def\bibfont{\footnotesize} + +\RequirePackage{sectsty} + +\ifdefstring{\ELEGANT@color}{green}{ + \definecolor{ecolor}{RGB}{0,120,2}% +}{\relax} +\ifdefstring{\ELEGANT@color}{cyan}{ + \definecolor{ecolor}{RGB}{0,175,152}% +}{\relax} +\ifdefstring{\ELEGANT@color}{blue}{ + \definecolor{ecolor}{RGB}{20,50,104}% +}{\relax} +\ifdefstring{\ELEGANT@color}{sakura}{ + \definecolor{ecolor}{RGB}{255,183,197}% +}{\relax} +\ifdefstring{\ELEGANT@color}{black}{ + \definecolor{ecolor}{RGB}{0,0,0}% +}{\relax} + +\definecolor{egreen}{RGB}{0,120,2} +\definecolor{ecyan}{RGB}{0,175,152} +\definecolor{eblue}{RGB}{20,50,104} +\definecolor{sakura}{RGB}{255,183,197} +% \definecolor{black}{RGB}{255,183,197} + +%% device settings +%% default = pad +\ifdefstring{\ELEGANT@device}{pc}{ + \RequirePackage[margin=8mm, paperwidth=6.2in, paperheight=6in,includefoot]{geometry} +}{\relax} +\ifdefstring{\ELEGANT@device}{pad}{ + \RequirePackage[margin=8mm, paperwidth=6in, paperheight=8in,includefoot]{geometry} + %197mm*148mm +}{\relax} +\ifdefstring{\ELEGANT@device}{kindle}{ + \RequirePackage[margin=8mm, paperwidth=3.68in, paperheight=4.92in]{geometry} + % 160mm*115mm +}{\relax} +\ifdefstring{\ELEGANT@device}{normal}{ + \RequirePackage[margin=1in, a4paper]{geometry} +}{\relax} + +\allsectionsfont{\color{ecolor}} +%\sectionfont{\color{ecolor}} +%\subsectionfont{\color{ecolor}} + +\ifdefstring{\ELEGANT@lang}{cn}{ + \theoremstyle{plain}% default + \newtheorem{theorem}{定理}[section] % + \newtheorem{lemma}[theorem]{引理} % + \newtheorem{proposition}[theorem]{性质} % + \newtheorem*{corollary}{推论} % + \theoremstyle{definition} % + \newtheorem{definition}{定义}[section] % + \newtheorem{conjecture}{猜想}[section] % + \newtheorem{example}{例}[section] % + \theoremstyle{remark} % + \newtheorem*{remark}{\normalfont\bfseries 评论} % + \newtheorem*{note}{\normalfont\bfseries 注} % + \newtheorem{case}{\normalfont\bfseries 案例} % + \renewcommand*{\proofname}{\normalfont\bfseries\color{ecolor}证明} % + \renewcommand\contentsname{\color{ecolor}目录} + \renewcommand\refname{\color{ecolor}参考文献} % + \renewcommand\figurename{图} % + \renewcommand\tablename{表} + \newcommand\versiontext{版本:}% + \newcommand\updatetext{更新:}% + \setlength{\parindent}{2em} + \newcommand{\keywords}[1]{\vskip2ex\par\noindent\normalfont{\bfseries 关键词: } #1} + +}{\relax} +\ifdefstring{\ELEGANT@lang}{en}{ + \theoremstyle{plain}% default + \newtheorem{theorem}{Theorem}[section] % + \newtheorem{lemma}[theorem]{Lemma} % + \newtheorem{proposition}[theorem]{Proposition} % + \newtheorem*{corollary}{Corollary} % + \theoremstyle{definition} % + \newtheorem{definition}{Definition}[section] % + \newtheorem{conjecture}{Conjecture}[section] % + \newtheorem{example}{Example}[section] % + \theoremstyle{remark} % + \newtheorem*{remark}{Remark} % + \newtheorem*{note}{Note} % + \newtheorem{case}{Case} + \renewcommand*{\proofname}{\normalfont\bfseries\color{ecolor}Proof} + \newcommand\versiontext{Version: }% + \newcommand\updatetext{Update: }% +}{\relax} + +\newtoks\version +\newtoks\institute + +\renewcommand\maketitle{\par + \begingroup + \renewcommand\thefootnote{\@fnsymbol\c@footnote}% + \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}% + \long\def\@makefntext##1{\parindent 1em\noindent + \hb@xt@1.8em{% + \hss\@textsuperscript{\normalfont\@thefnmark}}##1}% + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ % Prevents figures from going at top of page. + \@maketitle + \fi + \thispagestyle{plain}\@thanks + \endgroup + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax +} +\def\@maketitle{% + \newpage + \color{ecolor} + \null + \vskip 2em% + \begin{center}% + \let \footnote \thanks + {\LARGE\bfseries \@title \par}% + \vskip 1.5em% + {\large + \lineskip .5em% + \begin{tabular}[t]{c}% + \kaishu \@author\\ + \the\institute + \end{tabular}\par}% + \vskip 1.5em% + {\small\itshape \versiontext \the\version}% + \vskip -.5em% + {\small\itshape \updatetext \@date}% + \end{center}% + \par + \vskip 1.5em} + + +\RequirePackage{tikz} +\usetikzlibrary{shadows} +\newcommand*{\eBall}{\tikz \draw [baseline, ball color=ecolor, draw=ecolor] circle (2pt);} +\newcommand*{\eShadow}{\tikz \draw [baseline, fill=ecolor,draw=ecolor,circular drop shadow] circle (2pt);} +\setlist[enumerate,1]{label=\color{ecolor}(\arabic*).} +\setlist[enumerate,2]{label=\color{ecolor}(\Roman*).} +\setlist[enumerate,3]{label=\color{ecolor}(\Alph*).} +\setlist[enumerate,4]{label=\color{ecolor}(\roman*).} +\setlist[itemize,1]{label={\eBall}} +\setlist[itemize,2]{label={\eShadow}} +%source1: https://tex.stackexchange.com/questions/41408/a-five-level-deep-list +%source2: https://tex.stackexchange.com/questions/318199/change-color-of-itemize-bullet + +\DeclareSymbolFont{cmlargesymbols}{OMX}{cmex}{m}{n} +\DeclareMathSymbol{\intop}{\mathop}{cmlargesymbols}{"5A} + \def\int{\intop\nolimits} +\DeclareMathSymbol{\ointop}{\mathop}{cmlargesymbols}{"49} + \def\oint{\ointop\nolimits} +\DeclareMathSymbol{\sumop}{\mathop}{cmlargesymbols}{"58} + \let\sum\sumop +\DeclareMathSymbol{\prodop}{\mathop}{cmlargesymbols}{"59} + \let\prod\prodop + + +\RequirePackage{listings} +\definecolor{lightgrey}{rgb}{0.9,0.9,0.9} +\definecolor{frenchplum}{RGB}{190,20,83} +\lstset{language=[LaTeX]TeX, + texcsstyle=*\bf\color{winered}\ttfamily, + basicstyle=\footnotesize\ttfamily, + numbers=none, + breaklines=true, + keywordstyle=\bf\color{winered}\ttfamily, + 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}, + emphstyle={\color{frenchplum}}, + morekeywords={DeclareSymbolFont,SetSymbolFont,toprule,midrule,bottomrule,institute,version,includegraphics,setmainfont,setsansfont,setmonofont ,setCJKmainfont,setCJKsansfont,setCJKmonofont,RequirePackage,figref,tabref,email,maketitle,keywords}, + frame=none, + tabsize=2, + rulecolor=\color{ecolor}, +} -- cgit v1.2.3