diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/einfart/einfart.cls')
-rw-r--r-- | Master/texmf-dist/tex/latex/einfart/einfart.cls | 237 |
1 files changed, 237 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/einfart/einfart.cls b/Master/texmf-dist/tex/latex/einfart/einfart.cls new file mode 100644 index 00000000000..50dae49c480 --- /dev/null +++ b/Master/texmf-dist/tex/latex/einfart/einfart.cls @@ -0,0 +1,237 @@ +%% +%% This is file `einfart/einfart.cls', +%% generated with the docstrip utility. + +%% Copyright (C) 2021 by Jinwen XU +%% +%% This is part of the minimalist class series. +%% +%% This work may be distributed and/or modified under the conditions of the +%% LaTeX Project Public License, either version 1.3c of this license or (at +%% your option) any later version. The latest version of this license is in +%% +%% http://www.latex-project.org/lppl.txt +%% +%% and version 1.3c or later is part of all distributions of LaTeX version +%% 2005/12/01 or later. +%% +\NeedsTeXFormat{LaTeX2e}[2020-10-01] +\ProvidesClass{einfart} + [2021/03/15 A simple and clear article style] +\def\minimclass@baseclass{article} +\RequirePackage{kvoptions} +\RequirePackage{etoolbox} +\SetupKeyvalOptions{ + family = @minimclass, + prefix = @minimclass@, +} +\DeclareBoolOption[false]{draft} +\DeclareBoolOption[false]{fast} +\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{\minimclass@baseclass}} +\ProcessKeyvalOptions*\relax +\LoadClass{\minimclass@baseclass} +\if@minimclass@draft + \@minimclass@fasttrue +\fi + +%%================================ +%% Page layout +%%================================ +\RequirePackage[heightrounded]{geometry} +\geometry{ + papersize={7in,10in}, + total={40em,60em}, + hmarginratio=1:1, + vmarginratio=1:1, + footnotesep=2em plus 2pt minus 2pt, +} + +\if@minimclass@fast + \PassOptionsToPackage{fast}{minimalist} +\fi +\if@minimclass@fast + \PassOptionsToPackage{polyglossia}{minimalist} +\fi +\RequirePackage{minimalist} +\AtEndPreamble{\RequirePackage{parskip}} + +%%================================ +%% Fonts +%%================================ +%% Math fonts in fast mode +\if@minimclass@fast + \RequirePackage{mathpazo} +\fi + +%% English fonts +\PassOptionsToPackage{no-math}{fontspec} +\RequirePackage{fontspec} +\IfFontExistsTF{Palatino Linotype}{% + \setmainfont{Palatino Linotype} +}{ + \setmainfont{texgyrepagella-regular.otf}[ + BoldFont = texgyrepagella-bold.otf , + ItalicFont = texgyrepagella-italic.otf , + BoldItalicFont = texgyrepagella-bolditalic.otf ] +} + \setsansfont{SourceSansPro-Regular.otf}[ + Scale = MatchLowercase, + BoldFont = SourceSansPro-Bold.otf , + ItalicFont = SourceSansPro-RegularIt.otf , + BoldItalicFont = SourceSansPro-BoldIt.otf ] + +%% Chinese fonts +\PassOptionsToPackage{fontset=none,scheme=plain}{ctex} +\RequirePackage{ctex} +\IfFontExistsTF{FZYouSongS 507R}{% + \setCJKmainfont{FZYouSongS 507R}[ + BoldFont = FZYouSongS 509R , + BoldFeatures = {FakeBold=2} , + ItalicFont = * , + BoldItalicFont = FZYouSongS 509R , + BoldItalicFeatures = {FakeBold=2} , + SmallCapsFont = * ] +}{ + \setCJKmainfont{FandolSong-Regular.otf}[ + BoldFont = FandolSong-Bold.otf , + ItalicFont = FandolKai-Regular.otf , + BoldItalicFont = FandolKai-Regular.otf , + BoldItalicFeatures = {FakeBold=4} , + SmallCapsFont = * ] +} +\IfFontExistsTF{FZYouSongS 507R}{% + \setCJKmonofont{FZYouSongS 507R}[ + BoldFont = FZYouSongS 509R , + BoldFeatures = {FakeBold=2} , + ItalicFont = * , + BoldItalicFont = FZYouSongS 509R , + BoldItalicFeatures = {FakeBold=2} , + SmallCapsFont = * ] +}{ + \setCJKmonofont{FandolFang-Regular.otf}[ + BoldFont = * , + BoldFeatures = {FakeBold=4} , + ItalicFont = * , + BoldItalicFont = * , + BoldItalicFeatures = {FakeBold=4} , + SmallCapsFont = * ] +} +\IfFontExistsTF{FZYouHeiS 506L}{% + \setCJKsansfont{FZYouHeiS 506L}[ + BoldFont = FZYouHeiS 509R, + ItalicFont = * , + BoldItalicFont = FZYouHeiS 509R , + SmallCapsFont = * ] +}{ + \setCJKsansfont{FandolHei-Regular.otf}[ + BoldFont = FandolHei-Bold.otf , + ItalicFont = * , + BoldItalicFont = FandolHei-Bold.otf , + SmallCapsFont = * ] +} + +%% Math font +\if@minimclass@fast\else +\PassOptionsToPackage + {warnings-off={mathtools-colon,mathtools-overbracket}}{unicode-math} +\RequirePackage{unicode-math} +\unimathsetup{math-style=ISO} +\setmathfont{Asana-Math.otf} +\IfFontExistsTF{Neo Euler}{% +\setmathfont{Neo Euler} % From https://tex.stackexchange.com/a/425887 + [range={"0000-"0001,"0020-"007E, + "00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7, + "00D7,"00F7, + "0131, + "0237,"02C6-"02C7,"02D8-"02DA,"02DC, + "0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338, + "0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB, + "03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5, + "2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044, + "2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF, + "210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128, + "212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199, + "21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5, + "2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E, + "2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D, + "2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E, + "2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5, + "22DC-"22DD,"22EF,"22F0-"22F1, + "2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE, + "23DC-"23DF, + "27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A, + "1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6, + "1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505, + "1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537, + "1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD, + "1D6DF,"1D6E1,"1D7CE-"1D7D7 }] +}{} +\fi + +\RequirePackage[verbose=silent]{microtype} + +%%================================ +%% Graphics +%%================================ +\RequirePackage{graphicx} +\graphicspath{{images/}} +\RequirePackage{wrapfig} +\RequirePackage{caption} + +%%================================ +%% Index +%%================================ +\RequirePackage{imakeidx} +\pretocmd{\printindex}{\LocallyStopLineNumbers}{}{\FAIL} +\apptocmd{\printindex}{\ResumeLineNumbers}{}{\FAIL} + +%%================================ +%% Draft mark +%%================================ +\def\dnfFont{\ttfamily} +\def\needgraphFont{\ttfamily} + +\def\dnfTextEN{To be finished here} +\def\needgraphTextEN{A graph is needed here} +\def\dnfTextFR{À terminer ici} +\def\needgraphTextFR{Il manque encore un graphique ici} +\def\dnfTextCN{这里的内容尚未完成} +\def\needgraphTextCN{这里需要一张图片} + +\definecolor{dnfColor}{RGB}{21,122,20} +\definecolor{needgraphColor}{RGB}{70,130,180} + +\if@minimclass@fast + \newcommand{\plainBox}[2][-paper]{\textcolor{#1}{% + \setlength{\fboxsep}{1.5pt}% + \setlength{\fboxrule}{1.2pt}% + \fbox{#2}}} +\else + \PassOptionsToPackage{many}{tcolorbox} + \RequirePackage{tcolorbox} + \newtcbox{\plainBox}[1][-paper]{enhanced jigsaw,% + on line, arc = 1.2pt, outer arc = 1pt,breakable,% + colframe = #1,colupper=#1,opacityback=0,% + boxsep = 1pt,boxrule = 1.2pt,% + left = 1pt, right = 1pt, top = 0pt, bottom = 0pt,% + } +\fi + +\NewDocumentCommand{\dnf}{d<>}{% + \noindent\plainBox[dnfColor]% + {\normalfont\dnfFont\bfseries\small% + \csname dnfText\csname\languagename ABBR\endcsname\endcsname% + \IfNoValueF{#1}{ : #1}}% +} +\NewDocumentCommand{\needgraph}{d<>}{% + \par% + \centerline{\plainBox[needgraphColor]% + {\normalfont\needgraphFont\bfseries\small% + \csname needgraphText\csname\languagename ABBR\endcsname\endcsname% + \IfNoValueF{#1}{ : #1}}}% + \par% +} + +\endinput +%% +%% End of file `einfart/einfart.cls'. |