The thorn Reference Manual

This is the thorn Reference Manual, version 0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 18:05:05 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 thorn

A CommonDoc extension for entering special characters.

Maintainer

Fernando Borretti <>

Author

Fernando Borretti <>

Home Page

https://github.com/CommonDoc/thorn

Source Control

(GIT git@github.com:CommonDoc/thorn.git)

Bug Tracker

https://github.com/CommonDoc/thorn/issues

License

MIT

Long Description

# Thorn

[![Build Status](https://travis-ci.org/CommonDoc/thorn.svg?branch=master)](https://travis-ci.org/CommonDoc/thorn)

A CommonDoc extension for inserting special characters.

# Overview

Most input methods allow the user to insert characters in different alphabets
and accented or modified versions of the same, but these are different for
everyone and often the user will end up looking up a character by name.

Thorn is a tool for inserting Unicode characters by an ASCII name, the way TeX
allows users to insert the letters α and þ with the commands ‘\alpha‘ and ‘\th‘,
respectively.

Simply put, it defines a macro that maps a string to a Unicode character.

# Usage

To insert a character by name, use the ‘l‘ macro (For ’letter’). The content of
that macro should be a single text node.

For example, in VerTeX, the following:

“‘tex
The fine-structure constant, \l{alpha}, is approximately 7.29e\sup{-3}.
“‘

Produces this:

>The fine-structure constant, α, is approximately 7.29e<sup>-3</sup>.

# List of Characters

## Diacritical Marks

### Acute Accent

| Name | Character |
| —- | ——— |
| “‘ ’a “‘ | á |
| “‘ ’A “‘ | Á |
| “‘ ’c “‘ | ć |
| “‘ ’C “‘ | Ć |
| “‘ ’e “‘ | é |
| “‘ ’E “‘ | É |
| “‘ ’g “‘ | ǵ |
| “‘ ’G “‘ | Ǵ |
| “‘ ’i “‘ | í |
| “‘ ’I “‘ | Í |
| “‘ ’k “‘ | ḱ |
| “‘ ’K “‘ | Ḱ |
| “‘ ’l “‘ | ĺ |
| “‘ ’L “‘ | Ĺ |
| “‘ ’m “‘ | ḿ |
| “‘ ’M “‘ | Ḿ |
| “‘ ’n “‘ | ń |
| “‘ ’N “‘ | Ń |
| “‘ ’o “‘ | ó |
| “‘ ’O “‘ | Ó |
| “‘ ’p “‘ | ṕ |
| “‘ ’P “‘ | Ṕ |
| “‘ ’r “‘ | ŕ |
| “‘ ’R “‘ | Ŕ |
| “‘ ’s “‘ | ś |
| “‘ ’S “‘ | Ś |
| “‘ ’u “‘ | ú |
| “‘ ’U “‘ | Ú |
| “‘ ’w “‘ | ẃ |
| “‘ ’W “‘ | Ẃ |
| “‘ ’y “‘ | ý |
| “‘ ’Y “‘ | Ý |
| “‘ ’z “‘ | ź |
| “‘ ’Z “‘ | Ź |

### Double Acute Accent

| Name | Character |
| —- | ——— |
| “‘ ”a “‘ | a̋ |
| “‘ ”A “‘ | A̋ |
| “‘ ”e “‘ | e̋ |
| “‘ ”E “‘ | E̋ |
| “‘ ”i “‘ | i̋ |
| “‘ ”I “‘ | I̋ |
| “‘ ”o “‘ | ő |
| “‘ ”O “‘ | Ő |
| “‘ ”u “‘ | ű |
| “‘ ”U “‘ | Ű |

## Scripts

### Greek

| Name | Character |
| —- | ——— |
| “‘ alpha “‘ | α |
| “‘ Alpha “‘ | Α |
| “‘ beta “‘ | β |
| “‘ Beta “‘ | Β |
| “‘ gamma “‘ | γ |
| “‘ Gamma “‘ | Γ |
| “‘ delta “‘ | δ |
| “‘ Delta “‘ | Δ |
| “‘ epsilon “‘ | ε |
| “‘ Epsilon “‘ | Ε |
| “‘ zeta “‘ | ζ |
| “‘ Zeta “‘ | Ζ |
| “‘ eta “‘ | η |
| “‘ Eta “‘ | Η |
| “‘ theta “‘ | θ |
| “‘ Theta “‘ | Θ |
| “‘ iota “‘ | ι |
| “‘ Iota “‘ | Ι |
| “‘ kappa “‘ | κ |
| “‘ Kappa “‘ | Κ |
| “‘ lambda “‘ | λ |
| “‘ Lambda “‘ | Λ |
| “‘ mu “‘ | μ |
| “‘ Mu “‘ | Μ |
| “‘ nu “‘ | ν |
| “‘ Nu “‘ | Ν |
| “‘ xi “‘ | ξ |
| “‘ Xi “‘ | Ξ |
| “‘ omicron “‘ | ο |
| “‘ Omicron “‘ | Ο |
| “‘ pi “‘ | π |
| “‘ Pi “‘ | Π |
| “‘ rho “‘ | ρ |
| “‘ Rho “‘ | Ρ |
| “‘ sigma “‘ | σ |
| “‘ fsigma “‘ | ς |
| “‘ Sigma “‘ | Σ |
| “‘ tau “‘ | τ |
| “‘ Tau “‘ | Τ |
| “‘ upsilon “‘ | υ |
| “‘ Upsilon “‘ | Υ |
| “‘ phi “‘ | φ |
| “‘ Phi “‘ | Φ |
| “‘ chi “‘ | χ |
| “‘ Chi “‘ | Χ |
| “‘ psi “‘ | ψ |
| “‘ Psi “‘ | Ψ |
| “‘ omega “‘ | ω |
| “‘ Omega “‘ | Ω |

## Punctuation

| Name | Character |
| —- | ——— |
| “‘ ndash “‘ | – |
| “‘ mdash “‘ | — |
| “‘ sdash “‘ | ⁓ |

# Sources

The following were consulted in the elaboration of this list:

* [Special Characters][latex-special] chapter in the LaTeX wikibook.
* The [list of XML/HTML entities][entities].
* The [Comprehensive LaTeX Symbol List][symbols].

[latex-special]: https://en.wikibooks.org/wiki/LaTeX/Special_Characters
[entities]: https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references
[symbols]: http://ctan.mirror.rafal.ca/info/symbols/comprehensive/symbols-a4.pdf

# License

Copyright (c) 2015 Fernando Borretti

Licensed under the MIT License.

Version

0.1

Dependency

common-doc (system).

Source

thorn.asd.

Child Component

src (module).


3 Modules

Modules are listed depth-first from the system components tree.


3.1 thorn/src

Source

thorn.asd.

Parent Component

thorn (system).

Child Component

thorn.lisp (file).


4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


4.1 Lisp


4.1.1 thorn/thorn.asd

Source

thorn.asd.

Parent Component

thorn (system).

ASDF Systems

thorn.


4.1.2 thorn/src/thorn.lisp

Source

thorn.asd.

Parent Component

src (module).

Packages

thorn.

Public Interface
Internals

5 Packages

Packages are listed by definition order.


5.1 thorn

The main package of Thorn.

Source

thorn.lisp.

Use List

common-lisp.

Public Interface
Internals

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


6.1 Public Interface


6.1.1 Special variables

Special Variable: *character-table*

A hash table that maps the name of a character to its resulting string.

Package

thorn.

Source

thorn.lisp.


6.1.2 Standalone methods

Method: expand-macro ((node letter))

Expand the letter macro.

Package

common-doc.macro.

Source

thorn.lisp.


6.1.3 Classes

Class: letter

Letter macro.

Package

thorn.

Source

thorn.lisp.

Direct superclasses

macro-node.

Direct methods

expand-macro.


6.2 Internals


6.2.1 Special variables

Special Variable: *characters*
Package

thorn.

Source

thorn.lisp.


6.2.2 Ordinary functions

Function: build-character-table ()

Recur through *characters*, building a hash table of characters.

Package

thorn.

Source

thorn.lisp.


Appendix A Indexes


A.1 Concepts