%% %% This is file `beaulivre/beaulivre.cls', %% generated with the docstrip utility. %% Copyright (C) 2021 by Jinwen XU %% %% This is part of the colorist 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{beaulivre} [2021/06/07 A colorful book style] \def\colorclass@baseclass{book} \RequirePackage{kvoptions} \RequirePackage{etoolbox} \SetupKeyvalOptions{ family = @colorclass, prefix = @colorclass@, } \DeclareBoolOption[false]{draft} \DeclareBoolOption[false]{fast} \DeclareBoolOption[false]{palatino} \DeclareBoolOption[false]{times} \DeclareBoolOption[false]{garamond} \DeclareBoolOption[false]{biolinum} \DeclareBoolOption[false]{customfont} \newif\if@colorclass@bfivepaper\@colorclass@bfivepaperfalse \DeclareVoidOption{b5paper}{\@colorclass@bfivepapertrue} \newif\if@colorclass@afourpaper\@colorclass@afourpaperfalse \DeclareVoidOption{a4paper}{\@colorclass@afourpapertrue} \DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{\colorclass@baseclass}} \ProcessKeyvalOptions*\relax \LoadClass{\colorclass@baseclass} \if@colorclass@draft \@colorclass@fasttrue \fi \if@colorclass@palatino \@colorclass@customfonttrue \fi \if@colorclass@times \@colorclass@customfonttrue \fi \if@colorclass@garamond \@colorclass@customfonttrue \fi \if@colorclass@biolinum \@colorclass@customfonttrue \fi %%================================ %% Page layout %%================================ \RequirePackage{silence} \WarningFilter{geometry}{Over-specification in} \RequirePackage[heightrounded]{geometry} \geometry{ papersize={8.5in,11in}, total={47em,66em}, hmarginratio=1:1, vmarginratio=1:1, footnotesep=2em plus 2pt minus 2pt, } \if@colorclass@bfivepaper \geometry{ b5paper, total={40em,59em}, hmarginratio=1:1, vmarginratio=1:1, footnotesep=2em plus 2pt minus 2pt, } \fi \if@colorclass@afourpaper \geometry{ a4paper, total={47em,70em}, hmarginratio=1:1, vmarginratio=1:1, footnotesep=2em plus 2pt minus 2pt, } \fi \RequirePackage{indentfirst} \if@colorclass@fast \PassOptionsToPackage{fast}{colorist} \RequirePackage{draftwatermark} \DraftwatermarkOptions{text={\normalfont DRAFT},colorspec=0.95} \fi \RequirePackage{colorist} %%================================ %% Fonts %%================================ %% Math fonts in fast mode \if@colorclass@customfont\else \if@colorclass@fast \RequirePackage{mathpazo} \fi \fi %% English fonts \PassOptionsToPackage{no-math}{fontspec} \RequirePackage{fontspec} \IfFontExistsTF{Palatino Linotype}{% \setmainfont{Palatino Linotype} }{ \setmainfont{TeXGyrePagellaX-Regular.otf}[ BoldFont = TeXGyrePagellaX-Bold.otf , ItalicFont = TeXGyrePagellaX-Italic.otf , BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ] } \setsansfont{SourceSansPro-Regular.otf}[ Scale = MatchLowercase , BoldFont = SourceSansPro-Bold.otf , ItalicFont = SourceSansPro-RegularIt.otf , BoldItalicFont = SourceSansPro-BoldIt.otf ] \setmonofont{cmuntt.otf}[ Scale = 1.05 , BoldFont = cmuntb.otf , ItalicFont = cmunst.otf , BoldItalicFont = cmuntb.otf ] %% Chinese fonts \PassOptionsToPackage{fontset=none,scheme=plain}{ctex} \RequirePackage{ctex} \WarningFilter{everysel}{Everysel is no longer required} \IfFontExistsTF{FZYOUSK_507R--GBK1-0}{% \setCJKmainfont{FZYOUSK_507R--GBK1-0}[ BoldFont = FZYOUSK_509R--GBK1-0 , BoldFeatures = {FakeBold=4} , ItalicFont = * , BoldItalicFont = FZYOUSK_509R--GBK1-0 , BoldItalicFeatures = {FakeBold=4} , SmallCapsFont = * ] }{ \setCJKmainfont{FandolSong-Regular.otf}[ BoldFont = FandolSong-Bold.otf , ItalicFont = FandolKai-Regular.otf , BoldItalicFont = FandolKai-Regular.otf , BoldItalicFeatures = {FakeBold=4} , SmallCapsFont = * ] } \IfFontExistsTF{FZYOUSK_507R--GBK1-0}{% \setCJKmonofont{FZYOUSK_507R--GBK1-0}[ BoldFont = FZYOUSK_509R--GBK1-0 , BoldFeatures = {FakeBold=4} , ItalicFont = * , BoldItalicFont = FZYOUSK_509R--GBK1-0 , BoldItalicFeatures = {FakeBold=4} , SmallCapsFont = * ] }{ \setCJKmonofont{FandolFang-Regular.otf}[ BoldFont = * , BoldFeatures = {FakeBold=4} , ItalicFont = * , BoldItalicFont = * , BoldItalicFeatures = {FakeBold=4} , SmallCapsFont = * ] } \IfFontExistsTF{FZYOUHK_506L--GBK1-0}{% \setCJKsansfont{FZYOUHK_506L--GBK1-0}[ BoldFont = FZYOUHK_509R--GBK1-0 , BoldFeatures = {FakeBold=4} , ItalicFont = * , BoldItalicFont = FZYOUHK_509R--GBK1-0 , SmallCapsFont = * ] }{ \setCJKsansfont{FandolHei-Regular.otf}[ BoldFont = FandolHei-Bold.otf , ItalicFont = * , BoldItalicFont = FandolHei-Bold.otf , SmallCapsFont = * ] } %% Math font \if@colorclass@customfont\else \if@colorclass@fast \RequirePackage{amssymb} \else \PassOptionsToPackage {warnings-off={mathtools-colon,mathtools-overbracket}}{unicode-math} \RequirePackage{unicode-math} \unimathsetup{math-style=ISO, partial=upright, nabla=upright} \setmathfont{Asana-Math.otf} \IfFontExistsTF{Neo Euler}{% \setmathfont{Neo Euler} [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 }] \setmathfont[range=up/{greek,Greek}, script-features={}, sscript-features={} ]{Neo Euler} \setmathfont[range=up/{latin,Latin}, script-features={}, sscript-features={} ]{Neo Euler} \setmathfont[range={bfup/{latin, Latin, greek, Greek}, frak, bffrak, cal}, script-features={}, sscript-features={} ]{Neo Euler} \setmathfont[range={up/num, bfup/num, it, bfit, scr, bfscr, sfup, sfit, bfsfup, bfsfit, tt} ]{Asana-Math.otf} \setmathfont[range=bfcal, Scale=MatchUppercase, Alternate]{Asana-Math.otf} }{} \fi \fi \let\colorist@sffamily\sffamily \let\colorist@textsc\textsc \if@colorclass@palatino \RequirePackage{amssymb} \RequirePackage{mathpazo} \PassOptionsToPackage{defaultsups}{newpxtext} \RequirePackage{newpxtext} \RequirePackage{newpxmath} \let\openbox\relax \PJLsetlinespacing{\setstretch{1.07}} \fi \if@colorclass@times \RequirePackage{amssymb} \PassOptionsToPackage{defaultsups}{newtxtext} \RequirePackage{newtxtext} \RequirePackage{newtxmath} \let\openbox\relax \PJLsetlinespacing{\setstretch{1.00}} \let\colorist@sffamily\relax \fi \if@colorclass@garamond \RequirePackage{amssymb} \PassOptionsToPackage{lining}{ebgaramond} \RequirePackage{ebgaramond-maths} \RequirePackage{ebgaramond} % \RequirePackage{garamondlibre} \PJLsetlinespacing{\setstretch{1.00}} \let\colorist@sffamily\relax \fi \if@colorclass@biolinum \RequirePackage{amssymb} % \RequirePackage{mathpazo} % \RequirePackage[sansmath]{libertinust1math} \ifPDFTeX \RequirePackage{biolinum} \renewcommand*\familydefault{\biolinum@family} \else \PassOptionsToPackage{no-math}{fontspec} \RequirePackage{fontspec} \setmainfont{LinBiolinum_R.otf}[ BoldFont = LinBiolinum_RB.otf , ItalicFont = LinBiolinum_RI.otf , BoldItalicFont = LinBiolinum_RBO.otf ] \fi \PJLsetlinespacing{\setstretch{1.05}} \RequirePackage[italic,defaultmathsizes]{mathastext} \fi \def\PJL@font@alreadyset{} \PassOptionsToPackage{verbose=silent}{microtype} \RequirePackage{microtype} %%================================ %% Graphics %%================================ \RequirePackage{graphicx} \graphicspath{{images/}} \RequirePackage{wrapfig} \RequirePackage{float} \RequirePackage{caption} \captionsetup{font=small} %%================================ %% Index %%================================ \RequirePackage{imakeidx} \endinput %% %% End of file `beaulivre/beaulivre.cls'.