infra: LaTeX preamble, theorem environments, tcolorbox, build system
This commit is contained in:
37
Makefile
Normal file
37
Makefile
Normal file
@@ -0,0 +1,37 @@
|
||||
# =============================================================================
|
||||
# Makefile — Differential Equations Handbook
|
||||
# =============================================================================
|
||||
|
||||
TARGET = main
|
||||
TEX = pdflatex
|
||||
BIBTEX = bibtex
|
||||
|
||||
.PHONY: all quick clean view distclean
|
||||
|
||||
## all: Full build (pdflatex -> bibtex if needed -> pdflatex x2)
|
||||
all:
|
||||
$(TEX) -interaction=nonstopmode $(TARGET).tex
|
||||
@if [ -f $(TARGET).blg ] || grep -ql '\\bibliography\|\\bibliographystyle' $(TARGET).tex; then \
|
||||
$(BIBTEX) $(TARGET); \
|
||||
$(TEX) -interaction=nonstopmode $(TARGET).tex; \
|
||||
$(TEX) -interaction=nonstopmode $(TARGET).tex; \
|
||||
fi
|
||||
|
||||
## quick: Single pdflatex pass for rapid iteration
|
||||
quick:
|
||||
$(TEX) -interaction=nonstopmode $(TARGET).tex
|
||||
|
||||
## clean: Remove all auxiliary files
|
||||
clean:
|
||||
rm -f $(TARGET).aux $(TARGET).log $(TARGET).out $(TARGET).toc \
|
||||
$(TARGET).lof $(TARGET).lot $(TARGET).nls $(TARGET).nlo \
|
||||
$(TARGET).vrb $(TARGET).synctex.gz $(TARGET).fls $(TARGET).out \
|
||||
$(TARGET).blg $(TARGET).bbl $(TARGET).run.xml
|
||||
|
||||
## view: Open the resulting PDF
|
||||
view:
|
||||
xdg-open $(TARGET).pdf
|
||||
|
||||
## distclean: Clean + remove PDF
|
||||
distclean: clean
|
||||
rm -f $(TARGET).pdf
|
||||
184
preamble.tex
Normal file
184
preamble.tex
Normal file
@@ -0,0 +1,184 @@
|
||||
% =============================================================================
|
||||
% preamble.tex — Differential Equations Handbook
|
||||
% =============================================================================
|
||||
% Complete preamble: packages, theorem styles, tcolorbox environments,
|
||||
% custom macros, and configuration for a 14-chapter handbook.
|
||||
% =============================================================================
|
||||
|
||||
\documentclass[10pt,a4paper]{article}
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% Geometry
|
||||
% ---------------------------------------------------------------------------
|
||||
\usepackage[margin=0.75in]{geometry}
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% Math packages
|
||||
% ---------------------------------------------------------------------------
|
||||
\usepackage{mathtools}
|
||||
\usepackage{amsthm}
|
||||
\usepackage{amssymb}
|
||||
\usepackage{amsfonts}
|
||||
\usepackage{bm}
|
||||
\usepackage{empheq}
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% Colors and boxes
|
||||
% ---------------------------------------------------------------------------
|
||||
\usepackage[svgnames]{xcolor}
|
||||
\usepackage[most]{tcolorbox}
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% Nomenclature (notation glossary)
|
||||
% ---------------------------------------------------------------------------
|
||||
\usepackage{nomencl}
|
||||
\makenomenclature
|
||||
\setlength{\nomlabelwidth}{2.5cm}
|
||||
\setlength{\nomitemsep}{2pt}
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% Tables
|
||||
% ---------------------------------------------------------------------------
|
||||
\usepackage{booktabs}
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% TikZ
|
||||
% ---------------------------------------------------------------------------
|
||||
\usepackage{tikz}
|
||||
\usetikzlibrary{calc}
|
||||
\usetikzlibrary{arrows.meta}
|
||||
\usetikzlibrary{patterns}
|
||||
\usetikzlibrary{decorations.markings}
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% Hyperref (loaded before cleveref)
|
||||
% ---------------------------------------------------------------------------
|
||||
\usepackage[colorlinks=true,
|
||||
linkcolor=MidnightBlue,
|
||||
urlcolor=Navy,
|
||||
citecolor=RoyalBlue,
|
||||
breaklinks=true]{hyperref}
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% Cross-referencing (must be after hyperref)
|
||||
% ---------------------------------------------------------------------------
|
||||
\usepackage[capitalize]{cleveref}
|
||||
|
||||
% =============================================================================
|
||||
% Theorem styles (amsthm)
|
||||
% =============================================================================
|
||||
% Number theorems, definitions, and remarks per chapter (section).
|
||||
|
||||
\newtheorem{theorem}{Theorem}[section]
|
||||
\newtheorem{lemma}[theorem]{Lemma}
|
||||
\newtheorem{proposition}[theorem]{Proposition}
|
||||
\newtheorem{corollary}[theorem]{Corollary}
|
||||
|
||||
\theoremstyle{definition}
|
||||
\newtheorem{definition}[theorem]{Definition}
|
||||
|
||||
\theoremstyle{remark}
|
||||
\newtheorem{remark}[theorem]{Remark}
|
||||
|
||||
% =============================================================================
|
||||
% tcolorbox environments
|
||||
% =============================================================================
|
||||
|
||||
% Worked Example — blue frame
|
||||
\newtcolorbox{workedexample}{
|
||||
breakable,
|
||||
colframe=SteelBlue,
|
||||
colback=LightSteelBlue!15,
|
||||
coltitle=white,
|
||||
fonttitle=\bfseries,
|
||||
title=Worked Example,
|
||||
boxrule=0.6pt,
|
||||
arc=2pt,
|
||||
left=6pt, right=6pt, top=4pt, bottom=4pt
|
||||
}
|
||||
|
||||
% Exercise — gray frame
|
||||
\newtcolorbox{exercise}{
|
||||
breakable,
|
||||
colframe=Gray,
|
||||
colback=LightGray!10,
|
||||
coltitle=white,
|
||||
fonttitle=\bfseries,
|
||||
title=Exercise,
|
||||
boxrule=0.5pt,
|
||||
arc=2pt,
|
||||
left=6pt, right=6pt, top=4pt, bottom=4pt
|
||||
}
|
||||
|
||||
% Key Result — gold/yellow frame
|
||||
\newtcolorbox{keyresult}{
|
||||
breakable,
|
||||
colframe=Goldenrod,
|
||||
colback=LemonChiffon!25,
|
||||
coltitle=black,
|
||||
fonttitle=\bfseries,
|
||||
title=Key Result,
|
||||
boxrule=0.8pt,
|
||||
arc=2pt,
|
||||
left=6pt, right=6pt, top=4pt, bottom=4pt
|
||||
}
|
||||
|
||||
% Hint — green frame
|
||||
\newtcolorbox{hintbox}{
|
||||
breakable,
|
||||
colframe=ForestGreen,
|
||||
colback=Honeydew!40,
|
||||
coltitle=white,
|
||||
fonttitle=\bfseries,
|
||||
title=Hint,
|
||||
boxrule=0.6pt,
|
||||
arc=2pt,
|
||||
left=6pt, right=6pt, top=4pt, bottom=4pt
|
||||
}
|
||||
|
||||
% =============================================================================
|
||||
% Custom macros
|
||||
% =============================================================================
|
||||
|
||||
% Differentials
|
||||
\newcommand{\diff}{\mathrm{d}}
|
||||
\newcommand{\dd}{\mathrm{d}}
|
||||
|
||||
% Partial derivative shorthand
|
||||
\newcommand{\pd}[2]{\frac{\partial #1}{\partial #2}}
|
||||
|
||||
% Number sets
|
||||
\newcommand{\R}{\mathbb{R}}
|
||||
\newcommand{\N}{\mathbb{N}}
|
||||
\newcommand{\C}{\mathbb{C}}
|
||||
|
||||
% Operators
|
||||
% Note: \Re and \Im are already provided by amsmath; no need to redefine.
|
||||
\DeclareMathOperator{\tr}{tr}
|
||||
\DeclareMathOperator{\detop}{det}
|
||||
\DeclareMathOperator{\spanop}{span}
|
||||
\DeclareMathOperator{\kerop}{ker}
|
||||
\DeclareMathOperator{\rankop}{rank}
|
||||
|
||||
% =============================================================================
|
||||
% Additional setup
|
||||
% =============================================================================
|
||||
|
||||
% Table of contents depth
|
||||
\setcounter{tocdepth}{2}
|
||||
|
||||
% Cleveref naming
|
||||
\crefname{theorem}{Theorem}{Theorems}
|
||||
\crefname{lemma}{Lemma}{Lemmas}
|
||||
\crefname{proposition}{Proposition}{Propositions}
|
||||
\crefname{corollary}{Corollary}{Corollaries}
|
||||
\crefname{definition}{Definition}{Definitions}
|
||||
\crefname{remark}{Remark}{Remarks}
|
||||
\crefname{equation}{equation}{equations}
|
||||
\crefname{section}{section}{sections}
|
||||
\crefname{figure}{figure}{figures}
|
||||
\crefname{table}{table}{tables}
|
||||
|
||||
% =============================================================================
|
||||
% End of preamble.tex
|
||||
% =============================================================================
|
||||
Reference in New Issue
Block a user