But HTML mode does provide more support than this. We'll take the simplest case first. Let's say you can create a character with your keyboard; for a common case, take the ampersand, a character that must be encoded since it has a special meaning in HTML. Type C-c C-n & Enter. Emacs inserts the entity for an ampersand, &. You can insert entities for a wide variety of keyboard characters this way.
But let's say that you are inserting characters that are not on your keyboard. For example, perhaps you are in the U.S. writing up a list of contributors from Europe and many of their names have accent marks. The ISO Latin-1 character set will handle this.
If you have a keyboard that already emits Latin-1 characters and Latin-1 is your default coding system for keyboard input, inserting such characters is relatively straightforward. Simply press C-c 8 to turn on a minor mode called SGML name entity mode. Emacs says sgml name entity mode is now on.[44] C-c 8 toggles this state. Type Latin-1 characters as you normally would and Emacs inserts the named entities associated with those characters.
For those of us with other keyboard encodings, however, there's a bit more to do. To get bindings to insert entities into your HTML file, we discuss two options. The first is ISO accents mode. This mode provides support, as the name implies, for accented text. Whether you're typing umlauts, cedillas, circumflexes, acute, or grave marks, ISO accents mode is up to the task. The other option is to use the C-x 8 prefix to insert a wide range of entities, including currency signs, mathematical symbols, and copyright signs (as well as all the accented characters ISO accents mode supports).
8.3.1.1.1 Using ISO accents mode
To use ISO accents mode to insert entities in your file, type C-c 8 to turn on SGML name entity mode, then M-x iso-accents-mode Enter to turn on that mode. In ISO accents mode, certain characters (including /, ~, ', ", `, and ^) are interpreted as prefixes to create accented characters. SGML name entity mode captures these keystrokes and automatically inserts the appropriate HTML entity. For example, typing 'a produces the HTML entity for á, á. For specific key bindings, see Table 8-2.
8.3.1.1.2 Using the C-x 8 prefix
You can also insert a wide range of entities using C-x 8 after you do some setup.[45] First enter SGML name entity mode by typing C-c 8. Next specify Latin-1 as your character set by typing C-x Enter k latin-1 Enter. You can then enter a large number of entities by typing commands prefixed with C-x 8. For example, to insert the entity for a yen symbol, type C-x 8 Y. Watch the minibuffer. The literal character will appear in the minibuffer as the entity is inserted. Both ISO accents mode and the C-x 8 prefixes allow you to type a single undo command (C-_) to translate the entity back into the literal character.
Table 8-2 provides a list of accented characters and the bindings that help insert them. Table 8-3 lists other named entities including punctuation marks and symbols.
Table 8-2. Bindings for inserting entities for accented characters[46]
| C-x 8 prefix keystrokes | ISO accents mode shortcut | Character entity | Character displayed in browser |
|---|---|---|---|
| C-x 8 " | " | ´ |
´ |
| C-x 8 ' a | ' a | á |
á |
| C-x 8 ' A | ' A | Á |
Á |
| C-x 8 ' e | ' e | é |
é |
| C-x 8 ' E | ' E | É |
É |
| C-x 8 ' i | ' i | í |
í |
| C-x 8 ' I | ' I | Í |
Í |
| C-x 8 ' o | ' o | ó |
ó |
| C-x 8 ' O | ' O | Ó |
Ó |
| C-x 8 ' u | ' u | ú |
ú |
| C-x 8 ' U | ' U | Ú |
Ú |
| C-x 8 ' y | ' y | ý |
ý |
| C-x 8 ' Y |