Dave Jarvis' Repositories

git clone https://repo.autonoma.ca/repo/keenwrite.git

Update typesetting document, revise TeX file comments

AuthorDaveJarvis <email>
Date2021-04-16 22:59:35 GMT-0700
Commitbff0c1eb7bbf1f5f166abd2d196c610bacab58a3
Parent84c8d42
docs/typesetting.md
This text editor helps keep content separated from presentation. Plain text documents will remain readable long after proprietary formats have become obsolete. However, we've come to expect much more in what we read than mere text: from hyperlinked tables of contents to indexes, from footers to footnotes, from mathematical expressions to complex graphics, modern documents are nuanced and multifaceted.
-Programming computers to typeset internationalized text automatically at the level we've become accustomed takes decades of development effort. Many free and open source software solutions can typeset text, including: ConTeXt, LaTeX, Sile, and others. ConTeXt is ideal for typesetting plain text into beautiful documents because it is developed with a notion of *setups*. These setups can wholly describe how text is to be typeset and---by being external to the text itself---configuring setups provides ample control over the document's final appearance without changing the prose.
+## History
+
+Before computer-based typesetting, much of mathematics was put to page by hand. Professional typesetters, who were often expensive and usually not mathematicians, would inadvertently introduce typographic errors into equations. Phototypesetting technology improved upon hand-typesetting, but well-known computer scientist Donald Knuth---whose third volume of *The Art of Computer Programming* was phototypeset in 1976---expressed dissatisfaction with its typographic quality. He set himself two goals: let anyone create high-quality books without much effort and provide software that typesets consistently on all capable computers. Two years later, he released a typesetting system and a font description language: TeX and METAFONT, respectively.
+
+In short, TeX is software that helps typeset plain text documents.
+
+## ConTeXt
+
+Programming computers to typeset internationalized text automatically at the level we've become accustomed takes decades of development effort. Many free and open source software solutions can typeset text, including: ConTeXt, LaTeX, Sile, and others. ConTeXt, which builds upon TeX, is ideal for typesetting plain text into beautiful documents because it is developed with a notion of *setups*. These setups can wholly describe how text is to be typeset and---by being external to the text itself---configuring setups provides ample control over the document's final appearance without changing the prose.
+
+# Further reading
+
+Here are a few documents that introduce the typesetting system:
+
+* *What is ConTeXt?* ([English](https://www.pragma-ade.com/general/manuals/what-is-context.pdf))
+* *A not so short introduction to ConTeXt* ([English](https://github.com/contextgarden/not-so-short-introduction-to-context/raw/main/en/introCTX_eng.pdf) or [Spanish](https://raw.githubusercontent.com/contextgarden/not-so-short-introduction-to-context/main/es/introCTX_esp.pdf))
+* *Dealing with XML in ConTeXt MKIV* ([English](https://pragma-ade.com/general/manuals/xml-mkiv.pdf))
+* *Typographic Programming* ([English](https://www.pragma-ade.com/general/manuals/style.pdf))
+
+The [documentation library](https://wiki.contextgarden.net/Documentation) includes the following gems:
+
+* [ConTeXt Manual](https://www.pragma-ade.nl/general/manuals/ma-cb-en.pdf)
+* [ConTeXt command reference](https://www.pragma-ade.nl/general/qrcs/setup-en.pdf)
+* [METAFUN Manual](https://www.pragma-ade.nl/general/manuals/metafun-p.pdf)
+* [It's in the Details](https://www.pragma-ade.nl/general/manuals/details.pdf)
+Expert-level documentation includes the [LuaTeX Reference Manual](https://www.pragma-ade.nl/general/manuals/luatex.pdf).
themes/xhtml/setups.tex
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% Map XHTML elements to ConTeXt commands
+% Map elements to setups
%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
themes/xhtml/xml-blocks.tex
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% Map HTML block-level elements to macros
+% Map block-level elements to macros
%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
themes/xhtml/xml-meta.tex
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% Map metadata to front matter macros
+% Map metadata (head) elements to front matter macros
%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
themes/xhtml/xml-tex.tex
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% Maps TeX elements (e.g., $..$) to ConTeXt macros
-
+% Maps TeX elements (e.g., $...$) to ConTeXt macros
+%
% This is required because inline elements within block elements cannot be
% passed to \flushcontext. Thus any TeX code must be handled as a separate
Delta31 lines added, 6 lines removed, 25-line increase