v1.2.3
This commit is contained in:
parent
da0e59bd22
commit
8384c47f11
|
|
@ -4,51 +4,24 @@
|
|||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "c327dc0e927bf66a",
|
||||
"type": "split",
|
||||
"id": "2d8c08f76d34c644",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "f0990ffd7a67a2ec",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "9f4cd104c7d85619",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "chapters/03_Features.md",
|
||||
"mode": "source",
|
||||
"source": false
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "03_Features"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "3de8dc3f3db46984",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "8fb585e598f88138",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "chapters/03_Features.md",
|
||||
"mode": "source",
|
||||
"source": false
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "03_Features"
|
||||
}
|
||||
}
|
||||
]
|
||||
"id": "24988c076d2f30d6",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "chapters/04_Design.md",
|
||||
"mode": "source",
|
||||
"source": false
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "04_Design"
|
||||
}
|
||||
}
|
||||
],
|
||||
"direction": "horizontal"
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "vertical"
|
||||
|
|
@ -279,7 +252,8 @@
|
|||
}
|
||||
],
|
||||
"direction": "horizontal",
|
||||
"width": 200
|
||||
"width": 200,
|
||||
"collapsed": true
|
||||
},
|
||||
"left-ribbon": {
|
||||
"hiddenItems": {
|
||||
|
|
@ -294,33 +268,35 @@
|
|||
"obsidian-kanban:Create new board": false
|
||||
}
|
||||
},
|
||||
"active": "8fb585e598f88138",
|
||||
"active": "24988c076d2f30d6",
|
||||
"lastOpenFiles": [
|
||||
"README.md",
|
||||
"conf/sedTQLO9w",
|
||||
"chapters/02_Usage.md",
|
||||
"conf/sedufgozC",
|
||||
"conf/sedQ287QU",
|
||||
"conf/sedq3LRZz",
|
||||
"chapters/03_Features.md",
|
||||
"chapters/Appendix.md",
|
||||
"conf/sedkKV6c0",
|
||||
"conf/sedAqcSmo",
|
||||
"conf/sedk8YBK0",
|
||||
"conf/sedzF3xOr",
|
||||
"conf/sedtZNObL",
|
||||
"chapters/AppendixB.md",
|
||||
"chapters/Bibliography.md",
|
||||
"chapters/AppendixA.md",
|
||||
"conf/sed6ZdLUq",
|
||||
"chapters/04_Design.md",
|
||||
"conf/sedtBb3Os",
|
||||
"conf/sedRcZh0D",
|
||||
"conf/sed1CDdq2",
|
||||
"conf/sedzZKUYL",
|
||||
"conf/sedGlYwid",
|
||||
"conf/sedB61nJB",
|
||||
"conf/sedkPk5Sn",
|
||||
"conf/seddNGzeb",
|
||||
"chapters/01_Getting_Started.md",
|
||||
"conf/sedBapyXA",
|
||||
"conf/sedYZ2rBJ",
|
||||
"conf/sedbEPwZC",
|
||||
"chapters/02_Usage.md",
|
||||
"chapters/Bibliography.md",
|
||||
"chapters/Index.md",
|
||||
"chapters/00_Introduction.md",
|
||||
"chapters/AppendixB.md",
|
||||
"chapters/04_Design.md",
|
||||
"package/README.md",
|
||||
"README.md",
|
||||
"chapters/Appendix.md",
|
||||
"chapters/AppendixA.md",
|
||||
"conf/frontmatter-docx.md",
|
||||
"templates/frontmatter-docx.md",
|
||||
"chapters/02_Features.md",
|
||||
"chapters/Preface.md",
|
||||
"chapters/Index.md",
|
||||
"chapters/Glossary.md",
|
||||
"lib/img/unit-circle-with-tau.png",
|
||||
"lib/img/unit-circle-with-pi.png.png",
|
||||
|
|
@ -339,7 +315,6 @@
|
|||
"build/basic-book-builder.md",
|
||||
"LICENSE.md",
|
||||
"pm/Book Action Items.md",
|
||||
"chapters/Unitfication.md",
|
||||
"chapters/03_Cylindrical_Spacetime.md"
|
||||
"chapters/Unitfication.md"
|
||||
]
|
||||
}
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
| **Author** | John Haverlack |
|
||||
| **Copyright** | 2026 John Haverlack |
|
||||
| **License** | CC BY-ND 4.0 |
|
||||
| **Version** | 1.2.2 |
|
||||
| **Version** | v1.2.3 |
|
||||
| **Date** | 2026-02-05 |
|
||||
|
||||
This is a basic book (article) builder template based on a Pandoc build process in conjunction with a number of other tools to generate PDF, DOCX, ODT, HTML, LaTeX, Markdown, and Epub book formats all from a single set of Markdown source content in an Obsidian vault.
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -51,7 +51,7 @@
|
|||
|
||||
<!-- Title Page -->
|
||||
<h1 class="titlepage" style="margin-top:3em; font-size:2.4em; text-align:center;">Basic Book Builder</h1>
|
||||
<h2 style="text-align:center; font-weight:normal;">A Pandoc build process for books, docs and articles</h2>
|
||||
<h2 style="text-align:center; font-weight:normal;">A Pandoc build process for books, docs and articles.</h2>
|
||||
|
||||
<div style="text-align:center; margin:2em 0;">
|
||||
<img src="lib/img/UAF-ACEP.png" alt="Cover illustration" style="max-width:350px;">
|
||||
|
|
@ -64,12 +64,12 @@
|
|||
<div style="text-align:left; margin-top:5em;">
|
||||
|
||||
<h2>Basic Book Builder</h2>
|
||||
<i>A Pandoc build process for books, docs and articles</i>
|
||||
<i>A Pandoc build process for books, docs and articles.</i>
|
||||
|
||||
<table style="margin-top:2em; width:50%; border-collapse:collapse;">
|
||||
<tbody>
|
||||
<tr><td style="font-weight:bold;">Author</td><td>John Haverlack</td></tr>
|
||||
<tr><td style="font-weight:bold;">Version</td><td>1.2.2</td></tr>
|
||||
<tr><td style="font-weight:bold;">Version</td><td>1.2.3</td></tr>
|
||||
<tr><td style="font-weight:bold;">Date</td><td>2026-02-05</td></tr>
|
||||
<tr><td style="font-weight:bold;">Affiliation</td><td>Alaska Center for Energy and Power</td></tr>
|
||||
<tr><td style="font-weight:bold;">Institution</td><td>University of Alaska Fairbanks</td></tr>
|
||||
|
|
@ -130,31 +130,25 @@ window.MathJax = {
|
|||
<nav id="TOC" role="doc-toc">
|
||||
<h2 id="toc-title">Contents</h2>
|
||||
<ul>
|
||||
<li><a href="#introduction" id="toc-introduction">Introduction</a></li>
|
||||
<li><a href="#introduction" id="toc-introduction">Introduction</a>
|
||||
<ul>
|
||||
<li><a href="#workflow" id="toc-workflow">Workflow</a></li>
|
||||
</ul></li>
|
||||
<li><a href="#getting-started" id="toc-getting-started">Getting
|
||||
Started</a>
|
||||
<ul>
|
||||
<li><a href="#cloning-the-basic-book-builder"
|
||||
id="toc-cloning-the-basic-book-builder">Cloning the Basic Book
|
||||
<li><a href="#clone-the-basic-book-builder"
|
||||
id="toc-clone-the-basic-book-builder">Clone the Basic Book
|
||||
Builder</a></li>
|
||||
<li><a href="#setting-up-build-environment"
|
||||
id="toc-setting-up-build-environment">Setting Up Build
|
||||
Environment</a></li>
|
||||
id="toc-setting-up-build-environment">Setting Up Build Environment</a>
|
||||
<ul>
|
||||
<li><a href="#non-deb-systems" id="toc-non-deb-systems">Non deb
|
||||
systems</a></li>
|
||||
</ul></li>
|
||||
<li><a href="#testing" id="toc-testing">Testing</a></li>
|
||||
<li><a href="#creating-a-new-project"
|
||||
id="toc-creating-a-new-project">Creating a New Project</a>
|
||||
<ul>
|
||||
<li><a href="#zotero-configuration-optional"
|
||||
id="toc-zotero-configuration-optional">Zotero Configuration
|
||||
(Optional)</a></li>
|
||||
</ul></li>
|
||||
</ul></li>
|
||||
<li><a href="#usage" id="toc-usage">Usage</a>
|
||||
<ul>
|
||||
<li><a href="#creating-a-project" id="toc-creating-a-project">Creating a
|
||||
Project</a></li>
|
||||
<li><a href="#editing-content" id="toc-editing-content">Editing
|
||||
Content</a></li>
|
||||
id="toc-creating-a-new-project">Creating a New Project</a></li>
|
||||
<li><a href="#building" id="toc-building">Building</a>
|
||||
<ul>
|
||||
<li><a href="#pdf" id="toc-pdf">PDF</a></li>
|
||||
|
|
@ -175,6 +169,8 @@ Page</a></li>
|
|||
Illustration</a></li>
|
||||
<li><a href="#dedication" id="toc-dedication">Dedication</a></li>
|
||||
</ul></li>
|
||||
<li><a href="#table-of-contents" id="toc-table-of-contents">Table of
|
||||
Contents</a></li>
|
||||
<li><a href="#chapters" id="toc-chapters">Chapters</a></li>
|
||||
<li><a href="#appendixes" id="toc-appendixes">Appendixes</a></li>
|
||||
<li><a href="#glossary" id="toc-glossary">Glossary</a></li>
|
||||
|
|
@ -190,7 +186,8 @@ Integration</a></li>
|
|||
<li><a href="#obsidian-citations" id="toc-obsidian-citations">Obsidian
|
||||
Citations</a></li>
|
||||
</ul></li>
|
||||
<li><a href="#mathjax-equations" id="toc-mathjax-equations">Mathjax
|
||||
<li><a href="#images" id="toc-images">Images</a></li>
|
||||
<li><a href="#latex-equations" id="toc-latex-equations"><em>LaTeX</em>
|
||||
Equations</a>
|
||||
<ul>
|
||||
<li><a href="#left-justified-inline" id="toc-left-justified-inline">Left
|
||||
|
|
@ -202,19 +199,26 @@ Markdown</a>
|
|||
<ul>
|
||||
<li><a href="#call-outs" id="toc-call-outs">Call-outs</a></li>
|
||||
</ul></li>
|
||||
</ul></li>
|
||||
<li><a href="#appendix-a-build-environment-notes"
|
||||
id="toc-appendix-a-build-environment-notes">Appendix A: Build
|
||||
Environment Notes</a>
|
||||
<li><a href="#advanced" id="toc-advanced">Advanced</a>
|
||||
<ul>
|
||||
<li><a href="#installing-pre-requisites"
|
||||
id="toc-installing-pre-requisites">Installing Pre-Requisites</a>
|
||||
<ul>
|
||||
<li><a href="#required" id="toc-required">Required</a></li>
|
||||
<li><a href="#optional" id="toc-optional">Optional</a></li>
|
||||
<li><a href="#changing-fonts" id="toc-changing-fonts">Changing
|
||||
Fonts</a></li>
|
||||
<li><a href="#adding-filters" id="toc-adding-filters">Adding
|
||||
Filters</a></li>
|
||||
</ul></li>
|
||||
<li><a href="#editing-the-configuration"
|
||||
id="toc-editing-the-configuration">Editing the Configuration</a></li>
|
||||
</ul></li>
|
||||
<li><a href="#design" id="toc-design">Design</a>
|
||||
<ul>
|
||||
<li><a href="#directory-structure"
|
||||
id="toc-directory-structure">Directory Structure</a></li>
|
||||
<li><a href="#configuration-files"
|
||||
id="toc-configuration-files">Configuration Files</a>
|
||||
<ul>
|
||||
<li><a href="#pandoc-main-config" id="toc-pandoc-main-config">Pandoc
|
||||
Main Config</a></li>
|
||||
</ul></li>
|
||||
<li><a href="#build-workflow" id="toc-build-workflow">Build
|
||||
Workflow</a></li>
|
||||
</ul></li>
|
||||
<li><a href="#glossary-1" id="toc-glossary-1">Glossary</a></li>
|
||||
<li><a href="#bibliography-1"
|
||||
|
|
@ -222,13 +226,31 @@ id="toc-bibliography-1">Bibliography</a></li>
|
|||
</ul>
|
||||
</nav>
|
||||
<h1 id="introduction">Introduction</h1>
|
||||
<p>This is a basic book (or article / document) builder template based
|
||||
on a Pandoc<span class="citation" data-cites="PandocIndex">(<a
|
||||
<p>This is a <strong>basic book builder</strong> template is based on a
|
||||
Pandoc<span class="citation" data-cites="PandocIndex">(<a
|
||||
href="#ref-PandocIndex" role="doc-biblioref"><em>Pandoc - Index</em>,
|
||||
n.d.</a>)</span> 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.</p>
|
||||
n.d.</a>)</span> + Makefile build process in conjunction Obsidian to
|
||||
edit content and Zotero to manage citation, to generate multiple format
|
||||
of the document including:</p>
|
||||
<ul>
|
||||
<li>PDF</li>
|
||||
<li>HTML</li>
|
||||
<li><em>LaTeX</em></li>
|
||||
<li>Markdown</li>
|
||||
<li>ODT</li>
|
||||
<li>DOCX</li>
|
||||
<li>Epub</li>
|
||||
</ul>
|
||||
<h3 id="workflow">Workflow</h3>
|
||||
<ol type="1">
|
||||
<li>Create a new project</li>
|
||||
<li>Initialize <code>metadata.yaml</code> with title, copyright, author,
|
||||
etc.</li>
|
||||
<li>Customize <code>input-files:</code> in <code>pandoc.yaml</code></li>
|
||||
<li>Edit <code>chapters</code> Markdown “conent” files using
|
||||
Obidian</li>
|
||||
<li>Build your document</li>
|
||||
</ol>
|
||||
<p>This <strong>basic book builder</strong><span class="citation"
|
||||
data-cites="JehaverlackBasicbookbuilderPandoca">(<a
|
||||
href="#ref-JehaverlackBasicbookbuilderPandoca"
|
||||
|
|
@ -238,8 +260,7 @@ class="citation" data-cites="JohnHaverlackACEP">(<a
|
|||
href="#ref-JohnHaverlackACEP" role="doc-biblioref"><em>John
|
||||
<span>Haverlack</span> <span>ACEP</span></em>, n.d.</a>)</span></p>
|
||||
<h1 id="getting-started">Getting Started</h1>
|
||||
<h2 id="cloning-the-basic-book-builder">Cloning the Basic Book
|
||||
Builder</h2>
|
||||
<h2 id="clone-the-basic-book-builder">Clone the Basic Book Builder</h2>
|
||||
<div class="callout-cli">
|
||||
<p><strong>Clone the repository</strong></p>
|
||||
<pre><code>git clone https://github.com/jehaverlack/basic-book-builder.git</code></pre>
|
||||
|
|
@ -251,56 +272,56 @@ Builder</h2>
|
|||
<h2 id="setting-up-build-environment">Setting Up Build Environment</h2>
|
||||
<div class="callout-caution">
|
||||
<p><strong>~Debian Linux</strong></p>
|
||||
<p> This script only support Debian based Linux system (Debian, Ubunutu,
|
||||
Zorin, etc) This script has not been widely tested across platforms</p>
|
||||
<p> This script only support Debian based Linux system (e.g Debian,
|
||||
Ubuntu, Zorin). And this script will install several ATP packages on
|
||||
your system.</p>
|
||||
</div>
|
||||
<div class="callout-danger">
|
||||
<p><strong>Warning</strong></p>
|
||||
<p> This script <strong>has not</strong> been widely tested across many
|
||||
platforms</p>
|
||||
</div>
|
||||
<p>To initialize your systems build environment run:</p>
|
||||
<div class="callout-cli">
|
||||
<p><strong>Setup Build Environment</strong></p>
|
||||
<pre><code>./scripts/setup-linux-deb.sh</code></pre>
|
||||
</div>
|
||||
<h3 id="non-deb-systems">Non deb systems</h3>
|
||||
<p>For more information on setting up the build environment for your
|
||||
system see Appendix A.</p>
|
||||
system see: <strong>TBD: NEEDS DOCUMENTED</strong>.</p>
|
||||
<h2 id="testing">Testing</h2>
|
||||
<p>If you can build all format for the <strong>Basic Book Build</strong>
|
||||
then you have a working build environment.</p>
|
||||
<p>Once you have set up your build environment, you test by building the
|
||||
<strong>basic book builder</strong>.</p>
|
||||
<div class="callout-cli">
|
||||
<p><strong>Testing Build Environment</strong></p>
|
||||
<pre><code>make all</code></pre>
|
||||
</div>
|
||||
<h2 id="creating-a-new-project">Creating a New Project</h2>
|
||||
<h3 id="zotero-configuration-optional">Zotero Configuration
|
||||
(Optional)</h3>
|
||||
<h1 id="usage">Usage</h1>
|
||||
<h2 id="creating-a-project">Creating a Project</h2>
|
||||
<p>To create a new Project based on the Basic Book Builder template:</p>
|
||||
<ol type="1">
|
||||
<li>Run the new-project.sh script.</li>
|
||||
</ol>
|
||||
<pre><code>./scripts/new-project.sh <PATH_TO_PROJECT></code></pre>
|
||||
<ul>
|
||||
<li><PATH_TO_PROJECT> should be outside of the
|
||||
<strong>basic-book-builder</strong> directory</li>
|
||||
</ul>
|
||||
<pre><code>cd <PATH_TO_PROJECT></code></pre>
|
||||
<p>Update:</p>
|
||||
<ol type="1">
|
||||
<li><code>metadata.yaml</code></li>
|
||||
<li><code>templates/pandoc.yaml</code></li>
|
||||
</ol>
|
||||
<div class="callout-info">
|
||||
<p><strong>Suggestion</strong></p>
|
||||
<p> Create a git repository to version control your new
|
||||
<PATH_TO_PROJECT> content.</p>
|
||||
<div class="callout-proposed">
|
||||
<p><strong>Tip</strong></p>
|
||||
<p> You do not want to edit your new project document in the
|
||||
<code>basic-book-builder</code> directory. You will want to create a
|
||||
<strong>new project</strong> for your document based on this
|
||||
template.</p>
|
||||
</div>
|
||||
<div class="callout-cli">
|
||||
<p><strong>Create a new project</strong></p>
|
||||
<pre><code>./scripts/new-project.sh <NEW_PROJECT_DIR></code></pre>
|
||||
</div>
|
||||
<pre><code>cd <NEW_PROJECT_DIR></code></pre>
|
||||
<p>Update your project configuration:</p>
|
||||
<ol type="1">
|
||||
<li>Edit: <code>metadata.yaml</code>, for title, author, etc</li>
|
||||
<li>Edit: <code>templates/pandoc.yaml</code></li>
|
||||
<li>Open: <code><NEW_PROJECT_DIR></code> with Obsidian, and edit
|
||||
<code>chapters</code> documents.</li>
|
||||
<li>Build: <code>make pdf</code></li>
|
||||
</ol>
|
||||
<div class="callout-warning">
|
||||
<p><strong>Warning</strong></p>
|
||||
<p> <code><NEW_PROJECT_DIR></code> should be outside of the
|
||||
<strong>basic-book-builder</strong> directory</p>
|
||||
</div>
|
||||
<h2 id="editing-content">Editing Content</h2>
|
||||
<p>Edit your source content Markdown under the <code>chapters</code>
|
||||
directory.</p>
|
||||
<p><strong>Optional</strong></p>
|
||||
<ul>
|
||||
<li>Open your <code><PATH_TO_PROJECT></code> directory as an
|
||||
Obsidian vault.</li>
|
||||
<li>Edit your Markdown with Obsidian</li>
|
||||
</ul>
|
||||
<h2 id="building">Building</h2>
|
||||
<h3 id="pdf">PDF</h3>
|
||||
<pre><code>make pdf</code></pre>
|
||||
|
|
@ -326,31 +347,30 @@ work.</p>
|
|||
<p>To build all supported formats</p>
|
||||
<pre><code>make all</code></pre>
|
||||
<h1 id="features">Features</h1>
|
||||
<p>The basic book builder template integrates feature from many systems
|
||||
including Pandoc, MathJax, Obsidian, and Zotero. The following list
|
||||
covers these features from a functional point of view.</p>
|
||||
<h2 id="metadata">Metadata</h2>
|
||||
<p>Metadata for the project is managed in <code>metadata.yaml</code>.
|
||||
Edit this file to make global changes to variables for your document.
|
||||
Changes here will propagate to all format builds.</p>
|
||||
Edit this file to make <strong>global changes</strong> to variables for
|
||||
your document. Definitions in <code>metadata.yaml</code> will propagate
|
||||
to all format builds.</p>
|
||||
<h2 id="front-matter">Front-matter</h2>
|
||||
<p>Front matter content is manged in:</p>
|
||||
<p>Front-Matter documents control the Title Page, Metadata and other
|
||||
pages before the Title of Contents. Front matter content is manged in
|
||||
these files:</p>
|
||||
<ul>
|
||||
<li><code>templates/frontmatter.tex</code></li>
|
||||
<li><code>templates/frontmatter.html</code></li>
|
||||
<li><code>templates/frontmatter-md.html</code></li>
|
||||
</ul>
|
||||
<div class="callout-caution">
|
||||
<p><strong>Tip</strong></p>
|
||||
<p> Unfortunately when you edit one, you need to edit the respective
|
||||
<p>Unfortunately when you edit one, you need to edit the respective
|
||||
changes to the other front-matter formats. ### Title Page</p>
|
||||
</div>
|
||||
<p>Edit the <strong>Front-matter</strong> files to modify the formatting
|
||||
of the Title Page.</p>
|
||||
<div class="callout-caution">
|
||||
<p><strong>Tip</strong></p>
|
||||
<p> You’ll need to modify the HTML / LaTex.</p>
|
||||
</div>
|
||||
of the Title Page. You’ll need to modify the HTML / LaTex code.</p>
|
||||
<h3 id="meta-data-page">Meta Data Page</h3>
|
||||
<p>Edit the <strong>Front-matter</strong> files to modify the 2nd page
|
||||
Metadata format.</p>
|
||||
Metadata format and fields to display.</p>
|
||||
<h3 id="cover-illustration">Cover Illustration</h3>
|
||||
<p>Edit the <strong>Front-matter</strong> files to optionally un-comment
|
||||
the Cover Art Acknowledgement.</p>
|
||||
|
|
@ -361,13 +381,20 @@ the Cover Art Acknowledgement.</p>
|
|||
<p>Edit the <strong>Front-matter</strong> files to modify un-comment the
|
||||
Book Dedication.</p>
|
||||
<ul>
|
||||
<li>This is disabled by default ## Table of Contents</li>
|
||||
<li>This is disabled by default</li>
|
||||
</ul>
|
||||
<h2 id="table-of-contents">Table of Contents</h2>
|
||||
<p>The table of contents is auto generated. But can be disabled in
|
||||
<code>template\pandoc.yaml</code> by setting: -
|
||||
<code>toc: false</code></p>
|
||||
<h2 id="chapters">Chapters</h2>
|
||||
<p>Chapter Markdown source files are located in the
|
||||
<code>chapters</code> directory. Edit the
|
||||
<code>template\pandoc.yaml</code> file to control which chapter markdown
|
||||
files are in what order.</p>
|
||||
<code>chapters</code> directory. To edit which chapter files are
|
||||
included the document:</p>
|
||||
<ul>
|
||||
<li>Edit the <code>input-file:</code> section of the
|
||||
<code>template\pandoc.yaml</code></li>
|
||||
</ul>
|
||||
<h2 id="appendixes">Appendixes</h2>
|
||||
<p>TBD</p>
|
||||
<h2 id="glossary">Glossary</h2>
|
||||
|
|
@ -382,14 +409,38 @@ files are in what order.</p>
|
|||
<p>TBD</p>
|
||||
<h3 id="obsidian-citations">Obsidian Citations</h3>
|
||||
<p>TBD</p>
|
||||
<h2 id="mathjax-equations">Mathjax Equations</h2>
|
||||
<p>TBD</p>
|
||||
<h2 id="images">Images</h2>
|
||||
<p>You can use basic Markdown Images</p>
|
||||
<pre><code></code></pre>
|
||||
<figure>
|
||||
<img src="lib/img/ACEPLogo.png" alt="ACEP" />
|
||||
<figcaption aria-hidden="true">ACEP</figcaption>
|
||||
</figure>
|
||||
<h2 id="latex-equations"><em>LaTeX</em> Equations</h2>
|
||||
<p>You can embed LaTeX equations directly in your Markdown pages.</p>
|
||||
<h3 id="left-justified-inline">Left Justified / Inline</h3>
|
||||
<p>TBD</p>
|
||||
<p>To left justify <em>LaTex</em> surround the code inside single
|
||||
<code>$</code>:</p>
|
||||
<div class="callout-code">
|
||||
<p><strong>Left Justified Equation</strong></p>
|
||||
<pre><code>$x = \frac{1}{2}$</code></pre>
|
||||
</div>
|
||||
<p><span class="math inline">$x = \frac{1}{2}$</span></p>
|
||||
<div class="callout-code">
|
||||
<p><strong>Inline</strong></p>
|
||||
<pre><code>Or inline, $x = \frac{1}{2}$, in a sentence.</code></pre>
|
||||
</div>
|
||||
<p>Or inline, <span class="math inline">$x = \frac{1}{2}$</span>, in a
|
||||
sentence.</p>
|
||||
<h3 id="centered">Centered</h3>
|
||||
<p>TBD</p>
|
||||
<p>To center justify <em>LaTex</em> surround the code inside double
|
||||
<code>$$</code>:</p>
|
||||
<div class="callout-code">
|
||||
<p><strong>Centered Equation</strong></p>
|
||||
<pre><code>$$x = \frac{1}{2}$$</code></pre>
|
||||
</div>
|
||||
<p><span class="math display">$$x = \frac{1}{2}$$</span></p>
|
||||
<h2 id="custom-markdown">Custom Markdown</h2>
|
||||
<p>TBD</p>
|
||||
<h3 id="call-outs">Call-outs</h3>
|
||||
<p>A few call-out box styles have been custom added to easily highlight
|
||||
certain types of content.</p>
|
||||
|
|
@ -417,17 +468,6 @@ A blue box</code></pre>
|
|||
<hr />
|
||||
<div class="callout-code">
|
||||
<p><strong>Markdown Example</strong></p>
|
||||
<pre><code>[!info] Info Box
|
||||
Same as a blue box</code></pre>
|
||||
</div>
|
||||
<p>Will render:</p>
|
||||
<div class="callout-info">
|
||||
<p><strong>Info Box</strong></p>
|
||||
<p> Same as a blue box</p>
|
||||
</div>
|
||||
<hr />
|
||||
<div class="callout-code">
|
||||
<p><strong>Markdown Example</strong></p>
|
||||
<pre><code>[!speculative] Purple Call-out Title
|
||||
A purple box</code></pre>
|
||||
</div>
|
||||
|
|
@ -493,7 +533,8 @@ fi</code></pre>
|
|||
A command line example
|
||||
'''
|
||||
$ ls
|
||||
build chapters conf filters lib LICENSE.md Makefile metadata.yaml >README.md scripts templates
|
||||
build chapters conf filters lib LICENSE.md Makefile
|
||||
metadata.yaml >README.md scripts templates
|
||||
'''</code></pre>
|
||||
</div>
|
||||
<p>Will render:</p>
|
||||
|
|
@ -501,118 +542,126 @@ build chapters conf filters lib LICENSE.md Makefile metadata.yaml >RE
|
|||
<p><strong>Command line</strong></p>
|
||||
<p> A command line example</p>
|
||||
<pre><code>$ ls
|
||||
build chapters conf filters lib LICENSE.md Makefile metadata.yaml README.md scripts templates</code></pre>
|
||||
build chapters conf filters lib LICENSE.md Makefile
|
||||
metadata.yaml README.md scripts templates</code></pre>
|
||||
</div>
|
||||
<p>Appendix A</p>
|
||||
<h1 id="appendix-a-build-environment-notes">Appendix A: Build
|
||||
Environment Notes</h1>
|
||||
<h2 id="installing-pre-requisites">Installing Pre-Requisites</h2>
|
||||
<h2 id="advanced">Advanced</h2>
|
||||
<h3 id="changing-fonts">Changing Fonts</h3>
|
||||
<p>It is possible to change fonts by editing
|
||||
<code>templates/pandoc.yaml</code>, and
|
||||
<code>templates\styles.css</code>, but you will have to make sure you
|
||||
have the proper font’s installed on your system first.</p>
|
||||
<h3 id="adding-filters">Adding Filters</h3>
|
||||
<p>Custom filters can be created. This is complicated and typically
|
||||
needs done in 3 places for:</p>
|
||||
<ul>
|
||||
<li>obsidian</li>
|
||||
<li><em>LaTeX</em></li>
|
||||
<li>HTML</li>
|
||||
</ul>
|
||||
<h1 id="design">Design</h1>
|
||||
<h2 id="directory-structure">Directory Structure</h2>
|
||||
<p>The <strong>basic-book-builder</strong> directory tree.</p>
|
||||
<pre><code>basic-book-builder
|
||||
├── build
|
||||
│ ├── docx
|
||||
│ ├── html
|
||||
│ │ ├── conf
|
||||
│ │ └── lib
|
||||
│ │ ├── diag
|
||||
│ │ ├── img
|
||||
│ │ └── mathjax
|
||||
│ ├── latex
|
||||
│ ├── odt
|
||||
│ └── pdf
|
||||
├── chapters
|
||||
├── conf
|
||||
├── filters
|
||||
├── lib
|
||||
│ ├── citations
|
||||
│ ├── diag
|
||||
│ ├── img
|
||||
│ └── mathjax
|
||||
├── scripts
|
||||
│ └── tmp
|
||||
└── templates</code></pre>
|
||||
<h2 id="configuration-files">Configuration Files</h2>
|
||||
<p>The <strong>basic-book-builder</strong> configuration files, scripts,
|
||||
and build files.</p>
|
||||
<pre><code>../basic-book-builder
|
||||
├── chapters
|
||||
├── conf
|
||||
├── filters
|
||||
│ ├── callouts-html.lua
|
||||
│ └── callouts.lua
|
||||
├── lib
|
||||
│ ├── diag
|
||||
│ ├── img
|
||||
│ └── zotero.bib
|
||||
├── Makefile
|
||||
├── metadata.yaml
|
||||
├── scripts
|
||||
│ ├── new-project.sh
|
||||
│ ├── replace-metadata.sh
|
||||
│ ├── setup-linux-deb.sh
|
||||
│ └── tmp
|
||||
└── templates
|
||||
├── docx.yaml
|
||||
├── epub_template.html
|
||||
├── epub.yaml
|
||||
├── frontmatter-docx.md
|
||||
├── frontmatter.html
|
||||
├── frontmatter-md.html
|
||||
├── frontmatter.tex
|
||||
├── header.tex
|
||||
├── html.yaml
|
||||
├── latex.yaml
|
||||
├── markdown.yaml
|
||||
├── odt.yaml
|
||||
├── pandoc.yaml
|
||||
├── pdf.yaml
|
||||
├── style.css
|
||||
└── style_epub.css
|
||||
</code></pre>
|
||||
<div class="callout-caution">
|
||||
<p><strong>Not Cross-platform Tested</strong></p>
|
||||
<p> For Debian / ZorinOS and likely Ubuntu based systems.</p>
|
||||
<p><strong>About conf</strong></p>
|
||||
<p> NEVER: edit file directly in <code>conf</code>. They will be
|
||||
overwritten by the build process. ### Metadata</p>
|
||||
</div>
|
||||
<h3 id="required">Required</h3>
|
||||
<h4 id="pandoc">Pandoc</h4>
|
||||
<ul>
|
||||
<li>https://pandoc.org/</li>
|
||||
<li><a
|
||||
href="https://github.com/jgm/pandoc/releases/tag/3.8.2.1">Download</a></li>
|
||||
</ul>
|
||||
<blockquote>
|
||||
<p><code>sudo apt install https://github.com/jgm/pandoc/releases/download/3.8.2.1/pandoc-3.8.2.1-1-amd64.deb</code></p>
|
||||
</blockquote>
|
||||
<h4 id="code-editor">Code Editor</h4>
|
||||
<div class="callout-established">
|
||||
<p><strong>Code Editor</strong></p>
|
||||
<p> <a href="https://vscodium.com/">VSCodium</a> is recommend for
|
||||
privacy (telemetry/tracking) reasons - https://vscodium.com/</p>
|
||||
</div>
|
||||
<p>But any text editor will work. #### make</p>
|
||||
<pre><code>sudo apt install make</code></pre>
|
||||
<h4 id="jq-and-yq">jq and yq</h4>
|
||||
<pre><code>sudo apt install jq yq</code></pre>
|
||||
<h4 id="texlive">texlive</h4>
|
||||
<blockquote>
|
||||
<p><code>sudo apt install texlive texlive-xetex texlive-latex-extra texlive-fonts-recommended texlive-fonts-extra</code></p>
|
||||
</blockquote>
|
||||
<h4 id="mathjax">MathJax</h4>
|
||||
<ul>
|
||||
<li>https://www.mathjax.org/</li>
|
||||
</ul>
|
||||
<pre><code>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</code></pre>
|
||||
<div class="callout-caution">
|
||||
<p><strong>TODO</strong></p>
|
||||
<p> This need to be rolled into a setup script.</p>
|
||||
</div>
|
||||
<h3 id="optional">Optional</h3>
|
||||
<p>The following are not strictly requires to use this book builder
|
||||
template.</p>
|
||||
<h4 id="obsidian">Obsidian</h4>
|
||||
<div class="callout-established">
|
||||
<p><strong>Highly Recommended</strong></p>
|
||||
<p> Editing book chapter content in Obsidian is a very productive means
|
||||
for editing Markdown source content.</p>
|
||||
</div>
|
||||
<ul>
|
||||
<li>https://obsidian.md/</li>
|
||||
<li><a
|
||||
href="https://github.com/obsidianmd/obsidian-releases/releases/download/v1.9.14/obsidian_1.9.14_amd64.deb">Deb
|
||||
Package</a></li>
|
||||
</ul>
|
||||
<pre><code>sudo apt install https://github.com/obsidianmd/obsidian-releases/releases/download/v1.9.14/obsidian_1.9.14_amd64.deb</code></pre>
|
||||
<h4 id="zotero">Zotero</h4>
|
||||
<div class="callout-established">
|
||||
<p><strong>Highly Recommended</strong></p>
|
||||
<p> If you need to managed citations and references, Zotero integration
|
||||
is highly recommended.</p>
|
||||
</div>
|
||||
<ul>
|
||||
<li>https://www.zotero.org/</li>
|
||||
</ul>
|
||||
<pre><code>sudo cp ./scripts/deps/zotero.list /etc/apt/sources.list.d/</code></pre>
|
||||
<pre><code>sudo apt update</code></pre>
|
||||
<pre><code>sudo apt install zotero</code></pre>
|
||||
<h5 id="better-bibtex-for-zotero">Better BibTex for Zotero</h5>
|
||||
<p>Install the Better BibTex Plugin for Zotero - Zotero > Tool >
|
||||
Plugins</p>
|
||||
<h5 id="export-citations.bib">Export citations.bib</h5>
|
||||
<ul>
|
||||
<li>Zotero > File > Export Library > Format: Better BibTeX</li>
|
||||
<li><label><input type="checkbox" />Keep Updated</label></li>
|
||||
<li><label><input type="checkbox" />Save to:
|
||||
~/Documents/Lib/zotero.bib</label></li>
|
||||
<li><label><input type="checkbox" />Symlink your
|
||||
~/Documents/Lib/Citations.bib to
|
||||
basic-book-builder/lib/zotero.bib</label></li>
|
||||
</ul>
|
||||
<h5 id="zotero-connector-browser-plugin">Zotero Connector Browser
|
||||
Plugin</h5>
|
||||
<ul>
|
||||
<li>https://chromewebstore.google.com/detail/zotero-connector/ekhagklcjbdpajgpjgmbionohlpdbjgc</li>
|
||||
</ul>
|
||||
<p>Provides you the ability to auto add Web resources to your Zotero
|
||||
citation database.</p>
|
||||
<h4 id="lmodern">lmodern</h4>
|
||||
<pre><code>sudo apt install lmodern</code></pre>
|
||||
<h4 id="epubcheck">epubcheck</h4>
|
||||
<pre><code>sudo apt install epubcheck</code></pre>
|
||||
<h4 id="foliate">foliate</h4>
|
||||
<p>An EPub Reader</p>
|
||||
<ul>
|
||||
<li>https://johnfactotum.github.io/foliate/</li>
|
||||
</ul>
|
||||
<pre><code>sudo apt install https://github.com/johnfactotum/foliate/releases/download/2.6.4/com.github.johnfactotum.foliate_2.6.4_all.deb</code></pre>
|
||||
<h4 id="calibre">calibre</h4>
|
||||
<p>An EPub Reader</p>
|
||||
<ul>
|
||||
<li>https://calibre-ebook.com</li>
|
||||
</ul>
|
||||
<pre><code>sudo apt install calibre</code></pre>
|
||||
<h2 id="editing-the-configuration">Editing the Configuration</h2>
|
||||
|
||||
<p>Update the <code>metadata.yaml</code> file to globally configure your
|
||||
document title and other metadata. Edit this file to control your
|
||||
document title, author, etc.</p>
|
||||
<h3 id="pandoc-main-config">Pandoc Main Config</h3>
|
||||
<p>Update the <code>input-files:</code> section of
|
||||
<code>templates/pandoc.yaml</code> to control what chapter source files
|
||||
are in which order in your document.</p>
|
||||
<pre><code># pandoc.yaml
|
||||
input-files:
|
||||
# - chapters/Preface.md
|
||||
- chapters/00_Introduction.md
|
||||
- chapters/01_Getting_Started.md
|
||||
- chapters/02_Usage.md
|
||||
- chapters/03_Features.md
|
||||
- chapters/Appendix.md
|
||||
- chapters/AppendixA.md
|
||||
# - chapters/AppendixB.md
|
||||
- chapters/Glossary.md
|
||||
- chapters/Index.md
|
||||
- chapters/Bibliography.md</code></pre>
|
||||
<h2 id="build-workflow">Build Workflow</h2>
|
||||
<p>For a PDF Build:</p>
|
||||
<pre><code>make pdf</code></pre>
|
||||
<p>will build dependencies on these file:</p>
|
||||
<ol type="1">
|
||||
<li>Makefile</li>
|
||||
<li>conf/pandoc.yaml</li>
|
||||
<li>conf/pdf.yaml</li>
|
||||
<li>lib/zotero.bib</li>
|
||||
<li>chapters/*.md</li>
|
||||
</ol>
|
||||
<p>NOTE: the <code>Makefile</code> will copy
|
||||
<code>templates/*.yaml</code> to <code>conf/*.yaml</code>.
|
||||
<strong>Never</strong> edit <code>conf/*</code>directly.</p>
|
||||
<h1 class="unnumbered" id="glossary-1">Glossary</h1>
|
||||
<table>
|
||||
<colgroup>
|
||||
|
|
|
|||
|
|
@ -22,133 +22,107 @@
|
|||
\@writefile{lof}{\addvspace {10\p@ }}
|
||||
\@writefile{lot}{\addvspace {10\p@ }}
|
||||
\newlabel{introduction}{{1}{1}{Introduction}{chapter.1}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.0.1}Workflow}{1}{subsection.1.0.1}\protected@file@percent }
|
||||
\newlabel{workflow}{{1.0.1}{1}{Workflow}{subsection.1.0.1}{}}
|
||||
\@writefile{toc}{\contentsline {chapter}{\numberline {2}Getting Started}{2}{chapter.2}\protected@file@percent }
|
||||
\@writefile{lof}{\addvspace {10\p@ }}
|
||||
\@writefile{lot}{\addvspace {10\p@ }}
|
||||
\newlabel{getting-started}{{2}{2}{Getting Started}{chapter.2}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {2.1}Cloning the Basic Book Builder}{2}{section.2.1}\protected@file@percent }
|
||||
\newlabel{cloning-the-basic-book-builder}{{2.1}{2}{Cloning the Basic Book Builder}{section.2.1}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {2.1}Clone the Basic Book Builder}{2}{section.2.1}\protected@file@percent }
|
||||
\newlabel{clone-the-basic-book-builder}{{2.1}{2}{Clone the Basic Book Builder}{section.2.1}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {2.2}Setting Up Build Environment}{2}{section.2.2}\protected@file@percent }
|
||||
\newlabel{setting-up-build-environment}{{2.2}{2}{Setting Up Build Environment}{section.2.2}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {2.3}Testing}{2}{section.2.3}\protected@file@percent }
|
||||
\newlabel{testing}{{2.3}{2}{Testing}{section.2.3}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.1}Non deb systems}{3}{subsection.2.2.1}\protected@file@percent }
|
||||
\newlabel{non-deb-systems}{{2.2.1}{3}{Non deb systems}{subsection.2.2.1}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {2.3}Testing}{3}{section.2.3}\protected@file@percent }
|
||||
\newlabel{testing}{{2.3}{3}{Testing}{section.2.3}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {2.4}Creating a New Project}{3}{section.2.4}\protected@file@percent }
|
||||
\newlabel{creating-a-new-project}{{2.4}{3}{Creating a New Project}{section.2.4}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.1}Zotero Configuration (Optional)}{3}{subsection.2.4.1}\protected@file@percent }
|
||||
\newlabel{zotero-configuration-optional}{{2.4.1}{3}{Zotero Configuration (Optional)}{subsection.2.4.1}{}}
|
||||
\@writefile{toc}{\contentsline {chapter}{\numberline {3}Usage}{4}{chapter.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {2.5}Building}{4}{section.2.5}\protected@file@percent }
|
||||
\newlabel{building}{{2.5}{4}{Building}{section.2.5}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.5.1}PDF}{4}{subsection.2.5.1}\protected@file@percent }
|
||||
\newlabel{pdf}{{2.5.1}{4}{PDF}{subsection.2.5.1}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.5.2}HTML}{4}{subsection.2.5.2}\protected@file@percent }
|
||||
\newlabel{html}{{2.5.2}{4}{HTML}{subsection.2.5.2}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.5.3}DocX}{4}{subsection.2.5.3}\protected@file@percent }
|
||||
\newlabel{docx}{{2.5.3}{4}{DocX}{subsection.2.5.3}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.5.4}ODT}{4}{subsection.2.5.4}\protected@file@percent }
|
||||
\newlabel{odt}{{2.5.4}{4}{ODT}{subsection.2.5.4}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.5.5}Make All}{4}{subsection.2.5.5}\protected@file@percent }
|
||||
\newlabel{make-all}{{2.5.5}{4}{Make All}{subsection.2.5.5}{}}
|
||||
\@writefile{toc}{\contentsline {chapter}{\numberline {3}Features}{5}{chapter.3}\protected@file@percent }
|
||||
\@writefile{lof}{\addvspace {10\p@ }}
|
||||
\@writefile{lot}{\addvspace {10\p@ }}
|
||||
\newlabel{usage}{{3}{4}{Usage}{chapter.3}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3.1}Creating a Project}{4}{section.3.1}\protected@file@percent }
|
||||
\newlabel{creating-a-project}{{3.1}{4}{Creating a Project}{section.3.1}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3.2}Editing Content}{4}{section.3.2}\protected@file@percent }
|
||||
\newlabel{editing-content}{{3.2}{4}{Editing Content}{section.3.2}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3.3}Building}{4}{section.3.3}\protected@file@percent }
|
||||
\newlabel{building}{{3.3}{4}{Building}{section.3.3}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}PDF}{4}{subsection.3.3.1}\protected@file@percent }
|
||||
\newlabel{pdf}{{3.3.1}{4}{PDF}{subsection.3.3.1}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.2}HTML}{5}{subsection.3.3.2}\protected@file@percent }
|
||||
\newlabel{html}{{3.3.2}{5}{HTML}{subsection.3.3.2}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.3}DocX}{5}{subsection.3.3.3}\protected@file@percent }
|
||||
\newlabel{docx}{{3.3.3}{5}{DocX}{subsection.3.3.3}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.4}ODT}{5}{subsection.3.3.4}\protected@file@percent }
|
||||
\newlabel{odt}{{3.3.4}{5}{ODT}{subsection.3.3.4}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.5}Make All}{5}{subsection.3.3.5}\protected@file@percent }
|
||||
\newlabel{make-all}{{3.3.5}{5}{Make All}{subsection.3.3.5}{}}
|
||||
\@writefile{toc}{\contentsline {chapter}{\numberline {4}Features}{6}{chapter.4}\protected@file@percent }
|
||||
\newlabel{features}{{3}{5}{Features}{chapter.3}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3.1}Metadata}{5}{section.3.1}\protected@file@percent }
|
||||
\newlabel{metadata}{{3.1}{5}{Metadata}{section.3.1}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3.2}Front-matter}{5}{section.3.2}\protected@file@percent }
|
||||
\newlabel{front-matter}{{3.2}{5}{Front-matter}{section.3.2}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Meta Data Page}{5}{subsection.3.2.1}\protected@file@percent }
|
||||
\newlabel{meta-data-page}{{3.2.1}{5}{Meta Data Page}{subsection.3.2.1}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.2}Cover Illustration}{5}{subsection.3.2.2}\protected@file@percent }
|
||||
\newlabel{cover-illustration}{{3.2.2}{5}{Cover Illustration}{subsection.3.2.2}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.3}Dedication}{6}{subsection.3.2.3}\protected@file@percent }
|
||||
\newlabel{dedication}{{3.2.3}{6}{Dedication}{subsection.3.2.3}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3.3}Table of Contents}{6}{section.3.3}\protected@file@percent }
|
||||
\newlabel{table-of-contents}{{3.3}{6}{Table of Contents}{section.3.3}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3.4}Chapters}{6}{section.3.4}\protected@file@percent }
|
||||
\newlabel{chapters}{{3.4}{6}{Chapters}{section.3.4}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3.5}Appendixes}{6}{section.3.5}\protected@file@percent }
|
||||
\newlabel{appendixes}{{3.5}{6}{Appendixes}{section.3.5}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3.6}Glossary}{6}{section.3.6}\protected@file@percent }
|
||||
\newlabel{glossary}{{3.6}{6}{Glossary}{section.3.6}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3.7}Index}{6}{section.3.7}\protected@file@percent }
|
||||
\newlabel{index}{{3.7}{6}{Index}{section.3.7}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.7.1}Markdown Indexes}{6}{subsection.3.7.1}\protected@file@percent }
|
||||
\newlabel{markdown-indexes}{{3.7.1}{6}{Markdown Indexes}{subsection.3.7.1}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3.8}Bibliography}{7}{section.3.8}\protected@file@percent }
|
||||
\newlabel{bibliography}{{3.8}{7}{Bibliography}{section.3.8}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.8.1}Zotero Integration}{7}{subsection.3.8.1}\protected@file@percent }
|
||||
\newlabel{zotero-integration}{{3.8.1}{7}{Zotero Integration}{subsection.3.8.1}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.8.2}Obsidian Citations}{7}{subsection.3.8.2}\protected@file@percent }
|
||||
\newlabel{obsidian-citations}{{3.8.2}{7}{Obsidian Citations}{subsection.3.8.2}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3.9}Images}{7}{section.3.9}\protected@file@percent }
|
||||
\newlabel{images}{{3.9}{7}{Images}{section.3.9}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {3.1}{\ignorespaces ACEP}}{7}{figure.3.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3.10}\emph {LaTeX} Equations}{7}{section.3.10}\protected@file@percent }
|
||||
\newlabel{latex-equations}{{3.10}{7}{\texorpdfstring {\emph {LaTeX} Equations}{LaTeX Equations}}{section.3.10}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.10.1}Left Justified / Inline}{7}{subsection.3.10.1}\protected@file@percent }
|
||||
\newlabel{left-justified-inline}{{3.10.1}{7}{Left Justified / Inline}{subsection.3.10.1}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.10.2}Centered}{8}{subsection.3.10.2}\protected@file@percent }
|
||||
\newlabel{centered}{{3.10.2}{8}{Centered}{subsection.3.10.2}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3.11}Custom Markdown}{8}{section.3.11}\protected@file@percent }
|
||||
\newlabel{custom-markdown}{{3.11}{8}{Custom Markdown}{section.3.11}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.11.1}Call-outs}{8}{subsection.3.11.1}\protected@file@percent }
|
||||
\newlabel{call-outs}{{3.11.1}{8}{Call-outs}{subsection.3.11.1}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3.12}Advanced}{11}{section.3.12}\protected@file@percent }
|
||||
\newlabel{advanced}{{3.12}{11}{Advanced}{section.3.12}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.12.1}Changing Fonts}{11}{subsection.3.12.1}\protected@file@percent }
|
||||
\newlabel{changing-fonts}{{3.12.1}{11}{Changing Fonts}{subsection.3.12.1}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.12.2}Adding Filters}{11}{subsection.3.12.2}\protected@file@percent }
|
||||
\newlabel{adding-filters}{{3.12.2}{11}{Adding Filters}{subsection.3.12.2}{}}
|
||||
\@writefile{toc}{\contentsline {chapter}{\numberline {4}Design}{12}{chapter.4}\protected@file@percent }
|
||||
\@writefile{lof}{\addvspace {10\p@ }}
|
||||
\@writefile{lot}{\addvspace {10\p@ }}
|
||||
\newlabel{features}{{4}{6}{Features}{chapter.4}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {4.1}Metadata}{6}{section.4.1}\protected@file@percent }
|
||||
\newlabel{metadata}{{4.1}{6}{Metadata}{section.4.1}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {4.2}Front-matter}{6}{section.4.2}\protected@file@percent }
|
||||
\newlabel{front-matter}{{4.2}{6}{Front-matter}{section.4.2}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.1}Meta Data Page}{6}{subsection.4.2.1}\protected@file@percent }
|
||||
\newlabel{meta-data-page}{{4.2.1}{6}{Meta Data Page}{subsection.4.2.1}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.2}Cover Illustration}{6}{subsection.4.2.2}\protected@file@percent }
|
||||
\newlabel{cover-illustration}{{4.2.2}{6}{Cover Illustration}{subsection.4.2.2}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.3}Dedication}{7}{subsection.4.2.3}\protected@file@percent }
|
||||
\newlabel{dedication}{{4.2.3}{7}{Dedication}{subsection.4.2.3}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {4.3}Chapters}{7}{section.4.3}\protected@file@percent }
|
||||
\newlabel{chapters}{{4.3}{7}{Chapters}{section.4.3}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {4.4}Appendixes}{7}{section.4.4}\protected@file@percent }
|
||||
\newlabel{appendixes}{{4.4}{7}{Appendixes}{section.4.4}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {4.5}Glossary}{7}{section.4.5}\protected@file@percent }
|
||||
\newlabel{glossary}{{4.5}{7}{Glossary}{section.4.5}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {4.6}Index}{7}{section.4.6}\protected@file@percent }
|
||||
\newlabel{index}{{4.6}{7}{Index}{section.4.6}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {4.6.1}Markdown Indexes}{7}{subsection.4.6.1}\protected@file@percent }
|
||||
\newlabel{markdown-indexes}{{4.6.1}{7}{Markdown Indexes}{subsection.4.6.1}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {4.7}Bibliography}{7}{section.4.7}\protected@file@percent }
|
||||
\newlabel{bibliography}{{4.7}{7}{Bibliography}{section.4.7}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.1}Zotero Integration}{7}{subsection.4.7.1}\protected@file@percent }
|
||||
\newlabel{zotero-integration}{{4.7.1}{7}{Zotero Integration}{subsection.4.7.1}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.2}Obsidian Citations}{8}{subsection.4.7.2}\protected@file@percent }
|
||||
\newlabel{obsidian-citations}{{4.7.2}{8}{Obsidian Citations}{subsection.4.7.2}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {4.8}Mathjax Equations}{8}{section.4.8}\protected@file@percent }
|
||||
\newlabel{mathjax-equations}{{4.8}{8}{Mathjax Equations}{section.4.8}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {4.8.1}Left Justified / Inline}{8}{subsection.4.8.1}\protected@file@percent }
|
||||
\newlabel{left-justified-inline}{{4.8.1}{8}{Left Justified / Inline}{subsection.4.8.1}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {4.8.2}Centered}{8}{subsection.4.8.2}\protected@file@percent }
|
||||
\newlabel{centered}{{4.8.2}{8}{Centered}{subsection.4.8.2}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {4.9}Custom Markdown}{8}{section.4.9}\protected@file@percent }
|
||||
\newlabel{custom-markdown}{{4.9}{8}{Custom Markdown}{section.4.9}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {4.9.1}Call-outs}{8}{subsection.4.9.1}\protected@file@percent }
|
||||
\newlabel{call-outs}{{4.9.1}{8}{Call-outs}{subsection.4.9.1}{}}
|
||||
\@writefile{toc}{\contentsline {chapter}{\numberline {A}Appendix A: Build Environment Notes}{12}{appendix.A}\protected@file@percent }
|
||||
\@writefile{lof}{\addvspace {10\p@ }}
|
||||
\@writefile{lot}{\addvspace {10\p@ }}
|
||||
\newlabel{appendix-a-build-environment-notes}{{A}{12}{Appendix A: Build Environment Notes}{appendix.A}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {A.1}Installing Pre-Requisites}{12}{section.A.1}\protected@file@percent }
|
||||
\newlabel{installing-pre-requisites}{{A.1}{12}{Installing Pre-Requisites}{section.A.1}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {A.1.1}Required}{12}{subsection.A.1.1}\protected@file@percent }
|
||||
\newlabel{required}{{A.1.1}{12}{Required}{subsection.A.1.1}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {A.1.1.1}Pandoc}{12}{subsubsection.A.1.1.1}\protected@file@percent }
|
||||
\newlabel{pandoc}{{A.1.1.1}{12}{Pandoc}{subsubsection.A.1.1.1}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {A.1.1.2}Code Editor}{12}{subsubsection.A.1.1.2}\protected@file@percent }
|
||||
\newlabel{code-editor}{{A.1.1.2}{12}{Code Editor}{subsubsection.A.1.1.2}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {A.1.1.3}jq and yq}{12}{subsubsection.A.1.1.3}\protected@file@percent }
|
||||
\newlabel{jq-and-yq}{{A.1.1.3}{12}{jq and yq}{subsubsection.A.1.1.3}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {A.1.1.4}texlive}{12}{subsubsection.A.1.1.4}\protected@file@percent }
|
||||
\newlabel{texlive}{{A.1.1.4}{12}{texlive}{subsubsection.A.1.1.4}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {A.1.1.5}MathJax}{13}{subsubsection.A.1.1.5}\protected@file@percent }
|
||||
\newlabel{mathjax}{{A.1.1.5}{13}{MathJax}{subsubsection.A.1.1.5}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {A.1.2}Optional}{13}{subsection.A.1.2}\protected@file@percent }
|
||||
\newlabel{optional}{{A.1.2}{13}{Optional}{subsection.A.1.2}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {A.1.2.1}Obsidian}{13}{subsubsection.A.1.2.1}\protected@file@percent }
|
||||
\newlabel{obsidian}{{A.1.2.1}{13}{Obsidian}{subsubsection.A.1.2.1}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {A.1.2.2}Zotero}{13}{subsubsection.A.1.2.2}\protected@file@percent }
|
||||
\newlabel{zotero}{{A.1.2.2}{13}{Zotero}{subsubsection.A.1.2.2}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{\numberline {A.1.2.2.1}Better BibTex for Zotero}{14}{paragraph.A.1.2.2.1}\protected@file@percent }
|
||||
\newlabel{better-bibtex-for-zotero}{{A.1.2.2.1}{14}{Better BibTex for Zotero}{paragraph.A.1.2.2.1}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{\numberline {A.1.2.2.2}Export citations.bib}{14}{paragraph.A.1.2.2.2}\protected@file@percent }
|
||||
\newlabel{export-citations.bib}{{A.1.2.2.2}{14}{Export citations.bib}{paragraph.A.1.2.2.2}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{\numberline {A.1.2.2.3}Zotero Connector Browser Plugin}{14}{paragraph.A.1.2.2.3}\protected@file@percent }
|
||||
\newlabel{zotero-connector-browser-plugin}{{A.1.2.2.3}{14}{Zotero Connector Browser Plugin}{paragraph.A.1.2.2.3}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {A.1.2.3}lmodern}{14}{subsubsection.A.1.2.3}\protected@file@percent }
|
||||
\newlabel{lmodern}{{A.1.2.3}{14}{lmodern}{subsubsection.A.1.2.3}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {A.1.2.4}epubcheck}{14}{subsubsection.A.1.2.4}\protected@file@percent }
|
||||
\newlabel{epubcheck}{{A.1.2.4}{14}{epubcheck}{subsubsection.A.1.2.4}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {A.1.2.5}foliate}{14}{subsubsection.A.1.2.5}\protected@file@percent }
|
||||
\newlabel{foliate}{{A.1.2.5}{14}{foliate}{subsubsection.A.1.2.5}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {A.1.2.6}calibre}{14}{subsubsection.A.1.2.6}\protected@file@percent }
|
||||
\newlabel{calibre}{{A.1.2.6}{14}{calibre}{subsubsection.A.1.2.6}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {A.2}Editing the Configuration}{14}{section.A.2}\protected@file@percent }
|
||||
\newlabel{editing-the-configuration}{{A.2}{14}{Editing the Configuration}{section.A.2}{}}
|
||||
\newlabel{design}{{4}{12}{Design}{chapter.4}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {4.1}Directory Structure}{12}{section.4.1}\protected@file@percent }
|
||||
\newlabel{directory-structure}{{4.1}{12}{Directory Structure}{section.4.1}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {4.2}Configuration Files}{12}{section.4.2}\protected@file@percent }
|
||||
\newlabel{configuration-files}{{4.2}{12}{Configuration Files}{section.4.2}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.1}Pandoc Main Config}{14}{subsection.4.2.1}\protected@file@percent }
|
||||
\newlabel{pandoc-main-config}{{4.2.1}{14}{Pandoc Main Config}{subsection.4.2.1}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {4.3}Build Workflow}{14}{section.4.3}\protected@file@percent }
|
||||
\newlabel{build-workflow}{{4.3}{14}{Build Workflow}{section.4.3}{}}
|
||||
\gdef \LT@i {\LT@entry
|
||||
{1}{86.68152pt}\LT@entry
|
||||
{1}{383.07349pt}}
|
||||
\newlabel{glossary-1}{{A.2}{15}{Glossary}{appendix*.2}{}}
|
||||
\@writefile{toc}{\contentsline {chapter}{Glossary}{15}{appendix*.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {chapter}{Index}{17}{appendix*.3}\protected@file@percent }
|
||||
\newlabel{glossary-1}{{4.3}{15}{Glossary}{chapter*.2}{}}
|
||||
\@writefile{toc}{\contentsline {chapter}{Glossary}{15}{chapter*.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {chapter}{Index}{17}{chapter*.3}\protected@file@percent }
|
||||
\bibcite{ref-JehaverlackBasicbookbuilderPandoca}{\citeproctext }
|
||||
\bibcite{ref-JohnHaverlackACEP}{\citeproctext }
|
||||
\bibcite{ref-PandocIndex}{\citeproctext }
|
||||
\bibcite{ref-JehaverlackBasicbookbuilderPandoca}{\citeproctext }
|
||||
\bibcite{ref-JohnHaverlackACEP}{\citeproctext }
|
||||
\bibcite{ref-PandocIndex}{\citeproctext }
|
||||
\newlabel{bibliography-1}{{A.2}{19}{Bibliography}{appendix*.4}{}}
|
||||
\@writefile{toc}{\contentsline {chapter}{Bibliography}{19}{appendix*.4}\protected@file@percent }
|
||||
\newlabel{refs}{{A.2}{19}{Bibliography}{section*.5}{}}
|
||||
\newlabel{bibliography-1}{{4.3}{19}{Bibliography}{chapter*.4}{}}
|
||||
\@writefile{toc}{\contentsline {chapter}{Bibliography}{19}{chapter*.4}\protected@file@percent }
|
||||
\newlabel{refs}{{4.3}{19}{Bibliography}{section*.5}{}}
|
||||
\gdef \@abspage@last{24}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
This is XeTeX, Version 3.141592653-2.6-0.999994 (TeX Live 2022/Debian) (preloaded format=xelatex 2025.11.6) 5 FEB 2026 15:41
|
||||
This is XeTeX, Version 3.141592653-2.6-0.999994 (TeX Live 2022/Debian) (preloaded format=xelatex 2025.11.6) 5 FEB 2026 17:35
|
||||
entering extended mode
|
||||
restricted \write18 enabled.
|
||||
file:line:error style messages enabled.
|
||||
|
|
@ -1347,18 +1347,7 @@ File: bkm-dvipdfm.def 2020-11-06 v1.29 bookmark driver for dvipdfm (HO)
|
|||
))
|
||||
Package hyperref Info: Option `colorlinks' set `true' on input line 306.
|
||||
|
||||
(./basic-book-builder.aux
|
||||
|
||||
LaTeX Warning: Label `ref-JehaverlackBasicbookbuilderPandoca' multiply defined.
|
||||
|
||||
|
||||
|
||||
LaTeX Warning: Label `ref-JohnHaverlackACEP' multiply defined.
|
||||
|
||||
|
||||
LaTeX Warning: Label `ref-PandocIndex' multiply defined.
|
||||
|
||||
)
|
||||
(./basic-book-builder.aux)
|
||||
\openout1 = `basic-book-builder.aux'.
|
||||
|
||||
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 311.
|
||||
|
|
@ -1757,104 +1746,77 @@ LaTeX Font Info: Font shape `TU/NotoSerif(0)/b/n' will be
|
|||
|
||||
[2]
|
||||
Chapter 1.
|
||||
LaTeX Font Info: Font shape `TU/NotoSansMono(0)/m/n' will be
|
||||
(Font) scaled to size 12.0pt on input line 463.
|
||||
[1
|
||||
|
||||
|
||||
]
|
||||
Chapter 2.
|
||||
LaTeX Font Info: Font shape `TU/NotoSansMono(0)/m/n' will be
|
||||
(Font) scaled to size 12.0pt on input line 450.
|
||||
|
||||
Overfull \hbox (10.34296pt too wide) in paragraph at lines 451--451
|
||||
Overfull \hbox (10.34296pt too wide) in paragraph at lines 485--485
|
||||
[]\TU/NotoSansMono(0)/m/n/12 git clone https://github.com/jehaverlack/basic-boo
|
||||
k-builder.git[]
|
||||
[]
|
||||
|
||||
[2
|
||||
|
||||
] [3]
|
||||
Chapter 3.
|
||||
[4
|
||||
Underfull \vbox (badness 2644) has occurred while \output is active []
|
||||
|
||||
] [5]
|
||||
Chapter 4.
|
||||
[6
|
||||
[2
|
||||
|
||||
] [7] [8] [9] [10]
|
||||
Overfull \hbox (262.34303pt too wide) in paragraph at lines 862--862
|
||||
[]\TU/NotoSansMono(0)/m/n/12 build chapters conf filters lib LICENSE.md M
|
||||
akefile metadata.yaml >README.md scripts templates[]
|
||||
]
|
||||
Underfull \hbox (badness 10000) in paragraph at lines 539--542
|
||||
[]\TU/NotoSerif(0)/m/n/12 You do not want to edit your new project document in
|
||||
the
|
||||
[]
|
||||
|
||||
[3] [4]
|
||||
Chapter 3.
|
||||
[5
|
||||
|
||||
Overfull \hbox (255.14304pt too wide) in paragraph at lines 875--875
|
||||
[]\TU/NotoSansMono(0)/m/n/12 build chapters conf filters lib LICENSE.md M
|
||||
akefile metadata.yaml README.md scripts templates[]
|
||||
]
|
||||
Overfull \hbox (19.09433pt too wide) in paragraph at lines 687--690
|
||||
\TU/NotoSerif(0)/m/n/12 The table of contents is auto generated. But can be dis
|
||||
abled in \TU/NotoSansMono(0)/m/n/12 template\pandoc.yaml
|
||||
[]
|
||||
|
||||
[6]
|
||||
File: lib/img/ACEPLogo.png Graphic file (type bmp)
|
||||
<lib/img/ACEPLogo.png>
|
||||
LaTeX Font Info: Font shape `TU/NotoSerif(0)/b/it' will be
|
||||
(Font) scaled to size 17.28pt on input line 746.
|
||||
[7] [8] [9] [10]
|
||||
Overfull \hbox (71.729pt too wide) in paragraph at lines 945--949
|
||||
\TU/NotoSerif(0)/m/n/12 It is possible to change fonts by editing \TU/NotoSansM
|
||||
ono(0)/m/n/12 templates/pandoc.yaml\TU/NotoSerif(0)/m/n/12 , and \TU/NotoSansMo
|
||||
no(0)/m/n/12 templates\styles.css\TU/NotoSerif(0)/m/n/12 ,
|
||||
[]
|
||||
|
||||
[11]
|
||||
Appendix A.
|
||||
|
||||
Overfull \hbox (12.85075pt too wide) in paragraph at lines 885--885
|
||||
|\TU/NotoSerif(0)/b/n/24.88 Appendix A: Build Environment Notes|
|
||||
[]
|
||||
|
||||
|
||||
Overfull \hbox (295.84503pt too wide) in paragraph at lines 906--907
|
||||
[]\TU/NotoSansMono(0)/m/n/12 sudo apt install https://github.com/jgm/pandoc/rel
|
||||
eases/download/3.8.2.1/pandoc-3.8.2.1-1-amd64.deb
|
||||
[]
|
||||
|
||||
|
||||
Underfull \hbox (badness 10000) in paragraph at lines 912--914
|
||||
[][][]\TU/NotoSerif(0)/m/n/12 VSCodium[][] is recommend for privacy (telemetry/
|
||||
tracking) reasons -
|
||||
[]
|
||||
|
||||
Chapter 4.
|
||||
[12
|
||||
|
||||
]
|
||||
Overfull \hbox (358.24503pt too wide) in paragraph at lines 975--975
|
||||
[]\TU/NotoSansMono(0)/m/n/12 sudo apt install https://github.com/obsidianmd/obs
|
||||
idian-releases/releases/download/v1.9.14/obsidian_1.9.14_amd64.deb[]
|
||||
[]
|
||||
|
||||
[13]
|
||||
Overfull \hbox (12.02498pt too wide) in paragraph at lines 1020--1022
|
||||
[]\TU/NotoSerif(0)/m/n/12 Symlink your ~/Documents/Lib/Citations.bib to basic-b
|
||||
ook-builder/lib/zotero.bib
|
||||
[]
|
||||
|
||||
|
||||
Overfull \hbox (107.64897pt too wide) in paragraph at lines 1030--1031
|
||||
[]\TU/NotoSerif(0)/m/n/12 https://chromewebstore.google.com/detail/zotero-conne
|
||||
ctor/ekhagklcjbdpajgpjgmbionohlpdbjgc
|
||||
[]
|
||||
|
||||
|
||||
Overfull \hbox (430.245pt too wide) in paragraph at lines 1059--1059
|
||||
[]\TU/NotoSansMono(0)/m/n/12 sudo apt install https://github.com/johnfactotum/f
|
||||
oliate/releases/download/2.6.4/com.github.johnfactotum.foliate_2.6.4_all.deb[]
|
||||
|
||||
[]
|
||||
Underfull \vbox (badness 10000) has occurred while \output is active []
|
||||
|
||||
[13]
|
||||
[14]
|
||||
Underfull \hbox (badness 10000) in alignment at lines 1086--1094
|
||||
Underfull \hbox (badness 10000) in alignment at lines 1106--1114
|
||||
[] []
|
||||
[]
|
||||
|
||||
|
||||
Underfull \hbox (badness 10000) in alignment at lines 1094--1096
|
||||
Underfull \hbox (badness 10000) in alignment at lines 1114--1116
|
||||
[] []
|
||||
[]
|
||||
|
||||
|
||||
Overfull \hbox (1.68248pt too wide) in paragraph at lines 1100--1100
|
||||
Overfull \hbox (1.68248pt too wide) in paragraph at lines 1120--1120
|
||||
[]|\TU/NotoSerif(0)/b/n/12 Bibliography|
|
||||
[]
|
||||
|
||||
|
||||
Underfull \hbox (badness 10000) in alignment at lines 1096--1148
|
||||
Underfull \hbox (badness 10000) in alignment at lines 1116--1168
|
||||
[] []
|
||||
[]
|
||||
|
||||
|
|
@ -1866,13 +1828,7 @@ Underfull \hbox (badness 10000) in alignment at lines 1096--1148
|
|||
] [18
|
||||
|
||||
]
|
||||
Underfull \hbox (badness 3977) in paragraph at lines 1183--1185
|
||||
[]\TU/NotoSerif(0)/m/it/12 John Haverlack | ACEP\TU/NotoSerif(0)/m/n/12 . n.d.
|
||||
Https://www.uaf.edu/acep/about/our-team/john-
|
||||
[]
|
||||
|
||||
|
||||
Underfull \hbox (badness 3977) in paragraph at lines 1195--1197
|
||||
Underfull \hbox (badness 3977) in paragraph at lines 1203--1205
|
||||
[]\TU/NotoSerif(0)/m/it/12 John Haverlack | ACEP\TU/NotoSerif(0)/m/n/12 . n.d.
|
||||
Https://www.uaf.edu/acep/about/our-team/john-
|
||||
[]
|
||||
|
|
@ -1881,18 +1837,14 @@ Https://www.uaf.edu/acep/about/our-team/john-
|
|||
|
||||
] [20
|
||||
|
||||
] (./basic-book-builder.aux)
|
||||
|
||||
LaTeX Warning: There were multiply-defined labels.
|
||||
|
||||
)
|
||||
] (./basic-book-builder.aux) )
|
||||
Here is how much of TeX's memory you used:
|
||||
36437 strings out of 478775
|
||||
750795 string characters out of 5850945
|
||||
36434 strings out of 478775
|
||||
751025 string characters out of 5850945
|
||||
1859991 words of memory out of 5000000
|
||||
55860 multiletter control sequences out of 15000+600000
|
||||
516036 words of font info for 92 fonts, out of 8000000 for 9000
|
||||
55855 multiletter control sequences out of 15000+600000
|
||||
516044 words of font info for 93 fonts, out of 8000000 for 9000
|
||||
14 hyphenation exceptions out of 8191
|
||||
90i,11n,122p,1207b,959s stack positions out of 10000i,1000n,20000p,200000b,200000s
|
||||
90i,12n,122p,1207b,1051s stack positions out of 10000i,1000n,20000p,200000b,200000s
|
||||
|
||||
Output written on basic-book-builder.pdf (24 pages).
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -274,7 +274,7 @@
|
|||
\fancypagestyle{plain}{%
|
||||
\fancyhf{}%
|
||||
\fancyhead[C]{\leftmark} % Chapter title
|
||||
\cfoot{Basic Book Builder: A Pandoc build process for books, docs and articles} % Book title
|
||||
\cfoot{Basic Book Builder: A Pandoc build process for books, docs and articles.} % Book title
|
||||
\rfoot{\thepage} % Page number
|
||||
\renewcommand{\headrulewidth}{0pt}
|
||||
\renewcommand{\footrulewidth}{0pt}
|
||||
|
|
@ -288,7 +288,7 @@
|
|||
\fancyhead[C]{\leftmark} % Chapter title (centered)
|
||||
|
||||
% Footer
|
||||
\cfoot{Basic Book Builder: A Pandoc build process for books, docs and articles} % Book title
|
||||
\cfoot{Basic Book Builder: A Pandoc build process for books, docs and articles.} % Book title
|
||||
\rfoot{\thepage} % Page number
|
||||
|
||||
% Line rules
|
||||
|
|
@ -321,7 +321,7 @@
|
|||
|
||||
{\Huge\bfseries Basic Book Builder \par}
|
||||
\vspace{0.4cm}
|
||||
{\Large A Pandoc build process for books, docs and articles \par}
|
||||
{\Large A Pandoc build process for books, docs and articles. \par}
|
||||
|
||||
\vspace{1.2cm}
|
||||
\includegraphics[width=0.5\textwidth]{lib/img/UAF-ACEP.png}
|
||||
|
|
@ -338,14 +338,14 @@
|
|||
|
||||
{\Large\bfseries Basic Book Builder \par}
|
||||
\vspace{0.2cm}
|
||||
{\normalsize\textit{A Pandoc build process for books, docs and articles}\par}
|
||||
{\normalsize\textit{A Pandoc build process for books, docs 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.2.2 \\
|
||||
\textbf{Version:} & 1.2.3 \\
|
||||
\textbf{Date:} & 2026-02-05 \\
|
||||
\textbf{Affiliation:} & Alaska Center for Energy and Power \\
|
||||
\textbf{Institution:} & University of Alaska Fairbanks \\
|
||||
|
|
@ -428,12 +428,46 @@ Licensed under the Creative Commons Attribution-NoDerivatives 4.0 International
|
|||
\mainmatter
|
||||
\chapter{Introduction}\label{introduction}
|
||||
|
||||
This is a basic book (or article / document) builder template based on a
|
||||
This is a \textbf{basic book builder} template is based on a
|
||||
Pandoc(\citeproc{ref-PandocIndex}{\emph{Pandoc - Index},
|
||||
n.d.})\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.
|
||||
n.d.})\index{Pandoc} + Makefile build process in conjunction Obsidian to
|
||||
edit content and Zotero to manage citation, to generate multiple format
|
||||
of the document including:
|
||||
|
||||
\begin{itemize}
|
||||
\tightlist
|
||||
\item
|
||||
PDF
|
||||
\item
|
||||
HTML
|
||||
\item
|
||||
\emph{LaTeX}
|
||||
\item
|
||||
Markdown
|
||||
\item
|
||||
ODT
|
||||
\item
|
||||
DOCX
|
||||
\item
|
||||
Epub
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Workflow}\label{workflow}
|
||||
|
||||
\begin{enumerate}
|
||||
\def\labelenumi{\arabic{enumi}.}
|
||||
\tightlist
|
||||
\item
|
||||
Create a new project
|
||||
\item
|
||||
Initialize \texttt{metadata.yaml} with title, copyright, author, etc.
|
||||
\item
|
||||
Customize \texttt{input-files:} in \texttt{pandoc.yaml}
|
||||
\item
|
||||
Edit \texttt{chapters} Markdown ``conent'' files using Obidian
|
||||
\item
|
||||
Build your document
|
||||
\end{enumerate}
|
||||
|
||||
This \textbf{basic book
|
||||
builder}(\citeproc{ref-JehaverlackBasicbookbuilderPandoca}{\emph{Jehaverlack/Basic-Book-Builder},
|
||||
|
|
@ -443,8 +477,8 @@ Haverlack.(\citeproc{ref-JohnHaverlackACEP}{\emph{John {Haverlack}
|
|||
|
||||
\chapter{Getting Started}\label{getting-started}
|
||||
|
||||
\section{Cloning the Basic Book
|
||||
Builder}\label{cloning-the-basic-book-builder}
|
||||
\section{Clone the Basic Book
|
||||
Builder}\label{clone-the-basic-book-builder}
|
||||
|
||||
\begin{clibox}[Clone the repository]
|
||||
\begin{verbatim}
|
||||
|
|
@ -464,10 +498,17 @@ cd basic-book-builder
|
|||
Environment}\label{setting-up-build-environment}
|
||||
|
||||
\begin{cautionbox}[~Debian Linux]
|
||||
This script only support Debian based Linux system (Debian, Ubunutu,
|
||||
Zorin, etc) This script has not been widely tested across platforms
|
||||
This script only support Debian based Linux system (e.g Debian, Ubuntu,
|
||||
Zorin). And this script will install several ATP packages on your
|
||||
system.
|
||||
\end{cautionbox}
|
||||
|
||||
\begin{dangerbox}[Warning]
|
||||
This script \textbf{has not} been widely tested across many platforms
|
||||
\end{dangerbox}
|
||||
|
||||
To initialize your systems build environment run:
|
||||
|
||||
\begin{clibox}[Setup Build Environment]
|
||||
\begin{verbatim}
|
||||
./scripts/setup-linux-deb.sh
|
||||
|
|
@ -475,13 +516,15 @@ Zorin, etc) This script has not been widely tested across platforms
|
|||
|
||||
\end{clibox}
|
||||
|
||||
\subsection{Non deb systems}\label{non-deb-systems}
|
||||
|
||||
For more information on setting up the build environment for your system
|
||||
see Appendix A.
|
||||
see: \textbf{TBD: NEEDS DOCUMENTED}.
|
||||
|
||||
\section{Testing}\label{testing}
|
||||
|
||||
If you can build all format for the \textbf{Basic Book Build} then you
|
||||
have a working build environment.
|
||||
Once you have set up your build environment, you test by building the
|
||||
\textbf{basic book builder}.
|
||||
|
||||
\begin{clibox}[Testing Build Environment]
|
||||
\begin{verbatim}
|
||||
|
|
@ -492,66 +535,43 @@ make all
|
|||
|
||||
\section{Creating a New Project}\label{creating-a-new-project}
|
||||
|
||||
\subsection{Zotero Configuration
|
||||
(Optional)}\label{zotero-configuration-optional}
|
||||
\begin{proposedbox}[Tip]
|
||||
You do not want to edit your new project document in the
|
||||
\texttt{basic-book-builder} directory. You will want to create a
|
||||
\textbf{new project} for your document based on this template.
|
||||
\end{proposedbox}
|
||||
|
||||
\chapter{Usage}\label{usage}
|
||||
\begin{clibox}[Create a new project]
|
||||
\begin{verbatim}
|
||||
./scripts/new-project.sh <NEW_PROJECT_DIR>
|
||||
\end{verbatim}
|
||||
|
||||
\section{Creating a Project}\label{creating-a-project}
|
||||
\end{clibox}
|
||||
|
||||
To create a new Project based on the Basic Book Builder template:
|
||||
\begin{verbatim}
|
||||
cd <NEW_PROJECT_DIR>
|
||||
\end{verbatim}
|
||||
|
||||
Update your project configuration:
|
||||
|
||||
\begin{enumerate}
|
||||
\def\labelenumi{\arabic{enumi}.}
|
||||
\tightlist
|
||||
\item
|
||||
Run the new-project.sh script.
|
||||
Edit: \texttt{metadata.yaml}, for title, author, etc
|
||||
\item
|
||||
Edit: \texttt{templates/pandoc.yaml}
|
||||
\item
|
||||
Open: \texttt{\textless{}NEW\_PROJECT\_DIR\textgreater{}} with
|
||||
Obsidian, and edit \texttt{chapters} documents.
|
||||
\item
|
||||
Build: \texttt{make\ pdf}
|
||||
\end{enumerate}
|
||||
|
||||
\begin{verbatim}
|
||||
./scripts/new-project.sh <PATH_TO_PROJECT>
|
||||
\end{verbatim}
|
||||
|
||||
\begin{itemize}
|
||||
\tightlist
|
||||
\item
|
||||
should be outside of the \textbf{basic-book-builder} directory
|
||||
\end{itemize}
|
||||
|
||||
\begin{verbatim}
|
||||
cd <PATH_TO_PROJECT>
|
||||
\end{verbatim}
|
||||
|
||||
Update:
|
||||
|
||||
\begin{enumerate}
|
||||
\def\labelenumi{\arabic{enumi}.}
|
||||
\tightlist
|
||||
\item
|
||||
\texttt{metadata.yaml}
|
||||
\item
|
||||
\texttt{templates/pandoc.yaml}
|
||||
\end{enumerate}
|
||||
|
||||
\begin{quote}
|
||||
{[}!info{]} Suggestion Create a git repository to version control your
|
||||
new content.
|
||||
\end{quote}
|
||||
|
||||
\section{Editing Content}\label{editing-content}
|
||||
|
||||
Edit your source content Markdown under the \texttt{chapters} directory.
|
||||
|
||||
\textbf{Optional}
|
||||
|
||||
\begin{itemize}
|
||||
\tightlist
|
||||
\item
|
||||
Open your \texttt{\textless{}PATH\_TO\_PROJECT\textgreater{}}
|
||||
directory as an Obsidian vault.
|
||||
\item
|
||||
Edit your Markdown with Obsidian
|
||||
\end{itemize}
|
||||
\begin{warningbox}[Warning]
|
||||
\texttt{\textless{}NEW\_PROJECT\_DIR\textgreater{}} should be outside of
|
||||
the \textbf{basic-book-builder} directory
|
||||
\end{warningbox}
|
||||
|
||||
\section{Building}\label{building}
|
||||
|
||||
|
|
@ -602,15 +622,22 @@ make all
|
|||
|
||||
\chapter{Features}\label{features}
|
||||
|
||||
The basic book builder template integrates feature from many systems
|
||||
including Pandoc, MathJax, Obsidian, and Zotero. The following list
|
||||
covers these features from a functional point of view.
|
||||
|
||||
\section{Metadata}\label{metadata}
|
||||
|
||||
Metadata for the project is managed in \texttt{metadata.yaml}. Edit this
|
||||
file to make global changes to variables for your document. Changes here
|
||||
will propagate to all format builds.
|
||||
file to make \textbf{global changes} to variables for your document.
|
||||
Definitions in \texttt{metadata.yaml} will propagate to all format
|
||||
builds.
|
||||
|
||||
\section{Front-matter}\label{front-matter}
|
||||
|
||||
Front matter content is manged in:
|
||||
Front-Matter documents control the Title Page, Metadata and other pages
|
||||
before the Title of Contents. Front matter content is manged in these
|
||||
files:
|
||||
|
||||
\begin{itemize}
|
||||
\tightlist
|
||||
|
|
@ -622,22 +649,16 @@ Front matter content is manged in:
|
|||
\texttt{templates/frontmatter-md.html}
|
||||
\end{itemize}
|
||||
|
||||
\begin{cautionbox}[Tip]
|
||||
Unfortunately when you edit one, you need to edit the respective changes
|
||||
to the other front-matter formats. \#\#\# Title Page
|
||||
\end{cautionbox}
|
||||
|
||||
Edit the \textbf{Front-matter} files to modify the formatting of the
|
||||
Title Page.
|
||||
|
||||
\begin{cautionbox}[Tip]
|
||||
You'll need to modify the HTML / LaTex.
|
||||
\end{cautionbox}
|
||||
Title Page. You'll need to modify the HTML / LaTex code.
|
||||
|
||||
\subsection{Meta Data Page}\label{meta-data-page}
|
||||
|
||||
Edit the \textbf{Front-matter} files to modify the 2nd page Metadata
|
||||
format.
|
||||
format and fields to display.
|
||||
|
||||
\subsection{Cover Illustration}\label{cover-illustration}
|
||||
|
||||
|
|
@ -658,14 +679,26 @@ Dedication.
|
|||
\begin{itemize}
|
||||
\tightlist
|
||||
\item
|
||||
This is disabled by default \#\# Table of Contents
|
||||
This is disabled by default
|
||||
\end{itemize}
|
||||
|
||||
\section{Table of Contents}\label{table-of-contents}
|
||||
|
||||
The table of contents is auto generated. But can be disabled in
|
||||
\texttt{template\textbackslash{}pandoc.yaml} by setting: -
|
||||
\texttt{toc:\ false}
|
||||
|
||||
\section{Chapters}\label{chapters}
|
||||
|
||||
Chapter Markdown source files are located in the \texttt{chapters}
|
||||
directory. Edit the \texttt{template\textbackslash{}pandoc.yaml} file to
|
||||
control which chapter markdown files are in what order.
|
||||
directory. To edit which chapter files are included the document:
|
||||
|
||||
\begin{itemize}
|
||||
\tightlist
|
||||
\item
|
||||
Edit the \texttt{input-file:} section of the
|
||||
\texttt{template\textbackslash{}pandoc.yaml}
|
||||
\end{itemize}
|
||||
|
||||
\section{Appendixes}\label{appendixes}
|
||||
|
||||
|
|
@ -695,22 +728,64 @@ TBD
|
|||
|
||||
TBD
|
||||
|
||||
\section{Mathjax Equations}\label{mathjax-equations}
|
||||
\section{Images}\label{images}
|
||||
|
||||
TBD
|
||||
You can use basic Markdown Images
|
||||
|
||||
\begin{verbatim}
|
||||

|
||||
\end{verbatim}
|
||||
|
||||
\begin{figure}
|
||||
\centering
|
||||
\pandocbounded{\includegraphics[keepaspectratio,alt={ACEP}]{lib/img/ACEPLogo.png}}
|
||||
\caption{ACEP}
|
||||
\end{figure}
|
||||
|
||||
\section{\texorpdfstring{\emph{LaTeX}
|
||||
Equations}{LaTeX Equations}}\label{latex-equations}
|
||||
|
||||
You can embed LaTeX equations directly in your Markdown pages.
|
||||
|
||||
\subsection{Left Justified / Inline}\label{left-justified-inline}
|
||||
|
||||
TBD
|
||||
To left justify \emph{LaTex} surround the code inside single
|
||||
\texttt{\$}:
|
||||
|
||||
\begin{codebox}[Left Justified Equation]
|
||||
\begin{verbatim}
|
||||
$x = \frac{1}{2}$
|
||||
\end{verbatim}
|
||||
|
||||
\end{codebox}
|
||||
|
||||
\(x = \frac{1}{2}\)
|
||||
|
||||
\begin{codebox}[Inline]
|
||||
\begin{verbatim}
|
||||
Or inline, $x = \frac{1}{2}$, in a sentence.
|
||||
\end{verbatim}
|
||||
|
||||
\end{codebox}
|
||||
|
||||
Or inline, \(x = \frac{1}{2}\), in a sentence.
|
||||
|
||||
\subsection{Centered}\label{centered}
|
||||
|
||||
TBD
|
||||
To center justify \emph{LaTex} surround the code inside double
|
||||
\texttt{\$\$}:
|
||||
|
||||
\begin{codebox}[Centered Equation]
|
||||
\begin{verbatim}
|
||||
$$x = \frac{1}{2}$$
|
||||
\end{verbatim}
|
||||
|
||||
\end{codebox}
|
||||
|
||||
\[x = \frac{1}{2}\]
|
||||
|
||||
\section{Custom Markdown}\label{custom-markdown}
|
||||
|
||||
TBD
|
||||
|
||||
\subsection{Call-outs}\label{call-outs}
|
||||
|
||||
A few call-out box styles have been custom added to easily highlight
|
||||
|
|
@ -748,22 +823,6 @@ A blue box
|
|||
|
||||
\begin{center}\rule{0.5\linewidth}{0.5pt}\end{center}
|
||||
|
||||
\begin{codebox}[Markdown Example]
|
||||
\begin{verbatim}
|
||||
[!info] Info Box
|
||||
Same as a blue box
|
||||
\end{verbatim}
|
||||
|
||||
\end{codebox}
|
||||
|
||||
Will render:
|
||||
|
||||
\begin{quote}
|
||||
{[}!info{]} Info Box Same as a blue box
|
||||
\end{quote}
|
||||
|
||||
\begin{center}\rule{0.5\linewidth}{0.5pt}\end{center}
|
||||
|
||||
\begin{codebox}[Markdown Example]
|
||||
\begin{verbatim}
|
||||
[!speculative] Purple Call-out Title
|
||||
|
|
@ -859,7 +918,8 @@ fi
|
|||
A command line example
|
||||
'''
|
||||
$ ls
|
||||
build chapters conf filters lib LICENSE.md Makefile metadata.yaml >README.md scripts templates
|
||||
build chapters conf filters lib LICENSE.md Makefile
|
||||
metadata.yaml >README.md scripts templates
|
||||
'''
|
||||
\end{verbatim}
|
||||
|
||||
|
|
@ -872,208 +932,168 @@ A command line example
|
|||
|
||||
\begin{verbatim}
|
||||
$ ls
|
||||
build chapters conf filters lib LICENSE.md Makefile metadata.yaml README.md scripts templates
|
||||
build chapters conf filters lib LICENSE.md Makefile
|
||||
metadata.yaml README.md scripts templates
|
||||
\end{verbatim}
|
||||
|
||||
\end{clibox}
|
||||
|
||||
\appendix
|
||||
\section{Advanced}\label{advanced}
|
||||
|
||||
Appendix A
|
||||
\subsection{Changing Fonts}\label{changing-fonts}
|
||||
|
||||
\chapter{Appendix A: Build Environment
|
||||
Notes}\label{appendix-a-build-environment-notes}
|
||||
It is possible to change fonts by editing
|
||||
\texttt{templates/pandoc.yaml}, and
|
||||
\texttt{templates\textbackslash{}styles.css}, but you will have to make
|
||||
sure you have the proper font's installed on your system first.
|
||||
|
||||
\section{Installing Pre-Requisites}\label{installing-pre-requisites}
|
||||
\subsection{Adding Filters}\label{adding-filters}
|
||||
|
||||
\begin{cautionbox}[Not Cross-platform Tested]
|
||||
For Debian / ZorinOS and likely Ubuntu based systems.
|
||||
Custom filters can be created. This is complicated and typically needs
|
||||
done in 3 places for:
|
||||
|
||||
\begin{itemize}
|
||||
\tightlist
|
||||
\item
|
||||
obsidian
|
||||
\item
|
||||
\emph{LaTeX}
|
||||
\item
|
||||
HTML
|
||||
\end{itemize}
|
||||
|
||||
\chapter{Design}\label{design}
|
||||
|
||||
\section{Directory Structure}\label{directory-structure}
|
||||
|
||||
The \textbf{basic-book-builder} directory tree.
|
||||
|
||||
\begin{verbatim}
|
||||
basic-book-builder
|
||||
├── build
|
||||
│ ├── docx
|
||||
│ ├── html
|
||||
│ │ ├── conf
|
||||
│ │ └── lib
|
||||
│ │ ├── diag
|
||||
│ │ ├── img
|
||||
│ │ └── mathjax
|
||||
│ ├── latex
|
||||
│ ├── odt
|
||||
│ └── pdf
|
||||
├── chapters
|
||||
├── conf
|
||||
├── filters
|
||||
├── lib
|
||||
│ ├── citations
|
||||
│ ├── diag
|
||||
│ ├── img
|
||||
│ └── mathjax
|
||||
├── scripts
|
||||
│ └── tmp
|
||||
└── templates
|
||||
\end{verbatim}
|
||||
|
||||
\section{Configuration Files}\label{configuration-files}
|
||||
|
||||
The \textbf{basic-book-builder} configuration files, scripts, and build
|
||||
files.
|
||||
|
||||
\begin{verbatim}
|
||||
../basic-book-builder
|
||||
├── chapters
|
||||
├── conf
|
||||
├── filters
|
||||
│ ├── callouts-html.lua
|
||||
│ └── callouts.lua
|
||||
├── lib
|
||||
│ ├── diag
|
||||
│ ├── img
|
||||
│ └── zotero.bib
|
||||
├── Makefile
|
||||
├── metadata.yaml
|
||||
├── scripts
|
||||
│ ├── new-project.sh
|
||||
│ ├── replace-metadata.sh
|
||||
│ ├── setup-linux-deb.sh
|
||||
│ └── tmp
|
||||
└── templates
|
||||
├── docx.yaml
|
||||
├── epub_template.html
|
||||
├── epub.yaml
|
||||
├── frontmatter-docx.md
|
||||
├── frontmatter.html
|
||||
├── frontmatter-md.html
|
||||
├── frontmatter.tex
|
||||
├── header.tex
|
||||
├── html.yaml
|
||||
├── latex.yaml
|
||||
├── markdown.yaml
|
||||
├── odt.yaml
|
||||
├── pandoc.yaml
|
||||
├── pdf.yaml
|
||||
├── style.css
|
||||
└── style_epub.css
|
||||
\end{verbatim}
|
||||
|
||||
\begin{cautionbox}[About conf]
|
||||
NEVER: edit file directly in \texttt{conf}. They will be overwritten by
|
||||
the build process. \#\#\# Metadata
|
||||
\end{cautionbox}
|
||||
|
||||
\subsection{Required}\label{required}
|
||||
Update the \texttt{metadata.yaml} file to globally configure your
|
||||
document title and other metadata. Edit this file to control your
|
||||
document title, author, etc.
|
||||
|
||||
\subsubsection{Pandoc}\label{pandoc}
|
||||
\subsection{Pandoc Main Config}\label{pandoc-main-config}
|
||||
|
||||
\begin{itemize}
|
||||
Update the \texttt{input-files:} section of
|
||||
\texttt{templates/pandoc.yaml} to control what chapter source files are
|
||||
in which order in your document.
|
||||
|
||||
\begin{verbatim}
|
||||
# pandoc.yaml
|
||||
input-files:
|
||||
# - chapters/Preface.md
|
||||
- chapters/00_Introduction.md
|
||||
- chapters/01_Getting_Started.md
|
||||
- chapters/02_Usage.md
|
||||
- chapters/03_Features.md
|
||||
- chapters/Appendix.md
|
||||
- chapters/AppendixA.md
|
||||
# - chapters/AppendixB.md
|
||||
- chapters/Glossary.md
|
||||
- chapters/Index.md
|
||||
- chapters/Bibliography.md
|
||||
\end{verbatim}
|
||||
|
||||
\section{Build Workflow}\label{build-workflow}
|
||||
|
||||
For a PDF Build:
|
||||
|
||||
\begin{verbatim}
|
||||
make pdf
|
||||
\end{verbatim}
|
||||
|
||||
will build dependencies on these file:
|
||||
|
||||
\begin{enumerate}
|
||||
\def\labelenumi{\arabic{enumi}.}
|
||||
\tightlist
|
||||
\item
|
||||
https://pandoc.org/
|
||||
Makefile
|
||||
\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
|
||||
conf/pandoc.yaml
|
||||
\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
|
||||
conf/pdf.yaml
|
||||
\item
|
||||
https://obsidian.md/
|
||||
lib/zotero.bib
|
||||
\item
|
||||
\href{https://github.com/obsidianmd/obsidian-releases/releases/download/v1.9.14/obsidian_1.9.14_amd64.deb}{Deb
|
||||
Package}
|
||||
\end{itemize}
|
||||
chapters/*.md
|
||||
\end{enumerate}
|
||||
|
||||
\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}
|
||||
NOTE: the \texttt{Makefile} will copy \texttt{templates/*.yaml} to
|
||||
\texttt{conf/*.yaml}. \textbf{Never} edit \texttt{conf/*}directly.
|
||||
|
||||
\backmatter
|
||||
|
||||
|
|
@ -1186,18 +1206,6 @@ Https://www.uaf.edu/acep/about/our-team/john-haverlack.php.
|
|||
\bibitem[\citeproctext]{ref-PandocIndex}
|
||||
\emph{Pandoc - Index}. n.d. Https://pandoc.org/.
|
||||
|
||||
\bibitem[\citeproctext]{ref-JehaverlackBasicbookbuilderPandoca}
|
||||
\emph{Jehaverlack/Basic-Book-Builder: {A Pandoc} Workflow for Building
|
||||
{PDF}, {HTML}, {EPUB}, and {LaTeX} Book Format.} n.d.
|
||||
Https://github.com/jehaverlack/basic-book-builder.
|
||||
|
||||
\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-PandocIndex}
|
||||
\emph{Pandoc - Index}. n.d. Https://pandoc.org/.
|
||||
|
||||
\end{CSLReferences}
|
||||
|
||||
\backmatter
|
||||
|
|
|
|||
|
|
@ -1,57 +1,46 @@
|
|||
\contentsline {chapter}{\numberline {1}Introduction}{1}{chapter.1}%
|
||||
\contentsline {subsection}{\numberline {1.0.1}Workflow}{1}{subsection.1.0.1}%
|
||||
\contentsline {chapter}{\numberline {2}Getting Started}{2}{chapter.2}%
|
||||
\contentsline {section}{\numberline {2.1}Cloning the Basic Book Builder}{2}{section.2.1}%
|
||||
\contentsline {section}{\numberline {2.1}Clone the Basic Book Builder}{2}{section.2.1}%
|
||||
\contentsline {section}{\numberline {2.2}Setting Up Build Environment}{2}{section.2.2}%
|
||||
\contentsline {section}{\numberline {2.3}Testing}{2}{section.2.3}%
|
||||
\contentsline {subsection}{\numberline {2.2.1}Non deb systems}{3}{subsection.2.2.1}%
|
||||
\contentsline {section}{\numberline {2.3}Testing}{3}{section.2.3}%
|
||||
\contentsline {section}{\numberline {2.4}Creating a New Project}{3}{section.2.4}%
|
||||
\contentsline {subsection}{\numberline {2.4.1}Zotero Configuration (Optional)}{3}{subsection.2.4.1}%
|
||||
\contentsline {chapter}{\numberline {3}Usage}{4}{chapter.3}%
|
||||
\contentsline {section}{\numberline {3.1}Creating a Project}{4}{section.3.1}%
|
||||
\contentsline {section}{\numberline {3.2}Editing Content}{4}{section.3.2}%
|
||||
\contentsline {section}{\numberline {3.3}Building}{4}{section.3.3}%
|
||||
\contentsline {subsection}{\numberline {3.3.1}PDF}{4}{subsection.3.3.1}%
|
||||
\contentsline {subsection}{\numberline {3.3.2}HTML}{5}{subsection.3.3.2}%
|
||||
\contentsline {subsection}{\numberline {3.3.3}DocX}{5}{subsection.3.3.3}%
|
||||
\contentsline {subsection}{\numberline {3.3.4}ODT}{5}{subsection.3.3.4}%
|
||||
\contentsline {subsection}{\numberline {3.3.5}Make All}{5}{subsection.3.3.5}%
|
||||
\contentsline {chapter}{\numberline {4}Features}{6}{chapter.4}%
|
||||
\contentsline {section}{\numberline {4.1}Metadata}{6}{section.4.1}%
|
||||
\contentsline {section}{\numberline {4.2}Front-matter}{6}{section.4.2}%
|
||||
\contentsline {subsection}{\numberline {4.2.1}Meta Data Page}{6}{subsection.4.2.1}%
|
||||
\contentsline {subsection}{\numberline {4.2.2}Cover Illustration}{6}{subsection.4.2.2}%
|
||||
\contentsline {subsection}{\numberline {4.2.3}Dedication}{7}{subsection.4.2.3}%
|
||||
\contentsline {section}{\numberline {4.3}Chapters}{7}{section.4.3}%
|
||||
\contentsline {section}{\numberline {4.4}Appendixes}{7}{section.4.4}%
|
||||
\contentsline {section}{\numberline {4.5}Glossary}{7}{section.4.5}%
|
||||
\contentsline {section}{\numberline {4.6}Index}{7}{section.4.6}%
|
||||
\contentsline {subsection}{\numberline {4.6.1}Markdown Indexes}{7}{subsection.4.6.1}%
|
||||
\contentsline {section}{\numberline {4.7}Bibliography}{7}{section.4.7}%
|
||||
\contentsline {subsection}{\numberline {4.7.1}Zotero Integration}{7}{subsection.4.7.1}%
|
||||
\contentsline {subsection}{\numberline {4.7.2}Obsidian Citations}{8}{subsection.4.7.2}%
|
||||
\contentsline {section}{\numberline {4.8}Mathjax Equations}{8}{section.4.8}%
|
||||
\contentsline {subsection}{\numberline {4.8.1}Left Justified / Inline}{8}{subsection.4.8.1}%
|
||||
\contentsline {subsection}{\numberline {4.8.2}Centered}{8}{subsection.4.8.2}%
|
||||
\contentsline {section}{\numberline {4.9}Custom Markdown}{8}{section.4.9}%
|
||||
\contentsline {subsection}{\numberline {4.9.1}Call-outs}{8}{subsection.4.9.1}%
|
||||
\contentsline {chapter}{\numberline {A}Appendix A: Build Environment Notes}{12}{appendix.A}%
|
||||
\contentsline {section}{\numberline {A.1}Installing Pre-Requisites}{12}{section.A.1}%
|
||||
\contentsline {subsection}{\numberline {A.1.1}Required}{12}{subsection.A.1.1}%
|
||||
\contentsline {subsubsection}{\numberline {A.1.1.1}Pandoc}{12}{subsubsection.A.1.1.1}%
|
||||
\contentsline {subsubsection}{\numberline {A.1.1.2}Code Editor}{12}{subsubsection.A.1.1.2}%
|
||||
\contentsline {subsubsection}{\numberline {A.1.1.3}jq and yq}{12}{subsubsection.A.1.1.3}%
|
||||
\contentsline {subsubsection}{\numberline {A.1.1.4}texlive}{12}{subsubsection.A.1.1.4}%
|
||||
\contentsline {subsubsection}{\numberline {A.1.1.5}MathJax}{13}{subsubsection.A.1.1.5}%
|
||||
\contentsline {subsection}{\numberline {A.1.2}Optional}{13}{subsection.A.1.2}%
|
||||
\contentsline {subsubsection}{\numberline {A.1.2.1}Obsidian}{13}{subsubsection.A.1.2.1}%
|
||||
\contentsline {subsubsection}{\numberline {A.1.2.2}Zotero}{13}{subsubsection.A.1.2.2}%
|
||||
\contentsline {paragraph}{\numberline {A.1.2.2.1}Better BibTex for Zotero}{14}{paragraph.A.1.2.2.1}%
|
||||
\contentsline {paragraph}{\numberline {A.1.2.2.2}Export citations.bib}{14}{paragraph.A.1.2.2.2}%
|
||||
\contentsline {paragraph}{\numberline {A.1.2.2.3}Zotero Connector Browser Plugin}{14}{paragraph.A.1.2.2.3}%
|
||||
\contentsline {subsubsection}{\numberline {A.1.2.3}lmodern}{14}{subsubsection.A.1.2.3}%
|
||||
\contentsline {subsubsection}{\numberline {A.1.2.4}epubcheck}{14}{subsubsection.A.1.2.4}%
|
||||
\contentsline {subsubsection}{\numberline {A.1.2.5}foliate}{14}{subsubsection.A.1.2.5}%
|
||||
\contentsline {subsubsection}{\numberline {A.1.2.6}calibre}{14}{subsubsection.A.1.2.6}%
|
||||
\contentsline {section}{\numberline {A.2}Editing the Configuration}{14}{section.A.2}%
|
||||
\contentsline {chapter}{Glossary}{15}{appendix*.2}%
|
||||
\contentsline {chapter}{Index}{17}{appendix*.3}%
|
||||
\contentsline {chapter}{Bibliography}{19}{appendix*.4}%
|
||||
\contentsline {section}{\numberline {2.5}Building}{4}{section.2.5}%
|
||||
\contentsline {subsection}{\numberline {2.5.1}PDF}{4}{subsection.2.5.1}%
|
||||
\contentsline {subsection}{\numberline {2.5.2}HTML}{4}{subsection.2.5.2}%
|
||||
\contentsline {subsection}{\numberline {2.5.3}DocX}{4}{subsection.2.5.3}%
|
||||
\contentsline {subsection}{\numberline {2.5.4}ODT}{4}{subsection.2.5.4}%
|
||||
\contentsline {subsection}{\numberline {2.5.5}Make All}{4}{subsection.2.5.5}%
|
||||
\contentsline {chapter}{\numberline {3}Features}{5}{chapter.3}%
|
||||
\contentsline {section}{\numberline {3.1}Metadata}{5}{section.3.1}%
|
||||
\contentsline {section}{\numberline {3.2}Front-matter}{5}{section.3.2}%
|
||||
\contentsline {subsection}{\numberline {3.2.1}Meta Data Page}{5}{subsection.3.2.1}%
|
||||
\contentsline {subsection}{\numberline {3.2.2}Cover Illustration}{5}{subsection.3.2.2}%
|
||||
\contentsline {subsection}{\numberline {3.2.3}Dedication}{6}{subsection.3.2.3}%
|
||||
\contentsline {section}{\numberline {3.3}Table of Contents}{6}{section.3.3}%
|
||||
\contentsline {section}{\numberline {3.4}Chapters}{6}{section.3.4}%
|
||||
\contentsline {section}{\numberline {3.5}Appendixes}{6}{section.3.5}%
|
||||
\contentsline {section}{\numberline {3.6}Glossary}{6}{section.3.6}%
|
||||
\contentsline {section}{\numberline {3.7}Index}{6}{section.3.7}%
|
||||
\contentsline {subsection}{\numberline {3.7.1}Markdown Indexes}{6}{subsection.3.7.1}%
|
||||
\contentsline {section}{\numberline {3.8}Bibliography}{7}{section.3.8}%
|
||||
\contentsline {subsection}{\numberline {3.8.1}Zotero Integration}{7}{subsection.3.8.1}%
|
||||
\contentsline {subsection}{\numberline {3.8.2}Obsidian Citations}{7}{subsection.3.8.2}%
|
||||
\contentsline {section}{\numberline {3.9}Images}{7}{section.3.9}%
|
||||
\contentsline {section}{\numberline {3.10}\emph {LaTeX} Equations}{7}{section.3.10}%
|
||||
\contentsline {subsection}{\numberline {3.10.1}Left Justified / Inline}{7}{subsection.3.10.1}%
|
||||
\contentsline {subsection}{\numberline {3.10.2}Centered}{8}{subsection.3.10.2}%
|
||||
\contentsline {section}{\numberline {3.11}Custom Markdown}{8}{section.3.11}%
|
||||
\contentsline {subsection}{\numberline {3.11.1}Call-outs}{8}{subsection.3.11.1}%
|
||||
\contentsline {section}{\numberline {3.12}Advanced}{11}{section.3.12}%
|
||||
\contentsline {subsection}{\numberline {3.12.1}Changing Fonts}{11}{subsection.3.12.1}%
|
||||
\contentsline {subsection}{\numberline {3.12.2}Adding Filters}{11}{subsection.3.12.2}%
|
||||
\contentsline {chapter}{\numberline {4}Design}{12}{chapter.4}%
|
||||
\contentsline {section}{\numberline {4.1}Directory Structure}{12}{section.4.1}%
|
||||
\contentsline {section}{\numberline {4.2}Configuration Files}{12}{section.4.2}%
|
||||
\contentsline {subsection}{\numberline {4.2.1}Pandoc Main Config}{14}{subsection.4.2.1}%
|
||||
\contentsline {section}{\numberline {4.3}Build Workflow}{14}{section.4.3}%
|
||||
\contentsline {chapter}{Glossary}{15}{chapter*.2}%
|
||||
\contentsline {chapter}{Index}{17}{chapter*.3}%
|
||||
\contentsline {chapter}{Bibliography}{19}{chapter*.4}%
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
|
|
@ -1,6 +1,24 @@
|
|||
# Introduction
|
||||
|
||||
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 is a **basic book builder** template is based on a Pandoc[@PandocIndex]\index{Pandoc} + Makefile build process in conjunction Obsidian to edit content and Zotero to manage citation, to generate multiple format of the document including:
|
||||
|
||||
- PDF
|
||||
- HTML
|
||||
- *LaTeX*
|
||||
- Markdown
|
||||
- ODT
|
||||
- DOCX
|
||||
- Epub
|
||||
|
||||
### Workflow
|
||||
|
||||
1. Create a new project
|
||||
2. Initialize `metadata.yaml` with title, copyright, author, etc.
|
||||
3. Customize `input-files:` in `pandoc.yaml`
|
||||
4. Edit `chapters` Markdown "conent" files using Obidian
|
||||
5. Build your document
|
||||
|
||||
This **basic book builder**[@JehaverlackBasicbookbuilderPandoca] template has been curated by John Haverlack.[@JohnHaverlackACEP]
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Getting Started
|
||||
|
||||
## Cloning the Basic Book Builder
|
||||
## Clone the Basic Book Builder
|
||||
|
||||
|
||||
> [!cli] Clone the repository
|
||||
|
|
@ -18,35 +18,99 @@
|
|||
|
||||
|
||||
> [!caution] ~Debian Linux
|
||||
> This script only support Debian based Linux system (Debian, Ubunutu, Zorin, etc)
|
||||
> This script has not been widely tested across platforms
|
||||
> This script only support Debian based Linux system (e.g Debian, Ubuntu, Zorin). And this script will install several ATP packages on your system.
|
||||
|
||||
|
||||
> [!danger] Warning
|
||||
This script **has not** been widely tested across many platforms
|
||||
|
||||
|
||||
To initialize your systems build environment run:
|
||||
|
||||
> [!cli] Setup Build Environment
|
||||
> ```
|
||||
> ./scripts/setup-linux-deb.sh
|
||||
> ```
|
||||
|
||||
For more information on setting up the build environment for your system see Appendix A.
|
||||
|
||||
|
||||
|
||||
|
||||
### Non deb systems
|
||||
|
||||
For more information on setting up the build environment for your system see: **TBD: NEEDS DOCUMENTED**.
|
||||
|
||||
## Testing
|
||||
|
||||
|
||||
If you can build all format for the **Basic Book Build** then you have a working build environment.
|
||||
Once you have set up your build environment, you test by building the **basic book builder**.
|
||||
|
||||
> [!cli] Testing Build Environment
|
||||
> ```
|
||||
> make all
|
||||
> ```
|
||||
|
||||
|
||||
## Creating a New Project
|
||||
|
||||
|
||||
### Zotero Configuration (Optional)
|
||||
> [!proposed] Tip
|
||||
> You do not want to edit your new project document in the `basic-book-builder` directory. You will want to create a **new project** for your document based on this template.
|
||||
|
||||
|
||||
> [!cli] Create a new project
|
||||
> ```
|
||||
> ./scripts/new-project.sh <NEW_PROJECT_DIR>
|
||||
> ```
|
||||
|
||||
|
||||
```
|
||||
cd <NEW_PROJECT_DIR>
|
||||
```
|
||||
|
||||
|
||||
Update your project configuration:
|
||||
|
||||
1. Edit: `metadata.yaml`, for title, author, etc
|
||||
2. Edit: `templates/pandoc.yaml`
|
||||
3. Open: `<NEW_PROJECT_DIR>` with Obsidian, and edit `chapters` documents.
|
||||
4. Build: `make pdf`
|
||||
|
||||
|
||||
> [!warning] Warning
|
||||
> `<NEW_PROJECT_DIR>` should be outside of the **basic-book-builder** directory
|
||||
|
||||
## Building
|
||||
|
||||
### PDF
|
||||
|
||||
```
|
||||
make pdf
|
||||
```
|
||||
|
||||
> NOTE: Building the PDF also builds the **LaTeX** version of the book.
|
||||
|
||||
### HTML
|
||||
|
||||
```
|
||||
make html
|
||||
```
|
||||
|
||||
### DocX
|
||||
|
||||
```
|
||||
make docx
|
||||
```
|
||||
|
||||
> NOTE: DocX is a work in progress. Frontmatter and formatting need work.
|
||||
|
||||
### ODT
|
||||
|
||||
```
|
||||
make odt
|
||||
```
|
||||
|
||||
> NOTE: ODT is a work in progress. Frontmatter and formatting need work.
|
||||
|
||||
### Make All
|
||||
|
||||
To build all supported formats
|
||||
|
||||
```
|
||||
make all
|
||||
```
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# Usage
|
||||
# Basic Usage
|
||||
|
||||
## Creating a Project
|
||||
|
||||
|
|
|
|||
|
|
@ -1,30 +1,27 @@
|
|||
# Features
|
||||
|
||||
The basic book builder template integrates feature from many systems including Pandoc, MathJax, Obsidian, and Zotero. The following list covers these features from a functional point of view.
|
||||
|
||||
## Metadata
|
||||
|
||||
Metadata for the project is managed in `metadata.yaml`. Edit this file to make global changes to variables for your document. Changes here will propagate to all format builds.
|
||||
Metadata for the project is managed in `metadata.yaml`. Edit this file to make **global changes** to variables for your document. Definitions in `metadata.yaml` will propagate to all format builds.
|
||||
|
||||
## Front-matter
|
||||
|
||||
Front matter content is manged in:
|
||||
Front-Matter documents control the Title Page, Metadata and other pages before the Title of Contents. Front matter content is manged in these files:
|
||||
|
||||
- `templates/frontmatter.tex`
|
||||
- `templates/frontmatter.html`
|
||||
- `templates/frontmatter-md.html`
|
||||
|
||||
|
||||
> [!caution] Tip
|
||||
Unfortunately when you edit one, you need to edit the respective changes to the other front-matter formats.
|
||||
Unfortunately when you edit one, you need to edit the respective changes to the other front-matter formats.
|
||||
### Title Page
|
||||
|
||||
Edit the **Front-matter** files to modify the formatting of the Title Page.
|
||||
|
||||
> [!caution] Tip
|
||||
> You'll need to modify the HTML / LaTex.
|
||||
Edit the **Front-matter** files to modify the formatting of the Title Page. You'll need to modify the HTML / LaTex code.
|
||||
|
||||
### Meta Data Page
|
||||
|
||||
Edit the **Front-matter** files to modify the 2nd page Metadata format.
|
||||
Edit the **Front-matter** files to modify the 2nd page Metadata format and fields to display.
|
||||
|
||||
### Cover Illustration
|
||||
|
||||
|
|
@ -34,15 +31,21 @@ Edit the **Front-matter** files to optionally un-comment the Cover Art Acknowled
|
|||
|
||||
### Dedication
|
||||
|
||||
|
||||
Edit the **Front-matter** files to modify un-comment the Book Dedication.
|
||||
|
||||
- This is disabled by default
|
||||
|
||||
|
||||
## Table of Contents
|
||||
|
||||
The table of contents is auto generated. But can be disabled in `template\pandoc.yaml` by setting:
|
||||
- `toc: false`
|
||||
|
||||
## Chapters
|
||||
|
||||
Chapter Markdown source files are located in the `chapters` directory. Edit the `template\pandoc.yaml` file to control which chapter markdown files are in what order.
|
||||
Chapter Markdown source files are located in the `chapters` directory. To edit which chapter files are included the document:
|
||||
|
||||
- Edit the `input-file:` section of the `template\pandoc.yaml`
|
||||
|
||||
## Appendixes
|
||||
|
||||
|
|
@ -72,22 +75,58 @@ TBD
|
|||
|
||||
TBD
|
||||
|
||||
## Mathjax Equations
|
||||
## Images
|
||||
|
||||
TBD
|
||||
You can use basic Markdown Images
|
||||
|
||||
|
||||
```
|
||||

|
||||
```
|
||||
|
||||
|
||||
|
||||

|
||||
|
||||
|
||||
## *LaTeX* Equations
|
||||
|
||||
You can embed LaTeX equations directly in your Markdown pages.
|
||||
|
||||
### Left Justified / Inline
|
||||
|
||||
TBD
|
||||
To left justify *LaTex* surround the code inside single `$`:
|
||||
|
||||
|
||||
> [!code] Left Justified Equation
|
||||
> ```
|
||||
> $x = \frac{1}{2}$
|
||||
> ```
|
||||
|
||||
$x = \frac{1}{2}$
|
||||
|
||||
> [!code] Inline
|
||||
> ```
|
||||
> Or inline, $x = \frac{1}{2}$, in a sentence.
|
||||
> ```
|
||||
|
||||
Or inline, $x = \frac{1}{2}$, in a sentence.
|
||||
|
||||
|
||||
### Centered
|
||||
|
||||
TBD
|
||||
To center justify *LaTex* surround the code inside double `$$`:
|
||||
|
||||
> [!code] Centered Equation
|
||||
> ```
|
||||
> $$x = \frac{1}{2}$$
|
||||
> ```
|
||||
|
||||
$$x = \frac{1}{2}$$
|
||||
|
||||
|
||||
## Custom Markdown
|
||||
|
||||
TBD
|
||||
|
||||
### Call-outs
|
||||
|
||||
A few call-out box styles have been custom added to easily highlight certain types of content.
|
||||
|
|
@ -118,19 +157,6 @@ Will render:
|
|||
|
||||
---
|
||||
|
||||
> [!code] Markdown Example
|
||||
> ```
|
||||
> [!info] Info Box
|
||||
> Same as a blue box
|
||||
> ```
|
||||
|
||||
Will render:
|
||||
|
||||
> [!info] Info Box
|
||||
> Same as a blue box
|
||||
|
||||
---
|
||||
|
||||
> [!code] Markdown Example
|
||||
> ```
|
||||
> [!speculative] Purple Call-out Title
|
||||
|
|
@ -210,7 +236,8 @@ Will render:
|
|||
> A command line example
|
||||
>'''
|
||||
>$ ls
|
||||
>build chapters conf filters lib LICENSE.md Makefile metadata.yaml >README.md scripts templates
|
||||
>build chapters conf filters lib LICENSE.md Makefile
|
||||
>metadata.yaml >README.md scripts templates
|
||||
> '''
|
||||
> ```
|
||||
|
||||
|
|
@ -220,7 +247,8 @@ Will render:
|
|||
> A command line example
|
||||
> ```
|
||||
> $ ls
|
||||
> build chapters conf filters lib LICENSE.md Makefile metadata.yaml README.md scripts templates
|
||||
> build chapters conf filters lib LICENSE.md Makefile
|
||||
> metadata.yaml README.md scripts templates
|
||||
> ```
|
||||
|
||||
|
||||
|
|
@ -228,11 +256,15 @@ Will render:
|
|||
|
||||
### Changing Fonts
|
||||
|
||||
TBD
|
||||
It is possible to change fonts by editing `templates/pandoc.yaml`, and `templates\styles.css`, but you will have to make sure you have the proper font's installed on your system first.
|
||||
|
||||
### Adding Filters
|
||||
|
||||
TBD
|
||||
Custom filters can be created. This is complicated and typically needs done in 3 places for:
|
||||
|
||||
- obsidian
|
||||
- *LaTeX*
|
||||
- HTML
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@
|
|||
|
||||
## Directory Structure
|
||||
|
||||
The **basic-book-builder** directory tree.
|
||||
|
||||
```
|
||||
basic-book-builder
|
||||
├── build
|
||||
|
|
@ -30,6 +32,7 @@ basic-book-builder
|
|||
|
||||
## Configuration Files
|
||||
|
||||
The **basic-book-builder** configuration files, scripts, and build files.
|
||||
|
||||
```
|
||||
../basic-book-builder
|
||||
|
|
@ -70,9 +73,11 @@ basic-book-builder
|
|||
```
|
||||
|
||||
|
||||
> [!caution] About conf
|
||||
> NEVER: edit file directly in `conf`. They will be overwritten by the build process.
|
||||
### Metadata
|
||||
|
||||
Update the `metadata.yaml` file to globally configure your document title and other metadata.
|
||||
Update the `metadata.yaml` file to globally configure your document title and other metadata. Edit this file to control your document title, author, etc.
|
||||
|
||||
### Pandoc Main Config
|
||||
|
||||
|
|
@ -92,46 +97,22 @@ input-files:
|
|||
- chapters/Glossary.md
|
||||
- chapters/Index.md
|
||||
- chapters/Bibliography.md
|
||||
|
||||
from: markdown+yaml_metadata_block+raw_tex
|
||||
standalone: true
|
||||
|
||||
|
||||
metadata:
|
||||
mainfont: "Noto Serif"
|
||||
sansfont: "Noto Sans"
|
||||
monofont: "Noto Sans Mono"
|
||||
# mainfont: "Libertinus Serif"
|
||||
# sansfont: "Libertinus Sans"
|
||||
# monofont: "DejaVu Sans Mono"
|
||||
date: "" # <-- forces maketitle to exist, but blank
|
||||
link-citations: true
|
||||
|
||||
variables:
|
||||
documentclass: book # options: report, book, article
|
||||
fontsize: 12pt
|
||||
geometry:
|
||||
- margin=1in
|
||||
toc: true # ✅ Pandoc-recognized variable
|
||||
toc-depth: 3 # ✅ nested inside variables
|
||||
toc-title: "Contents" # ✅ controls TOC heading
|
||||
numbersections: true # ✅ correct key (not number-sections)
|
||||
colorlinks: true # nice PDF hyperlinks
|
||||
linkcolor: blue
|
||||
graphics: true
|
||||
float: false
|
||||
figure-latex-placement: H
|
||||
# suppress-chapter: true
|
||||
|
||||
resource-path:
|
||||
- .
|
||||
- lib/img
|
||||
- lib/diag
|
||||
|
||||
citeproc: true
|
||||
bibliography: lib/zotero.bi
|
||||
```
|
||||
|
||||
## Build Workflow
|
||||
|
||||
TBD
|
||||
For a PDF Build:
|
||||
|
||||
```
|
||||
make pdf
|
||||
```
|
||||
|
||||
will build dependencies on these file:
|
||||
|
||||
1. Makefile
|
||||
2. conf/pandoc.yaml
|
||||
3. conf/pdf.yaml
|
||||
4. lib/zotero.bib
|
||||
5. chapters/*.md
|
||||
|
||||
NOTE: the `Makefile` will copy `templates/*.yaml` to `conf/*.yaml`. **Never** edit `conf/*`directly.
|
||||
|
|
@ -60,36 +60,3 @@ To insert a Zotero Citation
|
|||
- 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
|
||||
```
|
||||
|
|
|
|||
|
|
@ -4,5 +4,3 @@
|
|||
|
||||
# Bibliography {-}
|
||||
|
||||
::: {#refs .references}
|
||||
:::
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
# Title
|
||||
title: "Basic Book Builder"
|
||||
subtitle: "A Pandoc build process for books, docs and articles"
|
||||
subtitle: "A Pandoc build process for books, docs and articles."
|
||||
name: "basic-book-builder"
|
||||
logo: "lib/img/UAF-ACEP.png"
|
||||
|
||||
# Version / Repo
|
||||
version: "1.2.2"
|
||||
version: "1.2.3"
|
||||
date: "2026-02-05"
|
||||
state: "BETA"
|
||||
source: "https://github.com/jehaverlack/basic-book-builder"
|
||||
|
|
|
|||
|
|
@ -45,4 +45,3 @@ resource-path:
|
|||
- lib/img
|
||||
- lib/diag
|
||||
|
||||
citeproc: true
|
||||
|
|
|
|||
|
|
@ -3,10 +3,11 @@ input-files:
|
|||
# - chapters/Preface.md
|
||||
- chapters/00_Introduction.md
|
||||
- chapters/01_Getting_Started.md
|
||||
- chapters/02_Usage.md
|
||||
# - chapters/02_Usage.md
|
||||
- chapters/03_Features.md
|
||||
- chapters/Appendix.md
|
||||
- chapters/AppendixA.md
|
||||
- chapters/04_Design.md
|
||||
# - chapters/Appendix.md
|
||||
# - chapters/AppendixA.md
|
||||
# - chapters/AppendixB.md
|
||||
- chapters/Glossary.md
|
||||
- chapters/Index.md
|
||||
|
|
@ -27,8 +28,8 @@ metadata:
|
|||
link-citations: true
|
||||
|
||||
variables:
|
||||
documentclass: book # options: report, book, article
|
||||
fontsize: 12pt
|
||||
documentclass: extbook # options: report, book, article
|
||||
fontsize: 9pt
|
||||
geometry:
|
||||
- margin=1in
|
||||
toc: true # ✅ Pandoc-recognized variable
|
||||
|
|
|
|||
Loading…
Reference in New Issue