% Options for packages loaded elsewhere \PassOptionsToPackage{unicode}{hyperref} \PassOptionsToPackage{hyphens}{url} \PassOptionsToPackage{dvipsnames,svgnames,x11names}{xcolor} \documentclass[ 12pt, openany]{book} \usepackage{xcolor} \usepackage[margin=1in]{geometry} \usepackage{amsmath,amssymb} \setcounter{secnumdepth}{5} \usepackage{iftex} \ifPDFTeX \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{textcomp} % provide euro and other symbols \else % if luatex or xetex \usepackage{unicode-math} % this also loads fontspec \defaultfontfeatures{Scale=MatchLowercase} \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1} \fi \usepackage{lmodern} \ifPDFTeX\else % xetex/luatex font selection \setmainfont[]{Noto Serif} \setsansfont[]{Noto Sans} \setmonofont[]{Noto Sans Mono} \fi % Use upquote if available, for straight quotes in verbatim environments \IfFileExists{upquote.sty}{\usepackage{upquote}}{} \IfFileExists{microtype.sty}{% use microtype if available \usepackage[]{microtype} \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts }{} \makeatletter \@ifundefined{KOMAClassName}{% if non-KOMA class \IfFileExists{parskip.sty}{% \usepackage{parskip} }{% else \setlength{\parindent}{0pt} \setlength{\parskip}{6pt plus 2pt minus 1pt}} }{% if KOMA class \KOMAoptions{parskip=half}} \makeatother \usepackage{color} \usepackage{fancyvrb} \newcommand{\VerbBar}{|} \newcommand{\VERB}{\Verb[commandchars=\\\{\}]} \DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}} % Add ',fontsize=\small' for more characters per line \newenvironment{Shaded}{}{} \newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}} \newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}} \newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}} \newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}} \newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}} \newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}} \newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}} \newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}} \newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}} \newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}} \newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}} \newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}} \newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}} \newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}} \newcommand{\ExtensionTok}[1]{#1} \newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}} \newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}} \newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}} \newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}} \newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}} \newcommand{\NormalTok}[1]{#1} \newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}} \newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}} \newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}} \newcommand{\RegionMarkerTok}[1]{#1} \newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}} \newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}} \newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}} \newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}} \newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}} \newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}} \usepackage{longtable,booktabs,array} \newcounter{none} % for unnumbered tables \usepackage{calc} % for calculating minipage widths % Correct order of tables after \paragraph or \subparagraph \usepackage{etoolbox} \makeatletter \patchcmd\longtable{\par}{\if@noskipsec\mbox{}\fi\par}{}{} \makeatother % Allow footnotes in longtable head/foot \IfFileExists{footnotehyper.sty}{\usepackage{footnotehyper}}{\usepackage{footnote}} \makesavenoteenv{longtable} \usepackage{graphicx} \makeatletter \newsavebox\pandoc@box \newcommand*\pandocbounded[1]{% scales image to fit in text height/width \sbox\pandoc@box{#1}% \Gscale@div\@tempa{\textheight}{\dimexpr\ht\pandoc@box+\dp\pandoc@box\relax}% \Gscale@div\@tempb{\linewidth}{\wd\pandoc@box}% \ifdim\@tempb\p@<\@tempa\p@\let\@tempa\@tempb\fi% select the smaller of both \ifdim\@tempa\p@<\p@\scalebox{\@tempa}{\usebox\pandoc@box}% \else\usebox{\pandoc@box}% \fi% } % Set default figure placement to htbp \def\fps@figure{htbp} \makeatother % definitions for citeproc citations \NewDocumentCommand\citeproctext{}{} \NewDocumentCommand\citeproc{mm}{% \begingroup\def\citeproctext{#2}\cite{#1}\endgroup} \makeatletter % allow citations to break across lines \let\@cite@ofmt\@firstofone % avoid brackets around text for \cite: \def\@biblabel#1{} \def\@cite#1#2{{#1\if@tempswa , #2\fi}} \makeatother \newlength{\cslhangindent} \setlength{\cslhangindent}{1.5em} \newlength{\csllabelwidth} \setlength{\csllabelwidth}{3em} \newenvironment{CSLReferences}[2] % #1 hanging-indent, #2 entry-spacing {\begin{list}{}{% \setlength{\itemindent}{0pt} \setlength{\leftmargin}{0pt} \setlength{\parsep}{0pt} % turn on hanging indent if param 1 is 1 \ifodd #1 \setlength{\leftmargin}{\cslhangindent} \setlength{\itemindent}{-1\cslhangindent} \fi % set entry spacing \setlength{\itemsep}{#2\baselineskip}}} {\end{list}} \usepackage{calc} \newcommand{\CSLBlock}[1]{\hfill\break\parbox[t]{\linewidth}{\strut\ignorespaces#1\strut}} \newcommand{\CSLLeftMargin}[1]{\parbox[t]{\csllabelwidth}{\strut#1\strut}} \newcommand{\CSLRightInline}[1]{\parbox[t]{\linewidth - \csllabelwidth}{\strut#1\strut}} \newcommand{\CSLIndent}[1]{\hspace{\cslhangindent}#1} \setlength{\emergencystretch}{3em} % prevent overfull lines \providecommand{\tightlist}{% \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} \usepackage{etoolbox} \usepackage[most]{tcolorbox} \usepackage{graphicx} \usepackage{xparse} \tcbuselibrary{breakable} % --- Disable floating figures globally --- \usepackage{float} \let\origfigure\figure \let\endorigfigure\endfigure \renewenvironment{figure}[1][H]{\origfigure[H]}{\endorigfigure} % --- Colors --- \usepackage{xcolor} \definecolor{speculativeback}{RGB}{247,232,255} % #f7e8ff \definecolor{speculativeframe}{RGB}{139,43,226} % #8b2be2 % --- Left-align all Pandoc tables --- \usepackage{longtable} \usepackage{etoolbox} \makeatletter \patchcmd\longtable{\par}{\par\raggedright}{}{} \setlength{\LTleft}{0pt} \setlength{\LTright}{0pt} \makeatother % Enable index generation \usepackage{makeidx} \makeindex % Helper to show a blank title if empty \newcommand{\blanktitle}{\mbox{}} % ========================================================= % Concept Boxes % ========================================================= \newtcolorbox{infobox}[1][Information]{% title=\ifstrempty{#1}{\blanktitle}{#1}, colback=blue!3!white, colframe=blue!50!black, colbacktitle=blue!10!white, fonttitle=\bfseries, coltitle=black, enhanced, sharp corners, breakable, after=\par\vspace{6pt} } \newtcolorbox{proposedbox}[1][Proposed Concept]{% title=\ifstrempty{#1}{\blanktitle}{#1}, colback=blue!5!white, colframe=blue!75!black, colbacktitle=blue!15!white, fonttitle=\bfseries, coltitle=black, enhanced, sharp corners, breakable, after=\par\vspace{6pt} } \newtcolorbox{establishedbox}[1][Established Concept]{% title=\ifstrempty{#1}{\blanktitle}{#1}, colback=green!5!white, colframe=green!75!black, colbacktitle=green!15!white, fonttitle=\bfseries, coltitle=black, enhanced, sharp corners, breakable, after=\par\vspace{6pt} } \newtcolorbox{speculativebox}[1][Speculative Concept]{% title=\ifstrempty{#1}{\blanktitle}{#1}, colback=speculativeback, colframe=speculativeframe, colbacktitle=speculativeback!80!white, % lighter variant for title bar fonttitle=\bfseries, coltitle=black, enhanced, sharp corners, breakable, after=\par\vspace{6pt} } \newtcolorbox{cautionbox}[1][Caution]{% title=\ifstrempty{#1}{\blanktitle}{#1}, colback=orange!5!white, colframe=orange!75!black, colbacktitle=orange!15!white, fonttitle=\bfseries, coltitle=black, enhanced, sharp corners, breakable, after=\par\vspace{6pt} } \newtcolorbox{warningbox}[1][Warning]{% title=\ifstrempty{#1}{\blanktitle}{#1}, colback=orange!5!white, colframe=orange!75!black, colbacktitle=orange!15!white, fonttitle=\bfseries, coltitle=black, enhanced, sharp corners, breakable, after=\par\vspace{6pt} } \newtcolorbox{dangerbox}[1][Danger]{% title=\ifstrempty{#1}{\blanktitle}{#1}, colback=red!5!white, colframe=red!75!black, colbacktitle=red!15!white, fonttitle=\bfseries, coltitle=black, enhanced, sharp corners, breakable, after=\par\vspace{6pt} } \usepackage{xurl} \usepackage{fancyhdr} \setlength{\headheight}{15pt} % --- Chapter-opening pages (plain style) --- \fancypagestyle{plain}{% \fancyhf{}% \fancyhead[C]{\leftmark} % Chapter title \cfoot{Basic Book Builder: A Pandoc template for building books and articles} % Book title \rfoot{\thepage} % Page number \renewcommand{\headrulewidth}{0pt} \renewcommand{\footrulewidth}{0pt} } % --- Normal running pages --- \pagestyle{fancy} \fancyhf{} % Header \fancyhead[C]{\leftmark} % Chapter title (centered) % Footer \cfoot{Basic Book Builder: A Pandoc template for building books and articles} % Book title \rfoot{\thepage} % Page number % Line rules \renewcommand{\headrulewidth}{0pt} % rule under header \renewcommand{\footrulewidth}{0pt} % no rule above footer \usepackage{bookmark} \IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available \urlstyle{same} \hypersetup{ colorlinks=true, linkcolor={blue}, filecolor={Maroon}, citecolor={Blue}, urlcolor={Blue}, pdfcreator={LaTeX via pandoc}} \author{} \date{} \begin{document} \frontmatter % ------------------------- % 1. Title Page % ------------------------- \begin{titlepage} \centering \vspace*{2cm} {\Huge\bfseries Basic Book Builder \par} \vspace{0.4cm} {\Large A Pandoc template for building books and articles \par} \vspace{1.2cm} \includegraphics[width=0.5\textwidth]{lib/img/UAF-ACEP.png} \vfill \end{titlepage} % ------------------------- % 2. COPYRIGHT / META PAGE % ------------------------- \newpage \thispagestyle{empty} {\Large\bfseries Basic Book Builder \par} \vspace{0.2cm} {\normalsize\textit{A Pandoc template for building books and articles}\par} \vspace{0.4cm} \renewcommand{\arraystretch}{1.3} % row spacing \setlength{\tabcolsep}{8pt} % column padding \begin{tabular}{@{}p{0.28\textwidth}p{0.65\textwidth}@{}} \textbf{Author:} & John Haverlack \\ \textbf{Version:} & 1.1.0 \\ \textbf{Date:} & 2026-02-04 \\ \textbf{Affiliation:} & Alaska Center for Energy and Power \\ \textbf{Institution:} & University of Alaska Fairbanks \\ \textbf{ISBN:} & UNSPECIFIED \\ \textbf{DOI:} & UNSPECIFIED \\ \textbf{Maturity:} & BETA \\ \end{tabular} \vspace{0.5cm} \textbf{Copyright} © 2026 Alaska Center for Energy and Power \vspace{0.5cm} % ----- Licensing Section ----- \section*{Licensing} \subsection*{Open Source Edition (PDF and HTML)} Licensed under the Creative Commons Attribution-NoDerivatives 4.0 International License. \begin{itemize} \item License: \href{https://creativecommons.org/licenses/by-nd/4.0/}{CC BY-ND 4.0} \end{itemize} % \subsection*{Commercial Edition (ebook and print)} % All Rights Reserved. No part of the EPUB or printed editions may be reproduced or redistributed without permission. \vspace*{\fill} % ------------------------- % 3. Cover Illustration Page % ------------------------- % ----- Title Page Image Note ----- \newpage \thispagestyle{empty} % \vspace*{1.5cm} % {\Large\bfseries Cover Illustration\par} % \begin{center} % \includegraphics[width=0.33\textwidth]{lib/img/UAF-ACEP.png} % \vspace{0.6cm} % \vspace{0.8cm} % {\small % \textit{“Cover illustration by****”} % \end{center} % ------------------------- % Reset numbering % ------------------------- \clearpage \pagenumbering{roman} % ------------------------- % Insert dedication % ------------------------- % \begin{titlepage} % \centering % \vspace*{\fill} % \textit{This book is dedicated to ****.} % \vspace*{\fill} % \end{titlepage} % (Pandoc will insert the TOC next, using roman numerals) \renewcommand*\contentsname{Contents} { \setcounter{tocdepth}{3} \tableofcontents } \mainmatter \chapter{Introduction}\label{introduction} This is a basic book (or article / document) builder template based on a Pandoc(\citeproc{ref-PandocIndex}{\textbf{PandocIndex?}})\index{Pandoc} build process in conjunction with a number of other tools to generate PDF, HTML, LaTex, Markdown, ODT, DOCX, and Epub book output formats from a single set Markdown source content , which can optionally be edited as an Obsidian vault. This \textbf{basic book builder}(\citeproc{ref-JehaverlackBasicbookbuilderPandoca}{\textbf{JehaverlackBasicbookbuilderPandoca?}}) template has been curated by John Haverlack.(\citeproc{ref-JohnHaverlackACEP}{\emph{John {Haverlack} \textbar{} {ACEP}}, n.d.}) \chapter{Getting Started}\label{getting-started} \section{Cloning the Basic Book Builder}\label{cloning-the-basic-book-builder} \begin{quote} {[}!cli{]} Cloning the repository \begin{Shaded} \begin{Highlighting}[] \FunctionTok{git}\NormalTok{ clone https://github.com/jehaverlack/basic{-}book{-}builder.git} \end{Highlighting} \end{Shaded} \end{quote} \begin{quote} {[}!cli{]} Navigate to the repo directory \begin{verbatim} cd basic-book-builder \end{verbatim} \end{quote} \section{Setting Up Build Environment}\label{setting-up-build-environment} \begin{cautionbox}[Debian Based Linux] This script only support Debian based linux system (Debian, Ubunutu, Zorin, etc) This script has not been widely tested across platforms \end{cautionbox} \begin{quote} {[}!cli{]} Setup Build Environment \begin{Shaded} \begin{Highlighting}[] \ExtensionTok{./scripts/setup{-}linux{-}deb.sh} \end{Highlighting} \end{Shaded} \end{quote} For more information on setting up the build environment for your system see Appendix A. \appendix Appendix A \chapter{Appendix A: Build Environment Notes}\label{appendix-a-build-environment-notes} \section{Installing Pre-Requisites}\label{installing-pre-requisites} \begin{cautionbox}[Not Cross-platform Tested] For Debian / ZorinOS and likely Ubuntu based systems. \end{cautionbox} \subsection{Required}\label{required} \subsubsection{Pandoc}\label{pandoc} \begin{itemize} \tightlist \item https://pandoc.org/ \item \href{https://github.com/jgm/pandoc/releases/tag/3.8.2.1}{Download} \end{itemize} \begin{quote} \texttt{sudo\ apt\ install\ https://github.com/jgm/pandoc/releases/download/3.8.2.1/pandoc-3.8.2.1-1-amd64.deb} \end{quote} \subsubsection{Code Editor}\label{code-editor} \begin{establishedbox}[Code Editor] \href{https://vscodium.com/}{VSCodium} is recommend for privacy (telemetry/tracking) reasons - https://vscodium.com/ \end{establishedbox} But any text editor will work. \#\#\#\# make \begin{verbatim} sudo apt install make \end{verbatim} \subsubsection{jq and yq}\label{jq-and-yq} \begin{verbatim} sudo apt install jq yq \end{verbatim} \subsubsection{texlive}\label{texlive} \begin{quote} \texttt{sudo\ apt\ install\ texlive\ texlive-xetex\ texlive-latex-extra\ texlive-fonts-recommended\ texlive-fonts-extra} \end{quote} \subsubsection{MathJax}\label{mathjax} \begin{itemize} \tightlist \item https://www.mathjax.org/ \end{itemize} \begin{verbatim} wget https://registry.npmjs.org/mathjax/-/mathjax-3.2.2.tgz tar xzf mathjax-3.2.2.tgz mv package/es5/* lib/mathjax rm -rf package mathjax-3.2.2.tgz \end{verbatim} \begin{cautionbox}[TODO] This need to be rolled into a setup script. \end{cautionbox} \subsection{Optional}\label{optional} The following are not strictly requires to use this book builder template. \subsubsection{Obsidian}\label{obsidian} \begin{establishedbox}[Highly Recommended] Editing book chapter content in Obsidian is a very productive means for editing Markdown source content. \end{establishedbox} \begin{itemize} \tightlist \item https://obsidian.md/ \item \href{https://github.com/obsidianmd/obsidian-releases/releases/download/v1.9.14/obsidian_1.9.14_amd64.deb}{Deb Package} \end{itemize} \begin{verbatim} sudo apt install https://github.com/obsidianmd/obsidian-releases/releases/download/v1.9.14/obsidian_1.9.14_amd64.deb \end{verbatim} \subsubsection{Zotero}\label{zotero} \begin{establishedbox}[Highly Recommended] If you need to managed citations and references, Zotero integration is highly recommended. \end{establishedbox} \begin{itemize} \tightlist \item https://www.zotero.org/ \end{itemize} \begin{verbatim} sudo cp ./scripts/deps/zotero.list /etc/apt/sources.list.d/ \end{verbatim} \begin{verbatim} sudo apt update \end{verbatim} \begin{verbatim} sudo apt install zotero \end{verbatim} \paragraph{Better BibTex for Zotero}\label{better-bibtex-for-zotero} Install the Better BibTex Plugin for Zotero - Zotero \textgreater{} Tool \textgreater{} Plugins \paragraph{Export citations.bib}\label{export-citations.bib} \begin{itemize} \tightlist \item Zotero \textgreater{} File \textgreater{} Export Library \textgreater{} Format: Better BibTeX \item[$\square$] Keep Updated \item[$\square$] Save to: \textasciitilde/Documents/Lib/zotero.bib \item[$\square$] Symlink your \textasciitilde/Documents/Lib/Citations.bib to basic-book-builder/lib/zotero.bib \end{itemize} \paragraph{Zotero Connector Browser Plugin}\label{zotero-connector-browser-plugin} \begin{itemize} \tightlist \item https://chromewebstore.google.com/detail/zotero-connector/ekhagklcjbdpajgpjgmbionohlpdbjgc \end{itemize} Provides you the ability to auto add Web resources to your Zotero citation database. \subsubsection{lmodern}\label{lmodern} \begin{verbatim} sudo apt install lmodern \end{verbatim} \subsubsection{epubcheck}\label{epubcheck} \begin{verbatim} sudo apt install epubcheck \end{verbatim} \subsubsection{foliate}\label{foliate} An EPub Reader \begin{itemize} \tightlist \item https://johnfactotum.github.io/foliate/ \end{itemize} \begin{verbatim} sudo apt install https://github.com/johnfactotum/foliate/releases/download/2.6.4/com.github.johnfactotum.foliate_2.6.4_all.deb \end{verbatim} \subsubsection{calibre}\label{calibre} An EPub Reader \begin{itemize} \tightlist \item https://calibre-ebook.com \end{itemize} \begin{verbatim} sudo apt install calibre \end{verbatim} \section{Editing the Configuration}\label{editing-the-configuration} \chapter{Appendix B: Editing the Book}\label{appendix-b-editing-the-book} \subsection{Configuration}\label{configuration} There are a number of other config files for each format: \begin{verbatim} conf/ ├── epub-metadata.xml ├── epub_template.html ├── epub.yaml ├── frontmatter_epub.md ├── frontmatter_epub.xhtml ├── frontmatter.html ├── frontmatter.tex ├── header.tex ├── html.yaml ├── latex.yaml ├── markdown.yaml ├── metadata.yaml ├── pandoc.yaml ├── pdf.yaml ├── style.css └── style_epub.css \end{verbatim} \subsubsection{Main Config Files}\label{main-config-files} \begin{itemize} \tightlist \item metadata.yaml - Set Title, etc \item pandoc.yaml - Main Pandoc Config \#\#\#\# Per format Configs \item \texttt{pdf.yaml} \item \texttt{html.yaml} \item \texttt{latex.yaml} \item \texttt{epub.yaml} \end{itemize} \subsection{FrontMatter Config}\label{frontmatter-config} There are 2 Version of the FrontMatter for PDF, and HTML bases formats that set the Title, Author, Verizon, Copyright, etc\ldots{} \begin{itemize} \tightlist \item \texttt{frontmatter.tex} \item \texttt{frontmatter.html} \item \texttt{frontmatter\_epub.*} - Work in Progress \end{itemize} \begin{quote} There is probably a better way to do this. \end{quote} \section{Editing the Content}\label{editing-the-content} To edit the book open the \texttt{basic-book-builder} directory as an Obsidian Vault. \begin{itemize} \tightlist \item Edit the Markdown content in the \texttt{chapters} directory. \end{itemize} \subsection{Citations}\label{citations} \begin{quote} Note: the Zotero database needs configured to export automatically to \texttt{lib/citations.bib} \end{quote} To insert a Zotero Citation - Ensure the Zotero App and DB are running on you system. - Alt + I (to insert citation) - Search for and select citation reference \section{Usage: Building the Book}\label{usage-building-the-book} \subsubsection{PDF}\label{pdf} \begin{verbatim} make pdf \end{verbatim} \subsubsection{HTML}\label{html} \begin{verbatim} make html \end{verbatim} \subsubsection{LaTex}\label{latex} \begin{verbatim} make latex \end{verbatim} \subsubsection{Markdown}\label{markdown} \begin{verbatim} make markdown \end{verbatim} \subsubsection{EPub}\label{epub} \begin{quote} Note: This ePub configuration still needs tuning. \end{quote} \begin{verbatim} make epub \end{verbatim} \backmatter \chapter*{Glossary}\label{glossary} \addcontentsline{toc}{chapter}{Glossary} {\def\LTcaptype{none} % do not increment counter \begin{longtable}[]{@{} >{\raggedright\arraybackslash}p{(\linewidth - 2\tabcolsep) * \real{0.1734}} >{\raggedright\arraybackslash}p{(\linewidth - 2\tabcolsep) * \real{0.8266}}@{}} \toprule\noalign{} \begin{minipage}[b]{\linewidth}\raggedright Term \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright Description \end{minipage} \\ \midrule\noalign{} \endhead \bottomrule\noalign{} \endlastfoot \textbf{AST (Abstract Syntax Tree)} & Pandoc's internal structured representation of a document. Lua filters operate on the AST before rendering to a target format. \\ \textbf{Bibliography} & A \texttt{.bib} file (e.g., Zotero export) used by Pandoc with \texttt{citeproc} to generate formatted citations and reference lists. \\ \textbf{Callout} & A styled block (e.g., \texttt{{[}!warning{]}}) transformed by Lua filters into format-specific output such as LaTeX environments or HTML \texttt{\textless{}div\textgreater{}} elements. \\ \textbf{Defaults File (YAML)} & A Pandoc configuration file defining output format, filters, metadata, and rendering options (e.g., \texttt{pdf.yaml}, \texttt{html.yaml}). \\ \textbf{DOCX} & Microsoft Word document format generated by Pandoc; styling is controlled via a \texttt{reference.docx} file. \\ \textbf{Filter (Lua)} & A script that modifies Pandoc's AST before rendering. Used in this workflow for callouts and other structural transformations. \\ \textbf{Frontmatter} & Format-specific content inserted before the main body (e.g., \texttt{frontmatter.tex}, \texttt{frontmatter.html}, \texttt{frontmatter-docx.md}). \\ \textbf{HTML} & Web output format generated by Pandoc, typically styled via CSS and supporting interactive features. \\ \textbf{LaTeX} & Typesetting system used for high-quality PDF generation via XeLaTeX in this workflow. \\ \textbf{Lua Filter} & A lightweight scripting extension used by Pandoc to customize document transformations programmatically. \\ \textbf{Makefile} & Automation script orchestrating the build pipeline for PDF, HTML, DOCX, ODT, and Markdown outputs. \\ \textbf{Markdown} & Plain-text markup language serving as the source format for all outputs in the workflow. \\ \textbf{Metadata} & Key--value pairs (e.g., \texttt{metadata.yaml}) defining title, author, license, version, and other document variables. \\ \textbf{ODT} & OpenDocument Text format used by LibreOffice; similar to DOCX but open-standard. \\ \textbf{Pandoc} & Universal document converter used to transform Markdown into PDF, HTML, DOCX, ODT, EPUB, and more. \\ \textbf{PDF} & Portable Document Format output produced via Pandoc + XeLaTeX. \\ \textbf{Reference Document} & A DOCX or ODT file defining styles (fonts, headings, spacing) used when generating Word/LibreOffice outputs. \\ \textbf{Resource Path} & Directories Pandoc searches for images, diagrams, and other assets during rendering. \\ \textbf{Template} & A format-specific layout file (e.g., LaTeX template) used to control document structure beyond styling. \\ \textbf{TOC (Table of Contents)} & Automatically generated navigation structure controlled by \texttt{toc} and \texttt{toc-depth} options. \\ \textbf{XeLaTeX} & LaTeX engine used to generate PDFs with modern font support (via \texttt{fontspec}). \\ \textbf{Zotero} & Reference manager used to generate \texttt{.bib} files for citation processing with Pandoc. \\ \end{longtable} } \clearpage \thispagestyle{plain} \markboth{Index}{Index} \let\oldclearpage\clearpage \let\oldcleardoublepage\cleardoublepage \renewcommand{\clearpage}{} \renewcommand{\cleardoublepage}{} \chapter*{Index} \addcontentsline{toc}{chapter}{Index} \printindex \renewcommand{\clearpage}{\oldclearpage} \renewcommand{\cleardoublepage}{\oldcleardoublepage} \clearpage \thispagestyle{plain} \markboth{Bibliography}{Bibliography} \chapter*{Bibliography}\label{bibliography} \addcontentsline{toc}{chapter}{Bibliography} \protect\phantomsection\label{refs} \begin{CSLReferences}{1}{1} \bibitem[\citeproctext]{ref-JohnHaverlackACEP} \emph{John {Haverlack} \textbar{} {ACEP}}. n.d. Https://www.uaf.edu/acep/about/our-team/john-haverlack.php. \bibitem[\citeproctext]{ref-JohnHaverlackACEP} \emph{John {Haverlack} \textbar{} {ACEP}}. n.d. Https://www.uaf.edu/acep/about/our-team/john-haverlack.php. \end{CSLReferences} \backmatter \end{document}