10.13 The LATEX world of symbols

Shortly after TEX and METAFONT came into existence, people started to develop new symbol fonts for use with the system. Over time the set of available symbols grew to a considerable number. The Comprehensive LATEX Symbol List by Scott Pakin [161] lists more than 18000 symbols on 422 pages1 and the corresponding LaTEX commands that produce them. For some symbols the necessary fonts and support packages may have to be obtained (e.g., from a CTAN host; see Appendix C.4.1) and installed by the user. They are usually accompanied by installation instructions and general documentation. Obviously, the few fonts and packages described in this section form only a small

subset of what is available. If you cannot find a symbol here, the 422 pages of [161] are a valuable resource for locating what you need.

There are also a few online resources that can be very helpful: you draw the

10.13.1 pifont — Accessing Pi and Symbol fonts

Fonts containing collections of special symbols, which are normally not found in a text font, are called Pi fonts. One such font, the PostScript font Zapf Dingbats, is available if you use the pifont package originally written by Sebastian Rahtz (1955–2016).

The directly accessible characters of the PostScript Zapf Dingbats font are shown

10.13.2 wasysym — Waldi’s symbol font

Waldi’s symbol font (wasy), designed by Roland Waldi, was one of the first Pi fonts that was developed especially for use with LaTEX. It offers a wide range of symbols from different areas, including astronomical and astrological symbols, APL, musical notes, circles, polygons, and stars, that were not available otherwise (see Table 10.91). These days several of those have found their way into amsmath or into the TS1 text companion encoding and are thus readily available without using the font. However, there are still many symbols that are not or that are of interest because of their design.

The wasysym package developed by Axel Kielhorn defines command names like to access each glyph. Alternatively, if you want only a few glyphs from the font, you can use the pifont interface and access the symbols directly under its NFSS family name wasy.

10.13.3 marvosym — Interface to the MarVoSym font

The MarVoSym font designed by Martin Vogel is another Pi font containing symbols from various areas including quite uncommon ones, such as laundry signs (in case you are doing your own laundry lists ©), astronomy and astrology symbols, and many others. In 2015 Martin wrote in his blog that he thinks the font is no longer needed as most characters are by now in Unicode fonts, but it is still quite popular in the LaTEX world, because the glyphs are well done and not easy to obtain otherwise.

The LaTEX support package marvosym was written by Thomas Henlich, who also converted the font from TrueType format to Type 1. His package defines command names for all symbols, some of which are listed in the next example; the full set is given in marvodoc.pdf accompanying the distribution.

10.13.4 adforn — Adding ornaments to your document

A more recent addition to the symbol fonts for use with LaTEX is the Ornements ADF font designed by Hirwen Harendal. The ornaments made available by this font are shown in Table 10.93. (Ornements is the French spelling in case you are wondering.)

LaTEX support is provided through the package adforn by Clea F. Rees, which defines the command to access symbols by slot-number (which is yet another application of from the pifont package, this time using the family name OrnementsADF). In addition to the numerical interface each ornament is also available through an individual LaTEX command; e.g., and would both produce Q. Clearly the longer command names have the advantage that you can easily guess what they represent, but you have to look them up in the package documentation, while the slot numbers are readily available from Table 10.93.

10.13.5 fourier-orns — GUTenberg-Fourier’s ornaments

The Fourier Ornaments font, designed by Michel Bovani, is part of the FourierGUTenberg setup, but it is also available on its own through the fourier-orns package. The available glyphs are shown in Table 10.94. The package defines names, for each symbol, e.g., , , or (-, T, O), but of course, you can alternatively access them directly through the pifont package using the family name futs, as we show below.

The interesting pilcrow symbols in slots “33 to”38 are accessible through the commands , , . . . , after loading the package; below we access them by slot number instead.1 If you use them in your text, you have to make sure that you choose in each case the one with the appropriate length based on the position in the paragraph — the tail takes up no space and thus sticks into the margin if it gets too close.

10.13.6 Web-O-Mints — Another collection of ornaments and borders

The Web-O-Mints font, designed by George Ryan, provides a number of typographical decorations inspired by historical sources.2 Basic LaTEX support in the form of mapping and font definition files has been provided by Maurizio Loreti. Due to the font license, the font and the LaTEX support files have to be manually installed using getnonfreefonts (at least with TEX Live).

The example below defines a few commands to access the font, which has the family name webo. The command expects slot numbers that we can read off Table 10.95, whereas the second argument of expects ASCII characters and simply draws the glyphs that are in their slot position (you may have to guess those or look them up in a font table of a text font).

10.13.7 fontawesome5 — Accessing Font Awesome icons

Font Awesome in version 5 is a collection of more than 5000 icons out of which roughly 1500 are available under a free license.

The icons have been packaged for use with all LaTEX engines by Marcel Krüger. The support package is fontawesome5, which defines command names for every glyph. The naming convention is to take the glyph name,1 convert it to CamelCase, and prefix it with . For example, the icon map-marker would be accessed as , generating *. Alternatively, you can use , which expects the official icon names as its argument, i.e., for the map marker symbol. A number of icons also have alternative versions (names that end in -alt). They can be accessed by using the star form of the base command; e.g., * gives +.

10.13.8 tipa — International Phonetic Alphabet symbols

The TIPA bundle [52] developed by FUKUI Rei consists of a set of fonts and a corresponding package to enable typesetting of phonetic symbols with LaTEX. TIPA contains all the symbols, including diacritics, defined in the 1979, 1989, 1993, and 1996 versions of the International Phonetic Alphabet (IPA). Besides IPA symbols, TIPA contains symbols that are useful for other areas of phonetics and linguistics, e.g.:

• Symbols used in American phonetics, for example, ŕ, ď, ś, and ń;

• Symbols used in the historical study of Indo-European languages, such as þ, ß, ß, Þ, ž, ż, and accents such as ´ ¯ a and §e;

• Symbols used in the phonetic description of languages in East Asia, such as 1, ğ, ć, ő, ť (needs option extra);

• Diacritics used in extIPA Symbols for Disordered Speech and VoQS (Voice Quality Symbols), for example, ”n” , f “” , and m (needs option ˜Ŕ extra).

The IPA symbols are encoded in the standard LaTEX encoding T3, for which the package tipa provides additional support macros. The encoding is available for the font families Computer Modern Roman, Sans, and Typewriter (based on the METAFONT designs for Computer Modern by Donald Knuth), as well as for older implementations of Times Roman and Helvetica; see below.

Strictly speaking, T3 is not a proper LaTEX text encoding, as it does not contain the visible ASCII characters in their standard positions. However, one can take the position that phonetic symbols form a language of their own, and for this language, the TIPA system provides a highly optimized input interface in which digits and uppercase letters serve as convenient shortcuts (see Table 10.105 on the next page) to input common phonetic symbols within the argument of or the environment IPA. All phonetic symbols are also available in long form; for example, to produce a @ one can use . The following example shows the TIPA system in a Times and Helvetica environment. Unfortunately, tipa offers direct support only for the old font family names ptm and phv. Thus, to use it with the modern TEX Gyre fonts Termes and Heros, we have to explicitly substitute the old family names in T3 encoding.