Version 1.0.0 Refactor: Fixing PDF Build

This commit is contained in:
John Haverlack 2026-02-05 11:28:10 -09:00
parent 40376984bd
commit 599e38152d
46 changed files with 982 additions and 1137 deletions

View File

@ -21,3 +21,19 @@
background-color: rgba(128, 0, 128, 0.05); background-color: rgba(128, 0, 128, 0.05);
border-left: 4px solid rgb(128, 0, 128); border-left: 4px solid rgb(128, 0, 128);
} }
/* Code: light grey */
.callout[data-callout="code"] {
--callout-color: 120, 120, 120;
--callout-icon: code;
background-color: rgba(120, 120, 120, 0.06);
border-left: 4px solid rgb(120, 120, 120);
}
/* CLI: terminal-style grey */
.callout[data-callout="cli"] {
--callout-color: 90, 90, 90;
--callout-icon: terminal;
background-color: rgba(90, 90, 90, 0.06);
border-left: 4px solid rgb(90, 90, 90);
}

View File

@ -4,21 +4,17 @@
"type": "split", "type": "split",
"children": [ "children": [
{ {
"id": "eb3c2fdcbf97f193", "id": "63d80c6eb3872afa",
"type": "tabs", "type": "tabs",
"children": [ "children": [
{ {
"id": "9aca980657068944", "id": "dc8c249564ffac56",
"type": "leaf", "type": "leaf",
"state": { "state": {
"type": "markdown", "type": "empty",
"state": { "state": {},
"file": "chapters/Preface.md",
"mode": "source",
"source": false
},
"icon": "lucide-file", "icon": "lucide-file",
"title": "Preface" "title": "New tab"
} }
} }
] ]
@ -268,53 +264,53 @@
"obsidian-kanban:Create new board": false "obsidian-kanban:Create new board": false
} }
}, },
"active": "9aca980657068944", "active": "dc8c249564ffac56",
"lastOpenFiles": [ "lastOpenFiles": [
"conf/sed1hMVp9", "templates/odt.yaml",
"conf/sed4bQnF2", "templates/frontmatter-docx.md",
"build/html/basic-book-builder.html", "templates/docx.yaml",
"conf/frontmatter.html", "scripts/new-project.sh",
"conf/html.yaml",
"build/html/lib/img/6-node-directed-compete-graph.pdf",
"build/html/lib/img/4-node-directed-graph.png",
"build/html/lib/img/2-node-undirected-complete-graph.png",
"build/html/lib/img/2-node-directed-graph.png",
"build/html/lib/mathjax",
"build/html/lib/img",
"build/html/lib/diag",
"build/html/lib",
"build/html/conf",
"chapters/01_Getting_Started.md", "chapters/01_Getting_Started.md",
"chapters/AppendixA.md",
"chapters/00_Introduction.md", "chapters/00_Introduction.md",
"build/html/lib/img/unit-circle-with-tau.png", "conf/sedBC8U5P",
"build/html/lib/img/unit-circle-with-pi.png.png", "chapters/AppendixB.md",
"build/html/lib/img/unit-circle-with-pi.png", "chapters/03_Features.md",
"build/html/lib/img/udir-proximity.png", "chapters/02_Usage.md",
"build/html/lib/img/directed-proximity.png",
"build/html/lib/img/Unit_circle_angles_color.png",
"build/html/lib/img/UAFLogo_A_blue.png",
"chapters/02_Features.md", "chapters/02_Features.md",
"chapters/Glossary.md", "conf/frontmatter.tex",
"chapters/Terminology.md", "conf/sed7Vpnn0",
"conf/latex.yaml",
"conf/sedOEGv7F",
"conf/header.tex",
"conf/style_epub.css",
"conf/style.css",
"chapters/Preface.md", "chapters/Preface.md",
"chapters/Index.md", "chapters/Index.md",
"chapters/Glossary.md",
"chapters/Bibliography.md", "chapters/Bibliography.md",
"chapters/Citations.md", "chapters/AppendixA.md",
"chapters/Appendix.md", "chapters/Appendix.md",
"lib/img/unit-circle-with-tau.png",
"lib/img/unit-circle-with-pi.png.png",
"lib/img/unit-circle-with-pi.png",
"lib/img/udir-proximity.png",
"lib/img/directed-proximity.png",
"lib/img/Unit_circle_angles_color.png",
"lib/img/Revolving_circles.svg",
"lib/img/Revolving_circles.480x480_white.png",
"lib/img/Revolving_circles.480x480.png",
"lib/img/Poo.png",
"chapters/Terminology.md",
"chapters/Citations.md",
"chapters/Appendix B.md",
"conf/frontmatter-docx.md",
"build/md/basic-book-builder.md",
"build/basic-book-builder.md", "build/basic-book-builder.md",
"LICENSE.md", "LICENSE.md",
"README.md", "README.md",
"pm/Book Action Items.md", "pm/Book Action Items.md",
"chapters/Unitfication.md", "chapters/Unitfication.md",
"chapters/03_Cylindrical_Spacetime.md", "chapters/03_Cylindrical_Spacetime.md",
"chapters/07_Consciousness_Continued.md", "chapters/07_Consciousness_Continued.md"
"chapters/04_State_Space_Locality.md",
"conf/frontmatter_epub.md",
"lib/mathjax/package/README.md",
"pm/Outline.md",
"Chapters/01_Conciousness.md",
"chapters/06_Acausal_Computation.md",
"chapters/05_Causality.md"
] ]
} }

View File

