%% ISO27DIY eBook Template %% For use with Pandoc + XeLaTeX %% Usage: pandoc --template=iso27diy.tex --pdf-engine=xelatex \documentclass[11pt, a4paper, oneside]{book} %% ─── PACKAGES ──────────────────────────────────────────────────────────────── \usepackage{fontspec} \usepackage{geometry} \usepackage{xcolor} \usepackage{titlesec} \usepackage{titletoc} \usepackage{fancyhdr} \usepackage{fancyvrb} \usepackage{graphicx} \usepackage{tikz} \usepackage{mdframed} \usepackage{enumitem} \usepackage{booktabs} \usepackage{longtable} \usepackage{array} \usepackage{calc} \usepackage{colortbl} \usepackage{hyperref} %% FIX: LaTeX Error: No counter 'none' defined (Pandoc 3.1.8+ bug) \newcounter{none} \usepackage{footnote} \usepackage{imakeidx} \usepackage{microtype} \usepackage{parskip} \usepackage{etoolbox} \usepackage{caption} \usepackage{eso-pic} %% ─── PANDOC COMPATIBILITY ──────────────────────────────────────────────────── \providecommand{\tightlist}{% \setlength{\itemsep}{4pt}\setlength{\parskip}{0pt}} $if(highlighting-macros)$ $highlighting-macros$ $endif$ %% ─── COLORS ────────────────────────────────────────────────────────────────── \definecolor{coverBg}{HTML}{ffffff} \definecolor{navyBg}{HTML}{1a2535} \definecolor{brandRed}{HTML}{b31c1c} \definecolor{brandBlue}{HTML}{2d8fd4} \definecolor{bodyColor}{HTML}{444444} \definecolor{mutedColor}{HTML}{888888} \definecolor{ruleColor}{HTML}{dde3ea} \definecolor{calloutBg}{HTML}{eef4fb} \definecolor{calloutText}{HTML}{185fa5} \definecolor{dotColor}{HTML}{dde3ea} \definecolor{headerBg}{HTML}{f4f4f4} \definecolor{headerRule}{HTML}{dddddd} %% Semantic aliases \colorlet{headingColor}{navyBg} \colorlet{calloutBorder}{brandBlue} \colorlet{stepLabelColor}{brandRed} \colorlet{pageNumColor}{brandBlue} %% ─── PAGE GEOMETRY ─────────────────────────────────────────────────────────── \geometry{ a4paper, top=25mm, bottom=25mm, inner=28mm, outer=22mm, headsep=8mm, footskip=12mm } %% ─── FONTS ─────────────────────────────────────────────────────────────────── \setmainfont{Inter}[ UprightFont = *-Regular, BoldFont = *-Bold, ItalicFont = *-Italic, BoldItalicFont = *-BoldItalic ] \setsansfont{Inter}[ UprightFont = *-Regular, BoldFont = *-Bold, ItalicFont = *-Italic, BoldItalicFont = *-BoldItalic ] \setmonofont{Courier New} %% ─── TEXT COLOR ────────────────────────────────────────────────────────────── \color{bodyColor} %% ─── HYPERREF ──────────────────────────────────────────────────────────────── \hypersetup{ colorlinks=true, linkcolor=brandBlue, urlcolor=brandBlue, citecolor=brandBlue, pdfauthor={$author$}, pdftitle={$title$}, pdfsubject={$subtitle$}, hidelinks } %% ─── INDEX ─────────────────────────────────────────────────────────────────── \makeindex[title=Index of Terms, intoc] %% ─── HEADINGS ──────────────────────────────────────────────────────────────── %% Section numbers as plain arabic (book class default would give "0.1") \renewcommand{\thesection}{\arabic{section}} %% H1 — number shown as "1. Title" \titleformat{\section} {\color{headingColor}\fontsize{18}{22}\selectfont\bfseries} {\thesection.} {0.5em} {} [\vspace{4pt}{\color{brandBlue}\rule{44pt}{3pt}}\vspace{6pt}] %% Show "VOLGENDE VRAAG: " at the bottom of the previous page before %% breaking to the new section. Skipped for the very first section. \let\isosection\section \RenewDocumentCommand{\section}{o m}{% \ifnum\value{section}>0 \par\vspace{12pt}% {\color{stepLabelColor}\fontsize{8}{10}\selectfont\bfseries VOLGENDE VRAAG: #2}% \par\vspace{4pt}% \fi \clearpage \IfValueTF{#1}{\isosection[#1]{#2}}{\isosection{#2}}% } %% H2 \titleformat{\subsection} {\color{headingColor}\fontsize{14}{18}\selectfont\bfseries} {} {0em} {} %% H3 \titleformat{\subsubsection} {\color{headingColor}\fontsize{12}{16}\selectfont\bfseries} {} {0em} {} \titlespacing{\section}{0pt}{24pt}{8pt} \titlespacing{\subsection}{0pt}{18pt}{6pt} \titlespacing{\subsubsection}{0pt}{14pt}{4pt} %% ─── CHAPTER STYLE ─────────────────────────────────────────────────────────── %% Dot pattern full-page, white fade at bottom, red left bar \newif\ifchapterbg \chapterbgtrue \renewcommand{\contentsname}{Inhoud} \titleformat{\chapter}[display] {\normalfont} {} {0pt} {% \ifchapterbg %% White base \AddToShipoutPictureBG*{% \AtPageLowerLeft{% \color{white}\rule{\paperwidth}{\paperheight}% }% }% %% Dot pattern \AddToShipoutPictureBG*{% \begin{tikzpicture}[remember picture, overlay] \foreach \x in {0,0.42,...,21} { \foreach \y in {0,0.42,...,29.7} { \fill[dotColor] (\x cm, \y cm) circle (0.7pt); } } \end{tikzpicture}% }% %% White fade at bottom (covers lower ~35% of page) \AddToShipoutPictureBG*{% \AtPageLowerLeft{% \color{white}\rule{\paperwidth}{104mm}% }% }% %% Red left bar \AddToShipoutPictureBG*{% \AtPageLowerLeft{% \color{brandRed}\rule{8pt}{\paperheight}% }% }% \fi \vspace*{60mm}% \begin{minipage}[t]{0.85\textwidth} \color{brandBlue}\fontsize{9}{11}\selectfont\bfseries \MakeUppercase{Hoofdstuk \thechapter}\\[8pt] \color{navyBg}\fontsize{28}{34}\selectfont\bfseries } [% \end{minipage}% \vspace{8mm}% {\color{brandRed}\rule{44pt}{3pt}}% ] \titlespacing{\chapter}{8pt}{0pt}{40pt} %% Unnumbered chapter style (TOC, index) — plain dark text on white \titleformat{name=\chapter,numberless}[display] {\normalfont} {} {0pt} {% \vspace*{20mm}% \color{headingColor}\fontsize{28}{34}\selectfont\bfseries } [% \vspace{4mm}% {\color{brandRed}\rule{44pt}{3pt}}% ] \titlespacing{name=\chapter,numberless}{0pt}{0pt}{20pt} %% ─── STEP LABEL ────────────────────────────────────────────────────────────── \newcommand{\steplabel}[1]{% \vspace{6pt}% {\color{stepLabelColor}\fontsize{8}{10}\selectfont\bfseries\MakeUppercase{#1}}% \vspace{4pt}% } %% ─── CALLOUT BOX ───────────────────────────────────────────────────────────── %% Usage: \begin{callout}{Title} ... \end{callout} \newmdenv[ topline=false, bottomline=false, rightline=false, leftline=true, linewidth=3pt, linecolor=calloutBorder, backgroundcolor=calloutBg, innerleftmargin=12pt, innerrightmargin=12pt, innertopmargin=10pt, innerbottommargin=10pt, skipabove=12pt, skipbelow=12pt ]{calloutbox} \newenvironment{callout}[1]{% \begin{calloutbox}% {\color{calloutText}\fontsize{8.5}{11}\selectfont\bfseries #1}\\[4pt]% }{% \end{calloutbox}% } %% ─── LISTS ─────────────────────────────────────────────────────────────────── \setlist[itemize,1]{ leftmargin=16pt, itemsep=4pt, parsep=0pt, label={\color{brandRed}\rule{4pt}{4pt}} } \setlist[itemize,2]{ leftmargin=14pt, itemsep=2pt, label={\color{ruleColor}\rule{3pt}{3pt}} } \setlist[enumerate,1]{ leftmargin=18pt, itemsep=4pt, parsep=0pt, label={\color{brandRed}\bfseries\arabic*.} } \setlist[enumerate,2]{ leftmargin=16pt, itemsep=2pt, label={\color{brandRed}\bfseries\alph*.} } %% ─── TABLES ────────────────────────────────────────────────────────────────── \setlength{\arrayrulewidth}{0.5pt} \arrayrulecolor{ruleColor} \renewcommand{\arraystretch}{1.4} %% Helpers for styled header rows (use \rowcolor{\tableheadcolor} in preamble) \newcommand{\tableheadcolor}{\rowcolor{navyBg}} \newcommand{\tableheadtext}{\color{white}\bfseries} %% ─── RUNNING HEADERS & FOOTERS ─────────────────────────────────────────────── \pagestyle{fancy} \fancyhf{} \renewcommand{\headrulewidth}{0pt} \renewcommand{\footrulewidth}{0pt} %% Light grey header bar with red left accent — title left, page number right \fancyhead[RO]{% \begin{tikzpicture}[remember picture, overlay] \fill[headerBg] (current page.north west) rectangle ++(\paperwidth, -10mm); \fill[headerRule] (current page.north west) rectangle ++(\paperwidth, -0.5pt); \fill[brandRed] (current page.north west) rectangle ++(3pt, -10mm); \node[anchor=west, xshift=14pt, yshift=-5mm] at (current page.north west) {\color{mutedColor}\fontsize{8}{10}\selectfont $title$}; \node[anchor=east, xshift=-16pt, yshift=-5mm] at (current page.north east) {\color{brandBlue}\fontsize{9}{11}\selectfont\thepage}; \end{tikzpicture}% } \fancyfoot[L]{% \color{mutedColor}\fontsize{8}{10}\selectfont iso27diy.com% } %% No header/footer on chapter opener pages \fancypagestyle{plain}{% \fancyhf{}% \renewcommand{\headrulewidth}{0pt}% \renewcommand{\footrulewidth}{0pt}% } %% ─── FOOTNOTES ─────────────────────────────────────────────────────────────── \renewcommand{\footnoterule}{% \vspace{4pt}% {\color{ruleColor}\hrule height 0.5pt width 40mm}% \vspace{4pt}% } %% ─── TABLE OF CONTENTS ─────────────────────────────────────────────────────── \setcounter{tocdepth}{2} \setcounter{secnumdepth}{1} \titlecontents{chapter} [0pt] {\vspace{8pt}\color{headingColor}\bfseries} {\contentslabel{0pt}} {} {\hfill\color{pageNumColor}\contentspage} \titlecontents{section} [28pt] {\vspace{2pt}\color{bodyColor}} {\contentslabel{28pt}} {} {\hfill\color{mutedColor}\contentspage} \titlecontents{subsection} [28pt] {\vspace{1pt}\small\color{mutedColor}} {} {} {\hfill\color{mutedColor}\contentspage} %% ─── CODE BLOCKS ───────────────────────────────────────────────────────────── \DefineVerbatimEnvironment{Highlighting}{Verbatim}{ fontsize=\small, xleftmargin=12pt, frame=leftline, framerule=3pt, rulecolor=\color{brandBlue}, commandchars=\\\{\} } %% ─── IMAGES ────────────────────────────────────────────────────────────────── \captionsetup{ font={small, color=bodyColor}, labelfont={bf, color=headingColor}, labelsep=period } \setkeys{Gin}{width=\linewidth, keepaspectratio} %% ─── COVER PAGE ────────────────────────────────────────────────────────────── %% Print-friendly: white background with dot pattern, red left bar \newcommand{\makecover}{% \begin{titlepage}% %% White base \AddToShipoutPictureBG*{% \AtPageLowerLeft{% \color{coverBg}\rule{\paperwidth}{\paperheight}% }% }% %% Dot pattern via TikZ \AddToShipoutPictureBG*{% \begin{tikzpicture}[remember picture, overlay] \foreach \x in {0,0.42,...,21} { \foreach \y in {0,0.42,...,29.7} { \fill[dotColor] (\x cm, \y cm) circle (0.7pt); } } \end{tikzpicture}% }% %% Red left bar \AddToShipoutPictureBG*{% \AtPageLowerLeft{% \color{brandRed}\rule{8pt}{\paperheight}% }% }% \vspace*{10mm}% \begin{flushleft}% \hspace*{16pt}% \begin{minipage}{0.85\textwidth} \includegraphics[width=48mm]{$logo$}\par% \vspace{32mm}% {\hyphenpenalty=10000\exhyphenpenalty=10000\raggedright% \color{navyBg}\fontsize{48}{56}\selectfont\bfseries% $if(covertitle)$$covertitle$$else$$title$$endif$\par}% \vspace{10mm}% {\color{brandBlue}\rule{104pt}{6pt}\par}% \vspace{8mm}% {\color{bodyColor}\fontsize{20}{26}\selectfont $subtitle$\par}% \end{minipage}% \end{flushleft}% \vfill% \hspace*{16pt}% \begin{minipage}{0.85\textwidth} {\color{mutedColor}\fontsize{9}{12}\selectfont iso27diy.com\par}% \vspace{3mm}% {\color{mutedColor}\fontsize{8}{11}\selectfont $year$ $author$\par}% \end{minipage}% \vspace*{10mm}% \end{titlepage}% } %% ─── DOCUMENT ──────────────────────────────────────────────────────────────── \begin{document} \makecover \frontmatter $if(toc)$ \chapterbgfalse \tableofcontents \chapterbgtrue \clearpage $endif$ \pagenumbering{arabic} \setcounter{page}{1} $body$ $if(index)$ \backmatter \printindex $endif$ \end{document}