Files
cs249r_book/kits/tex/titlepage-bg.tex
Vijay Janapa Reddi 0492ebaaac feat(kits): add custom TikZ cover page with circuit board design
- Create custom LaTeX cover page using labdivision-style circuit decorations
- Use teal brand color with traces, nodes, and subtle geometric background
- Display HARDWARE/KITS title on two lines with authors and companion text
- Remove titlepage extension config in favor of custom LaTeX implementation
- Add titlepage-bg.tex for potential future background customization
2025-12-28 13:25:55 -05:00

102 lines
4.8 KiB
TeX

% =============================================================================
% HARDWARE KITS TITLE PAGE BACKGROUND
% =============================================================================
% Circuit board inspired TikZ decorations for the title page
% Uses teal (#0d9488) as the primary accent color
% =============================================================================
\begin{tikzpicture}[remember picture, overlay]
% Define teal color
\definecolor{kitsteal}{HTML}{0d9488}
% Define styles for circuit elements
\tikzset{
trace/.style={draw=kitsteal!35, line width=1.5pt},
trace-light/.style={draw=kitsteal!20, line width=1pt},
trace-thin/.style={draw=kitsteal!15, line width=0.6pt},
pad/.style={circle, fill=kitsteal!40, draw=kitsteal!60, minimum size=6pt, inner sep=0pt},
pad-small/.style={circle, fill=kitsteal!30, draw=kitsteal!45, minimum size=4pt, inner sep=0pt},
pad-large/.style={circle, fill=kitsteal!50, draw=kitsteal!70, minimum size=8pt, inner sep=0pt},
via/.style={circle, fill=white, draw=kitsteal!40, minimum size=5pt, inner sep=0pt, line width=0.8pt}
}
% TOP-LEFT: Primary circuit cluster (dense)
\node[pad-large] (tl1) at ($(current page.north west)+(2.2cm,-2.2cm)$) {};
\node[pad] (tl2) at ($(tl1)+(1.4cm,0)$) {};
\node[pad] (tl3) at ($(tl1)+(0,-1.2cm)$) {};
\node[pad-small] (tl4) at ($(tl1)+(2.2cm,-0.4cm)$) {};
\node[pad-small] (tl5) at ($(tl1)+(0.8cm,-1.8cm)$) {};
\node[via] (tl6) at ($(tl1)+(1.6cm,-1.4cm)$) {};
\node[pad-small] (tl7) at ($(tl1)+(2.8cm,-1.0cm)$) {};
% Traces
\draw[trace] (tl1) -- (tl2);
\draw[trace] (tl1) -- (tl3);
\draw[trace-light] (tl2) -- (tl4);
\draw[trace-light] (tl3) -- (tl5);
\draw[trace-light] (tl4) -- (tl6);
\draw[trace-light] (tl5) -- (tl6);
\draw[trace-thin] (tl4) -- (tl7);
\draw[trace-thin] (tl6) -- (tl7);
% TOP-RIGHT: Secondary cluster (lighter)
\node[pad] (tr1) at ($(current page.north east)+(-2.0cm,-2.0cm)$) {};
\node[pad-small] (tr2) at ($(tr1)+(-1.2cm,-0.3cm)$) {};
\node[pad-small] (tr3) at ($(tr1)+(-0.5cm,-1.2cm)$) {};
\node[via] (tr4) at ($(tr1)+(-1.5cm,-1.0cm)$) {};
\draw[trace-light] (tr1) -- (tr2);
\draw[trace-light] (tr1) -- (tr3);
\draw[trace-thin] (tr2) -- (tr4);
\draw[trace-thin] (tr3) -- (tr4);
% BOTTOM-LEFT: Sparse elements
\node[pad] (bl1) at ($(current page.south west)+(1.8cm,2.2cm)$) {};
\node[pad-small] (bl2) at ($(bl1)+(1.0cm,0.5cm)$) {};
\node[pad-small] (bl3) at ($(bl1)+(1.8cm,0)$) {};
\node[via] (bl4) at ($(bl1)+(0.5cm,1.2cm)$) {};
\draw[trace-light] (bl1) -- (bl2);
\draw[trace-light] (bl2) -- (bl3);
\draw[trace-thin] (bl1) -- (bl4);
% BOTTOM-RIGHT: Dense secondary cluster (diagonal balance)
\node[pad-large] (br1) at ($(current page.south east)+(-2.2cm,2.2cm)$) {};
\node[pad] (br2) at ($(br1)+(-1.4cm,0)$) {};
\node[pad] (br3) at ($(br1)+(0,1.2cm)$) {};
\node[pad-small] (br4) at ($(br1)+(-2.2cm,0.4cm)$) {};
\node[pad-small] (br5) at ($(br1)+(-0.8cm,1.8cm)$) {};
\node[via] (br6) at ($(br1)+(-1.6cm,1.4cm)$) {};
\node[pad-small] (br7) at ($(br1)+(-2.8cm,1.0cm)$) {};
\draw[trace] (br1) -- (br2);
\draw[trace] (br1) -- (br3);
\draw[trace-light] (br2) -- (br4);
\draw[trace-light] (br3) -- (br5);
\draw[trace-light] (br4) -- (br6);
\draw[trace-light] (br5) -- (br6);
\draw[trace-thin] (br4) -- (br7);
\draw[trace-thin] (br6) -- (br7);
% Left edge: vertical pathway
\node[pad-small] (le1) at ($(current page.west)+(0.9cm,6.0cm)$) {};
\node[via] (le2) at ($(current page.west)+(1.1cm,4.0cm)$) {};
\node[pad-small] (le3) at ($(current page.west)+(0.9cm,2.0cm)$) {};
\node[via] (le4) at ($(current page.west)+(1.1cm,-1.0cm)$) {};
\draw[trace-thin] (le1) -- (le2);
\draw[trace-thin] (le2) -- (le3);
\draw[trace-thin] (le3) -- (le4);
% Right edge: vertical pathway
\node[pad-small] (re1) at ($(current page.east)+(-0.9cm,5.0cm)$) {};
\node[via] (re2) at ($(current page.east)+(-1.1cm,2.5cm)$) {};
\node[pad-small] (re3) at ($(current page.east)+(-0.9cm,0cm)$) {};
\node[via] (re4) at ($(current page.east)+(-1.1cm,-3.0cm)$) {};
\draw[trace-thin] (re1) -- (re2);
\draw[trace-thin] (re2) -- (re3);
\draw[trace-thin] (re3) -- (re4);
% Subtle corner accents - small right angles suggesting PCB corners
\draw[trace-thin] ($(current page.north west)+(0.5cm,-0.5cm)$) -- ++(0,-0.8cm) -- ++(0.8cm,0);
\draw[trace-thin] ($(current page.north east)+(-0.5cm,-0.5cm)$) -- ++(0,-0.8cm) -- ++(-0.8cm,0);
\draw[trace-thin] ($(current page.south west)+(0.5cm,0.5cm)$) -- ++(0,0.8cm) -- ++(0.8cm,0);
\draw[trace-thin] ($(current page.south east)+(-0.5cm,0.5cm)$) -- ++(0,0.8cm) -- ++(-0.8cm,0);
\end{tikzpicture}