@ -14,86 +14,97 @@
\providecommand*\HyPL@Entry[1]{} \providecommand*\HyPL@Entry[1]{}
\HyPL@Entry{0<</S/r>>} \HyPL@Entry{0<</S/r>>}
\HyPL@Entry{2<</S/r>>} \HyPL@Entry{2<</S/r>>}
\HyPL@Entry{4<</S/D>>} \citation{ref-PandocIndex}
\newlabel{preface}{{}{1}{Preface}{chapter*.4}{}} \citation{ref-JehaverlackBasicbookbuilderPandoca}
\@writefile{toc}{\contentsline {chapter}{Preface}{1}{chapter*.4}\protected@file@percent }
\citation{ref-JohnHaverlackACEP} \citation{ref-JohnHaverlackACEP}
\@writefile{toc}{\contentsline {chapter}{\numberline {1}Introduction}{2}{chapter.1}\protected@file@percent } \HyPL@Entry{4<</S/D>>}
\@writefile{toc}{\contentsline {chapter}{\numberline {1}Introduction}{1}{chapter.1}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }} \@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }}
\newlabel{introduction}{{1}{2}{Introduction}{chapter.1}{}} \newlabel{introduction}{{1}{1}{Introduction}{chapter.1}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {2}Getting Started}{3}{chapter.2}\protected@file@percent } \@writefile{toc}{\contentsline {chapter}{\numberline {2}Getting Started}{2}{chapter.2}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }} \@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }}
\newlabel{getting-started}{{2}{3}{Getting Started}{chapter.2}{}} \newlabel{getting-started}{{2}{2}{Getting Started}{chapter.2}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.1}Installing Pre-Requisites}{3}{section.2.1}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {2.1}Cloning the Basic Book Builder}{2}{section.2.1}\protected@file@percent }
\newlabel{installing-pre-requisites}{{2.1}{3}{Installing Pre-Requisites}{section.2.1}{}} \newlabel{cloning-the-basic-book-builder}{{2.1}{2}{Cloning the Basic Book Builder}{section.2.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.1}Required}{3}{subsection.2.1.1}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {2.2}Setting Up Build Environment}{2}{section.2.2}\protected@file@percent }
\newlabel{required}{{2.1.1}{3}{Required}{subsection.2.1.1}{}} \newlabel{setting-up-build-environment}{{2.2}{2}{Setting Up Build Environment}{section.2.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.1.1}Pandoc}{3}{subsubsection.2.1.1.1}\protected@file@percent } \@writefile{toc}{\contentsline {chapter}{\numberline {A}Appendix A: Build Environment Notes}{3}{appendix.A}\protected@file@percent }
\newlabel{pandoc}{{2.1.1.1}{3}{Pandoc}{subsubsection.2.1.1.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.1.2}Code Editor}{3}{subsubsection.2.1.1.2}\protected@file@percent }
\newlabel{code-editor}{{2.1.1.2}{3}{Code Editor}{subsubsection.2.1.1.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.1.3}jq and yq}{4}{subsubsection.2.1.1.3}\protected@file@percent }
\newlabel{jq-and-yq}{{2.1.1.3}{4}{jq and yq}{subsubsection.2.1.1.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.1.4}texlive}{4}{subsubsection.2.1.1.4}\protected@file@percent }
\newlabel{texlive}{{2.1.1.4}{4}{texlive}{subsubsection.2.1.1.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.1.5}MathJax}{4}{subsubsection.2.1.1.5}\protected@file@percent }
\newlabel{mathjax}{{2.1.1.5}{4}{MathJax}{subsubsection.2.1.1.5}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.2}Optional}{4}{subsection.2.1.2}\protected@file@percent }
\newlabel{optional}{{2.1.2}{4}{Optional}{subsection.2.1.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.2.1}Obsidian}{4}{subsubsection.2.1.2.1}\protected@file@percent }
\newlabel{obsidian}{{2.1.2.1}{4}{Obsidian}{subsubsection.2.1.2.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.2.2}Zotero}{5}{subsubsection.2.1.2.2}\protected@file@percent }
\newlabel{zotero}{{2.1.2.2}{5}{Zotero}{subsubsection.2.1.2.2}{}}
\newlabel{better-bibtex-for-zotero}{{2.1.2.2.1}{5}{Better BibTex for Zotero}{paragraph.2.1.2.2.1}{}}
\@writefile{toc}{\contentsline {paragraph}{\numberline {2.1.2.2.1}Better BibTex for Zotero}{5}{paragraph.2.1.2.2.1}\protected@file@percent }
\newlabel{export-citations.bib}{{2.1.2.2.2}{5}{Export citations.bib}{paragraph.2.1.2.2.2}{}}
\@writefile{toc}{\contentsline {paragraph}{\numberline {2.1.2.2.2}Export citations.bib}{5}{paragraph.2.1.2.2.2}\protected@file@percent }
\newlabel{zotero-connector-browser-plugin}{{2.1.2.2.3}{5}{Zotero Connector Browser Plugin}{paragraph.2.1.2.2.3}{}}
\@writefile{toc}{\contentsline {paragraph}{\numberline {2.1.2.2.3}Zotero Connector Browser Plugin}{5}{paragraph.2.1.2.2.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.2.3}lmodern}{5}{subsubsection.2.1.2.3}\protected@file@percent }
\newlabel{lmodern}{{2.1.2.3}{5}{lmodern}{subsubsection.2.1.2.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.2.4}epubcheck}{5}{subsubsection.2.1.2.4}\protected@file@percent }
\newlabel{epubcheck}{{2.1.2.4}{5}{epubcheck}{subsubsection.2.1.2.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.2.5}foliate}{5}{subsubsection.2.1.2.5}\protected@file@percent }
\newlabel{foliate}{{2.1.2.5}{5}{foliate}{subsubsection.2.1.2.5}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.2.6}calibre}{6}{subsubsection.2.1.2.6}\protected@file@percent }
\newlabel{calibre}{{2.1.2.6}{6}{calibre}{subsubsection.2.1.2.6}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.2}Editing the Configuration}{6}{section.2.2}\protected@file@percent }
\newlabel{editing-the-configuration}{{2.2}{6}{Editing the Configuration}{section.2.2}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {3}Editing the Book}{7}{chapter.3}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }} \@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }}
\newlabel{editing-the-book}{{3}{7}{Editing the Book}{chapter.3}{}} \newlabel{appendix-a-build-environment-notes}{{A}{3}{Appendix A: Build Environment Notes}{appendix.A}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.0.1}Configuration}{7}{subsection.3.0.1}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {A.1}Installing Pre-Requisites}{3}{section.A.1}\protected@file@percent }
\newlabel{configuration}{{3.0.1}{7}{Configuration}{subsection.3.0.1}{}} \newlabel{installing-pre-requisites}{{A.1}{3}{Installing Pre-Requisites}{section.A.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.0.1.1}Main Config Files}{7}{subsubsection.3.0.1.1}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {A.1.1}Required}{3}{subsection.A.1.1}\protected@file@percent }
\newlabel{main-config-files}{{3.0.1.1}{7}{Main Config Files}{subsubsection.3.0.1.1}{}} \newlabel{required}{{A.1.1}{3}{Required}{subsection.A.1.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.0.2}FrontMatter Config}{8}{subsection.3.0.2}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {A.1.1.1}Pandoc}{3}{subsubsection.A.1.1.1}\protected@file@percent }
\newlabel{frontmatter-config}{{3.0.2}{8}{FrontMatter Config}{subsection.3.0.2}{}} \newlabel{pandoc}{{A.1.1.1}{3}{Pandoc}{subsubsection.A.1.1.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.1}Editing the Content}{8}{section.3.1}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {A.1.1.2}Code Editor}{3}{subsubsection.A.1.1.2}\protected@file@percent }
\newlabel{editing-the-content}{{3.1}{8}{Editing the Content}{section.3.1}{}} \newlabel{code-editor}{{A.1.1.2}{3}{Code Editor}{subsubsection.A.1.1.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}Citations}{8}{subsection.3.1.1}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {A.1.1.3}jq and yq}{4}{subsubsection.A.1.1.3}\protected@file@percent }
\newlabel{citations}{{3.1.1}{8}{Citations}{subsection.3.1.1}{}} \newlabel{jq-and-yq}{{A.1.1.3}{4}{jq and yq}{subsubsection.A.1.1.3}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.2}Usage: Building the Book}{8}{section.3.2}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {A.1.1.4}texlive}{4}{subsubsection.A.1.1.4}\protected@file@percent }
\newlabel{usage-building-the-book}{{3.2}{8}{Usage: Building the Book}{section.3.2}{}} \newlabel{texlive}{{A.1.1.4}{4}{texlive}{subsubsection.A.1.1.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.0.1}PDF}{8}{subsubsection.3.2.0.1}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {A.1.1.5}MathJax}{4}{subsubsection.A.1.1.5}\protected@file@percent }
\newlabel{pdf}{{3.2.0.1}{8}{PDF}{subsubsection.3.2.0.1}{}} \newlabel{mathjax}{{A.1.1.5}{4}{MathJax}{subsubsection.A.1.1.5}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.0.2}HTML}{8}{subsubsection.3.2.0.2}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {A.1.2}Optional}{4}{subsection.A.1.2}\protected@file@percent }
\newlabel{html}{{3.2.0.2}{8}{HTML}{subsubsection.3.2.0.2}{}} \newlabel{optional}{{A.1.2}{4}{Optional}{subsection.A.1.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.0.3}LaTex}{8}{subsubsection.3.2.0.3}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {A.1.2.1}Obsidian}{4}{subsubsection.A.1.2.1}\protected@file@percent }
\newlabel{latex}{{3.2.0.3}{8}{LaTex}{subsubsection.3.2.0.3}{}} \newlabel{obsidian}{{A.1.2.1}{4}{Obsidian}{subsubsection.A.1.2.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.0.4}Markdown}{8}{subsubsection.3.2.0.4}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {A.1.2.2}Zotero}{5}{subsubsection.A.1.2.2}\protected@file@percent }
\newlabel{markdown}{{3.2.0.4}{8}{Markdown}{subsubsection.3.2.0.4}{}} \newlabel{zotero}{{A.1.2.2}{5}{Zotero}{subsubsection.A.1.2.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.0.5}EPub}{9}{subsubsection.3.2.0.5}\protected@file@percent } \newlabel{better-bibtex-for-zotero}{{A.1.2.2.1}{5}{Better BibTex for Zotero}{paragraph.A.1.2.2.1}{}}
\newlabel{epub}{{3.2.0.5}{9}{EPub}{subsubsection.3.2.0.5}{}} \@writefile{toc}{\contentsline {paragraph}{\numberline {A.1.2.2.1}Better BibTex for Zotero}{5}{paragraph.A.1.2.2.1}\protected@file@percent }
\newlabel{glossary}{{3.2.0.5}{10}{Glossary}{appendix*.5}{}} \newlabel{export-citations.bib}{{A.1.2.2.2}{5}{Export citations.bib}{paragraph.A.1.2.2.2}{}}
\@writefile{toc}{\contentsline {chapter}{Glossary}{10}{appendix*.5}\protected@file@percent } \@writefile{toc}{\contentsline {paragraph}{\numberline {A.1.2.2.2}Export citations.bib}{5}{paragraph.A.1.2.2.2}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{Index}{11}{appendix*.6}\protected@file@percent } \newlabel{zotero-connector-browser-plugin}{{A.1.2.2.3}{5}{Zotero Connector Browser Plugin}{paragraph.A.1.2.2.3}{}}
\@writefile{toc}{\contentsline {paragraph}{\numberline {A.1.2.2.3}Zotero Connector Browser Plugin}{5}{paragraph.A.1.2.2.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {A.1.2.3}lmodern}{5}{subsubsection.A.1.2.3}\protected@file@percent }
\newlabel{lmodern}{{A.1.2.3}{5}{lmodern}{subsubsection.A.1.2.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {A.1.2.4}epubcheck}{5}{subsubsection.A.1.2.4}\protected@file@percent }
\newlabel{epubcheck}{{A.1.2.4}{5}{epubcheck}{subsubsection.A.1.2.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {A.1.2.5}foliate}{5}{subsubsection.A.1.2.5}\protected@file@percent }
\newlabel{foliate}{{A.1.2.5}{5}{foliate}{subsubsection.A.1.2.5}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {A.1.2.6}calibre}{6}{subsubsection.A.1.2.6}\protected@file@percent }
\newlabel{calibre}{{A.1.2.6}{6}{calibre}{subsubsection.A.1.2.6}{}}
\@writefile{toc}{\contentsline {section}{\numberline {A.2}Editing the Configuration}{6}{section.A.2}\protected@file@percent }
\newlabel{editing-the-configuration}{{A.2}{6}{Editing the Configuration}{section.A.2}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {B}Appendix B: Editing the Book}{7}{appendix.B}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{appendix-b-editing-the-book}{{B}{7}{Appendix B: Editing the Book}{appendix.B}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {B.0.1}Configuration}{7}{subsection.B.0.1}\protected@file@percent }
\newlabel{configuration}{{B.0.1}{7}{Configuration}{subsection.B.0.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {B.0.1.1}Main Config Files}{7}{subsubsection.B.0.1.1}\protected@file@percent }
\newlabel{main-config-files}{{B.0.1.1}{7}{Main Config Files}{subsubsection.B.0.1.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {B.0.2}FrontMatter Config}{8}{subsection.B.0.2}\protected@file@percent }
\newlabel{frontmatter-config}{{B.0.2}{8}{FrontMatter Config}{subsection.B.0.2}{}}
\@writefile{toc}{\contentsline {section}{\numberline {B.1}Editing the Content}{8}{section.B.1}\protected@file@percent }
\newlabel{editing-the-content}{{B.1}{8}{Editing the Content}{section.B.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {B.1.1}Citations}{8}{subsection.B.1.1}\protected@file@percent }
\newlabel{citations}{{B.1.1}{8}{Citations}{subsection.B.1.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {B.2}Usage: Building the Book}{8}{section.B.2}\protected@file@percent }
\newlabel{usage-building-the-book}{{B.2}{8}{Usage: Building the Book}{section.B.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {B.2.0.1}PDF}{8}{subsubsection.B.2.0.1}\protected@file@percent }
\newlabel{pdf}{{B.2.0.1}{8}{PDF}{subsubsection.B.2.0.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {B.2.0.2}HTML}{8}{subsubsection.B.2.0.2}\protected@file@percent }
\newlabel{html}{{B.2.0.2}{8}{HTML}{subsubsection.B.2.0.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {B.2.0.3}LaTex}{8}{subsubsection.B.2.0.3}\protected@file@percent }
\newlabel{latex}{{B.2.0.3}{8}{LaTex}{subsubsection.B.2.0.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {B.2.0.4}Markdown}{8}{subsubsection.B.2.0.4}\protected@file@percent }
\newlabel{markdown}{{B.2.0.4}{8}{Markdown}{subsubsection.B.2.0.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {B.2.0.5}EPub}{9}{subsubsection.B.2.0.5}\protected@file@percent }
\newlabel{epub}{{B.2.0.5}{9}{EPub}{subsubsection.B.2.0.5}{}}
\gdef \LT@i {\LT@entry
{1}{86.68152pt}\LT@entry
{1}{383.07349pt}}
\newlabel{glossary}{{B.2.0.5}{10}{Glossary}{appendix*.4}{}}
\@writefile{toc}{\contentsline {chapter}{Glossary}{10}{appendix*.4}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{Index}{12}{appendix*.5}\protected@file@percent }
\bibcite{ref-JohnHaverlackACEP}{\citeproctext } \bibcite{ref-JohnHaverlackACEP}{\citeproctext }
\bibcite{ref-JohnHaverlackACEP}{\citeproctext } \bibcite{ref-JohnHaverlackACEP}{\citeproctext }
\newlabel{bibliography}{{3.2.0.5}{12}{Bibliography}{appendix*.7}{}} \newlabel{bibliography}{{B.2.0.5}{14}{Bibliography}{appendix*.6}{}}
\@writefile{toc}{\contentsline {chapter}{Bibliography}{12}{appendix*.7}\protected@file@percent } \@writefile{toc}{\contentsline {chapter}{Bibliography}{14}{appendix*.6}\protected@file@percent }
\newlabel{refs}{{3.2.0.5}{12}{Bibliography}{section*.8}{}} \newlabel{refs}{{B.2.0.5}{14}{Bibliography}{section*.7}{}}
\gdef \@abspage@last{16} \gdef \@abspage@last{19}

