From f7a0b9102a76f7271bd048cfbd880d326e9d28a1 Mon Sep 17 00:00:00 2001 From: Jeff Moe Date: Wed, 1 Mar 2023 13:16:39 -0700 Subject: [PATCH] Add LaTeXBookTemplate template --- BUILD.md | 174 ++++++++++ Makefile | 17 + src/Abbreviations.bib | 7 + src/Acknowledgements.tex | 18 + src/Acronyms.bib | 8 + src/Appendix.tex | 15 + src/BlackmagicLibre-thumbnail.tex | 21 ++ src/BlackmagicLibre.bib | 33 ++ src/BlackmagicLibre.gst | 22 ++ src/BlackmagicLibre.tex | 533 ++++++++++++++++++++++++++++++ src/Colophon.tex | 29 ++ src/Contact.tex | 18 + src/Copyright.tex | 37 +++ src/Cover.tex | 121 +++++++ src/Dedication.tex | 19 ++ src/Epigraph.tex | 28 ++ src/Foreward.tex | 22 ++ src/Frontispiece.tex | 27 ++ src/Glossary.bib | 18 + src/Half_Title.tex | 28 ++ src/Introduction.tex | 26 ++ src/Makefile | 92 ++++++ src/MuhFirstChapter.tex | 61 ++++ src/Preface.tex | 22 ++ src/Prologue.tex | 20 ++ src/Support.tex | 24 ++ src/Title.tex | 41 +++ src/fonts/README.md | 8 + 28 files changed, 1489 insertions(+) create mode 100644 BUILD.md create mode 100644 Makefile create mode 100644 src/Abbreviations.bib create mode 100644 src/Acknowledgements.tex create mode 100644 src/Acronyms.bib create mode 100644 src/Appendix.tex create mode 100644 src/BlackmagicLibre-thumbnail.tex create mode 100644 src/BlackmagicLibre.bib create mode 100644 src/BlackmagicLibre.gst create mode 100644 src/BlackmagicLibre.tex create mode 100644 src/Colophon.tex create mode 100644 src/Contact.tex create mode 100644 src/Copyright.tex create mode 100644 src/Cover.tex create mode 100644 src/Dedication.tex create mode 100644 src/Epigraph.tex create mode 100644 src/Foreward.tex create mode 100644 src/Frontispiece.tex create mode 100644 src/Glossary.bib create mode 100644 src/Half_Title.tex create mode 100644 src/Introduction.tex create mode 100644 src/Makefile create mode 100644 src/MuhFirstChapter.tex create mode 100644 src/Preface.tex create mode 100644 src/Prologue.tex create mode 100644 src/Support.tex create mode 100644 src/Title.tex create mode 100644 src/fonts/README.md diff --git a/BUILD.md b/BUILD.md new file mode 100644 index 0000000..32dd98a --- /dev/null +++ b/BUILD.md @@ -0,0 +1,174 @@ +# Blackmagic Libre Build +This `BUILD.md` document is about how to build the documentation, +not about how to build a ground station. + +*Blackmagic Libre* is written in LaTeX +which generates a final PDF for viewing or printing. + + +# Install + +* Requires LaTeX. Note, LaTeX is in the `texlive` packages in Debian + and is relatively huge (1 gig+ install). + +* Minted syntax highlighting requires python3-pygments to be installed. + +* Requires more packages than just below. XXX + +Install dependencies in Debian: + +``` +sudo apt update +sudo apt install texlive-latex-recommended texlive-xetex \ + texlive-humanities texlive-pstricks \ + python3-pygments \ + fonts-gemunu-libre fonts-linuxlibertine fonts-stix \ + biber git jabref make +``` + +Get source code: + +``` +git clone https://spacecruft.org/spacecruft/BlackmagicLibre +cd BlackmagicLibre/ +``` + + +# Build +Run the build script to make a PDF: + +``` +make +``` + +To just make a cover: + +``` +make cover +``` + +To clean: + +``` +make clean +``` + + +# View +Use a PDF viewer to read the document, such as: + +``` +evince BlackmagicLibre.pdf +``` + + +# Book Parts +The book source has many features in the LaTeX code. +It includes all parts generally used in non-fiction books. +Unused parts can be easily disabled. + +## Front Matter +* Half Title. +* Frontispiece. +* Title page. +* Copyright page. +* Dedication. +* Epigraph. +* Table of Contents. +* List of Figures. +* List of Tables. +* Foreward. +* Preface. +* Acknowledgements. +* Introduction. +* Prologue. + +## Body Matter +* Chapters. +* Sections. +* Subsections. +* Subsubsections... + +## Back Matter +* Appendix. +* Glossary. +* Bibliography. +* Index. +* Colophon. + + +# Features +Features in the LaTeX code. + +* Makefile for "easy" LaTeX processing. +* Auto-generated Table of Contents, List of Figures, Index, etc. +* Syntax highlighting of computer source code. +* BibLaTeX bibliographic system using external `jabref` application for managing + entries. +* Footnotes. +* Glossary and acronym processing. +* "Crown Quarto/Crown 4vo" size (7.44 x 9.68", 18.90 x 24.58cm) in use at + large printing houses (e.g. Lulu/Lightning Source). +* Microtyping with OTF fonts. +* Internal hyperlinks from Table of Contents. +* Internal hyperlinks to footnotes. +* Internal hyperlinks to glossary. +* Internel hyperlinks from index. +* External hyperlinks from references and other URLs. +* Generated ISBN bar code on Half Title page. +* Generated date stamp on Copyright page. +* Use of roman in front matter then arabic page numerals for the body. +* Generation of graphics, diagrams, flow charts, etc., within document. +* Custom colors. +* Custom fonts. +* Custom page style. +* Custom chapter style. +* Unicode UTF-8 (entirely?). +* PDF titling. +* Figures. +* Tables. +* Lists. +* Graphics. +* Labels. +* Internal citations. +* External citations. + + +# BibTeX +If `kbibtex` seg faults, perhaps: + +``` +rm -f -r .local/share/kbibtex .cache/kbibtex/ .config/kbibtexrc +``` + +Use `jabref`. + +# Setup for New Book + +``` +sed -i -e 's/Blackmagic Libre/Muh New Book/g' BUILD.md Makefile README.md src/*.tex src/*.gst src/Makefile + +sed -i -e 's/BlackmagicLibre/MuhNewBook/g' .gitignore BUILD.md Makefile README.md src/*.tex src/*.gst src/Makefile + +for i in src/*BlackmagicLibre* ; do mv $i `echo $i | sed -e 's/BlackmagicLibre/MuhNewBook/g'` ; done +``` + + +# Commercial Printing +Book is formatted for publishing at large printing houses (or basements). +HOWTO: set up and print with Lulu. + + +# License +Blackmagic Libre + +by Jeff Moe + +Copyright © 2022, Jeff Moe + +Permission is granted to copy, distribute and/or modify this document under +the terms of the Creative Commons Attribution 4.0 International Public License +(CC BY-SA 4.0). + +Published by Jeff Moe, Loveland, Colorado, USA. + diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..9726e11 --- /dev/null +++ b/Makefile @@ -0,0 +1,17 @@ +# Makefile + +all: + $(MAKE) clean + $(MAKE) -C src + mv src/*.pdf . +# ps2pdf breaks ToC and other internal links +# ps2pdf BlackmagicLibre.pdf BlackmagicLibre-web.pdf + +cover: + $(MAKE) -C src cover + mv src/Cover.pdf . + +clean: + rm -f *.pdf + $(MAKE) clean -C src + diff --git a/src/Abbreviations.bib b/src/Abbreviations.bib new file mode 100644 index 0000000..59e5276 --- /dev/null +++ b/src/Abbreviations.bib @@ -0,0 +1,7 @@ +% Encoding: UTF-8 +@dualabbreviation{V, + description = {Volt.}, + short = {V}, + long = {Volt} +} + diff --git a/src/Acknowledgements.tex b/src/Acknowledgements.tex new file mode 100644 index 0000000..1d955e5 --- /dev/null +++ b/src/Acknowledgements.tex @@ -0,0 +1,18 @@ +% +% Acknowledgements.tex +% +% Blackmagic Libre +% +% Copyright (C) 2022, Jeff Moe +% +% This document is licensed under the Creative Commons Attribution 4.0 +% International Public License (CC BY-SA 4.0) by Jeff Moe. +% + +%%% ACKNOWLEDGEMENTS %%% +\thispagestyle{empty} +\emph{\LARGE{Acknowledgements}} +\par +Thanks... +%%% END ACKNOWLEDGEMENTS %%% + diff --git a/src/Acronyms.bib b/src/Acronyms.bib new file mode 100644 index 0000000..d56e0cf --- /dev/null +++ b/src/Acronyms.bib @@ -0,0 +1,8 @@ +% Encoding: UTF-8 +@dualacronym{DFSG, + description = {Debian Free Software Guidelines is a set of guidelines that the \gls{Debian} Project uses to determine whether a software license is a \gls{free-software} license, which in turn is used to determine whether a piece of software can be included in \gls{Debian}. The DFSG is part of the \gls{Debian} Social Contract.% + \footnote{\cite{enwiki:Debian-Free-Software-Guidelines}}}, + short = {DFSG}, + long = {Debian Free Software Guidelines} +} + diff --git a/src/Appendix.tex b/src/Appendix.tex new file mode 100644 index 0000000..6966951 --- /dev/null +++ b/src/Appendix.tex @@ -0,0 +1,15 @@ +% +% Appendix.tex +% +% Blackmagic Libre +% +% Copyright (C) 2022, Jeff Moe +% +% This document is licensed under the Creative Commons Attribution 4.0 +% International Public License (CC BY-SA 4.0) by Jeff Moe. +% + +\section{Appendix} +\label{sec:appendix} +For text and data not in the main text. + diff --git a/src/BlackmagicLibre-thumbnail.tex b/src/BlackmagicLibre-thumbnail.tex new file mode 100644 index 0000000..e0389af --- /dev/null +++ b/src/BlackmagicLibre-thumbnail.tex @@ -0,0 +1,21 @@ +% +% BlackmagicLibre-thumbnail.tex +% Create thumbnail images of PDF pages +% +% Blackmagic Libre +% +% Copyright (C) 2022, Jeff Moe +% +% This document is licensed under the Creative Commons Attribution 4.0 +% International Public License (CC BY-SA 4.0) by Jeff Moe. +% + +\documentclass[twoside]{minimal} +\usepackage[paperwidth=22.86cm, paperheight=30.48cm,dvips=false,pdftex=false,vtex=false]{geometry} +\usepackage[final]{pdfpages} +\usepackage{pdflscape} +\usepackage{thumbpdf} +\begin{document} +\includepdf[nup=2x4,pages={{},-},landscape]{BlackmagicLibre.pdf} +\end{document} + diff --git a/src/BlackmagicLibre.bib b/src/BlackmagicLibre.bib new file mode 100644 index 0000000..82f2b3a --- /dev/null +++ b/src/BlackmagicLibre.bib @@ -0,0 +1,33 @@ +% Encoding: UTF-8 + +@comment{x-kbibtex-encoding=utf-8} + + +@Misc{Wiki22:debiawikipfreeencyc, + author = {{Wikipedia contributors}}, + title = {{Debian — {Wikipedia}{,} The Free Encyclopedia}}, + howpublished = {\url{https://en.wikipedia.org/w/index.php?title=Debian&oldid=1105900486}}, + note = {[Online; accessed 28-August-2022]}, + year = {2022}, +} + +@Misc{Wiki22:freesoftwwikipfreeencyc, + author = {{Wikipedia contributors}}, + title = {{Free software — {Wikipedia}{,} The Free Encyclopedia}}, + howpublished = {\url{https://en.wikipedia.org/w/index.php?title=Free_software&oldid=1106538260}}, + note = {[Online; accessed 28-August-2022]}, + year = {2022}, +} + + +@Misc{enwiki:Debian-Free-Software-Guidelines, + author = {{Wikipedia contributors}}, + title = {Debian Free Software Guidelines --- {Wikipedia}{,} The Free Encyclopedia}, + howpublished = {\url{https://en.wikipedia.org/w/index.php?title=Debian_Free_Software_Guidelines&oldid=1086423235}}, + note = {[Online; accessed 31-August-2022]}, + modificationdate = {2022-08-30T18:01:25}, + year = {2022}, +} + + +@Comment{jabref-meta: databaseType:biblatex;} diff --git a/src/BlackmagicLibre.gst b/src/BlackmagicLibre.gst new file mode 100644 index 0000000..ce31ad8 --- /dev/null +++ b/src/BlackmagicLibre.gst @@ -0,0 +1,22 @@ +% +% BlackmagicLibre.gst +% makindex glossary style file +% +% Blackmagic Libre +% +% Copyright (C) 2022, Jeff Moe +% +% This document is licensed under the Creative Commons Attribution 4.0 +% International Public License (CC BY-SA 4.0) by Jeff Moe. +% + +preamble "\\begin{theglossary}" +postamble "\n\\end{theglossary}\n" +item_0 "\n\\glossitem" +delim_0 "{\\memglonum{" +encap_suffix "}}}" +headings_flag 0 +heading_prefix "{" +heading_suffix "}" +keyword "\\glossaryentry" + diff --git a/src/BlackmagicLibre.tex b/src/BlackmagicLibre.tex new file mode 100644 index 0000000..b3f4072 --- /dev/null +++ b/src/BlackmagicLibre.tex @@ -0,0 +1,533 @@ +% +% BlackmagicLibre.tex +% Main LaTeX document for formatting BlackmagicLibre +% +% Blackmagic Libre +% +% Copyright (C) 2022, Jeff Moe +% +% Previous versions of this LaTeX template (with different content): +% Copyright (C) 2017, Jeff Moe +% Copyright (C) 2011, 2012, 2013, 2014, 2015, 2016, 2017 Aleph Objects, Inc. +% Copyright (C) 2009, 2010 Jeff Moe +% +% This document is licensed under the Creative Commons Attribution 4.0 +% International Public License (CC BY-SA 4.0) by Jeff Moe. +% + +% LaTeX Docs: +% http://en.wikibooks.org/wiki/Category:LaTeX + +% LaTeX Memoir Class +% Docs: /usr/share/doc/texlive-doc/latex/memoir/memman.pdf +\documentclass[twoside,10pt,openright,final,english]{memoir} + +\usepackage{tikz} +\usetikzlibrary{shadows,shapes,arrows,chains,calc,decorations.pathmorphing,patterns,trees,positioning,automata,fit} +% This breaks things, but would be great to use +%\usepackage{tikz-qtree,tikz-qtree-compat} +\usepackage{rotating} +\usepackage{forest} + +\usetikzlibrary{arrows,shapes} +\usetikzlibrary{positioning,calendar,er} +\usetikzlibrary{decorations.markings} +\usetikzlibrary{shapes.geometric} + +% Tables +\usepackage{tabularx} + +% Source code highlighting +\usepackage{mdframed} % /usr/share/doc/texlive-doc/latex/mdframed/mdframed.pdf +\usepackage{minted} % /usr/share/doc/texlive-doc/latex/minted/minted.pdf +\setminted{autogobble, breaklines, breakanywhere, breakautoindent, funcnamehighlighting,style=manni,fontsize=\scriptsize} +% fontsize +\setmintedinline{breaklines, breakanywhere} +\surroundwithmdframed{minted} +\mdfsetup{roundcorner=10pt, +linewidth=3pt, +linecolor=jebba-light-blue, +backgroundcolor=white, +leftmargin=1cm,rightmargin=1cm +} + +\usepackage{smartdiagram} +\usesmartdiagramlibrary{additions} +\usepackage{comment} % /usr/share/doc/texlive-doc/latex/comment/comment.pdf +\usepackage{graphicx} % /usr/share/doc/texlive-doc/latex/graphics/graphicx.pdf +\usepackage{epstopdf} % /usr/share/doc/texlive-doc/latex/oberdiek/epstopdf.pdf + +\graphicspath{{./figures/}} + +\usepackage{xcolor} + +%%% LIST OF LISTINGS %%% +%\usepackage{listings} +%%% END LIST OF LISTINGS %%% + +%%% PREAMBLE FONTS %%% +% For XeTeX +% http://www.ctan.org/pkg/fontspec +% http://mirrors.ctan.org/macros/latex/contrib/fontspec/fontspec.pdf +\usepackage{fontspec} +\defaultfontfeatures{Ligatures=TeX} % To support LaTeX quoting style +% To get font name, run, for example: +% otfinfo -i `kpsewhich lmroman12-regular.otf` | grep "^Full name:" +% STIX +\setmainfont[Ligatures=TeX]{STIXGeneral-Regular} +% Latin Modern +\setmonofont{LMMono12-Regular} +% Linux Biolinum +\setsansfont[Ligatures=TeX]{Linux Biolinum O} +%%% END PREAMBLE FONTS %%% + +%%% MISC %%% +\usepackage[normalem]{ulem} % underline +\usepackage{floatpag} % Full page figures without page numbers. +%%% END MISC %%% + +%%% PAGE, STOCK, AND MARGIN SIZE %%% +% 7.44 x 9.68" 18.90 x 24.58cm +% "Crown Quarto/Crown 4vo" at Lulu and Lightning Source +\setstocksize{24.58cm}{18.90cm} % { height }{ width } +\settrimmedsize{\stockheight}{\stockwidth}{*} + +%\settypeblocksize{ height }{ width }{ ratio } +\settypeblocksize{19.0cm}{*}{*} + +%\setlrmarginsandblock{ spine }{ edge }{ ratio } +% make the spine have more space than outer edge +\setlrmarginsandblock{*}{2.5cm}{1.2} + +% \setulmargins{ upper }{ lower }{ ratio } +\setulmargins{2.0cm}{*}{*} + +% \setheadfoot{ headheight }{ footskip } +\setheadfoot{12pt}{2cm} + +\checkandfixthelayout[fixed] +%%% END PAGE, STOCK, AND MARGIN SIZE %%% + +\setcounter{secnumdepth}{3} +\setcounter{tocdepth}{3} +\setsecnumdepth{subsection} + +\usepackage[english]{babel} +\usepackage{datetime} % Docs: /usr/share/doc/texlive-doc/latex/datetime/datetime.pdf + +%%% Not all features are used in XeTeX +\usepackage[protrusion,babel,final]{microtype} + +\usepackage{smartdiagram} +\usesmartdiagramlibrary{additions} + +%%% Barcode +\usepackage{pst-barcode} + +%%% BlackmagicLibre PAGE STYLE %%% +\makepagestyle{jebbastyle} +\pagestyle{jebbastyle} +\makeevenhead{jebbastyle}{}{\hspace{2em}\itshape\small\leftmark}{} +\makeoddhead{jebbastyle}{}{\scshape\small\rightmark}{} +\makeevenfoot{jebbastyle}{}{\hspace{2em}\thepage}{} +\makeoddfoot{jebbastyle}{}{\thepage}{} +%%% END BlackmagicLibre PAGE STYLE %%% + +%%% BlackmagicLibreSKI CHAPTER STYLE %%% +\makechapterstyle{jebbaski}{% + \renewcommand*{\printchaptername}{} % Clear out the chapter name (e.g. capítulo) + \renewcommand*{\printchapternum}{} % Clear out the chapter number + \renewcommand*{\chaptitlefont}{\fontspec{GemunuLibre-ExtraBold.otf}\fontsize{20pt}{3em}\selectfont} % Set chapter title font + \renewcommand*{\printchaptertitle}[1]{% + \color{jebba-light-orange} + \hrule\vskip\onelineskip \centering \chaptitlefont{##1}\par} + % Set chapter title font + \renewcommand*{\afterchaptertitle}{\vskip\onelineskip \hrule\vskip + \afterchapskip} +} +%%% END BlackmagicLibreSKI CHAPTER STYLE %%% + +%%% FORMATTING... %%% +\midsloppy +\setlength{\emergencystretch}{3em} +\tolerance=5000 +\hyphenpenalty=500 +\setlength{\topskip}{1.6\topskip} +\checkandfixthelayout +\raggedbottom +\widowpenalty=10000 +\clubpenalty=10000 +%%% END FORMATTING... %%% + +%%% FOOTNOTES %%% +% no horizontal rule before footnotes: +%\let\oldfootnoterule\footnoterule +%\renewcommand*{\footnoterule}{} +\renewcommand*{\footnotesize}{\scriptsize} +\setlength{\footmarkwidth}{3.5em} +%%% END FOOTNOTES %%% + +%%% BIBLIOGRAPHY %%% +\usepackage[style=verbose]{biblatex} +\addbibresource{BlackmagicLibre.bib} +%%% END BIBLIOGRAPHY %%% + +%%% COLORS %%% +\definecolor{jebba-purple}{cmyk}{0.40,0.70,0.00,0.43} +\definecolor{jebba-dark-blue}{cmyk}{0.83 0.24 0.00 0.22} +\definecolor{jebba-light-blue}{cmyk}{0.42 0.24 0.00 0.08} +\definecolor{jebba-light-orange}{cmyk}{0.00 0.40 0.88 0.03} +\definecolor{jebba-dark-orange}{cmyk}{0.00 0.42 0.83 0.22} +\definecolor{jebba-gold}{cmyk}{0.00 0.28 0.74 0.00} +\definecolor{jebba-greyblack}{cmyk}{0.00 0.22 0.08 0.87} +\definecolor{jebba-white}{cmyk}{0.00 0.00 0.00 0.00} +\definecolor{jebba-black}{cmyk}{1.00 1.00 1.00 1.00} +\definecolor{jebba-green}{cmyk}{0.22 0.00 0.78 0.24} +\definecolor{jebba-darker-blue}{cmyk}{0.84 0.76 0.00 0.70} +%%% END COLORS %%% + +%%% CAPTION %%% +% /usr/share/doc/texlive-doc/latex/caption/caption.pdf +\usepackage{caption} +\captionsetup{labelfont={color=blue,bf}, + textfont={color=jebba-dark-orange}} +%%% END CAPTION %%% + +%%% FLOATS %%% +\setfloatadjustment{figure}{\centering} +%%% END FLOATS %%% + +%%% FRAMES %%% +\usepackage{mdframed} +%%% END FRAMES %%% + +%%% HYPERREF %%% +% Should be "last" in preamble. +% http://www.tug.org/applications/hyperref/manual.html +% /usr/share/doc/texlive-doc/latex/hyperref/hyperref.pdf +\usepackage[bookmarksdepth=3, unicode, breaklinks=True, xetex, final=True, hyperfootnotes=True, hyperfigures=True, hyperindex=False, linktoc=all, colorlinks=true, anchorcolor=jebba-darker-blue, citecolor=jebba-darker-blue, linkcolor=jebba-darker-blue, urlcolor=jebba-darker-blue, bookmarks=True, bookmarksopen=True]{hyperref} +\hypersetup{plainpages=False, backref=True, pagebackref=True, pdftitle={Blackmagic Libre}, pdfauthor={Jeff Moe}, pdfdisplaydoctitle=True} +%%% END HYPERREF %%% + +%%% INDEX %%% +\usepackage{robustindex} +\makeindex +%%% END INDEX %%% + +%%% GLOSSARY %%% +\let\printindex\relax % or conflicts with memoir + +\usepackage[ + automake, % Automatically create glossary files when compiling + acronyms, % Allow the use of acronyms as a separate glossary type + abbreviations, % Allow the use of abbreviations as a separate glossary type + nonumberlist,record=hybrid,index,toc,indexcrossrefs,translate=babel, % TODO comment what each of these does +]{glossaries-extra} + +%%% Multiple Columns (Abbreviations) +\usepackage{glossary-mcols} + +\renewcommand{\abbreviationsname}{List of Abbreviations} % Change the default name of the abbreviations + +\makeindex + +% Specify the in-text glossary abbreviation style for each glossary type +\setabbreviationstyle{long-short} +\setabbreviationstyle[acronym]{long-short} % The first time an acronym is used in text, display it as (), e.g. "Network Time Protocol (NTP)" + +% Load all glossary type entries from separate .bib files. Acronyms and abbreviations are input using @dual entries which the code below duplicates and puts into 2 separate glossary types: 1) acronym/abbreviation and 2) main. The former populate the acronyms/abbreviations and the latter populates the main glossary. +% Main glossary +\GlsXtrLoadResources[ + src={Glossary.bib}, + sort={en-US}, % Default sorting + type=main, % Glossary type of main (primary) entries (e.g. @entry) + dual-sort={combine}, % TODO this should be working but it's not >_< it also doesn't work in \GlsXtrLoadResources for the main glossary where it might need to go instead + dual-sort-field={sort}, % TODO not working +] +% Acronyms +\GlsXtrLoadResources[ + src={Acronyms.bib}, % Source bib file containing acronym entries + sort={letter-nocase}, % Default sorting + type=acronym, % Glossary type of main (primary) entries (e.g. @acronym) + dual-type=main, % Glossary type of dual (secondary) entries, dual entries are only created with @dual* entries in the .bib file + dual-abbrv-map={{long}, {name}}, % Map the long field in the @dualacronym entry to the name field used in the main glossary + abbreviation-sort-fallback={name}, % Sort entries by the long field (check this in .glstex by looking at the dual entry sort= values) + dual-sort={combine}, % TODO this should be working but it's not >_< it also doesn't work in \GlsXtrLoadResources for the main glossary where it might need to go instead + dual-sort-field={sort}, % TODO not working +] +% Abbreviations +\GlsXtrLoadResources[ + src={Abbreviations.bib}, % Source bib file containing abbreviations entries + sort={letter-nocase}, % Default sorting + type=abbreviations, % Glossary type of main (primary) entries (e.g. @abbreviation) + dual-type=main, % Glossary type of dual (secondary) entries, dual entries are only created with @dual* entries in the .bib file + dual-abbrv-map={{long}, {name}}, % Map the long field in the @dualabbreviation entry to the name field used in the main glossary + abbreviation-sort-fallback={name}, % Sort entries by the long field (check this in .glstex by looking at the dual entry sort= values) + dual-sort={combine}, % TODO this should be working but it's not >_< it also doesn't work in \GlsXtrLoadResources for the main glossary where it might need to go instead + dual-sort-field={sort}, % TODO not working +] +% Another approach that uses just the normal @abbreviation and @acronym entries but doesn't format entries in the main glossary correctly +%\GlsXtrLoadResources[ +% src={Glossary.bib}, +% sort={en-US}, % Default sorting +% type=main, % Glossary type of main (primary) entries (e.g. @entry) +%] +%% Acronyms +%\GlsXtrLoadResources[ +% src={Acronyms.bib}, % Source bib file containing acronym entries +% sort={letter-nocase}, % Default sorting +% type=acronym, % Glossary type of main (primary) entries (e.g. @acronym) +% secondary={en-US:long:main}, +%] +%% Abbreviations +%\GlsXtrLoadResources[ +% src={Abbreviations.bib}, % Source bib file containing abbreviations entries +% sort={letter-nocase}, % Default sorting +% type=abbreviations, % Glossary type of main (primary) entries (e.g. @abbreviation) +% secondary={en-US:long:main}, +%] + +\GlsXtrEnableIndexFormatOverride + +\glsdefpostname{acronym}{ (\glsentryshort{\glscurrententrylabel})} % Add " () to acronym entries in the main glossary +\glsdefpostname{abbreviation}{ (\glsentryshort{\glscurrententrylabel})} % Add " () to abbreviation entries in the main glossary + +% Define a new glossary style that outputs short and long fields from glossary entries in a description list environment +\newglossarystyle{shortlongglossary}{% + % Put glossary entries into a description environment + \renewenvironment{theglossary}{ + \begin{multicols}{2} + \begin{description} + }{ + \end{description} + \end{multicols} + }% + % Define which fields are output for each glossary entry + \renewcommand*{\glossentry}[2]{% + \item[\glstarget{##1}{\glsentryshort{##1}}] \glsentrylong{##1} % Each glossary entry is output as a description item in the format: \item[] + }% +} + +% Adds acronym to index like: +% World Coordinate System (WCS), 67, 116 +% Adds glossary to index like: +% photon, xii +\renewcommand*{\glsxtrautoindexentry}[1]{% + \ifglshasshort{#1}% + {\string\glsentrylong{#1} (\glsentryshort{#1})}% + {\string\glsentrylong{#1}}% +} + +% use long form for the sort value in the index, if provided: +\renewcommand*{\glsxtrautoindexassignsort}[2]{% + \ifglshaslong{#2}% + {\glsletentryfield{#1}{#2}{long}}% + {\glsletentryfield{#1}{#2}{sort}}% +} + +% OK, ACRONYM shows description, then short. +% Showshort first better. +% Shows both when desc=long, only one needed... +% OK, but me. XXX borken? +%\glsdefpostname{acronym}{TEST} % This outputs something after the name, e.g. NTPTEST +%\renewcommand*{\glsxtrpostdescacronym}{\glsentrylong{\glscurrententrylabel}} % This outputs something after the description + +% crossref for see: +\renewcommand*{\glsxtrpostdescgeneral}{% +\ifglshasfield{see}{\glscurrententrylabel} +{, \glsxtrusesee{\glscurrententrylabel}}% +{}% +} + +% Index glossary, abbreviations, acronyms +\glssetcategoryattribute{general}{dualindex}{hyperpage} +\glssetcategoryattribute{abbreviation}{dualindex}{hyperpage} +\glssetcategoryattribute{acronym}{dualindex}{hyperpage} + +% First letter upper +%\glssetcategoryattribute{general}{glossname}{firstuc} +%%% END GLOSSARY %%% + +%%% DEBUG %%% +%\showoutput +%\typeoutlayout +%\typeoutstandardlayout +%%% END DEBUG %%% + +%%% END OF PREAMBLE %%% + +%%% BEGIN DOCUMENT %%% +\begin{document} + +%%% BEGIN FRONT MATTER %%% +\frontmatter + +%%% HALF TITLE PAGE %%% +% We want the half title to be on the recto (right/odd) page. +% Needs blank verso (left/even) page. XXX ? +\include{Half_Title} +%%% END HALF TITLE PAGE + +%%% FRONTISPIECE PAGE %%% +% We want the frontispiece to be on the verso (left/even) page. XXX +\include{Frontispiece} +%%% END FRONTISPIECE PAGE + +% Set page numbers to lowercase roman numerals, and reset the count to 1 (no *) +\pagenumbering{roman} + +%%% TITLE PAGE %%% +% We want the title to be on the recto (right/odd) page. XXX +% If we pad a page, it gives us two with openright +\include{Title} +%%% END TITLE PAGE + +%%% COPYRIGHT PAGE %%% +\include{Copyright} +%%% END COPYRIGHT PAGE %%% + +%%% DEDICATION PAGE %%% +\include{Dedication} +%%% END DEDICATION PAGE %%% + +%%% EPIGRAPH PAGE %%% +\include{Epigraph} +%%% END EPIGRAPH PAGE %%% + +%%% TABLE OF CONTENTS %%% +{ + \maxtocdepth{subsection} + \settocdepth{subsection} + %\setsecnumdepth{subsection} + % space between dots + \renewcommand{\cftchapterdotsep}{15} + % dot symbol (default is period) + \renewcommand{\cftdot}{\textperiodcentered} % centered period + % Set space between each entry in ToC + \setlength{\cftbeforechapterskip}{5pt} + \tableofcontents*} +%%% END TABLE OF CONTENTS %%% + +%%% CHAPTER STYLE %%% +\chapterstyle{jebbaski} % defined in preamble +\def\topblockvspace{0.11} +%%% END CHAPTER STYLE %%% + +%%% CHAPTER CONFIG %%% +\newcommand{\chapterheader}{Blackmagic Libre} +% See \chapterconf below for examples of how this is used. +% value 1 is file to include +% value 2 is title of chapter +% value 3 is sub title of chapter +\newcommand{\chapterconf}[3]{ +\chapter{\emph{#2}\protect \\ +{#3}} +\thispagestyle{empty} +\markboth{#2}{\chapterheader} +{\include{#1}} +} +% \chapterconf{Name of file to include}{Title of Chapter} +%%% END CHAPTER CONFIG %%% + +%%% LIST OF FIGURES %%% +\clearpage +\listoffigures +%%% END LIST OF FIGURES %%% + +%%% LIST OF LISTINGS %%% +%\clearpage +%\listoflistings +%%% END LIST OF LISTINGS %%% + +%%% LIST OF TABLES %%% +\clearpage +\listoftables +%%% END LIST OF TABLES %%% + +%%% FRONTMATTER CHAPTERS %%% + +%%% FOREWARD PAGE %%% +%\include{Foreward} +%%% END FOREWARD PAGE %%% + +%%% PREFACE PAGE %%% +%\include{Preface} +%%% END PREFACE PAGE %%% + +%%% ACKNOWLEDGEMENTS PAGE %%% +%\include{Acknowledgements} +%%% END ACKNOWLEDGEMENTS PAGE %%% + +%%% ACRONYM %%% +\printunsrtglossary[type={acronym}, style={shortlongglossary}] +%%% END ACRONYM %%% + +% Format: +% \chapterconf{Name of file to include}{Title of Chapter} +\chapterconf{Introduction}{Introduction}{The Introduction Now} +%\chapterconf{Prologue}{Prologue}{Prologue} +%%% END FRONTMATTER CHAPTERS %%% + +%%% END FRONTMATTER %%% + +%%% BEGIN MAINMATTER %%% +\mainmatter* + +% Set page numbering to arabic, but don't reset numbering (*) +\pagenumbering*{arabic} + +%% MAINMATTER CHAPTERS %%% + +% Format: +% \chapterconf{Name of file to include}{Title of Chapter}{Subtitle} +% Comment out a line to not render that chapter +\chapterconf{MuhFirstChapter}{Teh First}{Beginning of Chapters} +\chapterconf{Support}{Support}{Help!} +\chapterconf{Contact}{Contact}{Email, Chat, Forum} +%% END MAINMATTER CHAPTERS %%% + +%%% END MAINMATTER %%% + +%%% BEGIN BACKMATTER %%% +\backmatter + +%%% APPENDIX %%% +%\clearpage +%\chapterconf{Appendix}{Appendix}{Even More for Free} +%%% END APPENDIX %%% + +%%% ABBREVIATIONS %%% +\printunsrtglossary[type={abbreviations}, style={shortlongglossary}] +%%% END ABBREVIATIONS %%% + +%%% GLOSSARY %%% +\printunsrtglossary[type={main}, style={indexgroup}] +%%% END GLOSSARY %%% + +%%% BIBLIOGRAPHY %%% +\clearpage +\printbibliography +%%% END BIBLIOGRAPHY %%% + +%%% INDEX %%% +\clearpage +\printindex +%%% END INDEX %%% + +%%% COLOPHON %%% +%%% skip a couple pages +\pagebreak{} +\thispagestyle{empty} +\begingroup +\vfill\null +\endgroup +\pagebreak{} +\thispagestyle{empty} +{\include{Colophon}} +%%% END COLOPHON %%% + +%%% END BACKMATTER %%% + +\end{document} +%%% END DOCUMENT %%% + diff --git a/src/Colophon.tex b/src/Colophon.tex new file mode 100644 index 0000000..411864c --- /dev/null +++ b/src/Colophon.tex @@ -0,0 +1,29 @@ +% +% Colophon.tex +% +% Blackmagic Libre +% +% Copyright (C) 2022, Jeff Moe +% +% This document is licensed under the Creative Commons Attribution 4.0 +% International Public License (CC BY-SA 4.0) by Jeff Moe. +% + +%%% COLOPHON %%% +\begin{vplace} + \centering + \emph{\LARGE Colophon} + + \rule{0.5\textwidth}{0.4pt}\\[\baselineskip] + + {\tiny Created with 100\% Free Software} + + Debian GNU/Linux + + {\LaTeX} + + \rule{0\textwidth}{0pt}\\[\baselineskip]% + \rule{0.5\textwidth}{0.4pt}\\[\baselineskip] +\end{vplace} +%%% END COLOPHON %%% + diff --git a/src/Contact.tex b/src/Contact.tex new file mode 100644 index 0000000..ede00f0 --- /dev/null +++ b/src/Contact.tex @@ -0,0 +1,18 @@ +% +% Contact.tex +% +% Blackmagic Libre +% +% Copyright (C) 2022, Jeff Moe +% +% This document is licensed under the Creative Commons Attribution 4.0 +% International Public License (CC BY-SA 4.0) by Jeff Moe. +% + +\section{Contact} +\setlength{\parindent}{0pt} +Jeff Moe\\ +\par +Username: \texttt{jebba}\\ +Email: \texttt{\url{moe@spacecruft.org}} + diff --git a/src/Copyright.tex b/src/Copyright.tex new file mode 100644 index 0000000..d151196 --- /dev/null +++ b/src/Copyright.tex @@ -0,0 +1,37 @@ +% +% Copyright.tex +% Copyleft +% +% Blackmagic Libre +% +% Copyright (C) 2022, Jeff Moe +% +% This document is licensed under the Creative Commons Attribution 4.0 +% International Public License (CC BY-SA 4.0) by Jeff Moe. +% + +\clearpage\null\vfill +\begingroup +\thispagestyle{empty} +\footnotesize\raggedright +\setlength{\parskip}{0.5\baselineskip} + +\textbf{Blackmagic Libre} + +by Jeff Moe + +Copyright \copyright\ 2022 Jeff Moe.\par +Permission is granted to copy, distribute and\slash or modify +this document under the terms of the\\ +Creative Commons Attribution 4.0 International Public License +(CC BY-SA 4.0). + +Published by Jeff Moe, Loveland, Colorado, USA. + +\texttt{ISBN: 000-0-000-00000-0} \textcolor{red}{XXX DRAFT NOT FINAL} +\par +\renewcommand{\dateseparator}{} +\texttt{10 9 8 7 6 5 4 3 2 1 \textcolor{red}{0}}\hfill\texttt{\yyyymmdddate\today} % Timestamp build date +\endgroup +\pagebreak{} + diff --git a/src/Cover.tex b/src/Cover.tex new file mode 100644 index 0000000..cb8e8b9 --- /dev/null +++ b/src/Cover.tex @@ -0,0 +1,121 @@ +\documentclass{book} +\usepackage[utf8x]{inputenc} +\usepackage{rotating} +\usepackage{fontspec} +\defaultfontfeatures{Ligatures=TeX} +\graphicspath{{./figures/}} + +% Crown Quarto +\usepackage[papersize={24.58cm,18.90cm},topmargin=5mm, + botmargin,strictheight, + textwidth=14.2cm,textheight=18.6cm, + leftmargin=0cm,spine=1.7cm, + rightmargin=2cm, + cropmarks,croptitle=Cover]{zwpagelayout} + +%\usepackage{graphics,color} +%\usepackage[SC0,ISBN=999-99-9999-999-4]{ean13isbn} +%\usepackage[LY1]{fontenc} +%\pagestyle{empty} +%\parindent 0mm +%\def\thePageNumber{Brodie} + +\def\moe{\rotatebox{33.0}{\upshape \kern-.5em \hbox{M}}% + \rotatebox{20.0}{\scshape\kern-.425em\lower-.4ex\hbox{o}} + } + +\begin{document} + +\newsavebox{\mysquare} +% 39 173 207 .15 .68 .81 +% 255 255 255 100 100 100 +\definecolor{brodieblue}{rgb}{0.15,0.68,.81} + +\pagecolor{white} + +\small +\hbox to \textwidth{% + +%%% BACK FLAP %%% +\hss +% \vbox to \textheight{\hsize \CropFlap \centering +% backflap\vfill}\hss +%%% END BACK FLAP %%% + +%%% BACK COVER %%% + \vbox to \textheight{\hsize \UserWidth \centering + \vfill + \vspace*{85pt} + \leavevmode }\hss +% ISBNbackcover\vfill \leavevmode \EANisbn}\hss +%%% END BACK COVER %%% + +%%% SPINE %%% + \colorbox{white}{ + \vbox to \textheight{\hsize \CropSpine \centering + \vfill + \begin{sideways} + \rotatebox{180}{ + \includegraphics[keepaspectratio=true,angle=0,height=0.02\textheight,width=0.02\textwidth]{spacecruft.png} + \hspace*{20pt} + \large\itshape\textcolor{black}{} + \fontspec{GemunuLibre-ExtraBold.otf}\fontsize{14pt}{1em}\selectfont + Blackmagic Libre + \hspace*{20pt} + \includegraphics[keepaspectratio=true,angle=0,height=0.02\textheight,width=0.02\textwidth]{spacecruft.png} + \large\itshape\textcolor{black}{} + \hspace*{20pt} + \fontspec{GemunuLibre-ExtraBold.otf}\fontsize{12pt}{1em}\selectfont + Jeff Moe + \hspace*{15pt} + \includegraphics[keepaspectratio=true,angle=0,height=0.02\textheight,width=0.02\textwidth]{spacecruft.png} + } + \end{sideways}\vfill}\hss + } +%%% END SPINE %%% + +%%% FRONT COVER %%% +\fcolorbox{white}{brodieblue}{ +\vbox to \textheight{\hsize \UserWidth \centering +\begingroup +\vspace*{60pt} + \fontspec{GemunuLibre-ExtraBold.otf}\fontsize{40pt}{1em}\selectfont % + LaTeX Book \\ + \fontspec{LinLibertine_RI.otf}\fontsize{16pt}{0em}\selectfont % + \emph{\textcolor{white}{\begin{turn}{15}Unofficial\end{turn}}} \\ + \fontspec{GemunuLibre-ExtraBold.otf}\fontsize{68pt}{1em}\selectfont % + Template \\ + +\vfill + +\begin{center} + \null\vfill + \centering + \includegraphics[keepaspectratio=true,angle=0,height=0.40\textheight,width=0.40\textwidth]{frontispiece.png} + \par + \null + \par + \includegraphics[keepaspectratio=true,angle=0,height=0.02\textheight,width=0.02\textwidth]{spacecruft.png} + \includegraphics[keepaspectratio=true,angle=0,height=0.02\textheight,width=0.02\textwidth]{spacecruft.png} + \includegraphics[keepaspectratio=true,angle=0,height=0.02\textheight,width=0.02\textwidth]{spacecruft.png} + \par +\end{center} + + +\color{white}\rule{120pt}{2.0pt}\\[\baselineskip] +\endgroup +\vspace*{10pt} +\fontspec{GemunuLibre-ExtraBold.otf}\fontsize{14pt}{1em}\selectfont % +{Jeff Moe} +\vspace*{55pt} +} +} +%%% END FRONT COVER + +%%% FRONT FLAP %%% +\hss +% \vbox to \textheight{\hsize \CropFlap \centering +% frontflap\vfill}} +%%% END FRONT FLAP %%% +} +\end{document} diff --git a/src/Dedication.tex b/src/Dedication.tex new file mode 100644 index 0000000..ff7b46e --- /dev/null +++ b/src/Dedication.tex @@ -0,0 +1,19 @@ +% +% Dedication.tex +% +% Blackmagic Libre +% +% Copyright (C) 2022, Jeff Moe +% +% This document is licensed under the Creative Commons Attribution 4.0 +% International Public License (CC BY-SA 4.0) by Jeff Moe. +% + +%%% DEDICATION %%% +\thispagestyle{empty} +\begin{vplace} + \centering + Dedicated to free users +\end{vplace} +%%% END DEDICATION %%% + diff --git a/src/Epigraph.tex b/src/Epigraph.tex new file mode 100644 index 0000000..6f001ed --- /dev/null +++ b/src/Epigraph.tex @@ -0,0 +1,28 @@ +% +% Epigraph.tex +% +% Blackmagic Libre +% +% Copyright (C) 2022, Jeff Moe +% +% This document is licensed under the Creative Commons Attribution 4.0 +% International Public License (CC BY-SA 4.0) by Jeff Moe. +% + +%%% EPIGRAPH %%% + +\thispagestyle{empty} + +\begin{vplace} + \hfill + \epigraphposition{center} + \epigraphsourceposition{center} + \epigraphtextposition{center} + {\epigraph + {\itshape{The libre way.}} + {Foo, Bar, Moo} + } +\end{vplace} + +%%% END EPIGRAPH %%% + diff --git a/src/Foreward.tex b/src/Foreward.tex new file mode 100644 index 0000000..2db5321 --- /dev/null +++ b/src/Foreward.tex @@ -0,0 +1,22 @@ +% +% Foreward.tex +% +% Blackmagic Libre +% +% Copyright (C) 2022, Jeff Moe +% +% This document is licensed under the Creative Commons Attribution 4.0 +% International Public License (CC BY-SA 4.0) by Jeff Moe. +% + +%%% FOREWARD %%% +\thispagestyle{empty} +\emph{\LARGE{Foreward}} +\par +Perhaps, a book about pictures of \glspl{books}. +\\ +A foreward stub. +\hfill +\emph{--- XXX } +%%% END FOREWARD %%% + diff --git a/src/Frontispiece.tex b/src/Frontispiece.tex new file mode 100644 index 0000000..7e91ffb --- /dev/null +++ b/src/Frontispiece.tex @@ -0,0 +1,27 @@ +% +% Frontispiece.tex +% +% Blackmagic Libre +% +% Copyright (C) 2022, Jeff Moe +% +% This document is licensed under the Creative Commons Attribution 4.0 +% International Public License (CC BY-SA 4.0) by Jeff Moe. +% + +\date {} +\thispagestyle{empty} +\begingroup +\centering +\begin{center} + \null\vfill + \centering + \includegraphics[keepaspectratio=true,angle=0,height=0.85\textheight,width=0.85\textwidth]{frontispiece.png} + \par + \includegraphics[keepaspectratio=true,angle=0,height=0.02\textheight,width=0.02\textwidth]{spacecruft.png} + \includegraphics[keepaspectratio=true,angle=0,height=0.02\textheight,width=0.02\textwidth]{spacecruft.png} + \includegraphics[keepaspectratio=true,angle=0,height=0.02\textheight,width=0.02\textwidth]{spacecruft.png} + \par + \null\vfill +\end{center} +\endgroup diff --git a/src/Glossary.bib b/src/Glossary.bib new file mode 100644 index 0000000..30f1d31 --- /dev/null +++ b/src/Glossary.bib @@ -0,0 +1,18 @@ +% Encoding: UTF-8 +@entry{Debian, + name = {Debian}, + long = {Debian}, + description = {a \gls{GNU}/\gls{Linux} distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. Debian is the basis for many other distributions, notably Ubuntu. + Debian is one of the oldest operating systems based on the Linux kernel.% + \footnote{\cite{Wiki22:debiawikipfreeencyc}} +} +} + +@entry{free-software, + name = {Free Software}, + long = {Free Software}, + description = {or \gls{libre} software, is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, not price; all users are legally free to do what they want with their copies of a free software (including profiting from them) regardless of how much is paid to obtain the program. Computer programs are deemed ``free'' if they give end-users (not just the developer) ultimate control over the software and, subsequently, over their devices.% + \footnote{\cite{Wiki22:freesoftwwikipfreeencyc}} +} +} + diff --git a/src/Half_Title.tex b/src/Half_Title.tex new file mode 100644 index 0000000..04f13a1 --- /dev/null +++ b/src/Half_Title.tex @@ -0,0 +1,28 @@ +% +% Half_Title.tex +% +% Blackmagic Libre +% +% Copyright (C) 2022, Jeff Moe +% +% This document is licensed under the Creative Commons Attribution 4.0 +% International Public License (CC BY-SA 4.0) by Jeff Moe. +% + +%%% HALF TITLE %%% +\thispagestyle{empty} +\begin{vplace} + \centering + \fontspec{lmmonocaps10-regular.otf}\fontsize{20pt}{1em}\selectfont{Blackmagic Libre} + \\ + \fontspec{lmmonocaps10-regular.otf}\fontsize{14pt}{1em}\selectfont{\textcolor{red}{DRAFT}} +\end{vplace} +\null +\vfill +\hfill +% BARCODE +\begin{pspicture}(2.0,1.0) +%\psbarcode{000-0-000-00000-0}{includetext}{isbn} +\end{pspicture} +%%% END HALF TITLE %%% + diff --git a/src/Introduction.tex b/src/Introduction.tex new file mode 100644 index 0000000..c6bf5ec --- /dev/null +++ b/src/Introduction.tex @@ -0,0 +1,26 @@ +% +% Introduction.tex +% +% Blackmagic Libre +% +% Copyright (C) 2022, Jeff Moe +% +% This document is licensed under the Creative Commons Attribution 4.0 +% International Public License (CC BY-SA 4.0) by Jeff Moe. +% + +This is intro... + +\begin{mdframed}[backgroundcolor=blue!10,linecolor=blue!30] +\begin{description} + \item [\Glspl{book}] --- What are we looking at? + \item [\Gls{book} and Process] --- The big picture of what. +\end{description} +\end{mdframed} +\index{book}\index{process} + + +The \gls{XYZ} is +``free``% +\footnote{\url{https://tv}} + diff --git a/src/Makefile b/src/Makefile new file mode 100644 index 0000000..168748c --- /dev/null +++ b/src/Makefile @@ -0,0 +1,92 @@ +# Makefile + +all: + xelatex \ + -halt-on-error \ + -shell-escape \ + -interaction=nonstopmode \ + -no-pdf \ + BlackmagicLibre.tex + biber BlackmagicLibre + #makeglossaries BlackmagicLibre + bib2gls BlackmagicLibre + xelatex \ + -halt-on-error \ + -shell-escape \ + -interaction=nonstopmode \ + -no-pdf \ + BlackmagicLibre.tex + bib2gls BlackmagicLibre + xelatex \ + -halt-on-error \ + -shell-escape \ + -interaction=nonstopmode \ + -no-pdf \ + BlackmagicLibre.tex + bib2gls BlackmagicLibre + xelatex \ + -halt-on-error \ + -shell-escape \ + -interaction=nonstopmode \ + -no-pdf \ + BlackmagicLibre.tex + xelatex \ + -halt-on-error \ + -shell-escape \ + -interaction=nonstopmode \ + -no-pdf \ + BlackmagicLibre.tex + biber BlackmagicLibre + xelatex \ + -halt-on-error \ + -shell-escape \ + -interaction=nonstopmode \ + -no-pdf \ + BlackmagicLibre.tex + makeindex BlackmagicLibre + xelatex \ + -halt-on-error \ + -shell-escape \ + -interaction=nonstopmode \ + -no-pdf \ + BlackmagicLibre.tex + xelatex \ + -halt-on-error \ + -shell-escape \ + -interaction=nonstopmode \ + BlackmagicLibre.tex + +cover: + xelatex \ + -halt-on-error \ + -shell-escape \ + -interaction=nonstopmode \ + Cover.tex + +clean: + rm -fr _minted-* + rm -f *.aux + rm -f *.bib.bak + rm -f *.bib.sav.tmp + rm -f *.bbl + rm -f *.bcf + rm -f *.blg + rm -f *.glg + rm -f *.glo + rm -f *.gls + rm -f *.glstex + rm -f *.idx + rm -f *.ilg + rm -f *.ind + rm -f *.ist + rm -f *.lof + rm -f *.log + rm -f *.lol + rm -f *.lot + rm -f *.out + rm -f *.run.xml + rm -f *.toc + rm -f *.xdv + rm -f *.pdf + rm -f *.pyg + diff --git a/src/MuhFirstChapter.tex b/src/MuhFirstChapter.tex new file mode 100644 index 0000000..2f3ecb1 --- /dev/null +++ b/src/MuhFirstChapter.tex @@ -0,0 +1,61 @@ +% +% MuhFirstChapter.tex +% +% Blackmagic Libre +% +% Copyright (C) 2022, Jeff Moe +% +% This document is licensed under the Creative Commons Attribution 4.0 +% International Public License (CC BY-SA 4.0) by Jeff Moe. +% + +\section{The Start of Sections...} +\label{sec:overview-operation} +\index{operation} +Below shows etc.... + +\section{Setup with \texttt{xyz}} +\label{sec:xyz-setup} +\index{setup} + +\begin{minted}{sh} +echo foo +cat /dev/null +y +\end{minted} + +ABC the latest \glspl{MMM}. + +\section{Sample with Itemize} +Below shows a sample with itemize. + +\begin{mdframed}[backgroundcolor=blue!10,linecolor=blue!30] +\begin{itemize} + \item{Thing 1.} + \item{Widget two.} + \item{Three thang.} + \item{Wow2x.} +\end{itemize} +\end{mdframed} + + +\section{PNG Figure Example} +This shows an example of a PNG with a figure. + +\begin{figure}[h!] + \begin{framed} + \centering + \includegraphics[keepaspectratio=true,height=0.80\textheight,width=0.80\textwidth,angle=0]{satnogs-db-web.png} + \caption{\gls{SatNOGS-DB} website.} + \label{fig:satnogs-db-web} + \end{framed} +\end{figure} + + +\section{URL Example} +HOWTO use a URL example: + +\url{https://obsproject.com/} + +Voila. + diff --git a/src/Preface.tex b/src/Preface.tex new file mode 100644 index 0000000..2a5a3c0 --- /dev/null +++ b/src/Preface.tex @@ -0,0 +1,22 @@ +% +% Preface.tex +% +% Blackmagic Libre +% +% Copyright (C) 2022, Jeff Moe +% +% This document is licensed under the Creative Commons Attribution 4.0 +% International Public License (CC BY-SA 4.0) by Jeff Moe. +% + +%%% PREFACE %%% +\thispagestyle{empty} +\emph{\LARGE{Preface}} +\par +This could be a preface. +\\ +If you want every.single.part... +\hfill +\emph{--- for sure} +%%% END PREFACE %%% + diff --git a/src/Prologue.tex b/src/Prologue.tex new file mode 100644 index 0000000..fd95148 --- /dev/null +++ b/src/Prologue.tex @@ -0,0 +1,20 @@ +% +% Prologue.tex +% +% Blackmagic Libre +% +% Copyright (C) 2022, Jeff Moe +% +% This document is licensed under the Creative Commons Attribution 4.0 +% International Public License (CC BY-SA 4.0) by Jeff Moe. +% + +%%% PROLOGUE %%% +\thispagestyle{empty} +\emph{\LARGE{Prologue}} +\par +This could be a prologue. +\\ +XXX more ......... +%%% END PROLOGUE %%% + diff --git a/src/Support.tex b/src/Support.tex new file mode 100644 index 0000000..dd15c95 --- /dev/null +++ b/src/Support.tex @@ -0,0 +1,24 @@ +% +% Support.tex +% +% Blackmagic Libre +% +% Copyright (C) 2022, Jeff Moe +% +% This document is licensed under the Creative Commons Attribution 4.0 +% International Public License (CC BY-SA 4.0) by Jeff Moe. +% + +\section{Support} +\label{sec:support} +\index{community}\index{support}\index{forum}\index{help} + +\setlength{\parindent}{0pt} +How to get help. + +\begin{mdframed}[backgroundcolor=blue!10,linecolor=blue!30] +\begin{itemize} + \item \texttt{\#fooooo} channel in \gls{Matrix} --- \url{\#foooooo:matrix.org} + \item \gls{XYZ} Forum --- \url{https://forum} +\end{itemize} +\end{mdframed} diff --git a/src/Title.tex b/src/Title.tex new file mode 100644 index 0000000..4fc0bb1 --- /dev/null +++ b/src/Title.tex @@ -0,0 +1,41 @@ +% +% Title.tex +% +% Blackmagic Libre +% +% Copyright (C) 2022, Jeff Moe +% +% This document is licensed under the Creative Commons Attribution 4.0 +% International Public License (CC BY-SA 4.0) by Jeff Moe. +% + +\date {} +\thispagestyle{empty} +\begingroup +\centering +\begin{center} + \fontspec{GemunuLibre-ExtraBold.otf}\fontsize{58pt}{1em}\selectfont % + LaTeX Book \\ + \fontspec{LinLibertine_RI.otf}\fontsize{16pt}{0em}\selectfont % + \emph{\textcolor{black}{\begin{turn}{15}Unofficial\end{turn}}} \\ + \fontspec{GemunuLibre-ExtraBold.otf}\fontsize{68pt}{1em}\selectfont % + Template \\ + \fontspec{GemunuLibre-ExtraBold.otf}\fontsize{14pt}{1em}\selectfont % + {Jeff Moe} +\end{center} +\par +\par +\begin{center} +\null\vfill +\includegraphics[keepaspectratio=true,angle=0,height=0.15\textheight,width=0.25\textwidth]{spacecruft.png} +\par +\par +\null\vfill +\fontspec{LinLibertine_RI.otf}\fontsize{10pt}{3em}\selectfont % +{Loveland, Colorado, USA} +\par +\fontspec{LinLibertine_R.otf}\fontsize{12pt}{3em}\selectfont % +{2022} +\end{center} +\endgroup + diff --git a/src/fonts/README.md b/src/fonts/README.md new file mode 100644 index 0000000..50d23dc --- /dev/null +++ b/src/fonts/README.md @@ -0,0 +1,8 @@ +Add fonts. + +``` +sudo apt update + +sudo apt install fonts-gemunu-libre fonts-linuxlibertine fonts-lmodern fonts-stix lmodern texlive-fonts-extra +``` +