summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/litebook/tex/litebook.cls
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/litebook/tex/litebook.cls')
-rw-r--r--macros/latex/contrib/litebook/tex/litebook.cls175
1 files changed, 175 insertions, 0 deletions
diff --git a/macros/latex/contrib/litebook/tex/litebook.cls b/macros/latex/contrib/litebook/tex/litebook.cls
new file mode 100644
index 0000000000..e61bd5b7bb
--- /dev/null
+++ b/macros/latex/contrib/litebook/tex/litebook.cls
@@ -0,0 +1,175 @@
+%% ****************************************************************************************************
+%% Copyright 2024 by Mingyu Hsia <xiamyphys@gmail.com> *
+%% *
+%% This work may be distributed and/or modified under * ***** * * *
+%% the conditions of the LaTeX Project Public License * ** * * *** * * *
+%% * * ** * * * ** *
+%% http://www.latex-project.org/lppl.txt * * * * ***** ** *
+%% * * ** * * * * *
+%% either version 1.3c of this license or any later ***** ** * * *** * * *
+%% version. *
+%% *
+%% This work has the LPPL maintenance status `maintained'. *
+%% *
+%% The Current Maintainer of this work is Mingyu Hsia. *
+%% *
+%% This work consists of the files litebook.cls, *
+%% and README.md. *
+%% available at https://github.com/xiamyphys/LiteBook *
+%% ****************************************************************************************************
+% !Mode:: "TeX:UTF-8"
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{litebook}[2024/03/10 v0.1a LiteBook document class]
+\RequirePackage{kvoptions}
+\RequirePackage{etoolbox}
+\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{book}}
+\ProcessKeyvalOptions*\relax
+\LoadClass[letterpaper,11pt,openany]{book}
+
+\RequirePackage{geometry,enumitem,booktabs,tabularx,diagbox,multicol,multirow}
+\geometry{rmargin=1.25 in,lmargin=.75 in,tmargin=1 in,bmargin=1 in}
+
+\RequirePackage{graphics,graphicx}
+\graphicspath{{./figures/}}
+
+\RequirePackage{indentfirst}
+\setlength{\parindent}{2ex}
+
+\RequirePackage[labelsep=period,labelfont={bf,sf},font=small]{caption}
+\RequirePackage[nokeyprefix]{refstyle}
+\newref{fig}{name={\sffamily\bfseries Figure~}}
+\newref{tab}{name={\sffamily\bfseries Table~}}
+
+\RequirePackage{tocloft}
+\setlength{\cftbeforetoctitleskip}{16\p@}
+\setlength{\cftaftertoctitleskip}{24\p@}
+\renewcommand{\contentsname}{\sffamily Contents}
+
+\def\@makechapterhead#1{%
+ \vspace*{\p@}%
+ {
+ \parindent \z@ \raggedright \normalfont
+ \ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \parbox{25mm}
+ {\centering\HUGE\normalfont\bfseries\textcolor{darkgray}{\thechapter}\\[4mm]\normalsize\bfseries\textcolor{darkgray}{\bfseries\sffamily\scshape \@chapapp}}%
+ \tikz[baseline]
+ \draw[line width=3pt,dotted,dash pattern=on 0pt off 8pt, gray](0,-.85)--(0,1.35);
+ \fi
+ \fi
+ \interlinepenalty\@M\hspace*{4ex}
+ \huge\bfseries\sffamily #1\par\nobreak
+ \vskip 36\p@
+}}
+
+\def\@makeschapterhead#1{%
+ \gdef\s@chapter{#1}
+ \addcontentsline{toc}{chapter}{\s@chapter}
+ \vspace*{4\p@}%
+ {\parindent \z@ \raggedright
+ \normalfont
+ \interlinepenalty\@M
+ \huge \bfseries \sffamily #1\par\nobreak
+ \vskip 40\p@
+}}
+\setlength{\headheight}{13.6pt}
+
+\RequirePackage{fancyhdr}
+\pagestyle{fancy}
+ \let\headrule\relax
+ \fancyhead[OL]{\textsc{\sffamily\nouppercase\leftmark}}
+ \fancyhead[OR]{\sffamily\thepage}
+ \fancyhead[ER]{\textsc{\sffamily\nouppercase\rightmark}}
+ \fancyhead[EL]{\sffamily\thepage}
+ \lfoot{}\cfoot{}\rfoot{}
+
+\RequirePackage[most]{tcolorbox}
+\RequirePackage{tikz}
+\usetikzlibrary{arrows,tikzmark,patterns,calc}
+\RequirePackage{fadingimage}
+\tikzset{>=stealth',
+every picture/.append style={
+ line join=round,
+ line cap=round,
+ thick
+ }
+}
+
+\RequirePackage{datetime}\yyyymmdddate
+\def\subtitle#1{\gdef\@subtitle{#1}}
+\def\cover#1{\gdef\@cover{#1}}
+\def\bioinfo#1{\gdef\@bioinfo{#1}}
+\def\press#1{\gdef\@press{#1}}
+\RequirePackage{anyfontsize}
+\def\HUGE{\@setfontsize\HUGE{40}{50}}
+\def\HUge{\@setfontsize\HUGE{35}{45}}
+
+\renewcommand*\maketitle
+{
+\begin{titlepage}
+ \newgeometry{margin = 0 in}
+ \ifcsname @cover\endcsname
+ \LOWFadingImage[trim={0 {.5\paperheight} 0 0},clip]{\@cover}
+ \fi
+ \parindent=0pt\vskip12ex
+ \centering\sffamily\bfseries
+ \HUge\@title
+ \ifcsname @subtitle\endcsname
+ \vskip2ex\LARGE\@subtitle\fi
+ \ifcsname @author\endcsname
+ \vskip4ex\LARGE\@author\fi
+ \ifcsname @bioinfo\endcsname
+ \vskip2ex\Large\@bioinfo\fi
+ \ifcsname @press\endcsname\vfill
+ \parbox[t]{\textwidth}{\centering
+ \Large\@press\vskip10ex
+ }\fi
+ \clearpage
+ \vspace*{\fill}
+ \Huge\itshape\@title
+ \vspace*{\fill}
+ \restoregeometry
+\end{titlepage}
+}
+
+\AtBeginDocument{
+ \everymath{\displaystyle}
+ \setlength{\abovedisplayskip}{3pt}
+ \setlength{\belowdisplayskip}{3pt}
+ \setcounter{tocdepth}{1}
+}
+
+\definecolor{pkgcolor}{Hsb}{103,.8,.5}
+\definecolor{moducolor}{Hsb}{290,.8,.5}
+\definecolor{cmdcolor}{Hsb}{188,.8,.5}
+\RequirePackage[colorlinks,linkcolor=teal,urlcolor=pkgcolor]{hyperref}
+\def\pkg#1{\texorpdfstring{\textcolor{pkgcolor}{
+ \href{https://ctan.org/pkg/#1}{\textsf{#1}}}}{“#1”}}
+\def\mode#1{\texorpdfstring{\textcolor{moducolor}{\textsf{#1}}}{“#1”}}
+\def\cmd#1{\texorpdfstring{\textcolor{cmdcolor}{\textsf{#1}}}{“#1”}}
+
+\RequirePackage{lipsum,hologo}
+\RequirePackage{ifxetex}
+\ifxetex
+ \RequirePackage[quiet]{xeCJK}
+ \RequirePackage[quiet,no-math]{fontspec}
+ \RequirePackage{zhlipsum}
+\fi
+
+\def\hmmax{0}\def\bmmax{0}
+\RequirePackage{amsmath,amssymb,amsthm,mathrsfs}
+\RequirePackage[libertine,mono=false]{newtx}
+\RequirePackage[e]{esvect}
+\RequirePackage{physics2,bm,fixdif,derivative,cancel,extarrows,siunitx,nicefrac,nicematrix}
+\usephysicsmodule{ab,braket,diagmat,doubleprod,xmat,ab.legacy,op.legacy}
+\RequirePackage[e]{esvect}
+
+\def\i{\mathrm i}\def\e{\mathrm e}\def\T{\mathsf T}
+
+\theoremstyle{definition}
+\newtheorem{problem}{Problem}[section]
+\newtheorem{theorem}{Theorem}[section]
+\def\theproblem{\arabic{problem}}
+\newtheorem*{example}{Example}
+\newtheorem*{solution}{Solution}
+\numberwithin{equation}{section} \ No newline at end of file