View File

@ -0,0 +1 @@
\indexentry{Pandoc|hyperpage}{1}

View File

@ -1,4 +1,6 @@
This is makeindex, version 2.16 [TeX Live 2022] (kpathsea + Thai support). This is makeindex, version 2.16 [TeX Live 2022] (kpathsea + Thai support).
Scanning input file basic-book-builder.idx...done (0 entries accepted, 0 rejected). Scanning input file basic-book-builder.idx....done (1 entries accepted, 0 rejected).
Nothing written in basic-book-builder.ind. Sorting entries...done (0 comparisons).
Generating output file basic-book-builder.ind....done (5 lines written, 0 warnings).
Output written in basic-book-builder.ind.
Transcript written in basic-book-builder.ilg. Transcript written in basic-book-builder.ilg.

View File

@ -0,0 +1,5 @@
\begin{theindex}
\item Pandoc, \hyperpage{1}
\end{theindex}

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -42,6 +42,55 @@
}{% if KOMA class }{% if KOMA class
\KOMAoptions{parskip=half}} \KOMAoptions{parskip=half}}
\makeatother \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} \usepackage{graphicx}
\makeatletter \makeatletter
\newsavebox\pandoc@box \newsavebox\pandoc@box
@ -290,6 +339,8 @@
\textbf{Author:} & John Haverlack \\ \textbf{Author:} & John Haverlack \\
\textbf{Version:} & 1.1.0 \\ \textbf{Version:} & 1.1.0 \\
\textbf{Date:} & 2026-02-04 \\ \textbf{Date:} & 2026-02-04 \\
\textbf{Affiliation:} & Alaska Center for Energy and Power \\
\textbf{Institution:} & University of Alaska Fairbanks \\
\textbf{ISBN:} & UNSPECIFIED \\ \textbf{ISBN:} & UNSPECIFIED \\
\textbf{DOI:} & UNSPECIFIED \\ \textbf{DOI:} & UNSPECIFIED \\
\textbf{Maturity:} & BETA \\ \textbf{Maturity:} & BETA \\
@ -367,33 +418,76 @@ Licensed under the Creative Commons Attribution-NoDerivatives 4.0 International
\tableofcontents \tableofcontents
} }
\mainmatter \mainmatter
\markboth{Preface}{Preface}
\chapter*{Preface}\label{preface}
\addcontentsline{toc}{chapter}{Preface}
Preface to the Book\ldots{}
\chapter{Introduction}\label{introduction} \chapter{Introduction}\label{introduction}
This is a basic book (or article) builder template based on a Pandoc 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 build process in conjunction with a number of other tools to generate
PDF, ODT, HTML, LaTex, Markdown, and Epub book output formats from PDF, HTML, LaTex, Markdown, ODT, DOCX, and Epub book output formats from
Markdown source content , which can optionally be edited as an Obsidian a single set Markdown source content , which can optionally be edited as
vault. an Obsidian vault.
This book builder template has been curated by John This \textbf{basic book
builder}(\citeproc{ref-JehaverlackBasicbookbuilderPandoca}{\textbf{JehaverlackBasicbookbuilderPandoca?}})
template has been curated by John
Haverlack.(\citeproc{ref-JohnHaverlackACEP}{\emph{John {Haverlack} Haverlack.(\citeproc{ref-JohnHaverlackACEP}{\emph{John {Haverlack}
\textbar{} {ACEP}}, n.d.}) \textbar{} {ACEP}}, n.d.})
\chapter{Getting Started}\label{getting-started} \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} \section{Installing Pre-Requisites}\label{installing-pre-requisites}
\begin{cautionbox}[Not Cross-platform Tested]
For Debian / ZorinOS and likely Ubuntu based systems. For Debian / ZorinOS and likely Ubuntu based systems.
\begin{cautionbox}[TODO]
It would be nice to roll a setup script to take care of this.
\end{cautionbox} \end{cautionbox}
\subsection{Required}\label{required} \subsection{Required}\label{required}
@ -581,7 +675,8 @@ sudo apt install calibre
\section{Editing the Configuration}\label{editing-the-configuration} \section{Editing the Configuration}\label{editing-the-configuration}
\chapter{Editing the Book}\label{editing-the-book} \chapter{Appendix B: Editing the
Book}\label{appendix-b-editing-the-book}
\subsection{Configuration}\label{configuration} \subsection{Configuration}\label{configuration}
@ -702,23 +797,78 @@ Note: This ePub configuration still needs tuning.
make epub make epub
\end{verbatim} \end{verbatim}
\appendix
Appendix A
First Appendix
\backmatter \backmatter
\chapter*{Glossary}\label{glossary} \chapter*{Glossary}\label{glossary}
\addcontentsline{toc}{chapter}{Glossary} \addcontentsline{toc}{chapter}{Glossary}
\begin{itemize} {\def\LTcaptype{none} % do not increment counter
\tightlist \begin{longtable}[]{@{}
\item >{\raggedright\arraybackslash}p{(\linewidth - 2\tabcolsep) * \real{0.1734}}
\textbf{AI} - Artificial Intelligence >{\raggedright\arraybackslash}p{(\linewidth - 2\tabcolsep) * \real{0.8266}}@{}}
\item \toprule\noalign{}
\end{itemize} \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 \clearpage
\thispagestyle{plain} \thispagestyle{plain}

View File

@ -1,36 +1,38 @@
\contentsline {chapter}{Preface}{1}{chapter*.4}% \contentsline {chapter}{\numberline {1}Introduction}{1}{chapter.1}%
\contentsline {chapter}{\numberline {1}Introduction}{2}{chapter.1}% \contentsline {chapter}{\numberline {2}Getting Started}{2}{chapter.2}%
\contentsline {chapter}{\numberline {2}Getting Started}{3}{chapter.2}% \contentsline {section}{\numberline {2.1}Cloning the Basic Book Builder}{2}{section.2.1}%
\contentsline {section}{\numberline {2.1}Installing Pre-Requisites}{3}{section.2.1}% \contentsline {section}{\numberline {2.2}Setting Up Build Environment}{2}{section.2.2}%
\contentsline {subsection}{\numberline {2.1.1}Required}{3}{subsection.2.1.1}% \contentsline {chapter}{\numberline {A}Appendix A: Build Environment Notes}{3}{appendix.A}%
\contentsline {subsubsection}{\numberline {2.1.1.1}Pandoc}{3}{subsubsection.2.1.1.1}% \contentsline {section}{\numberline {A.1}Installing Pre-Requisites}{3}{section.A.1}%
\contentsline {subsubsection}{\numberline {2.1.1.2}Code Editor}{3}{subsubsection.2.1.1.2}% \contentsline {subsection}{\numberline {A.1.1}Required}{3}{subsection.A.1.1}%
\contentsline {subsubsection}{\numberline {2.1.1.3}jq and yq}{4}{subsubsection.2.1.1.3}% \contentsline {subsubsection}{\numberline {A.1.1.1}Pandoc}{3}{subsubsection.A.1.1.1}%
\contentsline {subsubsection}{\numberline {2.1.1.4}texlive}{4}{subsubsection.2.1.1.4}% \contentsline {subsubsection}{\numberline {A.1.1.2}Code Editor}{3}{subsubsection.A.1.1.2}%
\contentsline {subsubsection}{\numberline {2.1.1.5}MathJax}{4}{subsubsection.2.1.1.5}% \contentsline {subsubsection}{\numberline {A.1.1.3}jq and yq}{4}{subsubsection.A.1.1.3}%
\contentsline {subsection}{\numberline {2.1.2}Optional}{4}{subsection.2.1.2}% \contentsline {subsubsection}{\numberline {A.1.1.4}texlive}{4}{subsubsection.A.1.1.4}%
\contentsline {subsubsection}{\numberline {2.1.2.1}Obsidian}{4}{subsubsection.2.1.2.1}% \contentsline {subsubsection}{\numberline {A.1.1.5}MathJax}{4}{subsubsection.A.1.1.5}%
\contentsline {subsubsection}{\numberline {2.1.2.2}Zotero}{5}{subsubsection.2.1.2.2}% \contentsline {subsection}{\numberline {A.1.2}Optional}{4}{subsection.A.1.2}%
\contentsline {paragraph}{\numberline {2.1.2.2.1}Better BibTex for Zotero}{5}{paragraph.2.1.2.2.1}% \contentsline {subsubsection}{\numberline {A.1.2.1}Obsidian}{4}{subsubsection.A.1.2.1}%
\contentsline {paragraph}{\numberline {2.1.2.2.2}Export citations.bib}{5}{paragraph.2.1.2.2.2}% \contentsline {subsubsection}{\numberline {A.1.2.2}Zotero}{5}{subsubsection.A.1.2.2}%
\contentsline {paragraph}{\numberline {2.1.2.2.3}Zotero Connector Browser Plugin}{5}{paragraph.2.1.2.2.3}% \contentsline {paragraph}{\numberline {A.1.2.2.1}Better BibTex for Zotero}{5}{paragraph.A.1.2.2.1}%
\contentsline {subsubsection}{\numberline {2.1.2.3}lmodern}{5}{subsubsection.2.1.2.3}% \contentsline {paragraph}{\numberline {A.1.2.2.2}Export citations.bib}{5}{paragraph.A.1.2.2.2}%
\contentsline {subsubsection}{\numberline {2.1.2.4}epubcheck}{5}{subsubsection.2.1.2.4}% \contentsline {paragraph}{\numberline {A.1.2.2.3}Zotero Connector Browser Plugin}{5}{paragraph.A.1.2.2.3}%
\contentsline {subsubsection}{\numberline {2.1.2.5}foliate}{5}{subsubsection.2.1.2.5}% \contentsline {subsubsection}{\numberline {A.1.2.3}lmodern}{5}{subsubsection.A.1.2.3}%
\contentsline {subsubsection}{\numberline {2.1.2.6}calibre}{6}{subsubsection.2.1.2.6}% \contentsline {subsubsection}{\numberline {A.1.2.4}epubcheck}{5}{subsubsection.A.1.2.4}%
\contentsline {section}{\numberline {2.2}Editing the Configuration}{6}{section.2.2}% \contentsline {subsubsection}{\numberline {A.1.2.5}foliate}{5}{subsubsection.A.1.2.5}%
\contentsline {chapter}{\numberline {3}Editing the Book}{7}{chapter.3}% \contentsline {subsubsection}{\numberline {A.1.2.6}calibre}{6}{subsubsection.A.1.2.6}%
\contentsline {subsection}{\numberline {3.0.1}Configuration}{7}{subsection.3.0.1}% \contentsline {section}{\numberline {A.2}Editing the Configuration}{6}{section.A.2}%
\contentsline {subsubsection}{\numberline {3.0.1.1}Main Config Files}{7}{subsubsection.3.0.1.1}% \contentsline {chapter}{\numberline {B}Appendix B: Editing the Book}{7}{appendix.B}%
\contentsline {subsection}{\numberline {3.0.2}FrontMatter Config}{8}{subsection.3.0.2}% \contentsline {subsection}{\numberline {B.0.1}Configuration}{7}{subsection.B.0.1}%
\contentsline {section}{\numberline {3.1}Editing the Content}{8}{section.3.1}% \contentsline {subsubsection}{\numberline {B.0.1.1}Main Config Files}{7}{subsubsection.B.0.1.1}%
\contentsline {subsection}{\numberline {3.1.1}Citations}{8}{subsection.3.1.1}% \contentsline {subsection}{\numberline {B.0.2}FrontMatter Config}{8}{subsection.B.0.2}%
\contentsline {section}{\numberline {3.2}Usage: Building the Book}{8}{section.3.2}% \contentsline {section}{\numberline {B.1}Editing the Content}{8}{section.B.1}%
\contentsline {subsubsection}{\numberline {3.2.0.1}PDF}{8}{subsubsection.3.2.0.1}% \contentsline {subsection}{\numberline {B.1.1}Citations}{8}{subsection.B.1.1}%
\contentsline {subsubsection}{\numberline {3.2.0.2}HTML}{8}{subsubsection.3.2.0.2}% \contentsline {section}{\numberline {B.2}Usage: Building the Book}{8}{section.B.2}%
\contentsline {subsubsection}{\numberline {3.2.0.3}LaTex}{8}{subsubsection.3.2.0.3}% \contentsline {subsubsection}{\numberline {B.2.0.1}PDF}{8}{subsubsection.B.2.0.1}%
\contentsline {subsubsection}{\numberline {3.2.0.4}Markdown}{8}{subsubsection.3.2.0.4}% \contentsline {subsubsection}{\numberline {B.2.0.2}HTML}{8}{subsubsection.B.2.0.2}%
\contentsline {subsubsection}{\numberline {3.2.0.5}EPub}{9}{subsubsection.3.2.0.5}% \contentsline {subsubsection}{\numberline {B.2.0.3}LaTex}{8}{subsubsection.B.2.0.3}%
\contentsline {chapter}{Glossary}{10}{appendix*.5}% \contentsline {subsubsection}{\numberline {B.2.0.4}Markdown}{8}{subsubsection.B.2.0.4}%
\contentsline {chapter}{Index}{11}{appendix*.6}% \contentsline {subsubsection}{\numberline {B.2.0.5}EPub}{9}{subsubsection.B.2.0.5}%
\contentsline {chapter}{Bibliography}{12}{appendix*.7}% \contentsline {chapter}{Glossary}{10}{appendix*.4}%
\contentsline {chapter}{Index}{12}{appendix*.5}%
\contentsline {chapter}{Bibliography}{14}{appendix*.6}%

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 350 350"><path fill="#aaa" d="M0 0h350v350H0z"/><g transform="translate(175 175)"><circle r="3"/><g fill="none" stroke-linecap="square"><g id="a"><path stroke="#eee" d="m-8-106 4-12H9"/><path stroke="#777" d="m9-118-4 12H-8"/></g><use xlink:href="#a" transform="rotate(12)"/><use xlink:href="#a" transform="rotate(24)"/><use xlink:href="#a" transform="rotate(36)"/><use xlink:href="#a" transform="rotate(48)"/><use xlink:href="#a" transform="rotate(60)"/><use xlink:href="#a" transform="rotate(72)"/><use xlink:href="#a" transform="rotate(84)"/><use xlink:href="#a" transform="rotate(96)"/><use xlink:href="#a" transform="rotate(108)"/><use xlink:href="#a" transform="rotate(120)"/><use xlink:href="#a" transform="rotate(132)"/><use xlink:href="#a" transform="rotate(144)"/><use xlink:href="#a" transform="rotate(156)"/><use xlink:href="#a" transform="rotate(168)"/><use xlink:href="#a" transform="rotate(180)"/><use xlink:href="#a" transform="rotate(-12)"/><use xlink:href="#a" transform="rotate(-24)"/><use xlink:href="#a" transform="rotate(-36)"/><use xlink:href="#a" transform="rotate(-48)"/><use xlink:href="#a" transform="rotate(-60)"/><use xlink:href="#a" transform="rotate(-72)"/><use xlink:href="#a" transform="rotate(-84)"/><use xlink:href="#a" transform="rotate(-96)"/><use xlink:href="#a" transform="rotate(-108)"/><use xlink:href="#a" transform="rotate(-120)"/><use xlink:href="#a" transform="rotate(-132)"/><use xlink:href="#a" transform="rotate(-144)"/><use xlink:href="#a" transform="rotate(-156)"/><use xlink:href="#a" transform="rotate(-168)"/><g id="b"><path stroke="#eee" d="m10-135-4-12H-7"/><path stroke="#777" d="m-7-147 4 12h13"/></g><use xlink:href="#b" transform="rotate(10)"/><use xlink:href="#b" transform="rotate(20)"/><use xlink:href="#b" transform="rotate(30)"/><use xlink:href="#b" transform="rotate(40)"/><use xlink:href="#b" transform="rotate(50)"/><use xlink:href="#b" transform="rotate(60)"/><use xlink:href="#b" transform="rotate(70)"/><use xlink:href="#b" transform="rotate(80)"/><use xlink:href="#b" transform="rotate(90)"/><use xlink:href="#b" transform="rotate(100)"/><use xlink:href="#b" transform="rotate(110)"/><use xlink:href="#b" transform="rotate(120)"/><use xlink:href="#b" transform="rotate(130)"/><use xlink:href="#b" transform="rotate(140)"/><use xlink:href="#b" transform="rotate(150)"/><use xlink:href="#b" transform="rotate(160)"/><use xlink:href="#b" transform="rotate(170)"/><use xlink:href="#b" transform="rotate(180)"/><use xlink:href="#b" transform="rotate(-10)"/><use xlink:href="#b" transform="rotate(-20)"/><use xlink:href="#b" transform="rotate(-30)"/><use xlink:href="#b" transform="rotate(-40)"/><use xlink:href="#b" transform="rotate(-50)"/><use xlink:href="#b" transform="rotate(-60)"/><use xlink:href="#b" transform="rotate(-70)"/><use xlink:href="#b" transform="rotate(-80)"/><use xlink:href="#b" transform="rotate(-90)"/><use xlink:href="#b" transform="rotate(-100)"/><use xlink:href="#b" transform="rotate(-110)"/><use xlink:href="#b" transform="rotate(-120)"/><use xlink:href="#b" transform="rotate(-130)"/><use xlink:href="#b" transform="rotate(-140)"/><use xlink:href="#b" transform="rotate(-150)"/><use xlink:href="#b" transform="rotate(-160)"/><use xlink:href="#b" transform="rotate(-170)"/></g></g></svg>

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

View File

@ -1,6 +1,6 @@
# Introduction # Introduction
This is a basic book (or article) builder template based on a Pandoc build process in conjunction with a number of other tools to generate PDF, ODT, HTML, LaTex, Markdown, and Epub book output formats from Markdown source content , which can optionally be edited as an Obsidian vault. This is a basic book (or article / document) builder template based on a Pandoc[@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 book builder template has been curated by John Haverlack.[@JohnHaverlackACEP] This **basic book builder**[@JehaverlackBasicbookbuilderPandoca] template has been curated by John Haverlack.[@JohnHaverlackACEP]

View File

@ -1,246 +1,32 @@
# Getting Started # Getting Started
## Cloning the Basic Book Builder
## Installing Pre-Requisites
For Debian / ZorinOS and likely Ubuntu based systems. > [!cli] Cloning the repository
> ```bash
> git clone https://github.com/jehaverlack/basic-book-builder.git
> ```
> [!caution] TODO
> It would be nice to roll a setup script to take care of this.
### Required > [!cli] Navigate to the repo directory
> ```
> cd basic-book-builder
> ```
#### Pandoc ## Setting Up Build Environment
- https://pandoc.org/
- [Download](https://github.com/jgm/pandoc/releases/tag/3.8.2.1)
> ```sudo apt install https://github.com/jgm/pandoc/releases/download/3.8.2.1/pandoc-3.8.2.1-1-amd64.deb``` > [!caution] Debian Based Linux
> This script only support Debian based linux system (Debian, Ubunutu, Zorin, etc)
> This script has not been widely tested across platforms
#### Code Editor
> [!established] Code Editor > [!cli] Setup Build Environment
> [VSCodium](https://vscodium.com/) is recommend for privacy (telemetry/tracking) reasons > ```bash
> - https://vscodium.com/ > ./scripts/setup-linux-deb.sh
> ```
But any text editor will work. For more information on setting up the build environment for your system see Appendix A.
#### make
```
sudo apt install make
```
#### jq and yq
```
sudo apt install jq yq
```
#### texlive
> ```sudo apt install texlive texlive-xetex texlive-latex-extra texlive-fonts-recommended texlive-fonts-extra```
#### MathJax
- https://www.mathjax.org/
```
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
```
> [!caution] TODO
> This need to be rolled into a setup script.
### Optional
The following are not strictly requires to use this book builder template.
#### Obsidian
> [!established] Highly Recommended
> Editing book chapter content in Obsidian is a very productive means for editing Markdown source content.
- https://obsidian.md/
- [Deb Package](https://github.com/obsidianmd/obsidian-releases/releases/download/v1.9.14/obsidian_1.9.14_amd64.deb)
```
sudo apt install https://github.com/obsidianmd/obsidian-releases/releases/download/v1.9.14/obsidian_1.9.14_amd64.deb
```
#### Zotero
> [!established] Highly Recommended
> If you need to managed citations and references, Zotero integration is highly recommended.
- https://www.zotero.org/
```
sudo cp ./scripts/deps/zotero.list /etc/apt/sources.list.d/
```
```
sudo apt update
```
```
sudo apt install zotero
```
##### Better BibTex for Zotero
Install the Better BibTex Plugin for Zotero
- Zotero > Tool > Plugins
##### Export citations.bib
- Zotero > File > Export Library > Format: Better BibTeX
- [ ] Keep Updated
- [ ] Save to: ~/Documents/Lib/zotero.bib
- [ ] Symlink your ~/Documents/Lib/Citations.bib to basic-book-builder/lib/zotero.bib
##### Zotero Connector Browser Plugin
- https://chromewebstore.google.com/detail/zotero-connector/ekhagklcjbdpajgpjgmbionohlpdbjgc
Provides you the ability to auto add Web resources to your Zotero citation database.
#### lmodern
```
sudo apt install lmodern
```
#### epubcheck
```
sudo apt install epubcheck
```
#### foliate
An EPub Reader
- https://johnfactotum.github.io/foliate/
```
sudo apt install https://github.com/johnfactotum/foliate/releases/download/2.6.4/com.github.johnfactotum.foliate_2.6.4_all.deb
```
#### calibre
An EPub Reader
- https://calibre-ebook.com
```
sudo apt install calibre
```
## Editing the Configuration
# Editing the Book
### Configuration
There are a number of other config files for each format:
```
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
```
#### Main Config Files
- metadata.yaml - Set Title, etc
- pandoc.yaml - Main Pandoc Config
#### Per format Configs
- `pdf.yaml`
- `html.yaml`
- `latex.yaml`
- `epub.yaml`
### FrontMatter Config
There are 2 Version of the FrontMatter for PDF, and HTML bases formats that set the Title, Author, Verizon, Copyright, etc...
- `frontmatter.tex`
- `frontmatter.html`
- `frontmatter_epub.*` - Work in Progress
> There is probably a better way to do this.
## Editing the Content
To edit the book open the `basic-book-builder` directory as an Obsidian Vault.
- Edit the Markdown content in the `chapters` directory.
### Citations
> Note: the Zotero database needs configured to export automatically to `lib/citations.bib`
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
## Usage: Building the Book
#### PDF
```
make pdf
```
#### HTML
```
make html
```
#### LaTex
```
make latex
```
#### Markdown
```
make markdown
```
#### EPub
> Note: This ePub configuration still needs tuning.
```
make epub
```

View File

@ -1,403 +0,0 @@
## Callouts
A few callout box styles have been added to easily highlight content.
> [!established] Established Concept
> Einsteins Relativistic Dynamics Equations
> $$E^2 = (m_{0} \cdot c^2)^2 + (p \cdot c)^2 $$
> [!proposed] Proposed Concept
With the speed of light, $c = 1$:
$$E^2 = m_{0}^2 + p^2 $$
> [!speculative] Speculative Concept
With the speed of light, $c = 1$:
$$E^2 = m_{0}^2 + p^2 $$
> [!caution] Caution Note
> Beware of this section.
> [!warning] Warning Note
> Beware of this section.
> [!danger] Alerts
> Extreme Highlight
# Example Content
In $R\nu$ the [Planck Length](https://en.wikipedia.org/wiki/Planck_units#Planck_length) is the universal unit for measurement of distance, and is defined approximately to be:
$$\boxed{L_P=\sqrt{\hbar}=5.72928\times10^{-35}m=1 L}$$
Where $1\ L$, is 1 Planck Length of distance.
### SI Conversion Factors
The following conversion factors can be used to convert observable quantities of measure from the _SI_ system of units to $R\nu$ to ~6 significant digits.
| Conversion Factor | Symbol | Value |
| ---------------------------- | -------- | -------------------------------------------------- |
| meters to Planck Length | $\chi_P$ | $1.74542\times10^{34} \frac{L}{m}$ |
| seconds to Planck Length | $\tau_p$ | $5.23264\times10^{42} \frac{L}{s}$ |
| mass to Planck Length | $G_P$ | $1.62871\times10^8 \frac{L}{kg}$ |
| energy to Planck Length | $E_P$ | $1.81219\times10^9 \frac{L}{J}$ |
| momentum to Planck Length | $P_P$ | $5.43280\times10^{-1} \frac{L\cdot s}{kg \cdot m}$ |
| temperature to Planck Length | $k_P$ | $2.501998\times10^{-14} \frac{L}{K}$ |
| charge to Planck Length | $C_P$ | $1.89007\times10^{18} \frac{L}{C}$ |
### Physical Constants
Applying conversion factors from the table above, we can convert SI values to Reduced Natural Units. For example, performing this analysis on the the speed of light yields a unit-less number with a value of 1:
$c = 299792458 \frac{m}{s} = 299792458 \frac{m}{s} \cdot 1.74542\times10^{34} \frac{L}{m} \cdot \frac{1}{5.23264\times10^{42} \frac{L}{s}} = 1.00000$
| Quantity | Symbol | SI | $\nu$ |
| ------------------------------ | ------------ | ------------------------------------------------------------ | ------------------------------ |
| Speed of Light | $c$ | $299792458 \frac{m}{s}$ | 1 |
| Reduced Gravitational Constant | $G_0$ | $8.38659\times10^{-10} \frac{m^3}{kg \cdot s^2}$ | 1 |
| Boltzmann's Constant | $k$ | $k=1.380649\times10^-23 \frac{J}{K}$ | 1 |
| Permittivity of Free Space | $\epsilon_o$ | $8.854187817620\times10^{-12} \frac{C^{2}s^2}{kg \cdot m^3}$ | 1 |
| Permeability of Free Space | $\mu_o$ | $\huge{\frac{1}{\epsilon_{o} \cdot c^{2}}}$ | 1 |
| Reduced Planck's Constant | $\hbar$ | $1.054571726\times10^-34 \frac{kg \cdot m^2}{s}$ | $1 L^2$ |
| Mass of the Electron | $m_e$ | $9.10938\times10^{-31} kg$ | $1.48366\times10^{-22} L$ |
| Charge of the Electron | $e^-$ | $-1.60218\times10^{-19} C$ | $-3.02822\times10^{-1} L$ |
| Unit Cycle | $\Theta$ | $2\pi = 6.28318...\ Radians$ | $1 \tau = 6.28318...\ Radians$ |
## Fine Structure Constant
As a consistency check, we compute the _[Fine Structure Constant](https://en.wikipedia.org/wiki/Fine-structure_constant)_ using Reduced Natural Units which is a unit less ratio that should be independent of our system of units.
$\huge{\alpha=\frac{e^2}{4\pi\epsilon_o\hbar c}=\frac{e^2}{2\tau}=0.00729735≈\frac{1}{137}}$
#### Dimensional Analysis
The reader should be familiar with high school physics and chemistry [dimensional analysis](https://en.wikipedia.org/wiki/Dimensional_analysis).
- $1\ meter\ (m) = 100\ centimeters\ (cm)$
- $1\ kilometer\ (km) = 1000\ meters\ (m)$
- $1\ mile = 5280\ feet\ (ft\ or\ ')$
- $1\ foot\ (ft\ or\ ') = 12\ inches\ (in\ or\ ")$
- $1\ inch\ (") = 2.54\ centimeters\ (cm)$
How many kilometers are in 1 mile?
$1\ mile = 1\ mile \times \frac{5280\ ft}{mile} \times \frac{12\ in}{ft} \times \frac{2.54\ cm}{in}\times \frac{1\ m}{100 cm} \times \frac{1\ km}{1000 m} = \frac{5280 \times 12 \times 2.54}{100 \times 1000}\ km = \frac{160934.40}{100000}\ km = 1.6\ km$
Note that each unit in the denominator cancels with one if the numerator until we are left with only km.
## Newton's Law of Gravity
The force of gravity ($F_g$) between 2 masses, $m1$ and $m2$ separated by distance $r$ is given by [Newton's Law of Gravity](https://en.wikipedia.org/wiki/Newton%27s_law_of_universal_gravitation):
$F_{g} = G \frac{m_{1} m_{2}}{r^{2}}$
Where $G$, is the [Gravitational Constant](http://en.wikipedia.org/wiki/Gravitational_Constant).
$G = 6.67430 \times 10^{-11}\ N\frac{m^2}{kg^2}$
The strength of gravitational force follow the inverse square law distributing gravitational flux over the surface area of a sphere ($4\pi r^2$).
#### Inverse Square Law
Any source of a signal strength ($S_0$) that radiates isotropically in 3-dimensional space will distribute that signal strength ($S_0$) over the surface area of a sphere ($SA = 4 \pi r$) of radius ($r$). Such that the intensity ($I$) at distance ($r$) is:
$$I(r) = \frac{S_0}{4 \pi r^{2}}=\frac{S_0}{2 \tau r^{2}}$$
![inverse square law](lib/img/Inverse_square_law.svg.png)
#### $R\nu$ Reduced Gravitational Constant
In this version of Newton's Law of Gravity we introduce a new constant $G_0$, the reduced gravitational constant to accommodate for the factor of $4\pi = 2\tau$ which is has been integrated in the SI version of the gravitational constant.
$F_g =G \frac{m_{1} m_{2}}{r^{2}}= G_0 \frac{m_{1} m_{2}}{4 \pi r^{2}}=G_0 \frac{m_{1} m_{2}}{2 \tau r^{2}}$
Where:
$G = \frac{G_{0}}{2\tau} = 6.67384 \times 10^{-11} \frac{N \cdot m^2}{kg^2}$
Analyzing the units:
$$\frac{N \cdot m^2}{kg^2} = \left( \frac{\left( kg \cdot \frac{m}{s^2} \right) \cdot m^2}{kg^2} \right)=\frac{m^3}{s^2 kg}$$
Converting seconds to meters with the SI speed of light as a conversion factor:
$$\frac{m^3}{s^2 kg}\cdot\frac{1}{c^2}=\frac{m^3}{s^2 kg}\cdot\frac{s^2}{m^2}=\frac{m}{kg}$$
Thus where space and time are measured in units of meters, the reduced gravitational constant, is:
$$\boxed{G_0=\frac{2\tau G}{c^2}=\frac{2\tau \cdot 6.67384 \times 10^{-11}}{299792458^2} \frac{m}{kg} = 9.33135 \times 10^-27 \frac{m}{kg}}$$
> Observation
> This implies that not only can space an time be measure in units of meters, but so can mass.
### Relativistic Energy Momentum Relation
Einsteins [Relativistic Energy Momentum](https://en.wikipedia.org/wiki/Energy%E2%80%93momentum_relation) relationship shows a Pythagorean relation between the total energy ($E$), rest mass ($m_0$) and momentum ($p$) of a system.
$E^{2} = (m_0 \cdot c^2)^2 + (p \cdot c)^2$
Where space and time are both measure in units of meters, c=1.
$E^2=(m_0)^2+(p)^2$
From this we can see that Energy, Momentum and Mass have equivalent units.
>
> _While we do not really know what energy, mass and momentum are we know that they are fundamentally “made” out of the same stuff because they have the same units._
##### Objects of mass at rest
For an object at rest with no momentum ($p = 0$) we see Einstein's famous equations:
$E = m_{0} \cdot c^2$
Or, with $c=1$, this is much simpler to understand. Energy = Mass
$E = m_0$
##### Zero mass objects moving at the speed of light
And for objects with no mass, like photos, ($m_{0}= 0$):
$E=pc$
Or, with $c=1$, this is much simpler to understand. Energy = Momentum
$E=p$
## Planck's Constant
The [Reduced Planck constant](https://en.wikipedia.org/wiki/Planck_constant) , ħ, represents a conversion factor for relating the frequency, $\omega$ (in $2\pi$ radians per second), of a photon to the energy of that photon. This can easily be seen from the simple but profound relationship:
$E=\hbar\omega$
Where:
$\hbar=1.054571726 \times 10^{34} J \cdot s$
and
$J \cdot s = {kg}\cdot\frac{m^2}{s}$
> Reduced Planck's Constant
> $\hbar = \frac{h}{2\pi} = \frac{h}{\tau}$
Simplifying our units by converting time and mass to units of meters:
$$\boxed{\hbar=1.054571726 \times 10^{34} {kg}\cdot\frac{m^2}{s}\cdot\frac{G_0}{c}=3.282462\times10^{-69}m^2}$$
Which suggest that the Plank constant can be interpreted as an areas for which the square root of is suspiciously close to the Plank length:
$$\boxed{\sqrt{\hbar}=\sqrt{3.282462\times10^{-69}m^2}=5.72928\times10^{-35}m}$$
#### Planck Area
The [Planck Area](https://en.wikipedia.org/wiki/Planck_units#Derived_units) is the square of the [Planck Length](https://en.wikipedia.org/wiki/Planck_units#Planck_length).
$l_{P}= \sqrt{\frac{\hbar G}{c^3}}$
and $l_{P}^{2}= \frac{\hbar G}{c^3}$
In $R\nu$ units both $c$ and $G_o$ are 1.
$l_{P} = \sqrt{\hbar}$
and $l_P^{2}=\hbar$
## Bekenstein's Bound
After having recently read _Three Roads to Quantum Gravity_ by Lee Smolin, I now suspect the meaning of this areas is related to the [Bekensteins Law](https://en.wikipedia.org/wiki/Bekenstein_bound) as applied to a surface areas surrounding a mass. Where the [thermodynamic entropy](https://en.wikipedia.org/wiki/Entropy_(statistical_thermodynamics)), _S_, is proportional to the the enclosed surface area, $A$.
$S=\frac{1}{4}\cdot\frac{A}{G\hbar}$
$S=\frac{k c^{3} A}{4 G \hbar}$
$S \le \frac{2\pi k R E}{\hbar c} = \frac{\tau R k E}{\hbar c}$
From our new values for $G_0$and $\hbar$ we can likely rewrite this:
$S=\frac{\pi\cdot A}{\hbar G_0}$
With the limiting case being at the Plank scale.
$S=\frac{\pi\cdot \sqrt{\hbar}}{\hbar G_0}$
## Planck Length
https://en.wikipedia.org/wiki/Planck_length
The concept of the Planck Length comes from exploring the limits of Quantum Mechanics and General Relativity. The limits of General Relativity can be seen a the event horizon of a black hole, described by the Schwarzschild Radius. And the limits of Quantum Mechanics can be found in the Compton Wavelength for a given quanta.
The [Schwarzschild Radius](https://simple.wikipedia.org/wiki/Schwarzschild_radius) is defined as the distance at which light cannot escape from the gravitational field of a mass (m):
Classic Derivation.
$r_S=\frac{2G m}{c^2}$
The reduced [Compton Wavelength](https://en.wikipedia.org/wiki/Compton_wavelength) represents a lower limit on the wavelength for quanta that can interact with a quantum particle with mass (m):
$\lambda_C=\frac{h}{m c}$
$\bar{\lambda_C}=\frac{2\pi\hbar}{m c}=\frac{\tau\hbar}{m c}$
And set the Schwarzschild Radius equal to the Compton Wavelength:
$r_S=\lambda_C$
$\frac{2Gm}{c^{2}}=\frac{h}{m c}$
$m^{2}= \frac{hc}{2G}$
$m = \sqrt{\frac{hc}{2G}}$
$l_P=\frac{2G\sqrt{\frac{hc}{2G}}}{c^2}$
$l_P=\frac{2G\sqrt{\frac{hc}{2G}}}{c^{2}}= \sqrt{\frac{2Gh}{c^2}}$
With reduced Compton Wavelength
$r_S=\bar{\lambda_C}$
$\frac{2Gm}{c^{2}}=\frac{\tau\hbar}{m c}$
$m^2=\frac{\tau\ \hbar\ c}{2G}$
$m = \sqrt{\frac{\tau\ \hbar\ c}{2G}}$
$l_P=\frac{2G\sqrt{\frac{\tau\ \hbar\ c}{2G}}}{c^2}$
$l_P=\frac{2G\sqrt{\frac{\tau\ \hbar\ c}{2G}}}{c^{2}}=\sqrt{\frac{4\ \tau\ G\ \hbar}{c^3}}$
If we reduce the units in these equation to those of mass and time measured in meters.
$l_P=\sqrt{4\tau\hbar G_{o}}$
and
$\lambda_C=\frac{\hbar}{m}$
$m=R_s=\lambda_C=\frac{\hbar}{m}$
This is known as the Planck Mass, $M_P$.
$M_P=m=\sqrt{\hbar}$
Solving the Compton Wavelength for distance we find the classic Plank Length:
$\lambda_C=\frac{\hbar}{\sqrt{\hbar}}=\frac{\sqrt{\hbar}}{\sqrt{\hbar}}\cdot\frac{\hbar}{\sqrt{\hbar}}=\sqrt{\hbar}=L_P$
Which is in precise agreement with the value we found in above. Thus the Plank Length is:
$L_P=\sqrt{\hbar}=5.72928\times10^{-35}m$
When we measure distance, time, and mass in units of distance, c=1, and the Plank Time, $T_P$, is equal to Plank Length, $L_P$, which is equal to the Plank Mass, $M_P$:
$$\boxed{L_P=T_P=M_P}$$
Conversion Factor | Symbol | Value
--- | --- | ----
meters to Planck Length | $\chi_P$ | $1.74542\times10^{34} \frac{L}{m}$
seconds to Planck Length | $\tau_p$ | $5.23264\times10^{42} \frac{L}{s}$
mass to Planck Length | $G_P$ | $1.62871\times10^8 \frac{L}{kg}$
energy to Planck Length | $E_P$ | $1.81219\times10^9 \frac{L}{J}$
momentum to Planck Length | $P_P$ | $5.43280\times10^{-1} \frac{L\cdot s}{kg \cdot m}$
temperature to Planck Length | $k_P$ | $2.501998\times10^{-14} \frac{L}{K}$
charge to Planck Length | $C_P$| $1.89007\times10^{18} \frac{L}{C}$
Applying conversion factors from the table above, we can convert SI values to Reduced Natural Units.
$c=\frac{1}{\sqrt{\epsilon_o \mu_o}}$
Quantity | Symbol | SI | $\nu$
--- | --- | --- | ----
Speed of Light | $c$ | $299792458 \frac{m}{s}$ | 1
Gravitational Constant | $G_0$ | $8.38659\times10^{-10} \frac{m^3}{kg \cdot s^2}$ | 1
Boltzmann's Constant | $k$ | $k=1.380649\times10^-23 \frac{J}{K}$ | 1
Permittivity of Free Space | $\epsilon_o$ | $8.854187817620\times10^{-12} \frac{C^{2}s^2}{kg \cdot m^3}$ | 1
Permeability of Free Space | $\mu_o$ | $\huge{\frac{1}{\epsilon_{o} \cdot c^{2}}}$ | 1
Planck's Constant | $\hbar$ | $1.054571726\times10^-34 \frac{kg \cdot m^2}{s}$ | $1 L^2$
Mass of the Electron | $m_e$ | $9.10938\times10^{-31} kg$ | $1.48366\times10^{-22} L$
Charge of the Electron | $e^-$ | $-1.60218\times10^{-19} C$ | $-3.02822\times10^{-1} L$
## Fine Structure Constant
https://en.wikipedia.org/wiki/Fine-structure_constant
As a consistency check, we compute the _Fine Structure Constant_ using Reduced Natural Units which is a unit less ratio that should be independent of our system of units.
$\huge{\alpha=\frac{e^2}{4\pi\epsilon_o\hbar c}=\frac{e^2}{4\pi}=0.00729735≈\frac{1}{137}}$
This check confirms that our system of Reduced Natural Units has internally consistent values for $c$, $\epsilon_o$, $\hbar$ and $e-$. And also $G_o$ which was used to computer prior values is also consistent.
## Sage Code
Unit Analysis computations have been performed with [Sage Math](https://www.sagemath.org/).
```bash
# Define constance
one = 1.n(digits=6)
pi = pi.n(digits=6)
tau = 2 * pi
t = tau
# Define the units
meters = var('m')
m = one*meters
seconds = var('s')
s = seconds
kilograms = var('kg')
kg = kilograms
newtons = kg * m / s^2
N = newtons
joules = N * m
J = joules
print("pi =", pi)
print("tau =", t)
# Speed of light in meters/second
speed_of_light = 299792458 * meters/seconds
sol = speed_of_light
c = sol
print("si c =", c)
rnu_c = c / c
print("R\u03BD c =", rnu_c)
# Gravitational Constant
gravitational_constant = 6.67384e-11 * N*(m^2/kg^2)
G = gravitational_constant
print("si G =", G)
rnu_G = 4*pi*G/c^2
Go = rnu_G
print("R\u03BD Go =", Go)
# Planck's Constant
reduced_plancks_constant = 1.054571726e-34 * J*s
h_bar = reduced_plancks_constant
print("si \u210F =", h_bar)
rnu_h_bar = h_bar * Go / c
print("R\u03BD "u"\u210F =", rnu_h_bar)
# Planck Length
rnu_h_bar_str = str(rnu_h_bar)
numerical_part_str = rnu_h_bar_str.split('*')[0]
numerical_part_str = numerical_part_str.strip('()')
numerical_part = float(numerical_part_str)
rnu_sqrt_h_bar = numerical_part^(1/2)
# ^ Sage cannot process sqrt on units... Lame.
lP = rnu_sqrt_h_bar * m
print("R\u03BD \u221A\u210F =", lP)
```
#### Output
```
pi = 3.14159
tau = 6.28319
si c = 299792458*m/s
Rν c = 1
si G = (6.67384e-11)*m^3/(kg*s^2)
Rν Go = (9.33135e-27)*m/kg
si ℏ = (1.05457e-34)*kg*m^2/s
Rν ℏ = (3.28246e-69)*m^2
Rν √ℏ = (5.72928e-35)*m
si lP = (1.61620e-35)*sqrt(m^2)
Rν lP = (2.77455e-47)*sqrt(m^3/kg)
```

View File

@ -1,3 +1,151 @@
Appendix A Appendix A
First Appendix # Appendix A: Build Environment Notes
## Installing Pre-Requisites
> [!caution] Not Cross-platform Tested
> For Debian / ZorinOS and likely Ubuntu based systems.
### Required
#### Pandoc
- https://pandoc.org/
- [Download](https://github.com/jgm/pandoc/releases/tag/3.8.2.1)
> ```sudo apt install https://github.com/jgm/pandoc/releases/download/3.8.2.1/pandoc-3.8.2.1-1-amd64.deb```
#### Code Editor
> [!established] Code Editor
> [VSCodium](https://vscodium.com/) is recommend for privacy (telemetry/tracking) reasons
> - https://vscodium.com/
But any text editor will work.
#### make
```
sudo apt install make
```
#### jq and yq
```
sudo apt install jq yq
```
#### texlive
> ```sudo apt install texlive texlive-xetex texlive-latex-extra texlive-fonts-recommended texlive-fonts-extra```
#### MathJax
- https://www.mathjax.org/
```
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
```
> [!caution] TODO
> This need to be rolled into a setup script.
### Optional
The following are not strictly requires to use this book builder template.
#### Obsidian
> [!established] Highly Recommended
> Editing book chapter content in Obsidian is a very productive means for editing Markdown source content.
- https://obsidian.md/
- [Deb Package](https://github.com/obsidianmd/obsidian-releases/releases/download/v1.9.14/obsidian_1.9.14_amd64.deb)
```
sudo apt install https://github.com/obsidianmd/obsidian-releases/releases/download/v1.9.14/obsidian_1.9.14_amd64.deb
```
#### Zotero
> [!established] Highly Recommended
> If you need to managed citations and references, Zotero integration is highly recommended.
- https://www.zotero.org/
```
sudo cp ./scripts/deps/zotero.list /etc/apt/sources.list.d/
```
```
sudo apt update
```
```
sudo apt install zotero
```
##### Better BibTex for Zotero
Install the Better BibTex Plugin for Zotero
- Zotero > Tool > Plugins
##### Export citations.bib
- Zotero > File > Export Library > Format: Better BibTeX
- [ ] Keep Updated
- [ ] Save to: ~/Documents/Lib/zotero.bib
- [ ] Symlink your ~/Documents/Lib/Citations.bib to basic-book-builder/lib/zotero.bib
##### Zotero Connector Browser Plugin
- https://chromewebstore.google.com/detail/zotero-connector/ekhagklcjbdpajgpjgmbionohlpdbjgc
Provides you the ability to auto add Web resources to your Zotero citation database.
#### lmodern
```
sudo apt install lmodern
```
#### epubcheck
```
sudo apt install epubcheck
```
#### foliate
An EPub Reader
- https://johnfactotum.github.io/foliate/
```
sudo apt install https://github.com/johnfactotum/foliate/releases/download/2.6.4/com.github.johnfactotum.foliate_2.6.4_all.deb
```
#### calibre
An EPub Reader
- https://calibre-ebook.com
```
sudo apt install calibre
```
## Editing the Configuration

View File

@ -3,5 +3,27 @@
# Glossary {-} # Glossary {-}
- **AI** - Artificial Intelligence | Term | Description |
- | ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| **AST (Abstract Syntax Tree)** | Pandocs internal structured representation of a document. Lua filters operate on the AST before rendering to a target format. |
| **Bibliography** | A `.bib` file (e.g., Zotero export) used by Pandoc with `citeproc` to generate formatted citations and reference lists. |
| **Callout** | A styled block (e.g., `[!warning]`) transformed by Lua filters into format-specific output such as LaTeX environments or HTML `<div>` elements. |
| **Defaults File (YAML)** | A Pandoc configuration file defining output format, filters, metadata, and rendering options (e.g., `pdf.yaml`, `html.yaml`). |
| **DOCX** | Microsoft Word document format generated by Pandoc; styling is controlled via a `reference.docx` file. |
| **Filter (Lua)** | A script that modifies Pandocs AST before rendering. Used in this workflow for callouts and other structural transformations. |
| **Frontmatter** | Format-specific content inserted before the main body (e.g., `frontmatter.tex`, `frontmatter.html`, `frontmatter-docx.md`). |
| **HTML** | Web output format generated by Pandoc, typically styled via CSS and supporting interactive features. |
| **LaTeX** | Typesetting system used for high-quality PDF generation via XeLaTeX in this workflow. |
| **Lua Filter** | A lightweight scripting extension used by Pandoc to customize document transformations programmatically. |
| **Makefile** | Automation script orchestrating the build pipeline for PDF, HTML, DOCX, ODT, and Markdown outputs. |
| **Markdown** | Plain-text markup language serving as the source format for all outputs in the workflow. |
| **Metadata** | Keyvalue pairs (e.g., `metadata.yaml`) defining title, author, license, version, and other document variables. |
| **ODT** | OpenDocument Text format used by LibreOffice; similar to DOCX but open-standard. |
| **Pandoc** | Universal document converter used to transform Markdown into PDF, HTML, DOCX, ODT, EPUB, and more. |
| **PDF** | Portable Document Format output produced via Pandoc + XeLaTeX. |
| **Reference Document** | A DOCX or ODT file defining styles (fonts, headings, spacing) used when generating Word/LibreOffice outputs. |
| **Resource Path** | Directories Pandoc searches for images, diagrams, and other assets during rendering. |
| **Template** | A format-specific layout file (e.g., LaTeX template) used to control document structure beyond styling. |
| **TOC (Table of Contents)** | Automatically generated navigation structure controlled by `toc` and `toc-depth` options. |
| **XeLaTeX** | LaTeX engine used to generate PDFs with modern font support (via `fontspec`). |
| **Zotero** | Reference manager used to generate `.bib` files for citation processing with Pandoc. |

View File

@ -11,7 +11,7 @@ sudo apt update
# 2. Install Core Utilities # 2. Install Core Utilities
echo "📦 Installing core utilities (make, jq, yq, etc.)..." echo "📦 Installing core utilities (make, jq, yq, etc.)..."
sudo apt install -y make jq yq wget curl tar git sudo apt install -y make jq yq wget curl tar git rsync
# 3. Install TeX Live Stack # 3. Install TeX Live Stack
echo "📑 Installing TeX Live stack (this may take a while)..." echo "📑 Installing TeX Live stack (this may take a while)..."

View File

@ -47,8 +47,8 @@
</ul> </ul>
</p> </p>
<h4>Commercial Edition (ebook and print)</h4> <!-- <h4>Commercial Edition (ebook and print)</h4>
<p>$license-com$ $license-com-text$</p> <p>$license-com$ $license-com-text$</p> -->
</div> </div>

View File

@ -22,6 +22,8 @@
<tr><td style="font-weight:bold;">Author</td><td>$author$</td></tr> <tr><td style="font-weight:bold;">Author</td><td>$author$</td></tr>
<tr><td style="font-weight:bold;">Version</td><td>$version$</td></tr> <tr><td style="font-weight:bold;">Version</td><td>$version$</td></tr>
<tr><td style="font-weight:bold;">Date</td><td>$date$</td></tr> <tr><td style="font-weight:bold;">Date</td><td>$date$</td></tr>
<tr><td style="font-weight:bold;">Affiliation</td><td>$affiliation$</td></tr>
<tr><td style="font-weight:bold;">Institution</td><td>$institution$</td></tr>
<tr><td style="font-weight:bold;">ISBN:</td><td>$isbn-pdf$</td></tr> <tr><td style="font-weight:bold;">ISBN:</td><td>$isbn-pdf$</td></tr>
<tr><td style="font-weight:bold;">DOI:</td><td>$doi$</td></tr> <tr><td style="font-weight:bold;">DOI:</td><td>$doi$</td></tr>
<tr><td style="font-weight:bold;">Maturity</td><td>$state$</td></tr> <tr><td style="font-weight:bold;">Maturity</td><td>$state$</td></tr>

View File

@ -34,6 +34,8 @@
\textbf{Author:} & $author$ \\ \textbf{Author:} & $author$ \\
\textbf{Version:} & $version$ \\ \textbf{Version:} & $version$ \\
\textbf{Date:} & $date$ \\ \textbf{Date:} & $date$ \\
\textbf{Affiliation:} & $affiliation$ \\
\textbf{Institution:} & $institution$ \\
\textbf{ISBN:} & $isbn-pdf$ \\ \textbf{ISBN:} & $isbn-pdf$ \\
\textbf{DOI:} & $doi$ \\ \textbf{DOI:} & $doi$ \\
\textbf{Maturity:} & $state$ \\ \textbf{Maturity:} & $state$ \\

View File

@ -1,13 +1,12 @@
# pandoc.yaml # pandoc.yaml
input-files: input-files:
- chapters/Preface.md # - chapters/Preface.md
- chapters/00_Introduction.md - chapters/00_Introduction.md
- chapters/01_Getting_Started.md - chapters/01_Getting_Started.md
# - chapters/02_Features.md # - chapters/02_Features.md
# - chapters/Terminology.md
# - chapters/Citations.md
- chapters/Appendix.md - chapters/Appendix.md
- chapters/AppendixA.md - chapters/AppendixA.md
- chapters/AppendixB.md
- chapters/Glossary.md - chapters/Glossary.md
- chapters/Index.md - chapters/Index.md
- chapters/Bibliography.md - chapters/Bibliography.md
@ -27,7 +26,7 @@ metadata:
link-citations: true link-citations: true
variables: variables:
documentclass: book documentclass: book # options: report, book, article
fontsize: 12pt fontsize: 12pt
geometry: geometry:
- margin=1in - margin=1in

View File

@ -89,7 +89,9 @@ ul, ol {
.callout-speculative, .callout-speculative,
.callout-caution, .callout-caution,
.callout-warning, .callout-warning,
.callout-danger { .callout-danger,
.callout-code,
.callout-cli {
border-radius: 6px; border-radius: 6px;
padding: 5px; /* internal padding */ padding: 5px; /* internal padding */
margin-top: 5px; /* external spacing tightened */ margin-top: 5px; /* external spacing tightened */
@ -104,7 +106,9 @@ ul, ol {
.callout-speculative p:first-child strong, .callout-speculative p:first-child strong,
.callout-caution p:first-child strong, .callout-caution p:first-child strong,
.callout-warning p:first-child strong, .callout-warning p:first-child strong,
.callout-danger p:first-child strong { .callout-danger p:first-child strong,
.callout-code p:first-child strong,
.callout-cli p:first-child strong {
display: block; display: block;
font-family: "Libertinus Sans", sans-serif; font-family: "Libertinus Sans", sans-serif;
font-weight: 600; font-weight: 600;
@ -118,7 +122,9 @@ ul, ol {
.callout-speculative p, .callout-speculative p,
.callout-caution p, .callout-caution p,
.callout-warning p, .callout-warning p,
.callout-danger p { .callout-danger p,
.callout-code p,
.callout-cli p {
margin-top: 5px; margin-top: 5px;
margin-bottom: 5px; margin-bottom: 5px;
line-height: 1.45; /* slightly condensed text spacing */ line-height: 1.45; /* slightly condensed text spacing */
@ -181,6 +187,23 @@ ul, ol {
border-left-color: #d83b3a; border-left-color: #d83b3a;
} }
/* ------------------------------
Code / CLI Callouts
------------------------------ */
.callout-code {
background: #f5f5f5;
border-left-color: #b4b4b4;
}
.callout-cli {
background: #f0f0f0;
border-left-color: #777;
font-family: "Noto Sans Mono", monospace;
font-size: 0.95em;
}
/* ------------------------------ /* ------------------------------
Images (in body content) Images (in body content)
------------------------------ */ ------------------------------ */