Dave Jarvis' Repositories

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

Updates Markdown chapters

AuthorDaveJarvis <email>
Date2025-09-03 22:18:04 GMT-0700
Commit9f0a93e921dfe276991ed95af92d83edfac4d3d3
Parentc1bd65f
Delta374 lines added, 366 lines removed, 8-line increase
docs/01-introduction.md
* **Distraction-free** when you need to focus
-## Who should use {{app.title}}
+## Target users
{{app.title}} is designed for anyone who needs to produce high-quality
docs/06-basic-formatting.md
-# Basic formatting
-
-This section outlines the basic formatting elements supported by {{app.title}},
-including paragraphs, headers, lists, links, and tables. There are countless
-resources available on Markdown syntax, so only the most basic review is given
-here.
-
-## Paragraphs
-
-Paragraphs are created by separating blocks of text with one or more blank
-lines.
-
-``` markdown
-This is the first paragraph.
-
-This is the second paragraph.
-```
-
-## Headers
-
-Headers are created using one or more hash (`#`) symbols followed by a space
-and the header text. The number of hash symbols indicates the level of the
-header.
-
-``` markdown
-# Header level 1
-## Header level 2
-### Header level 3
-```
-
-In technical documents, try to limit subheading levels to maintain clarity;
-usually, three levels are sufficient.
-
-## Lists
-
-Ordered lists use numbers followed by a period and a space. Unordered lists
-use asterisks (`*`), plus signs (`+`), or hyphens (`-`) followed by a space.
-
-### Ordered list
-
-My preference is to use `1.` for each ordered item and let the computer
-renumber them because it makes adding and removing items faster.
-
-``` markdown
-1. First item
-1. Second item
-1. Third item
-```
-
-### Unordered list
-
-My preference is to use `*` for the first level of unordered items.
-
-``` markdown
-* Item one
-* Item two
-* Item three
-```
-
-## Links
-
-Links are created using square brackets for the link text followed by
-parentheses for the URL.
-
-``` markdown
-[Download](https://keenwrite.com)
-```
-
-## Tables
-
-Tables use pipes (`|`) to separate columns and hyphens (`-`) to define the
-header row.
-
-``` markdown
-| Column A | Column B | Column C |
-|----------|----------|----------|
-| Value 1 | Value 2 | Value 3 |
-| Value 4 | Value 5 | Value 6 |
-```
-
-Alignment can be suggested using a colon (`:`) on the left, right, or both sides
-(centering) of the header separator line.
-
-``` markdown
-| Column A | Column B | Column C |
-|:-----------|:---------:|----------:|
-| Value 1 | Value 2 | Value 3 |
-| Value 4 | Value 5 | Value 6 |
-```
-
docs/06-basic-markdown.md
+# Basic Markdown
+
+This section outlines the basic formatting elements supported by {{app.title}},
+including paragraphs, headers, lists, links, and tables. There are countless
+resources available on Markdown syntax, so only the most basic review is given
+here.
+
+## Paragraphs
+
+Paragraphs are created by separating blocks of text with one or more blank
+lines.
+
+``` markdown
+This is the first paragraph.
+
+This is the second paragraph.
+```
+
+Without a blank line, the prose will be typeset as a single paragraph.
+
+## Headers
+
+Headers are created using one or more hash (`#`) symbols followed by a space
+and the header text. The number of hash symbols indicates the level of the
+header.
+
+``` markdown
+# Header level 1
+## Header level 2
+### Header level 3
+```
+
+In technical documents, try to limit subheading levels to maintain clarity;
+usually, three levels are sufficient.
+
+## Lists
+
+Ordered lists use numbers followed by a period and a space. Unordered lists
+use asterisks (`*`), plus signs (`+`), or hyphens (`-`) followed by a space.
+
+### Ordered list
+
+My preference is to use `1.` for each ordered item and let the computer
+renumber them because it makes adding and removing items faster.
+
+``` markdown
+1. First item
+1. Second item
+1. Third item
+```
+
+### Unordered list
+
+My preference is to use `*` for the first level of unordered items.
+
+``` markdown
+* Item one
+* Item two
+* Item three
+```
+
+## Links
+
+Links are created using square brackets for the link text followed by
+parentheses for the URL.
+
+``` markdown
+[Download](https://keenwrite.com)
+```
+
+## Tables
+
+Tables use pipes (`|`) to separate columns and hyphens (`-`) to define the
+header row.
+
+``` markdown
+| Column A | Column B | Column C |
+|----------|----------|----------|
+| Value 1 | Value 2 | Value 3 |
+| Value 4 | Value 5 | Value 6 |
+```
+
+Alignment can be suggested using a colon (`:`) on the left, right, or both sides
+(centering) of the header separator line.
+
+``` markdown
+| Column A | Column B | Column C |
+|:-----------|:---------:|----------:|
+| Value 1 | Value 2 | Value 3 |
+| Value 4 | Value 5 | Value 6 |
+```
+
docs/07-advanced-formatting.md
-# Advanced formatting
-
-This chapter covers advanced formatting features that enhance document structure and presentation. These features help create professional documents with rich content organization, proper cross-referencing, and typographic excellence.
-
-## Fenced divs
-
-Fenced divs provide a way to create structured XHTML `div` elements within Markdown documents. They offer semantic organization and styling capabilities beyond basic Markdown formatting.
-
-### Basic syntax
-
-A fenced div uses the following basic syntax:
-
-``` markdown
-::: name
-Content
-:::
-```
-
-To create a fenced div, begin a line with at least three colons (`:::`), followed by at least one space, followed by any word. Content follows immediately on the next line. Terminate the fence with at least three colons.
-
-The XHTML generated from the fence above will resemble:
-
-``` html
-<div class="name">
-<p>Content</p>
-</div>
-```
-
-### Extended syntax
-
-Fenced divs support extended syntax for more control. The syntax can provide a unique identifier, multiple class names, and key/value data pairs:
-
-``` markdown
-::: {#poem-01 .stanza author="Emily Dickinson" year=1890}
-Because I could not stop for Death --
-He kindly stopped for me --
-The Carriage held but just Ourselves --
-And Immortality.
-:::
-```
-
-This produces:
-
-``` html
-<div id="poem-01" class="stanza" data-author="Emily Dickinson" data-year="1890">
-<p>Because I could not stop for Death –
-He kindly stopped for me –
-The Carriage held but just Ourselves –
-And Immortality.</p>
-</div>
-```
-
-When using this syntax, prefix class styles with a period (e.g., `.stanza`).
-
-### Nested syntax
-
-Fenced blocks may be nested to create complex document structures:
-
-``` markdown
-::: poem
-:::::: stanza
-Because I could not stop for Death --
-He kindly stopped for me --
-The Carriage held but just Ourselves --
-And Immortality.
-::::::
-:::
-```
-
-This produces nested `div` elements:
-
-``` html
-<div class="poem"><div class="stanza">
-<p>Because I could not stop for Death –
-He kindly stopped for me –
-The Carriage held but just Ourselves –
-And Immortality.</p>
-</div></div>
-```
-
-## Code blocks
-
-In technical documentation, including source code snippets can help illustrate
-concepts. The syntax for such snippets is exemplified in the following
-quintessential BASIC program:
-
- ``` basic
- 10 print "hi"
- 20 goto 10
- ```
-
-The word `basic` provides a hint to the presentation layer to colourise the
-syntax according to the rules of the BASIC programming language. Code blocks
-are also used to draw diagrams using text-based syntaxes. See
-[@sec:text-diagrams] for details.
-
-## Captions and cross-references
-
-Captions provide context and descriptions for tables, figures, equations, and other document elements. Cross-references allow linking to these captioned items throughout the document.
-
-### Caption syntax
-
-Captions start with a double colon (`::`) separated by a blank line from the item they describe. The blank line is essential for proper formatting.
-
-For images:
-
-``` markdown
-![image title](https://example.com/image.png)
-
-:: Figure caption text
-```
-
-For tables:
-
-``` markdown
-| a | b | c |
-|---|---|---|
-| 1 | 2 | 3 |
-| 4 | 5 | 6 |
-
-:: Table caption text
-```
-
-For equations:
-
-``` markdown
-$$E = mc^2$$
-
-:: Equation caption text
-```
-
-### Cross-references
-
-Cross-references use anchor names and reference tags to link to captioned
-items. The syntax is:
-
-- `{#type-name:label}` for defining an anchor name
-- `[@type-name:label]` for referencing the anchor elsewhere
-
-Example with image and cross-reference:
-
-``` markdown
-In [@fig:animal], a cute animal is shown.
-
-![image title](https://example.com/cat.png)
-
-:: World's cutest animal {#fig:animal}
-
-There is no cuter animal than the one in [@fig:animal].
-```
-
-Anchors can include a wide variety of type names and labels, such as:
-
-``` markdown
-{#fig:cats}
-{#图版:猫}
-{#eq:mass-energy}
-{#eqn:laplace}
-```
-
-### Predefined type names
-
-To simplify writing captions and references, predefined type names correspond
-to labels commonly used in documents. These labels automatically generate
-suitable names. [@tbl:type-names] lists predefined cross-reference type names
-along with their associated labels, which are inserted automatically into the
-document.
-
-| Type name | English name |
-|----------------------------------|--------------|
-| algorithm, alg | Algorithm |
-| equation, eqn, eq | Equation |
-| figure, fig | Figure |
-| formula | Formula |
-| listing, list, lst, source, src | Listing |
-| lyric | Lyrics |
-| music, score | Score |
-| table, tbl, tab | Table |
-
-:: Predefined cross-reference types and labels {#tbl:type-names}
-
-## Quotation marks
-
-Understanding quotation mark encoding helps ensure proper typography in both digital and print formats. Different encoding options provide flexibility for various output requirements.
-
-[@tbl:quote-encoding] lists available encoding choices.
-
-| Option | Encoding | Description |
-|----------|------------|---------------------------------------------|
-| regular | | Do not encode |
-| apos | `&apos;` | Curled when typeset to PDF |
-| aposhex | `&#x27;` | Apostrophe's numeric value |
-| quote | `&rsquo;` | Right single quotation mark |
-| quotehex | `&#8217;` | Right single quotation mark's numeric value |
-| modifier | `&#x2bc;` | The modifier letter apostrophe |
-
-:: Single straight quote encoding options {#tbl:quote-encoding}
-
-When typesetting to PDF, only the semantically correct `&apos;` value will be
-curled automatically.
-
-### History
-
-The origins of quotation marks trace back to scholarly annotation practices in
-Ancient Greece. Greek scribes used marginal symbols like the diplé (`⟩`) to
-highlight notable passages. A variant, the diplé periestigmene (`⸖`)—a diplé
-accompanied by dots—was used by scholars to indicate disagreement with earlier
-interpretations. These marks laid groundwork for distinguishing quoted text.
-
-By the seventeenth century, quotation marks appeared regularly in printed
-texts. Western European typographers in the nineteenth century adopted the
-convention of turning quotation mark pairs outward, creating the familiar
-"double curved" style.
-
-Early mechanical typewriters lacked many punctuation marks. Straight single and
-double quotes served multiple roles: quotation marks, apostrophes, feet and
-inches, and mathematical primes. Computer character sets later codified
-straight quotes, creating ongoing typographical challenges.
-
-Modern standards recommend using the right single quotation mark (`’`) for
-apostrophes, though this creates semantic ambiguity since the same character
-closes dialogue. Consider the sentence:
-
-> Ambiguity lurks in \"\'cause the horses\'\".
-
-The meaning of `'cause` (*because* vs. *induce*) determines whether to use an
-opening quote or apostrophe, highlighting how historical decisions still impact
-modern typography.
-
-## Mathematics
-
-Mathematical expressions can be embedded using TeX notation, to typeset
-formulas and equations.
-
-### Inline mathematics
-
-For inline mathematical expressions, enclose TeX code in single dollar signs:
-
-``` tex
-The equation $x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$ is the quadratic formula.
-```
-
-### Display mathematics
-
-For standalone equations, use double dollar signs:
-
-``` tex
-$$\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}$$
-```
-
-### Common TeX notation
-
-Basic mathematical elements use standard TeX syntax:
-
-- Fractions: `\frac{numerator}{denominator}`
-- Square roots: `\sqrt{expression}`
-- Superscripts: `x^2`
-- Subscripts: `x_1`
-- Greek letters: `\alpha`, `\beta`, `\gamma`, etc.
-- Integrals: `\int`
-- Summations: `\sum`
-- Limits: `\lim_{x \to 0}`
-
-More complex expressions combine these elements:
-
-``` tex
-$$\sum_{n=1}^{\infty} \frac{1}{n^2} = \frac{\pi^2}{6}$$
-
-$$\lim_{x \to 0} \frac{\sin x}{x} = 1$$
-```
-
-When exported to XHTML, mathematical expressions can be output as TeX
-notation for use with KaTeX or MathJax. Or as SVG images. When exported to PDF,
-the typesetting system renders expressions directly.
-
docs/07-advanced-markdown.md
+# Advanced Markdown
+
+This chapter covers advanced formatting features that enhance document structure and presentation. These features help create professional documents with rich content organization, proper cross-referencing, and typographic excellence.
+
+## Fenced divs
+
+Fenced divs provide transform into XHTML `div` elements. They allow semantic
+organization and styling beyond standard Markdown.
+
+### Basic syntax
+
+A fenced div starts with at least three colons (`:::`), followed by one or more
+spaces, and then any word. Content follows immediately on the next line.
+Fences must be terminated with at least three colons alone on a line. For
+example:
+
+``` markdown
+::: name
+Content
+:::
+```
+
+The output resembles:
+
+``` html
+<div class="name">
+<p>Content</p>
+</div>
+```
+
+### Extended syntax
+
+Fenced divs have an extended syntax for more influence over the presentation.
+The syntax allows for a unique identifier (marked with a hash, `#`), multiple classes (starting with a period, `.`), and key-value pairs (of the form `name=value`):
+
+``` markdown
+::: {#poem-01 .stanza author="Emily Dickinson" year=1890}
+Because I could not stop for Death --
+He kindly stopped for me --
+The Carriage held but just Ourselves --
+And Immortality.
+:::
+```
+
+This produces:
+
+``` html
+<div id="poem-01" class="stanza" data-author="Emily Dickinson" data-year="1890">
+<p>Because I could not stop for Death –
+He kindly stopped for me –
+The Carriage held but just Ourselves –
+And Immortality.</p>
+</div>
+```
+
+While this syntax is not strictly Markdown, it is well supported by a variety
+of other tools, including pandoc.
+
+### Nested syntax
+
+Fenced blocks may be nested to create complex document structures:
+
+``` markdown
+::: poem
+:::::: stanza
+Because I could not stop for Death --
+He kindly stopped for me --
+The Carriage held but just Ourselves --
+And Immortality.
+::::::
+:::
+```
+
+This produces nested `div` elements:
+
+``` html
+<div class="poem"><div class="stanza">
+<p>Because I could not stop for Death –
+He kindly stopped for me –
+The Carriage held but just Ourselves –
+And Immortality.</p>
+</div></div>
+```
+
+## Code blocks
+
+In technical documentation, including source code snippets can help illustrate
+concepts. The syntax for such snippets is exemplified in the following
+quintessential BASIC program:
+
+ ``` basic
+ 10 print "hi"
+ 20 goto 10
+ ```
+
+The word `basic` provides a hint to the presentation layer to colourise the
+syntax according to the rules of the BASIC programming language. Code blocks
+are also used to draw diagrams using text-based syntaxes. See
+[@sec:text-diagrams] for details.
+
+## Captions and cross-references
+
+Captions provide context and descriptions for tables, figures, equations, and
+so forth. Cross-references allow linking to these captioned items throughout
+the document.
+
+### Caption syntax
+
+Captions start with a double colon (`::`) separated by a blank line from the item they describe. The blank line is essential for proper formatting.
+
+For images:
+
+``` markdown
+![image title](https://example.com/image.png)
+
+:: Figure caption text
+```
+
+For tables:
+
+``` markdown
+| a | b | c |
+|---|---|---|
+| 1 | 2 | 3 |
+| 4 | 5 | 6 |
+
+:: Table caption text
+```
+
+For equations:
+
+``` markdown
+$$E = mc^2$$
+
+:: Equation caption text
+```
+
+### Cross-references
+
+Cross-references use anchor names and reference tags to link to captioned
+items. The syntax is:
+
+- `{#type-name:label}` for defining an anchor name
+- `[@type-name:label]` for referencing the anchor elsewhere
+
+Example with image and cross-reference:
+
+``` markdown
+In [@fig:animal], a cute animal is shown.
+
+![image title](https://example.com/cat.png)
+
+:: World's cutest animal {#fig:animal}
+
+There is no cuter animal than the one in [@fig:animal].
+```
+
+Anchors can include a wide variety of type names and labels, such as:
+
+``` markdown
+{#fig:cats}
+{#图版:猫}
+{#eq:mass-energy}
+{#eqn:laplace}
+```
+
+### Predefined type names
+
+To simplify writing captions and references, predefined type names correspond
+to labels commonly used in documents. These labels automatically generate
+suitable names. [@tbl:type-names] lists predefined cross-reference type names
+along with their associated labels, which are inserted automatically into the
+document.
+
+| Type name | English name |
+|----------------------------------|--------------|
+| algorithm, alg | Algorithm |
+| equation, eqn, eq | Equation |
+| figure, fig | Figure |
+| formula | Formula |
+| listing, list, lst, source, src | Listing |
+| lyric | Lyrics |
+| music, score | Score |
+| table, tbl, tab | Table |
+
+:: Predefined cross-reference types and labels {#tbl:type-names}
+
+## Quotation marks
+
+Understanding quotation mark encoding helps ensure proper typography in both digital and print formats. Different encoding options provide flexibility for various output requirements.
+
+[@tbl:quote-encoding] lists available encoding choices.
+
+| Option | Encoding | Description |
+|----------|------------|---------------------------------------------|
+| regular | | Do not encode |
+| apos | `&apos;` | Curled when typeset to PDF |
+| aposhex | `&#x27;` | Apostrophe's numeric value |
+| quote | `&rsquo;` | Right single quotation mark |
+| quotehex | `&#8217;` | Right single quotation mark's numeric value |
+| modifier | `&#x2bc;` | The modifier letter apostrophe |
+
+:: Single straight quote encoding options {#tbl:quote-encoding}
+
+When typesetting to PDF, only the semantically correct `&apos;` value will be
+curled automatically.
+
+### History
+
+The origins of quotation marks trace back to scholarly annotation practices in
+Ancient Greece. Greek scribes used marginal symbols like the diplé (`⟩`) to
+highlight notable passages. A variant, the diplé periestigmene (`⸖`)—a diplé
+accompanied by dots—was used by scholars to indicate disagreement with earlier
+interpretations. These marks laid groundwork for distinguishing quoted text.
+
+By the seventeenth century, quotation marks appeared regularly in printed
+texts. Western European typographers in the nineteenth century adopted the
+convention of turning quotation mark pairs outward, creating the familiar
+"double curved" style.
+
+Early mechanical typewriters lacked many punctuation marks. Straight single and
+double quotes served multiple roles: quotation marks, apostrophes, feet and
+inches, and mathematical primes. Computer character sets later codified
+straight quotes, creating ongoing typographical challenges.
+
+Modern standards recommend using the right single quotation mark (`’`) for
+apostrophes, though this creates semantic ambiguity since the same character
+closes dialogue. Consider the sentence:
+
+> Ambiguity lurks in \"\'cause the horses\'\".
+
+The meaning of `'cause` (*because* vs. *induce*) determines whether to use an
+opening quote or apostrophe, highlighting how historical decisions still impact
+modern typography.
+
+## Mathematics
+
+Mathematical expressions can be embedded using TeX notation, to typeset
+formulas and equations.
+
+### Inline mathematics
+
+For inline mathematical expressions, enclose TeX code in single dollar signs:
+
+``` tex
+The equation $x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$ is the quadratic formula.
+```
+
+### Display mathematics
+
+For standalone equations, use double dollar signs:
+
+``` tex
+$$\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}$$
+```
+
+### Common TeX notation
+
+Basic mathematical elements use standard TeX syntax:
+
+- Fractions: `\frac{numerator}{denominator}`
+- Square roots: `\sqrt{expression}`
+- Superscripts: `x^2`
+- Subscripts: `x_1`
+- Greek letters: `\alpha`, `\beta`, `\gamma`, etc.
+- Integrals: `\int`
+- Summations: `\sum`
+- Limits: `\lim_{x \to 0}`
+
+More complex expressions combine these elements:
+
+``` tex
+$$\sum_{n=1}^{\infty} \frac{1}{n^2} = \frac{\pi^2}{6}$$
+
+$$\lim_{x \to 0} \frac{\sin x}{x} = 1$$
+```
+
+When exported to XHTML, mathematical expressions can be output as TeX
+notation for use with KaTeX or MathJax. Or as SVG images. When exported to PDF,
+the typesetting system renders expressions directly.
+
docs/user-manual.pdf
Binary files differ