bookshelf/preamble.tex

80 lines
2.4 KiB
TeX

\usepackage{amsfonts, amsmath, amsthm}
\usepackage[shortlabels]{enumitem}
\usepackage{environ}
\usepackage{fancybox}
\usepackage{fontawesome5}
\usepackage{mathrsfs}
\usepackage{soul}
\usepackage{xcolor}
% `hyperref` comes after `xr-hyper`.
\usepackage{xr-hyper}
\usepackage{hyperref}
% ========================================
% Linking
% ========================================
\hypersetup{colorlinks=true, urlcolor=blue}
\newcommand{\leanref}[2]{{\color{blue}$\pmb{\exists}\;{-}\;$}\href{#1}{#2}}
% ========================================
% Environments
% ========================================
\newenvironment{axiom}{%
\paragraph{\normalfont\normalsize\textit{Axiom.}}}
{\hfill$\square$}
\newcommand{\divider}{%
\vspace{10pt}
\hrule
\vspace{10pt}}
\newcommand{\header}[2]{%
\title{#1}
\author{#2}
\date{}
\maketitle}
\newcommand{\note}[1]{%
\begin{center}
\doublebox{
\begin{minipage}{0.95\textwidth}
\vspace{2pt}
\hl{Note:} #1
\vspace{2pt}
\end{minipage}}
\end{center}}
% ========================================
% Status
% ========================================
% Indicates a statement corresponds to an axiom or definition. There must exist
% a corresponding `axiom` or `def` in Lean.
\DeclareRobustCommand{\defined}[1]{%
\texorpdfstring{\color{cyan}\faParagraph\ #1}{#1}}
% Indicates a statement has a complete proof in both LaTeX *and* Lean.
\DeclareRobustCommand{\verified}[1]{%
\texorpdfstring{\color{teal}\faCheckCircle\ #1}{#1}}
% Indicates a statement has not been completely proven in either LaTeX or
% Lean (or both). Progress is currently being made to correct this though.
\DeclareRobustCommand{\proceeding}[1]{%
\texorpdfstring{\color{magenta}\faDotCircle[regular]\ #1}{#1}}
% A catch-all status for anything that doesn't fit the above categories.
% Incomplete definitions, proofs only conducted in LaTeX, etc. belong here.
\DeclareRobustCommand{\unverified}[1]{%
\texorpdfstring{\color{red}\faExclamationCircle\ #1}{#1}}
% ========================================
% Math
% ========================================
\newcommand{\abs}[1]{\left|#1\right|}
\newcommand{\ceil}[1]{\left\lceil#1\right\rceil}
\newcommand{\floor}[1]{\left\lfloor#1\right\rfloor}
\newcommand{\icc}[2]{\left[#1, #2\right]}
\newcommand{\ico}[2]{\left[#1, #2\right)}
\newcommand{\ioc}[2]{\left(#1, #2\right]}
\newcommand{\ioo}[2]{\left(#1, #2\right)}