commit 97b90b2a1967085effe13cbed8ea27212d51685b Author: Kenneth Odle Date: Thu Feb 13 06:59:17 2025 -0500 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3464795 --- /dev/null +++ b/.gitignore @@ -0,0 +1,18 @@ +Covers +*bklt* +*.aux +*.log +*.out +*.synctex.gz +*.toc +*.dvi +*.odt +metric* +*.mx1 +*.abc +*.bak +*wc* +*drafts* +/build/* +*/build/* +*/spoken/* diff --git a/README.md b/README.md new file mode 100644 index 0000000..efbcfae --- /dev/null +++ b/README.md @@ -0,0 +1,61 @@ +# the-codex + +A zine about Linux, typeset in LaTeX. + +The avatar image is by [Larry Ewing](http://www.isc.tamu.edu/~lewing/) +and [Simon Budig](http://www.home.unix-ag.org/simon/). Licensing info is [here](https://en.wikipedia.org/wiki/File:Tux.svg). + +The pdf version is free. You can find it inside the `build` folder for each issue. I will also issue a release, so you can check there, as well. + +If you want to buy a paper version with a fancy colored cover, printed up as a little booklet and saddle stapled (just perfect for reading on the go), you can buy them from my etsy shop. I'll include a link here as I add each issue. + +## Forum + +If you have questions or suggestions, you can join the [forum for this zine](https://forums.kjodle.net/forumdisplay.php?fid=15) on my website. I am trying to avoid social media as much as possible, and also hate communicating through apps like Etsy, Gumroad, or Patreon (for reasons I may talk about at some point). If you want to contribute or collaborate, the forum would be a good place to start. + +## Support + +If you like this, but don't want to buy, you can always [donate](https://www.paypal.me/kjodle) via PayPal. (No PayPal account is necessary.) It's greatly appreciated. + +## Paper Copies + +**Issue 004** + +Issue #4 is available on etsy at [https://www.etsy.com/listing/1747850159/the-codex-a-zine-about-linux-issue-4](https://www.etsy.com/listing/1747850159/the-codex-a-zine-about-linux-issue-4). + +**Issue 003** + +You can buy this on etsy at [https://www.etsy.com/listing/1507867746/the-codex-a-zine-about-linux-issue-3](https://www.etsy.com/listing/1507867746/the-codex-a-zine-about-linux-issue-3). I don't have metric versions available for download as of yet (12 July 2023) but I am working on it. + +**Issue 002** + +You can buy a paper copy of issue [#002](https://www.etsy.com/listing/1262188799/the-codex-a-zine-about-linux-issue-2) in my Etsy shop. Unfortunately, I can only ship to North America at the present time. + +If you are outside of North America and would like to purchase a digital download which you can then print out in booklet form and staple yourself, you can buy it [here](https://www.etsy.com/listing/1252039564/the-codex-2-metric-download). + +If you have issues with Etsy (and who doesn't?), you can also buy them from **Gumroad**: + +* [Physical copy (North America only)](https://iswpw.gumroad.com/l/codex002) +* [Digital A4 copy (everywhere)](https://iswpw.gumroad.com/l/codex002-A4) + +**Issue 001** + +You can buy issue [#001](https://git.kjodle.net/kjodle/the-codex/src/tag/Issue-001) on my etsy shop [here](https://www.etsy.com/listing/1099735271/the-codex-a-zine-about-linux). Use the coupon **GIT20** to get 20% off all zines. + +## Packages + +I used a handful of packages to make this document, which I've listed below, along to their page on CTAN where you can read the full documentation. + +* [graphicx](https://www.ctan.org/pkg/graphicx) — Provides extended support for images. +* [kpfonts](https://www.ctan.org/pkg/kpfonts) — A different font than the AMS fonts, which is a little heavier and easier to read for some. +* [makeidx](https://www.ctan.org/pkg/makeidx) — Creates indexes (or, indices, if you prefer). I didn't actually use this one. Maybe next time. +* [geometry](https://www.ctan.org/pkg/geometry) — Flexible and complete interfact to document dimensions. +* [fancyhdr](https://www.ctan.org/pkg/fancyhdr) — Gives you more control over page headers and footers. +* [multicol](https://www.ctan.org/pkg/multicol) — Provides for more than two or more columns in selected areas. +* [wrapfig](https://www.ctan.org/pkg/wrapfig) — Allows you to wrap text around figures. +* [hyperref](https://www.ctan.org/pkg/hyperref) — Support for hypertext (i.e., links). (Protip: use the *hidelinks* option to get rid of the annoying red boxes around links in the pdf form. Thanks to reddit user 0b0101011001001011 for this tip!) +* [tabto](https://www.ctan.org/pkg/tabto-ltx) — Allows you to set tab stops. (I used this one to get multiple paragraphs in a footnote. Still scratching my head about that one.) +* [ulem](https://www.ctan.org/pkg/ulem) — A package for making lines through text. In my case, I just wanted a simple strikethrough. + +Also reddit user -LeopardShark- recommended using the package [microtype](https://www.ctan.org/pkg/microtype) to get finer typographical control. ~~Maybe in the next issue.~~ I'm actually using this in issue 002 and you can tell the difference by comparing page 2 in both issues and looking at the placement of the Creative Commons icon. + diff --git a/codex-XXX.tex b/codex-XXX.tex new file mode 100644 index 0000000..8633309 --- /dev/null +++ b/codex-XXX.tex @@ -0,0 +1,197 @@ +\documentclass[twoside]{report} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Packages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{makeidx} +\usepackage{graphicx} +\usepackage[nott]{kpfonts} +\usepackage{float} +\raggedbottom +\usepackage{array} +\usepackage{multirow} +\usepackage{gensymb} % Just for the degree symbol +\usepackage{ccicons} % Creative Commons icons; now we can delete an image +\usepackage{lettrine} % Drop caps +\usepackage{wrapfig} % Let's wrap some images +\usepackage{hanging} % For hanging indents in a script +\usepackage{fancyvrb} % Use line numbers with code samples +\usepackage{fvextra} % Break lines inside Verbatim environment: +\usepackage{enumitem} % Control spacing in lists +\usepackage{setspace} % Better control over line-spacing +\usepackage{nicefrac} % Use nice fractions +\usepackage[bottom]{footmisc} % Keep the footnotes at the bottom of the page +\usepackage{tabto} % Use tab stops when we need to (especially in footnotes) +\usepackage{microtype} % Make things neater. Thanks /u/-LeopardShark- +\usepackage{tabularray} % Easy tables +\usepackage[defaultsans]{Cantarell} % sans-serif font; https://tug.org/FontCatalogue/firasansregular + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Commands %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\graphicspath{{images/}} % Where are our images? +\usepackage{multicol} % Include two- or three-column sections +\counterwithout{footnote}{chapter} % Stop resetting the footnote count after each chapter +\NumTabs{18} % Define 18 tab stops (at 1/4" intervals) [tabto package] +\raggedbottom % Don't force text to fill page +\setlength{\belowcaptionskip}{4pt} % Adjust space between caption and figure +\renewcommand*\contentsname{In This Issue…} % Change the name of the TOC + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Document Setup%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\usepackage{geometry} +\geometry{ + paperheight=8.5in, + paperwidth=5.5in, +% heightrounded, + margin=0.5in +} + +\addtolength{\topmargin}{0.4in} % Adjust and bottom margin +\addtolength{\textheight}{-0.75in} % Adjust the bottom margin + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Page Headers%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\usepackage{fancyhdr} +\pagestyle{fancy} + \fancyhf{} + \fancyhead[LE,RO]{\textit{the codex}} + \fancyhead[RE,LO]{Issue \#006} + \cfoot{Page \thepage} +\renewcommand{\footrulewidth}{0.5pt} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Chapter Title Spacing %%%%%%%%%%%%%%%%%%%% +\usepackage{titlesec} +\titleformat{\chapter}[display] + {\normalfont\huge\bfseries} + {\chaptertitlename\ \thechapter} + {20pt} + {\Huge} +\titlespacing*{\chapter}{0pt}{0pt}{40pt} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Custom Macros %%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Make a nice border and box for the tops of our examples +\newcommand\klab[3]{\vspace{#1}\noindent{}\hrulefill\fbox{\texttt{~#2~}}\hrulefill\vspace{#3}} + +% Add an \hrule with space above and below +\newcommand\krule[2]{\vspace{#1}\hrule\vspace{#2}} + +% Make hrefs easier (must load package hyperref} +\newcommand\kref[2]{\href{#1}{{\texttt{#2}}}} + +% Rotate text in tables easier +% https://tex.stackexchange.com/questions/89115/how-to-rotate-text-in-multirow-table +\newcommand\krot[3]{\parbox[t]{#1}{\multirow{#2}{*}{\rotatebox[origin=c]{90}{#3}}}} + +% Make diversions easier (and uniform!) +\newcommand\kdivb[2]{ + \medskip + \hrule + \medskip + \noindent{}\textbf{#1} + \vspace{#2mm} + \begin{multicols}{2} +} + +\newcommand\kdive[1]{ + \end{multicols} + \vspace{#1mm} + \hrule + \medskip +} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Just for Issue #006 %%%%%%%%%%%%%%%%%%%%%% +\usepackage{tikz} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Include URLS %%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Be sure to load this package last +% [hidelinks option to hide big red box. Thanks /u/0b0101011001001011 +\usepackage[hidelinks]{hyperref} % Inlcude URLs, but load this package last + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Document Information %%%%%%%%%%%%%%%%%%%%% +\author{Kenneth John Odle} +\title{ + {\Huge the codex} \\ + {\footnotesize Life with Linux — A Zine \\ + \bigskip + Typeset in \LaTeX{} \\ + Issue \# CHANGE THIS} +} +\date{\begin{small}\today{}\end{small}} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Let's get it started %%%%%%%%%%%%%%%%%%%%% + +\begin{document} +\maketitle + +\section*{Impressum} +All contents \copyright2025 Kenneth John Odle + +Although this is now in your hands, and it's also on the web, so if you really wanted to steal this, I've made it pretty darn easy. I can't imagine why anyone would want to, though. You don't need to however, because this is licenced under a CC BY-NA-SA 4.0 Creative Commons license. More information is at + +\kref{https://creativecommons.org/licenses/by-nc-sa/4.0/}{https://creativecommons.org/licenses/by-nc-sa/4.0/} \ccbyncnd + +FYI, this is made in \LaTeX \,using the report document class. It then gets exported to a letterhalf (5.5 in x 8.5 in) pdf, which then gets made into a booklet using PDF Booklet, which you can find at + +\kref{https://pdfbooklet.sourceforge.io/wordpress/}{https://pdfbooklet.sourceforge.io/wordpress/} + +The image of Linus Torvalds on the front cover is courtesy JericoDelayah from the WikiMedia Commons and is at \kref{https://commons.wikimedia.org/wiki/File:4_RETAT_04_Linus_Torvalds.jpg}{https://commons.wikimedia.org\\/wiki/File:4\_RETAT\_04\_Linus\_Torvalds.jpg} where you can also find a link to the Creative Commons CC BY-SA 3.0 license there, as well. + +I'm pushing this to my own git server as I write this. You can find it \href{https://git.kjodle.net/kjodle/the-codex}{here}: \kref{https://git.kjodle.net/kjodle/the-codex}{https://git.kjodle.net/kjodle/the-codex}. New issues will be pushed after they are complete. A list of topics I may cover in the future can be found at \kref{https://git.kjodle.net/kjodle/the-codex/wiki/List-of-Future-Topics}{https://git.kjodle.net/kjodle/the-codex/wiki/List-of-Fu\\ture-Topics}. + +You can just skip over all the diversions in here if you want. It's just how my mind works. (And yes, there will be politics in this. \textit{You have been warned.}) Also, I use a lot of em-dashes, parentheses, and footnotes because that is also how my mind works. It's just one big long stream of consciousness up in here most days. + +If you want to donate financial support for the creation of this zine (and all the hours of research that go into it), you can do so at + +\kref{https://paypal.me/kjodle}{https://paypal.me/kjodle} (Thanks!) + +\medskip + +\noindent \textbf{Errata:} To err is human, to document those errors is divine. A list of errata can be found at + +\kref{https://git.kjodle.net/kjodle/the-codex/wiki/Errata}{https://git.kjodle.net/kjodle/the-codex/wiki/Errata}. + +\medskip + +\noindent \textbf{Credit where credit is due:} A lot of people have come forth (mostly from Reddit) to help me out in various ways. See the preamble to this document in the source code to see them. One aspect of our society is that nobody \textit{has} to help you. It is wonderful when it happens, and I am grateful for their help. + + +\tableofcontents + + +\input{include/chap01} + +\input{include/chap02} + +\input{include/chap03} + +\input{include/chap04} + +\input{include/chap05} + +\input{include/chap06} + +\input{include/coda} + + + + +\end{document} diff --git a/cover-XXX.tex b/cover-XXX.tex new file mode 100644 index 0000000..b2a46f4 --- /dev/null +++ b/cover-XXX.tex @@ -0,0 +1,73 @@ +\documentclass[letter, landscape]{report} +\usepackage[utf8]{inputenc} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{makeidx} +\usepackage{graphicx} +\usepackage[]{kpfonts} +\usepackage{float} +\raggedbottom +\usepackage{array} +\usepackage{multicol} +\usepackage[ + margin=20mm, + marginparwidth=0mm, + marginparsep=0mm, + ]{geometry} +%\usepackage{showframe} +%\renewcommand*\ShowFrameColor{\color{red}} + + +% Set column separation +\setlength\columnsep{30mm} + +% Where are our images? +\graphicspath{{images/}} + +% Put everything in monotype +\renewcommand{\familydefault}{\ttdefault} + +% Stretch the linespacing +\renewcommand{\baselinestretch}{2.0} + +% Let's adjust the page margins +\usepackage{geometry} +\geometry{ + margin=10mm, +} + +\begin{document} + +\thispagestyle{empty} + +\begin{center} +\begin{multicols}{2} +% Back page + +\vspace*{40mm} +\includegraphics[scale=0.8]{back_cover} + +\vfill\null +\columnbreak + +% Front page + +\vspace*{40mm} +{\fontsize{55}{70}\selectfont \textbf{the codex}} + +{\large \textbf{Life with Linux - A Zine}} + +{\large \textbf{Issue \# CHANGE THIS}} + +{\large \textbf{Typeset in \textrm{\LaTeX{}}}\\(including the cover, of course)} + +{\footnotesize \textbf{First Printing}} + +\vspace{10mm} +\includegraphics[scale=0.05]{4_RETAT_04_Linus_Torvalds} + +\end{multicols} + +\end{center} + +\end{document} \ No newline at end of file diff --git a/images/4_RETAT_04_Linus_Torvalds.jpg b/images/4_RETAT_04_Linus_Torvalds.jpg new file mode 100644 index 0000000..9516387 Binary files /dev/null and b/images/4_RETAT_04_Linus_Torvalds.jpg differ diff --git a/images/back_cover.png b/images/back_cover.png new file mode 100644 index 0000000..6f65aed Binary files /dev/null and b/images/back_cover.png differ diff --git a/include/chap01.tex b/include/chap01.tex new file mode 100644 index 0000000..8b325f2 --- /dev/null +++ b/include/chap01.tex @@ -0,0 +1,2 @@ +\chapter{This is the first chapter} + diff --git a/include/chap02.tex b/include/chap02.tex new file mode 100644 index 0000000..8b325f2 --- /dev/null +++ b/include/chap02.tex @@ -0,0 +1,2 @@ +\chapter{This is the first chapter} + diff --git a/include/chap03.tex b/include/chap03.tex new file mode 100644 index 0000000..87e23dd --- /dev/null +++ b/include/chap03.tex @@ -0,0 +1,2 @@ +\chapter{This is the third chapter} + diff --git a/include/chap04.tex b/include/chap04.tex new file mode 100644 index 0000000..8e1d689 --- /dev/null +++ b/include/chap04.tex @@ -0,0 +1,2 @@ +\chapter{This is the fourth chapter} + diff --git a/include/chap05.tex b/include/chap05.tex new file mode 100644 index 0000000..ea0f64f --- /dev/null +++ b/include/chap05.tex @@ -0,0 +1,2 @@ +\chapter{This is the fifth chapter} + diff --git a/include/chap06.tex b/include/chap06.tex new file mode 100644 index 0000000..261c8f8 --- /dev/null +++ b/include/chap06.tex @@ -0,0 +1,2 @@ +\chapter{This is the sixth chapter} + diff --git a/include/coda.tex b/include/coda.tex new file mode 100644 index 0000000..0da97e1 --- /dev/null +++ b/include/coda.tex @@ -0,0 +1,21 @@ +\chapter{Coda} + +\section{What I Learned About \LaTeX{} While Creating This Issue} + +\section{What I Learned About Other Things While Creating This Issue} + + +%\newpage % Use only to keep the afterword together if we end up with orphans +\section{Afterword} + +\begin{multicols}{2} +\begin{small} +\noindent{}First paragraph. + +\medskip +\begin{flushright} +\noindent{}Thanks,\\—Ken +\end{flushright} + +\end{small} +\end{multicols} \ No newline at end of file diff --git a/include/inline-code.tex b/include/inline-code.tex new file mode 100644 index 0000000..37e7d62 --- /dev/null +++ b/include/inline-code.tex @@ -0,0 +1,3 @@ +\begin{Verbatim}[] +$ sudo mktexlsr +\end{Verbatim}