Browse Source

Implement new entity family "\...."

* lisp/org-element.el (org-element--set-regexps):
(org-element-entity-parser): Update regexps for entities.

* lisp/org-entities.el (org-entities): Add new entities.

* lisp/org.el (org-fontify-entities): Add comment.

* etc/ORG-NEWS (title): Introduce new entities.

"\..." are used to insert an arbitrary number of spaces in various
back-ends.  In particular, this family can be used to introduce
leading spaces within table cells.

Also, unlike to other entities, these can be used mid-word, e.g.,

  wo\....rd

Curly brackets can still be added before a dot, e.g.,

  This is the end\...{}.
Nicolas Goaziou 10 years ago
parent
commit
22f942b481
4 changed files with 462 additions and 435 deletions
  1. 12 0
      etc/ORG-NEWS
  2. 2 2
      lisp/org-element.el
  3. 445 433
      lisp/org-entities.el
  4. 3 0
      lisp/org.el

+ 12 - 0
etc/ORG-NEWS

@@ -316,6 +316,18 @@ It is now possible to supply and optional formatting argument to
 *** New option ~org-export-with-title~
 *** New option ~org-export-with-title~
 It is possible to suppress the title insertion with ~#+OPTIONS:
 It is possible to suppress the title insertion with ~#+OPTIONS:
 title:nil~ or globally using the variable ~org-export-with-title~.
 title:nil~ or globally using the variable ~org-export-with-title~.
+*** New entities family: "\...."
+"\..." are used to insert up to 20 contiguous spaces in various
+back-ends.  In particular, this family can be used to introduce
+leading spaces within table cells.
+
+Also, unlike to other entities, these can be used mid-word, e.g.,
+
+  wo\..rd
+
+Curly brackets can still be added before a dot, e.g.,
+
+  This is the end\...{}.
 *** New MathJax configuration options.
 *** New MathJax configuration options.
 Org uses the MathJax CDN by default.  See the manual and the docstring
 Org uses the MathJax CDN by default.  See the manual and the docstring
 of ~org-html-mathjax-options~ for details.
 of ~org-html-mathjax-options~ for details.

+ 2 - 2
lisp/org-element.el

@@ -207,7 +207,7 @@ specially in `org-element--object-lex'.")
 		      "\\$"
 		      "\\$"
 		      ;; Objects starting with "\": line break,
 		      ;; Objects starting with "\": line break,
 		      ;; entity, latex fragment.
 		      ;; entity, latex fragment.
-		      "\\\\\\(?:[a-zA-Z[(]\\|\\\\[ \t]*$\\)"
+		      "\\\\\\(?:[a-zA-Z[(.]\\|\\\\[ \t]*$\\)"
 		      ;; Objects starting with raw text: inline Babel
 		      ;; Objects starting with raw text: inline Babel
 		      ;; source block, inline Babel call.
 		      ;; source block, inline Babel call.
 		      "\\(?:call\\|src\\)_"))
 		      "\\(?:call\\|src\\)_"))
@@ -2722,7 +2722,7 @@ a plist with `:begin', `:end', `:latex', `:latex-math-p',
 
 
 Assume point is at the beginning of the entity."
 Assume point is at the beginning of the entity."
   (catch 'no-object
   (catch 'no-object
-    (when (looking-at "\\\\\\(there4\\|sup[123]\\|frac[13][24]\\|[a-zA-Z]+\\)\\($\\|{}\\|[^[:alpha:]]\\)")
+    (when (looking-at "\\\\\\(?:\\(\\.+\\)\\({}\\)?\\|\\(there4\\|sup[123]\\|frac[13][24]\\|[a-zA-Z]+\\)\\($\\|{}\\|[^[:alpha:]]\\)\\)")
       (save-excursion
       (save-excursion
 	(let* ((value (or (org-entity-get (match-string 1))
 	(let* ((value (or (org-entity-get (match-string 1))
 			  (throw 'no-object nil)))
 			  (throw 'no-object nil)))

+ 445 - 433
lisp/org-entities.el

@@ -84,439 +84,451 @@ packages to be loaded, add these packages to `org-latex-packages-alist'."
   :safe #'org-entities--user-safe-p)
   :safe #'org-entities--user-safe-p)
 
 
 (defconst org-entities
 (defconst org-entities
-  '(
-    "* Letters"
-    "** Latin"
-    ("Agrave" "\\`{A}" nil "À" "A" "À" "À")
-    ("agrave" "\\`{a}" nil "à" "a" "à" "à")
-    ("Aacute" "\\'{A}" nil "Á" "A" "Á" "Á")
-    ("aacute" "\\'{a}" nil "á" "a" "á" "á")
-    ("Acirc" "\\^{A}" nil "Â" "A" "Â" "Â")
-    ("acirc" "\\^{a}" nil "â" "a" "â" "â")
-    ("Atilde" "\\~{A}" nil "Ã" "A" "Ã" "Ã")
-    ("atilde" "\\~{a}" nil "ã" "a" "ã" "ã")
-    ("Auml" "\\\"{A}" nil "Ä" "Ae" "Ä" "Ä")
-    ("auml" "\\\"{a}" nil "ä" "ae" "ä" "ä")
-    ("Aring" "\\AA{}" nil "Å" "A" "Å" "Å")
-    ("AA" "\\AA{}" nil "Å" "A" "Å" "Å")
-    ("aring" "\\aa{}" nil "å" "a" "å" "å")
-    ("AElig" "\\AE{}" nil "Æ" "AE" "Æ" "Æ")
-    ("aelig" "\\ae{}" nil "æ" "ae" "æ" "æ")
-    ("Ccedil" "\\c{C}" nil "Ç" "C" "Ç" "Ç")
-    ("ccedil" "\\c{c}" nil "ç" "c" "ç" "ç")
-    ("Egrave" "\\`{E}" nil "È" "E" "È" "È")
-    ("egrave" "\\`{e}" nil "è" "e" "è" "è")
-    ("Eacute" "\\'{E}" nil "É" "E" "É" "É")
-    ("eacute" "\\'{e}" nil "é" "e" "é" "é")
-    ("Ecirc" "\\^{E}" nil "Ê" "E" "Ê" "Ê")
-    ("ecirc" "\\^{e}" nil "ê" "e" "ê" "ê")
-    ("Euml" "\\\"{E}" nil "Ë" "E" "Ë" "Ë")
-    ("euml" "\\\"{e}" nil "ë" "e" "ë" "ë")
-    ("Igrave" "\\`{I}" nil "Ì" "I" "Ì" "Ì")
-    ("igrave" "\\`{i}" nil "ì" "i" "ì" "ì")
-    ("Iacute" "\\'{I}" nil "Í" "I" "Í" "Í")
-    ("iacute" "\\'{i}" nil "í" "i" "í" "í")
-    ("Icirc" "\\^{I}" nil "Î" "I" "Î" "Î")
-    ("icirc" "\\^{i}" nil "î" "i" "î" "î")
-    ("Iuml" "\\\"{I}" nil "Ï" "I" "Ï" "Ï")
-    ("iuml" "\\\"{i}" nil "ï" "i" "ï" "ï")
-    ("Ntilde" "\\~{N}" nil "Ñ" "N" "Ñ" "Ñ")
-    ("ntilde" "\\~{n}" nil "ñ" "n" "ñ" "ñ")
-    ("Ograve" "\\`{O}" nil "Ò" "O" "Ò" "Ò")
-    ("ograve" "\\`{o}" nil "ò" "o" "ò" "ò")
-    ("Oacute" "\\'{O}" nil "Ó" "O" "Ó" "Ó")
-    ("oacute" "\\'{o}" nil "ó" "o" "ó" "ó")
-    ("Ocirc" "\\^{O}" nil "Ô" "O" "Ô" "Ô")
-    ("ocirc" "\\^{o}" nil "ô" "o" "ô" "ô")
-    ("Otilde" "\\~{O}" nil "Õ" "O" "Õ" "Õ")
-    ("otilde" "\\~{o}" nil "õ" "o" "õ" "õ")
-    ("Ouml" "\\\"{O}" nil "Ö" "Oe" "Ö" "Ö")
-    ("ouml" "\\\"{o}" nil "ö" "oe" "ö" "ö")
-    ("Oslash" "\\O" nil "Ø" "O" "Ø" "Ø")
-    ("oslash" "\\o{}" nil "ø" "o" "ø" "ø")
-    ("OElig" "\\OE{}" nil "Œ" "OE" "OE" "Œ")
-    ("oelig" "\\oe{}" nil "œ" "oe" "oe" "œ")
-    ("Scaron" "\\v{S}" nil "Š" "S" "S" "Š")
-    ("scaron" "\\v{s}" nil "š" "s" "s" "š")
-    ("szlig" "\\ss{}" nil "ß" "ss" "ß" "ß")
-    ("Ugrave" "\\`{U}" nil "Ù" "U" "Ù" "Ù")
-    ("ugrave" "\\`{u}" nil "ù" "u" "ù" "ù")
-    ("Uacute" "\\'{U}" nil "Ú" "U" "Ú" "Ú")
-    ("uacute" "\\'{u}" nil "ú" "u" "ú" "ú")
-    ("Ucirc" "\\^{U}" nil "Û" "U" "Û" "Û")
-    ("ucirc" "\\^{u}" nil "û" "u" "û" "û")
-    ("Uuml" "\\\"{U}" nil "Ü" "Ue" "Ü" "Ü")
-    ("uuml" "\\\"{u}" nil "ü" "ue" "ü" "ü")
-    ("Yacute" "\\'{Y}" nil "Ý" "Y" "Ý" "Ý")
-    ("yacute" "\\'{y}" nil "ý" "y" "ý" "ý")
-    ("Yuml" "\\\"{Y}" nil "Ÿ" "Y" "Y" "Ÿ")
-    ("yuml" "\\\"{y}" nil "ÿ" "y" "ÿ" "ÿ")
-
-    "** Latin (special face)"
-    ("fnof" "\\textit{f}" nil "ƒ" "f" "f" "ƒ")
-    ("real" "\\Re" t "ℜ" "R" "R" "ℜ")
-    ("image" "\\Im" t "ℑ" "I" "I" "ℑ")
-    ("weierp" "\\wp" t "℘" "P" "P" "℘")
-    ("ell" "\\ell" t "ℓ" "ell" "ell" "ℓ")
-    ("imath" "\\imath" t "ı" "[dotless i]" "dotless i" "ı")
-    ("jmath" "\\jmath" t "ȷ" "[dotless j]" "dotless j" "ȷ")
-
-    "** Greek"
-    ("Alpha" "A" nil "Α" "Alpha" "Alpha" "Α")
-    ("alpha" "\\alpha" t "α" "alpha" "alpha" "α")
-    ("Beta" "B" nil "Β" "Beta" "Beta" "Β")
-    ("beta" "\\beta" t "β" "beta" "beta" "β")
-    ("Gamma" "\\Gamma" t "Γ" "Gamma" "Gamma" "Γ")
-    ("gamma" "\\gamma" t "γ" "gamma" "gamma" "γ")
-    ("Delta" "\\Delta" t "Δ" "Delta" "Gamma" "Δ")
-    ("delta" "\\delta" t "δ" "delta" "delta" "δ")
-    ("Epsilon" "E" nil "Ε" "Epsilon" "Epsilon" "Ε")
-    ("epsilon" "\\epsilon" t "ε" "epsilon" "epsilon" "ε")
-    ("varepsilon" "\\varepsilon" t "ε" "varepsilon" "varepsilon" "ε")
-    ("Zeta" "Z" nil "Ζ" "Zeta" "Zeta" "Ζ")
-    ("zeta" "\\zeta" t "ζ" "zeta" "zeta" "ζ")
-    ("Eta" "H" nil "Η" "Eta" "Eta" "Η")
-    ("eta" "\\eta" t "η" "eta" "eta" "η")
-    ("Theta" "\\Theta" t "Θ" "Theta" "Theta" "Θ")
-    ("theta" "\\theta" t "θ" "theta" "theta" "θ")
-    ("thetasym" "\\vartheta" t "ϑ" "theta" "theta" "ϑ")
-    ("vartheta" "\\vartheta" t "ϑ" "theta" "theta" "ϑ")
-    ("Iota" "I" nil "Ι" "Iota" "Iota" "Ι")
-    ("iota" "\\iota" t "ι" "iota" "iota" "ι")
-    ("Kappa" "K" nil "Κ" "Kappa" "Kappa" "Κ")
-    ("kappa" "\\kappa" t "κ" "kappa" "kappa" "κ")
-    ("Lambda" "\\Lambda" t "Λ" "Lambda" "Lambda" "Λ")
-    ("lambda" "\\lambda" t "λ" "lambda" "lambda" "λ")
-    ("Mu" "M" nil "Μ" "Mu" "Mu" "Μ")
-    ("mu" "\\mu" t "μ" "mu" "mu" "μ")
-    ("nu" "\\nu" t "ν" "nu" "nu" "ν")
-    ("Nu" "N" nil "Ν" "Nu" "Nu" "Ν")
-    ("Xi" "\\Xi" t "Ξ" "Xi" "Xi" "Ξ")
-    ("xi" "\\xi" t "ξ" "xi" "xi" "ξ")
-    ("Omicron" "O" nil "Ο" "Omicron" "Omicron" "Ο")
-    ("omicron" "\\textit{o}" nil "ο" "omicron" "omicron" "ο")
-    ("Pi" "\\Pi" t "Π" "Pi" "Pi" "Π")
-    ("pi" "\\pi" t "π" "pi" "pi" "π")
-    ("Rho" "P" nil "Ρ" "Rho" "Rho" "Ρ")
-    ("rho" "\\rho" t "ρ" "rho" "rho" "ρ")
-    ("Sigma" "\\Sigma" t "Σ" "Sigma" "Sigma" "Σ")
-    ("sigma" "\\sigma" t "σ" "sigma" "sigma" "σ")
-    ("sigmaf" "\\varsigma" t "ς" "sigmaf" "sigmaf" "ς")
-    ("varsigma" "\\varsigma" t "ς" "varsigma" "varsigma" "ς")
-    ("Tau" "T" nil "Τ" "Tau" "Tau" "Τ")
-    ("Upsilon" "\\Upsilon" t "Υ" "Upsilon" "Upsilon" "Υ")
-    ("upsih" "\\Upsilon" t "ϒ" "upsilon" "upsilon" "ϒ")
-    ("upsilon" "\\upsilon" t "υ" "upsilon" "upsilon" "υ")
-    ("Phi" "\\Phi" t "Φ" "Phi" "Phi" "Φ")
-    ("phi" "\\phi" t "φ" "phi" "phi" "φ")
-    ("varphi" "\\varphi" t "ϕ" "varphi" "varphi" "ɸ")
-    ("Chi" "X" nil "Χ" "Chi" "Chi" "Χ")
-    ("chi" "\\chi" t "χ" "chi" "chi" "χ")
-    ("acutex" "\\acute x" t "´x" "'x" "'x" "𝑥́")
-    ("Psi" "\\Psi" t "Ψ" "Psi" "Psi" "Ψ")
-    ("psi" "\\psi" t "ψ" "psi" "psi" "ψ")
-    ("tau" "\\tau" t "τ" "tau" "tau" "τ")
-    ("Omega" "\\Omega" t "Ω" "Omega" "Omega" "Ω")
-    ("omega" "\\omega" t "ω" "omega" "omega" "ω")
-    ("piv" "\\varpi" t "ϖ" "omega-pi" "omega-pi" "ϖ")
-    ("varpi" "\\varpi" t "ϖ" "omega-pi" "omega-pi" "ϖ")
-    ("partial" "\\partial" t "∂" "[partial differential]" "[partial differential]" "∂")
-
-    "** Hebrew"
-    ("alefsym" "\\aleph" t "ℵ" "aleph" "aleph" "ℵ")
-    ("aleph" "\\aleph" t "ℵ" "aleph" "aleph" "ℵ")
-    ("gimel" "\\gimel" t "ℷ" "gimel" "gimel" "ℷ")
-    ("beth" "\\beth" t "ℶ" "beth" "beth" "ב")
-    ("dalet" "\\daleth" t "ℸ" "dalet" "dalet" "ד")
-
-    "** Dead languages"
-    ("ETH" "\\DH{}" nil "Ð" "D" "Ð" "Ð")
-    ("eth" "\\dh{}" nil "ð" "dh" "ð" "ð")
-    ("THORN" "\\TH{}" nil "Þ" "TH" "Þ" "Þ")
-    ("thorn" "\\th{}" nil "þ" "th" "þ" "þ")
-
-    "* Punctuation"
-    "** Dots and Marks"
-    ("dots" "\\dots{}" nil "…" "..." "..." "…")
-    ("cdots" "\\cdots{}" t "⋯" "..." "..." "⋯")
-    ("hellip" "\\dots{}" nil "…" "..." "..." "…")
-    ("middot" "\\textperiodcentered{}" nil "·" "." "·" "·")
-    ("iexcl" "!`" nil "¡" "!" "¡" "¡")
-    ("iquest" "?`" nil "¿" "?" "¿" "¿")
-
-    "** Dash-like"
-    ("shy" "\\-" nil "­" "" "" "")
-    ("ndash" "--" nil "–" "-" "-" "–")
-    ("mdash" "---" nil "—" "--" "--" "—")
-
-    "** Quotations"
-    ("quot" "\\textquotedbl{}" nil """ "\"" "\"" "\"")
-    ("acute" "\\textasciiacute{}" nil "´" "'" "´" "´")
-    ("ldquo" "\\textquotedblleft{}" nil "“" "\"" "\"" "“")
-    ("rdquo" "\\textquotedblright{}" nil "”" "\"" "\"" "”")
-    ("bdquo" "\\quotedblbase{}" nil "„" "\"" "\"" "„")
-    ("lsquo" "\\textquoteleft{}" nil "‘" "`" "`" "‘")
-    ("rsquo" "\\textquoteright{}" nil "’" "'" "'" "’")
-    ("sbquo" "\\quotesinglbase{}" nil "‚" "," "," "‚")
-    ("laquo" "\\guillemotleft{}" nil "&laquo;" "<<" "«" "«")
-    ("raquo" "\\guillemotright{}" nil "&raquo;" ">>" "»" "»")
-    ("lsaquo" "\\guilsinglleft{}" nil "&lsaquo;" "<" "<" "‹")
-    ("rsaquo" "\\guilsinglright{}" nil "&rsaquo;" ">" ">" "›")
-
-    "* Other"
-    "** Misc. (often used)"
-    ("circ" "\\^{}" nil "&circ;" "^" "^" "ˆ")
-    ("vert" "\\vert{}" t "&vert;" "|" "|" "|")
-    ("brvbar" "\\textbrokenbar{}" nil "&brvbar;" "|" "¦" "¦")
-    ("S" "\\S" nil "&sect;" "paragraph" "§" "§")
-    ("sect" "\\S" nil "&sect;" "paragraph" "§" "§")
-    ("amp" "\\&" nil "&amp;" "&" "&" "&")
-    ("lt" "\\textless{}" nil "&lt;" "<" "<" "<")
-    ("gt" "\\textgreater{}" nil "&gt;" ">" ">" ">")
-    ("tilde" "\\textasciitilde{}" nil "~" "~" "~" "~")
-    ("slash" "/" nil "/" "/" "/" "/")
-    ("plus" "+" nil "+" "+" "+" "+")
-    ("under" "\\_" nil "_" "_" "_" "_")
-    ("equal" "=" nil "=" "=" "=" "=")
-    ("asciicirc" "\\textasciicircum{}" nil "^" "^" "^" "^")
-    ("dagger" "\\textdagger{}" nil "&dagger;" "[dagger]" "[dagger]" "†")
-    ("dag" "\\dag{}" nil "&dagger;" "[dagger]" "[dagger]" "†")
-    ("Dagger" "\\textdaggerdbl{}" nil "&Dagger;" "[doubledagger]" "[doubledagger]" "‡")
-    ("ddag" "\\ddag{}" nil "&Dagger;" "[doubledagger]" "[doubledagger]" "‡")
-
-    "** Whitespace"
-    ("nbsp" "~" nil "&nbsp;" " " " " " ")
-    ("ensp" "\\hspace*{.5em}" nil "&ensp;" " " " " " ")
-    ("emsp" "\\hspace*{1em}" nil "&emsp;" " " " " " ")
-    ("thinsp" "\\hspace*{.2em}" nil "&thinsp;" " " " " " ")
-
-    "** Currency"
-    ("curren" "\\textcurrency{}" nil "&curren;" "curr." "¤" "¤")
-    ("cent" "\\textcent{}" nil "&cent;" "cent" "¢" "¢")
-    ("pound" "\\pounds{}" nil "&pound;" "pound" "£" "£")
-    ("yen" "\\textyen{}" nil "&yen;" "yen" "¥" "¥")
-    ("euro" "\\texteuro{}" nil "&euro;" "EUR" "EUR" "€")
-    ("EUR" "\\EUR{}" nil "&euro;" "EUR" "EUR" "€")
-    ("EURdig" "\\EURdig{}" nil "&euro;" "EUR" "EUR" "€")
-    ("EURhv" "\\EURhv{}" nil "&euro;" "EUR" "EUR" "€")
-    ("EURcr" "\\EURcr{}" nil "&euro;" "EUR" "EUR" "€")
-    ("EURtm" "\\EURtm{}" nil "&euro;" "EUR" "EUR" "€")
-
-    "** Property Marks"
-    ("copy" "\\textcopyright{}" nil "&copy;" "(c)" "©" "©")
-    ("reg" "\\textregistered{}" nil "&reg;" "(r)" "®" "®")
-    ("trade" "\\texttrademark{}" nil "&trade;" "TM" "TM" "™")
-
-    "** Science et al."
-    ("minus" "\\minus" t "&minus;" "-" "-" "−")
-    ("pm" "\\textpm{}" nil "&plusmn;" "+-" "±" "±")
-    ("plusmn" "\\textpm{}" nil "&plusmn;" "+-" "±" "±")
-    ("times" "\\texttimes{}" nil "&times;" "*" "×" "×")
-    ("frasl" "/" nil "&frasl;" "/" "/" "⁄")
-    ("colon" "\\colon" t ":" ":" ":" ":")
-    ("div" "\\textdiv{}" nil "&divide;" "/" "÷" "÷")
-    ("frac12" "\\textonehalf{}" nil "&frac12;" "1/2" "½" "½")
-    ("frac14" "\\textonequarter{}" nil "&frac14;" "1/4" "¼" "¼")
-    ("frac34" "\\textthreequarters{}" nil "&frac34;" "3/4" "¾" "¾")
-    ("permil" "\\textperthousand{}" nil "&permil;" "per thousand" "per thousand" "‰")
-    ("sup1" "\\textonesuperior{}" nil "&sup1;" "^1" "¹" "¹")
-    ("sup2" "\\texttwosuperior{}" nil "&sup2;" "^2" "²" "²")
-    ("sup3" "\\textthreesuperior{}" nil "&sup3;" "^3" "³" "³")
-    ("radic" "\\sqrt{\\,}" t "&radic;" "[square root]" "[square root]" "√")
-    ("sum" "\\sum" t "&sum;" "[sum]" "[sum]" "∑")
-    ("prod" "\\prod" t "&prod;" "[product]" "[n-ary product]" "∏")
-    ("micro" "\\textmu{}" nil "&micro;" "micro" "µ" "µ")
-    ("macr" "\\textasciimacron{}" nil "&macr;" "[macron]" "¯" "¯")
-    ("deg" "\\textdegree{}" nil "&deg;" "degree" "°" "°")
-    ("prime" "\\prime" t "&prime;" "'" "'" "′")
-    ("Prime" "\\prime{}\\prime" t "&Prime;" "''" "''" "″")
-    ("infin" "\\propto" t "&infin;" "[infinity]" "[infinity]" "∞")
-    ("infty" "\\infty" t "&infin;" "[infinity]" "[infinity]" "∞")
-    ("prop" "\\propto" t "&prop;" "[proportional to]" "[proportional to]" "∝")
-    ("propto" "\\propto" t "&prop;" "[proportional to]" "[proportional to]" "∝")
-    ("not" "\\textlnot{}" nil "&not;" "[angled dash]" "¬" "¬")
-    ("neg" "\\neg{}" t "&not;" "[angled dash]" "¬" "¬")
-    ("land" "\\land" t "&and;" "[logical and]" "[logical and]" "∧")
-    ("wedge" "\\wedge" t "&and;" "[logical and]" "[logical and]" "∧")
-    ("lor" "\\lor" t "&or;" "[logical or]" "[logical or]" "∨")
-    ("vee" "\\vee" t "&or;" "[logical or]" "[logical or]" "∨")
-    ("cap" "\\cap" t "&cap;" "[intersection]" "[intersection]" "∩")
-    ("cup" "\\cup" t "&cup;" "[union]" "[union]" "∪")
-    ("int" "\\int" t "&int;" "[integral]" "[integral]" "∫")
-    ("therefore" "\\therefore" t "&there4;" "[therefore]" "[therefore]" "∴")
-    ("there4" "\\therefore" t "&there4;" "[therefore]" "[therefore]" "∴")
-    ("because" "\\because" t "&because;" "[because]" "[because]" "∵")
-    ("sim" "\\sim" t "&sim;" "~" "~" "∼")
-    ("cong" "\\cong" t "&cong;" "[approx. equal to]" "[approx. equal to]" "≅")
-    ("simeq" "\\simeq" t "&cong;"  "[approx. equal to]" "[approx. equal to]" "≅")
-    ("asymp" "\\asymp" t "&asymp;" "[almost equal to]" "[almost equal to]" "≈")
-    ("approx" "\\approx" t "&asymp;" "[almost equal to]" "[almost equal to]" "≈")
-    ("ne" "\\ne" t "&ne;" "[not equal to]" "[not equal to]" "≠")
-    ("neq" "\\neq" t "&ne;" "[not equal to]" "[not equal to]" "≠")
-    ("equiv" "\\equiv" t "&equiv;" "[identical to]" "[identical to]" "≡")
-
-    ("triangleq" "\\triangleq" t "&triangleq;" "[defined to]" "[defined to]" "≜")
-    ("le" "\\le" t "&le;" "<=" "<=" "≤")
-    ("leq" "\\le" t "&le;" "<=" "<=" "≤")
-    ("ge" "\\ge" t "&ge;" ">=" ">=" "≥")
-    ("geq" "\\ge" t "&ge;" ">=" ">=" "≥")
-    ("lessgtr" "\\lessgtr" t "&lessgtr;" "[less than or greater than]" "[less than or greater than]" "≶")
-    ("lesseqgtr" "\\lesseqgtr" t "&lesseqgtr;" "[less than or equal or greater than or equal]" "[less than or equal or greater than or equal]" "⋚")
-    ("ll" "\\ll" t  "&Lt;" "<<" "<<" "≪")
-    ("Ll" "\lll" t "&Ll;" "<<<" "<<<" "⋘")
-    ("lll" "\lll" t "&Ll;" "<<<" "<<<" "⋘")
-    ("gg" "\\gg" t  "&Gt;" ">>" ">>" "≫")
-    ("Gg" "\\ggg" t "&Gg;" ">>>" ">>>" "⋙")
-    ("ggg" "\\ggg" t "&Gg;" ">>>" ">>>" "⋙")
-    ("prec" "\\prec" t "&pr;" "[precedes]" "[precedes]" "≺")
-    ("preceq" "\\preceq" t "&prcue;" "[precedes or equal]" "[precedes or equal]" "≼")
-    ("preccurlyeq" "\\preccurlyeq" t "&prcue;" "[precedes or equal]" "[precedes or equal]" "≼")
-    ("succ" "\\succ" t "&sc;" "[succeeds]" "[succeeds]" "≻")
-    ("succeq" "\\succeq" t "&sccue;" "[succeeds or equal]" "[succeeds or equal]" "≽")
-    ("succcurlyeq" "\\succcurlyeq" t "&sccue;" "[succeeds or equal]" "[succeeds or equal]" "≽")
-    ("sub" "\\subset" t "&sub;" "[subset of]" "[subset of]" "⊂")
-    ("subset" "\\subset" t "&sub;" "[subset of]" "[subset of]" "⊂")
-    ("sup" "\\supset" t "&sup;" "[superset of]" "[superset of]" "⊃")
-    ("supset" "\\supset" t "&sup;" "[superset of]" "[superset of]" "⊃")
-    ("nsub" "\\not\\subset" t "&nsub;" "[not a subset of]" "[not a subset of" "⊄")
-    ("sube" "\\subseteq" t "&sube;" "[subset of or equal to]" "[subset of or equal to]" "⊆")
-    ("nsup" "\\not\\supset" t "&nsup;" "[not a superset of]" "[not a superset of]" "⊅")
-    ("supe" "\\supseteq" t "&supe;" "[superset of or equal to]" "[superset of or equal to]" "⊇")
-    ("setminus" "\\setminus" t "&setminus;" "\" "\" "⧵")
-    ("forall" "\\forall" t "&forall;" "[for all]" "[for all]" "∀")
-    ("exist" "\\exists" t "&exist;" "[there exists]" "[there exists]" "∃")
-    ("exists" "\\exists" t "&exist;" "[there exists]" "[there exists]" "∃")
-    ("nexist" "\\nexists" t "&exist;" "[there does not exists]" "[there does not  exists]" "∄")
-    ("nexists" "\\nexists" t "&exist;" "[there does not exists]" "[there does not  exists]" "∄")
-    ("empty" "\\empty" t "&empty;" "[empty set]" "[empty set]" "∅")
-    ("emptyset" "\\emptyset" t "&empty;" "[empty set]" "[empty set]" "∅")
-    ("isin" "\\in" t "&isin;" "[element of]" "[element of]" "∈")
-    ("in" "\\in" t "&isin;" "[element of]" "[element of]" "∈")
-    ("notin" "\\notin" t "&notin;" "[not an element of]" "[not an element of]" "∉")
-    ("ni" "\\ni" t "&ni;" "[contains as member]" "[contains as member]" "∋")
-    ("nabla" "\\nabla" t "&nabla;" "[nabla]" "[nabla]" "∇")
-    ("ang" "\\angle" t "&ang;" "[angle]" "[angle]" "∠")
-    ("angle" "\\angle" t "&ang;" "[angle]" "[angle]" "∠")
-    ("perp" "\\perp" t "&perp;" "[up tack]" "[up tack]" "⊥")
-    ("parallel" "\\parallel" t "&parallel;" "||" "||" "∥")
-    ("sdot" "\\cdot" t "&sdot;" "[dot]" "[dot]" "⋅")
-    ("cdot" "\\cdot" t "&sdot;" "[dot]" "[dot]" "⋅")
-    ("lceil" "\\lceil" t "&lceil;" "[left ceiling]" "[left ceiling]" "⌈")
-    ("rceil" "\\rceil" t "&rceil;" "[right ceiling]" "[right ceiling]" "⌉")
-    ("lfloor" "\\lfloor" t "&lfloor;" "[left floor]" "[left floor]" "⌊")
-    ("rfloor" "\\rfloor" t "&rfloor;" "[right floor]" "[right floor]" "⌋")
-    ("lang" "\\langle" t "&lang;" "<" "<" "⟨")
-    ("rang" "\\rangle" t "&rang;" ">" ">" "⟩")
-    ("langle" "\\langle" t "&lang;" "<" "<" "⟨")
-    ("rangle" "\\rangle" t "&rang;" ">" ">" "⟩")
-    ("hbar" "\\hbar" t "&hbar;" "hbar" "hbar" "ℏ")
-    ("mho" "\\mho" t "&mho;" "mho" "mho" "℧")
-
-    "** Arrows"
-    ("larr" "\\leftarrow" t "&larr;" "<-" "<-" "←")
-    ("leftarrow" "\\leftarrow" t "&larr;"  "<-" "<-" "←")
-    ("gets" "\\gets" t "&larr;"  "<-" "<-" "←")
-    ("lArr" "\\Leftarrow" t "&lArr;" "<=" "<=" "⇐")
-    ("Leftarrow" "\\Leftarrow" t "&lArr;" "<=" "<=" "⇐")
-    ("uarr" "\\uparrow" t "&uarr;" "[uparrow]" "[uparrow]" "↑")
-    ("uparrow" "\\uparrow" t "&uarr;" "[uparrow]" "[uparrow]" "↑")
-    ("uArr" "\\Uparrow" t "&uArr;" "[dbluparrow]" "[dbluparrow]" "⇑")
-    ("Uparrow" "\\Uparrow" t "&uArr;" "[dbluparrow]" "[dbluparrow]" "⇑")
-    ("rarr" "\\rightarrow" t "&rarr;" "->" "->" "→")
-    ("to" "\\to" t "&rarr;" "->" "->" "→")
-    ("rightarrow" "\\rightarrow" t "&rarr;"  "->" "->" "→")
-    ("rArr" "\\Rightarrow" t "&rArr;" "=>" "=>" "⇒")
-    ("Rightarrow" "\\Rightarrow" t "&rArr;" "=>" "=>" "⇒")
-    ("darr" "\\downarrow" t "&darr;" "[downarrow]" "[downarrow]" "↓")
-    ("downarrow" "\\downarrow" t "&darr;" "[downarrow]" "[downarrow]" "↓")
-    ("dArr" "\\Downarrow" t "&dArr;" "[dbldownarrow]" "[dbldownarrow]" "⇓")
-    ("Downarrow" "\\Downarrow" t "&dArr;" "[dbldownarrow]" "[dbldownarrow]" "⇓")
-    ("harr" "\\leftrightarrow" t "&harr;" "<->" "<->" "↔")
-    ("leftrightarrow" "\\leftrightarrow" t "&harr;"  "<->" "<->" "↔")
-    ("hArr" "\\Leftrightarrow" t "&hArr;" "<=>" "<=>" "⇔")
-    ("Leftrightarrow" "\\Leftrightarrow" t "&hArr;" "<=>" "<=>" "⇔")
-    ("crarr" "\\hookleftarrow" t "&crarr;" "<-'" "<-'" "↵")
-    ("hookleftarrow" "\\hookleftarrow" t "&crarr;"  "<-'" "<-'" "↵")
-
-    "** Function names"
-    ("arccos" "\\arccos" t "arccos" "arccos" "arccos" "arccos")
-    ("arcsin" "\\arcsin" t "arcsin" "arcsin" "arcsin" "arcsin")
-    ("arctan" "\\arctan" t "arctan" "arctan" "arctan" "arctan")
-    ("arg" "\\arg" t "arg" "arg" "arg" "arg")
-    ("cos" "\\cos" t "cos" "cos" "cos" "cos")
-    ("cosh" "\\cosh" t "cosh" "cosh" "cosh" "cosh")
-    ("cot" "\\cot" t "cot" "cot" "cot" "cot")
-    ("coth" "\\coth" t "coth" "coth" "coth" "coth")
-    ("csc" "\\csc" t "csc" "csc" "csc" "csc")
-    ("deg" "\\deg" t "&deg;" "deg" "deg" "deg")
-    ("det" "\\det" t "det" "det" "det" "det")
-    ("dim" "\\dim" t "dim" "dim" "dim" "dim")
-    ("exp" "\\exp" t "exp" "exp" "exp" "exp")
-    ("gcd" "\\gcd" t "gcd" "gcd" "gcd" "gcd")
-    ("hom" "\\hom" t "hom" "hom" "hom" "hom")
-    ("inf" "\\inf" t "inf" "inf" "inf" "inf")
-    ("ker" "\\ker" t "ker" "ker" "ker" "ker")
-    ("lg" "\\lg" t "lg" "lg" "lg" "lg")
-    ("lim" "\\lim" t "lim" "lim" "lim" "lim")
-    ("liminf" "\\liminf" t "liminf" "liminf" "liminf" "liminf")
-    ("limsup" "\\limsup" t "limsup" "limsup" "limsup" "limsup")
-    ("ln" "\\ln" t "ln" "ln" "ln" "ln")
-    ("log" "\\log" t "log" "log" "log" "log")
-    ("max" "\\max" t "max" "max" "max" "max")
-    ("min" "\\min" t "min" "min" "min" "min")
-    ("Pr" "\\Pr" t "Pr" "Pr" "Pr" "Pr")
-    ("sec" "\\sec" t "sec" "sec" "sec" "sec")
-    ("sin" "\\sin" t "sin" "sin" "sin" "sin")
-    ("sinh" "\\sinh" t "sinh" "sinh" "sinh" "sinh")
-    ("sup" "\\sup" t "&sup;" "sup" "sup" "sup")
-    ("tan" "\\tan" t "tan" "tan" "tan" "tan")
-    ("tanh" "\\tanh" t "tanh" "tanh" "tanh" "tanh")
-
-    "** Signs & Symbols"
-    ("bull" "\\textbullet{}" nil "&bull;" "*" "*" "•")
-    ("bullet" "\\textbullet{}" nil "&bull;" "*" "*" "•")
-    ("star" "\\star" t "*" "*" "*" "⋆")
-    ("lowast" "\\ast" t "&lowast;" "*" "*" "∗")
-    ("ast" "\\ast" t "&lowast;" "*" "*" "*")
-    ("odot" "\\odot" t "o" "[circled dot]" "[circled dot]" "ʘ")
-    ("oplus" "\\oplus" t "&oplus;" "[circled plus]" "[circled plus]" "⊕")
-    ("otimes" "\\otimes" t "&otimes;" "[circled times]" "[circled times]" "⊗")
-    ("check" "\\checkmark" t "&checkmark;" "[checkmark]" "[checkmark]" "✓")
-    ("checkmark" "\\checkmark" t "&check;" "[checkmark]" "[checkmark]" "✓")
-
-    "** Miscellaneous (seldom used)"
-    ("para" "\\P{}" nil "&para;" "[pilcrow]" "¶" "¶")
-    ("ordf" "\\textordfeminine{}" nil "&ordf;" "_a_" "ª" "ª")
-    ("ordm" "\\textordmasculine{}" nil "&ordm;" "_o_" "º" "º")
-    ("cedil" "\\c{}" nil "&cedil;" "[cedilla]" "¸" "¸")
-    ("oline" "\\overline{~}" t "&oline;" "[overline]" "¯" "‾")
-    ("uml" "\\textasciidieresis{}" nil "&uml;" "[diaeresis]" "¨" "¨")
-    ("zwnj" "\\/{}" nil "&zwnj;" "" "" "‌")
-    ("zwj" "" nil "&zwj;" "" "" "‍")
-    ("lrm" "" nil "&lrm;" "" "" "‎")
-    ("rlm" "" nil "&rlm;" "" "" "‏")
-
-    "** Smilies"
-    ("smile" "\\smile" t "&smile;" ":-)" ":-)" "⌣")
-    ("frown" "\\frown" t "&frown;" ":-(" ":-(" "⌢")
-    ("smiley" "\\smiley{}" nil "&#9786;" ":-)" ":-)" "☺")
-    ("blacksmile" "\\blacksmiley{}" nil "&#9787;" ":-)" ":-)" "☻")
-    ("sad" "\\frownie{}" nil "&#9785;" ":-(" ":-(" "☹")
-
-    "** Suits"
-    ("clubs" "\\clubsuit" t "&clubs;" "[clubs]" "[clubs]" "♣")
-    ("clubsuit" "\\clubsuit" t "&clubs;" "[clubs]" "[clubs]" "♣")
-    ("spades" "\\spadesuit" t "&spades;" "[spades]" "[spades]" "♠")
-    ("spadesuit" "\\spadesuit" t "&spades;" "[spades]" "[spades]" "♠")
-    ("hearts" "\\heartsuit" t "&hearts;" "[hearts]" "[hearts]" "♥")
-    ("heartsuit" "\\heartsuit" t "&heartsuit;" "[hearts]" "[hearts]" "♥")
-    ("diams" "\\diamondsuit" t "&diams;" "[diamonds]" "[diamonds]" "◆")
-    ("diamondsuit" "\\diamondsuit" t "&diams;" "[diamonds]" "[diamonds]" "◆")
-    ("diamond" "\\diamondsuit" t "&diamond;" "[diamond]" "[diamond]" "◆")
-    ("Diamond" "\\diamondsuit" t "&diamond;" "[diamond]" "[diamond]" "◆")
-    ("loz" "\\lozenge" t "&loz;" "[lozenge]" "[lozenge]" "⧫")
-    )
-  "Default entities used in Org-mode to produce special characters.
+  (append
+   '("* Letters"
+     "** Latin"
+     ("Agrave" "\\`{A}" nil "&Agrave;" "A" "À" "À")
+     ("agrave" "\\`{a}" nil "&agrave;" "a" "à" "à")
+     ("Aacute" "\\'{A}" nil "&Aacute;" "A" "Á" "Á")
+     ("aacute" "\\'{a}" nil "&aacute;" "a" "á" "á")
+     ("Acirc" "\\^{A}" nil "&Acirc;" "A" "Â" "Â")
+     ("acirc" "\\^{a}" nil "&acirc;" "a" "â" "â")
+     ("Atilde" "\\~{A}" nil "&Atilde;" "A" "Ã" "Ã")
+     ("atilde" "\\~{a}" nil "&atilde;" "a" "ã" "ã")
+     ("Auml" "\\\"{A}" nil "&Auml;" "Ae" "Ä" "Ä")
+     ("auml" "\\\"{a}" nil "&auml;" "ae" "ä" "ä")
+     ("Aring" "\\AA{}" nil "&Aring;" "A" "Å" "Å")
+     ("AA" "\\AA{}" nil "&Aring;" "A" "Å" "Å")
+     ("aring" "\\aa{}" nil "&aring;" "a" "å" "å")
+     ("AElig" "\\AE{}" nil "&AElig;" "AE" "Æ" "Æ")
+     ("aelig" "\\ae{}" nil "&aelig;" "ae" "æ" "æ")
+     ("Ccedil" "\\c{C}" nil "&Ccedil;" "C" "Ç" "Ç")
+     ("ccedil" "\\c{c}" nil "&ccedil;" "c" "ç" "ç")
+     ("Egrave" "\\`{E}" nil "&Egrave;" "E" "È" "È")
+     ("egrave" "\\`{e}" nil "&egrave;" "e" "è" "è")
+     ("Eacute" "\\'{E}" nil "&Eacute;" "E" "É" "É")
+     ("eacute" "\\'{e}" nil "&eacute;" "e" "é" "é")
+     ("Ecirc" "\\^{E}" nil "&Ecirc;" "E" "Ê" "Ê")
+     ("ecirc" "\\^{e}" nil "&ecirc;" "e" "ê" "ê")
+     ("Euml" "\\\"{E}" nil "&Euml;" "E" "Ë" "Ë")
+     ("euml" "\\\"{e}" nil "&euml;" "e" "ë" "ë")
+     ("Igrave" "\\`{I}" nil "&Igrave;" "I" "Ì" "Ì")
+     ("igrave" "\\`{i}" nil "&igrave;" "i" "ì" "ì")
+     ("Iacute" "\\'{I}" nil "&Iacute;" "I" "Í" "Í")
+     ("iacute" "\\'{i}" nil "&iacute;" "i" "í" "í")
+     ("Icirc" "\\^{I}" nil "&Icirc;" "I" "Î" "Î")
+     ("icirc" "\\^{i}" nil "&icirc;" "i" "î" "î")
+     ("Iuml" "\\\"{I}" nil "&Iuml;" "I" "Ï" "Ï")
+     ("iuml" "\\\"{i}" nil "&iuml;" "i" "ï" "ï")
+     ("Ntilde" "\\~{N}" nil "&Ntilde;" "N" "Ñ" "Ñ")
+     ("ntilde" "\\~{n}" nil "&ntilde;" "n" "ñ" "ñ")
+     ("Ograve" "\\`{O}" nil "&Ograve;" "O" "Ò" "Ò")
+     ("ograve" "\\`{o}" nil "&ograve;" "o" "ò" "ò")
+     ("Oacute" "\\'{O}" nil "&Oacute;" "O" "Ó" "Ó")
+     ("oacute" "\\'{o}" nil "&oacute;" "o" "ó" "ó")
+     ("Ocirc" "\\^{O}" nil "&Ocirc;" "O" "Ô" "Ô")
+     ("ocirc" "\\^{o}" nil "&ocirc;" "o" "ô" "ô")
+     ("Otilde" "\\~{O}" nil "&Otilde;" "O" "Õ" "Õ")
+     ("otilde" "\\~{o}" nil "&otilde;" "o" "õ" "õ")
+     ("Ouml" "\\\"{O}" nil "&Ouml;" "Oe" "Ö" "Ö")
+     ("ouml" "\\\"{o}" nil "&ouml;" "oe" "ö" "ö")
+     ("Oslash" "\\O" nil "&Oslash;" "O" "Ø" "Ø")
+     ("oslash" "\\o{}" nil "&oslash;" "o" "ø" "ø")
+     ("OElig" "\\OE{}" nil "&OElig;" "OE" "OE" "Œ")
+     ("oelig" "\\oe{}" nil "&oelig;" "oe" "oe" "œ")
+     ("Scaron" "\\v{S}" nil "&Scaron;" "S" "S" "Š")
+     ("scaron" "\\v{s}" nil "&scaron;" "s" "s" "š")
+     ("szlig" "\\ss{}" nil "&szlig;" "ss" "ß" "ß")
+     ("Ugrave" "\\`{U}" nil "&Ugrave;" "U" "Ù" "Ù")
+     ("ugrave" "\\`{u}" nil "&ugrave;" "u" "ù" "ù")
+     ("Uacute" "\\'{U}" nil "&Uacute;" "U" "Ú" "Ú")
+     ("uacute" "\\'{u}" nil "&uacute;" "u" "ú" "ú")
+     ("Ucirc" "\\^{U}" nil "&Ucirc;" "U" "Û" "Û")
+     ("ucirc" "\\^{u}" nil "&ucirc;" "u" "û" "û")
+     ("Uuml" "\\\"{U}" nil "&Uuml;" "Ue" "Ü" "Ü")
+     ("uuml" "\\\"{u}" nil "&uuml;" "ue" "ü" "ü")
+     ("Yacute" "\\'{Y}" nil "&Yacute;" "Y" "Ý" "Ý")
+     ("yacute" "\\'{y}" nil "&yacute;" "y" "ý" "ý")
+     ("Yuml" "\\\"{Y}" nil "&Yuml;" "Y" "Y" "Ÿ")
+     ("yuml" "\\\"{y}" nil "&yuml;" "y" "ÿ" "ÿ")
+
+     "** Latin (special face)"
+     ("fnof" "\\textit{f}" nil "&fnof;" "f" "f" "ƒ")
+     ("real" "\\Re" t "&real;" "R" "R" "ℜ")
+     ("image" "\\Im" t "&image;" "I" "I" "ℑ")
+     ("weierp" "\\wp" t "&weierp;" "P" "P" "℘")
+     ("ell" "\\ell" t "&ell;" "ell" "ell" "ℓ")
+     ("imath" "\\imath" t "&imath;" "[dotless i]" "dotless i" "ı")
+     ("jmath" "\\jmath" t "&jmath;" "[dotless j]" "dotless j" "ȷ")
+
+     "** Greek"
+     ("Alpha" "A" nil "&Alpha;" "Alpha" "Alpha" "Α")
+     ("alpha" "\\alpha" t "&alpha;" "alpha" "alpha" "α")
+     ("Beta" "B" nil "&Beta;" "Beta" "Beta" "Β")
+     ("beta" "\\beta" t "&beta;" "beta" "beta" "β")
+     ("Gamma" "\\Gamma" t "&Gamma;" "Gamma" "Gamma" "Γ")
+     ("gamma" "\\gamma" t "&gamma;" "gamma" "gamma" "γ")
+     ("Delta" "\\Delta" t "&Delta;" "Delta" "Gamma" "Δ")
+     ("delta" "\\delta" t "&delta;" "delta" "delta" "δ")
+     ("Epsilon" "E" nil "&Epsilon;" "Epsilon" "Epsilon" "Ε")
+     ("epsilon" "\\epsilon" t "&epsilon;" "epsilon" "epsilon" "ε")
+     ("varepsilon" "\\varepsilon" t "&epsilon;" "varepsilon" "varepsilon" "ε")
+     ("Zeta" "Z" nil "&Zeta;" "Zeta" "Zeta" "Ζ")
+     ("zeta" "\\zeta" t "&zeta;" "zeta" "zeta" "ζ")
+     ("Eta" "H" nil "&Eta;" "Eta" "Eta" "Η")
+     ("eta" "\\eta" t "&eta;" "eta" "eta" "η")
+     ("Theta" "\\Theta" t "&Theta;" "Theta" "Theta" "Θ")
+     ("theta" "\\theta" t "&theta;" "theta" "theta" "θ")
+     ("thetasym" "\\vartheta" t "&thetasym;" "theta" "theta" "ϑ")
+     ("vartheta" "\\vartheta" t "&thetasym;" "theta" "theta" "ϑ")
+     ("Iota" "I" nil "&Iota;" "Iota" "Iota" "Ι")
+     ("iota" "\\iota" t "&iota;" "iota" "iota" "ι")
+     ("Kappa" "K" nil "&Kappa;" "Kappa" "Kappa" "Κ")
+     ("kappa" "\\kappa" t "&kappa;" "kappa" "kappa" "κ")
+     ("Lambda" "\\Lambda" t "&Lambda;" "Lambda" "Lambda" "Λ")
+     ("lambda" "\\lambda" t "&lambda;" "lambda" "lambda" "λ")
+     ("Mu" "M" nil "&Mu;" "Mu" "Mu" "Μ")
+     ("mu" "\\mu" t "&mu;" "mu" "mu" "μ")
+     ("nu" "\\nu" t "&nu;" "nu" "nu" "ν")
+     ("Nu" "N" nil "&Nu;" "Nu" "Nu" "Ν")
+     ("Xi" "\\Xi" t "&Xi;" "Xi" "Xi" "Ξ")
+     ("xi" "\\xi" t "&xi;" "xi" "xi" "ξ")
+     ("Omicron" "O" nil "&Omicron;" "Omicron" "Omicron" "Ο")
+     ("omicron" "\\textit{o}" nil "&omicron;" "omicron" "omicron" "ο")
+     ("Pi" "\\Pi" t "&Pi;" "Pi" "Pi" "Π")
+     ("pi" "\\pi" t "&pi;" "pi" "pi" "π")
+     ("Rho" "P" nil "&Rho;" "Rho" "Rho" "Ρ")
+     ("rho" "\\rho" t "&rho;" "rho" "rho" "ρ")
+     ("Sigma" "\\Sigma" t "&Sigma;" "Sigma" "Sigma" "Σ")
+     ("sigma" "\\sigma" t "&sigma;" "sigma" "sigma" "σ")
+     ("sigmaf" "\\varsigma" t "&sigmaf;" "sigmaf" "sigmaf" "ς")
+     ("varsigma" "\\varsigma" t "&sigmaf;" "varsigma" "varsigma" "ς")
+     ("Tau" "T" nil "&Tau;" "Tau" "Tau" "Τ")
+     ("Upsilon" "\\Upsilon" t "&Upsilon;" "Upsilon" "Upsilon" "Υ")
+     ("upsih" "\\Upsilon" t "&upsih;" "upsilon" "upsilon" "ϒ")
+     ("upsilon" "\\upsilon" t "&upsilon;" "upsilon" "upsilon" "υ")
+     ("Phi" "\\Phi" t "&Phi;" "Phi" "Phi" "Φ")
+     ("phi" "\\phi" t "&phi;" "phi" "phi" "φ")
+     ("varphi" "\\varphi" t "&varphi;" "varphi" "varphi" "ɸ")
+     ("Chi" "X" nil "&Chi;" "Chi" "Chi" "Χ")
+     ("chi" "\\chi" t "&chi;" "chi" "chi" "χ")
+     ("acutex" "\\acute x" t "&acute;x" "'x" "'x" "𝑥́")
+     ("Psi" "\\Psi" t "&Psi;" "Psi" "Psi" "Ψ")
+     ("psi" "\\psi" t "&psi;" "psi" "psi" "ψ")
+     ("tau" "\\tau" t "&tau;" "tau" "tau" "τ")
+     ("Omega" "\\Omega" t "&Omega;" "Omega" "Omega" "Ω")
+     ("omega" "\\omega" t "&omega;" "omega" "omega" "ω")
+     ("piv" "\\varpi" t "&piv;" "omega-pi" "omega-pi" "ϖ")
+     ("varpi" "\\varpi" t "&piv;" "omega-pi" "omega-pi" "ϖ")
+     ("partial" "\\partial" t "&part;" "[partial differential]" "[partial differential]" "∂")
+
+     "** Hebrew"
+     ("alefsym" "\\aleph" t "&alefsym;" "aleph" "aleph" "ℵ")
+     ("aleph" "\\aleph" t "&aleph;" "aleph" "aleph" "ℵ")
+     ("gimel" "\\gimel" t "&gimel;" "gimel" "gimel" "ℷ")
+     ("beth" "\\beth" t "&beth;" "beth" "beth" "ב")
+     ("dalet" "\\daleth" t "&daleth;" "dalet" "dalet" "ד")
+
+     "** Dead languages"
+     ("ETH" "\\DH{}" nil "&ETH;" "D" "Ð" "Ð")
+     ("eth" "\\dh{}" nil "&eth;" "dh" "ð" "ð")
+     ("THORN" "\\TH{}" nil "&THORN;" "TH" "Þ" "Þ")
+     ("thorn" "\\th{}" nil "&thorn;" "th" "þ" "þ")
+
+     "* Punctuation"
+     "** Dots and Marks"
+     ("dots" "\\dots{}" nil "&hellip;" "..." "..." "…")
+     ("cdots" "\\cdots{}" t "&ctdot;" "..." "..." "⋯")
+     ("hellip" "\\dots{}" nil "&hellip;" "..." "..." "…")
+     ("middot" "\\textperiodcentered{}" nil "&middot;" "." "·" "·")
+     ("iexcl" "!`" nil "&iexcl;" "!" "¡" "¡")
+     ("iquest" "?`" nil "&iquest;" "?" "¿" "¿")
+
+     "** Dash-like"
+     ("shy" "\\-" nil "&shy;" "" "" "")
+     ("ndash" "--" nil "&ndash;" "-" "-" "–")
+     ("mdash" "---" nil "&mdash;" "--" "--" "—")
+
+     "** Quotations"
+     ("quot" "\\textquotedbl{}" nil "&quot;" "\"" "\"" "\"")
+     ("acute" "\\textasciiacute{}" nil "&acute;" "'" "´" "´")
+     ("ldquo" "\\textquotedblleft{}" nil "&ldquo;" "\"" "\"" "“")
+     ("rdquo" "\\textquotedblright{}" nil "&rdquo;" "\"" "\"" "”")
+     ("bdquo" "\\quotedblbase{}" nil "&bdquo;" "\"" "\"" "„")
+     ("lsquo" "\\textquoteleft{}" nil "&lsquo;" "`" "`" "‘")
+     ("rsquo" "\\textquoteright{}" nil "&rsquo;" "'" "'" "’")
+     ("sbquo" "\\quotesinglbase{}" nil "&sbquo;" "," "," "‚")
+     ("laquo" "\\guillemotleft{}" nil "&laquo;" "<<" "«" "«")
+     ("raquo" "\\guillemotright{}" nil "&raquo;" ">>" "»" "»")
+     ("lsaquo" "\\guilsinglleft{}" nil "&lsaquo;" "<" "<" "‹")
+     ("rsaquo" "\\guilsinglright{}" nil "&rsaquo;" ">" ">" "›")
+
+     "* Other"
+     "** Misc. (often used)"
+     ("circ" "\\^{}" nil "&circ;" "^" "^" "ˆ")
+     ("vert" "\\vert{}" t "&vert;" "|" "|" "|")
+     ("brvbar" "\\textbrokenbar{}" nil "&brvbar;" "|" "¦" "¦")
+     ("S" "\\S" nil "&sect;" "paragraph" "§" "§")
+     ("sect" "\\S" nil "&sect;" "paragraph" "§" "§")
+     ("amp" "\\&" nil "&amp;" "&" "&" "&")
+     ("lt" "\\textless{}" nil "&lt;" "<" "<" "<")
+     ("gt" "\\textgreater{}" nil "&gt;" ">" ">" ">")
+     ("tilde" "\\textasciitilde{}" nil "~" "~" "~" "~")
+     ("slash" "/" nil "/" "/" "/" "/")
+     ("plus" "+" nil "+" "+" "+" "+")
+     ("under" "\\_" nil "_" "_" "_" "_")
+     ("equal" "=" nil "=" "=" "=" "=")
+     ("asciicirc" "\\textasciicircum{}" nil "^" "^" "^" "^")
+     ("dagger" "\\textdagger{}" nil "&dagger;" "[dagger]" "[dagger]" "†")
+     ("dag" "\\dag{}" nil "&dagger;" "[dagger]" "[dagger]" "†")
+     ("Dagger" "\\textdaggerdbl{}" nil "&Dagger;" "[doubledagger]" "[doubledagger]" "‡")
+     ("ddag" "\\ddag{}" nil "&Dagger;" "[doubledagger]" "[doubledagger]" "‡")
+
+     "** Whitespace"
+     ("nbsp" "~" nil "&nbsp;" " " " " " ")
+     ("ensp" "\\hspace*{.5em}" nil "&ensp;" " " " " " ")
+     ("emsp" "\\hspace*{1em}" nil "&emsp;" " " " " " ")
+     ("thinsp" "\\hspace*{.2em}" nil "&thinsp;" " " " " " ")
+
+     "** Currency"
+     ("curren" "\\textcurrency{}" nil "&curren;" "curr." "¤" "¤")
+     ("cent" "\\textcent{}" nil "&cent;" "cent" "¢" "¢")
+     ("pound" "\\pounds{}" nil "&pound;" "pound" "£" "£")
+     ("yen" "\\textyen{}" nil "&yen;" "yen" "¥" "¥")
+     ("euro" "\\texteuro{}" nil "&euro;" "EUR" "EUR" "€")
+     ("EUR" "\\EUR{}" nil "&euro;" "EUR" "EUR" "€")
+     ("EURdig" "\\EURdig{}" nil "&euro;" "EUR" "EUR" "€")
+     ("EURhv" "\\EURhv{}" nil "&euro;" "EUR" "EUR" "€")
+     ("EURcr" "\\EURcr{}" nil "&euro;" "EUR" "EUR" "€")
+     ("EURtm" "\\EURtm{}" nil "&euro;" "EUR" "EUR" "€")
+
+     "** Property Marks"
+     ("copy" "\\textcopyright{}" nil "&copy;" "(c)" "©" "©")
+     ("reg" "\\textregistered{}" nil "&reg;" "(r)" "®" "®")
+     ("trade" "\\texttrademark{}" nil "&trade;" "TM" "TM" "™")
+
+     "** Science et al."
+     ("minus" "\\minus" t "&minus;" "-" "-" "−")
+     ("pm" "\\textpm{}" nil "&plusmn;" "+-" "±" "±")
+     ("plusmn" "\\textpm{}" nil "&plusmn;" "+-" "±" "±")
+     ("times" "\\texttimes{}" nil "&times;" "*" "×" "×")
+     ("frasl" "/" nil "&frasl;" "/" "/" "⁄")
+     ("colon" "\\colon" t ":" ":" ":" ":")
+     ("div" "\\textdiv{}" nil "&divide;" "/" "÷" "÷")
+     ("frac12" "\\textonehalf{}" nil "&frac12;" "1/2" "½" "½")
+     ("frac14" "\\textonequarter{}" nil "&frac14;" "1/4" "¼" "¼")
+     ("frac34" "\\textthreequarters{}" nil "&frac34;" "3/4" "¾" "¾")
+     ("permil" "\\textperthousand{}" nil "&permil;" "per thousand" "per thousand" "‰")
+     ("sup1" "\\textonesuperior{}" nil "&sup1;" "^1" "¹" "¹")
+     ("sup2" "\\texttwosuperior{}" nil "&sup2;" "^2" "²" "²")
+     ("sup3" "\\textthreesuperior{}" nil "&sup3;" "^3" "³" "³")
+     ("radic" "\\sqrt{\\,}" t "&radic;" "[square root]" "[square root]" "√")
+     ("sum" "\\sum" t "&sum;" "[sum]" "[sum]" "∑")
+     ("prod" "\\prod" t "&prod;" "[product]" "[n-ary product]" "∏")
+     ("micro" "\\textmu{}" nil "&micro;" "micro" "µ" "µ")
+     ("macr" "\\textasciimacron{}" nil "&macr;" "[macron]" "¯" "¯")
+     ("deg" "\\textdegree{}" nil "&deg;" "degree" "°" "°")
+     ("prime" "\\prime" t "&prime;" "'" "'" "′")
+     ("Prime" "\\prime{}\\prime" t "&Prime;" "''" "''" "″")
+     ("infin" "\\propto" t "&infin;" "[infinity]" "[infinity]" "∞")
+     ("infty" "\\infty" t "&infin;" "[infinity]" "[infinity]" "∞")
+     ("prop" "\\propto" t "&prop;" "[proportional to]" "[proportional to]" "∝")
+     ("propto" "\\propto" t "&prop;" "[proportional to]" "[proportional to]" "∝")
+     ("not" "\\textlnot{}" nil "&not;" "[angled dash]" "¬" "¬")
+     ("neg" "\\neg{}" t "&not;" "[angled dash]" "¬" "¬")
+     ("land" "\\land" t "&and;" "[logical and]" "[logical and]" "∧")
+     ("wedge" "\\wedge" t "&and;" "[logical and]" "[logical and]" "∧")
+     ("lor" "\\lor" t "&or;" "[logical or]" "[logical or]" "∨")
+     ("vee" "\\vee" t "&or;" "[logical or]" "[logical or]" "∨")
+     ("cap" "\\cap" t "&cap;" "[intersection]" "[intersection]" "∩")
+     ("cup" "\\cup" t "&cup;" "[union]" "[union]" "∪")
+     ("int" "\\int" t "&int;" "[integral]" "[integral]" "∫")
+     ("therefore" "\\therefore" t "&there4;" "[therefore]" "[therefore]" "∴")
+     ("there4" "\\therefore" t "&there4;" "[therefore]" "[therefore]" "∴")
+     ("because" "\\because" t "&because;" "[because]" "[because]" "∵")
+     ("sim" "\\sim" t "&sim;" "~" "~" "∼")
+     ("cong" "\\cong" t "&cong;" "[approx. equal to]" "[approx. equal to]" "≅")
+     ("simeq" "\\simeq" t "&cong;"  "[approx. equal to]" "[approx. equal to]" "≅")
+     ("asymp" "\\asymp" t "&asymp;" "[almost equal to]" "[almost equal to]" "≈")
+     ("approx" "\\approx" t "&asymp;" "[almost equal to]" "[almost equal to]" "≈")
+     ("ne" "\\ne" t "&ne;" "[not equal to]" "[not equal to]" "≠")
+     ("neq" "\\neq" t "&ne;" "[not equal to]" "[not equal to]" "≠")
+     ("equiv" "\\equiv" t "&equiv;" "[identical to]" "[identical to]" "≡")
+
+     ("triangleq" "\\triangleq" t "&triangleq;" "[defined to]" "[defined to]" "≜")
+     ("le" "\\le" t "&le;" "<=" "<=" "≤")
+     ("leq" "\\le" t "&le;" "<=" "<=" "≤")
+     ("ge" "\\ge" t "&ge;" ">=" ">=" "≥")
+     ("geq" "\\ge" t "&ge;" ">=" ">=" "≥")
+     ("lessgtr" "\\lessgtr" t "&lessgtr;" "[less than or greater than]" "[less than or greater than]" "≶")
+     ("lesseqgtr" "\\lesseqgtr" t "&lesseqgtr;" "[less than or equal or greater than or equal]" "[less than or equal or greater than or equal]" "⋚")
+     ("ll" "\\ll" t  "&Lt;" "<<" "<<" "≪")
+     ("Ll" "\lll" t "&Ll;" "<<<" "<<<" "⋘")
+     ("lll" "\lll" t "&Ll;" "<<<" "<<<" "⋘")
+     ("gg" "\\gg" t  "&Gt;" ">>" ">>" "≫")
+     ("Gg" "\\ggg" t "&Gg;" ">>>" ">>>" "⋙")
+     ("ggg" "\\ggg" t "&Gg;" ">>>" ">>>" "⋙")
+     ("prec" "\\prec" t "&pr;" "[precedes]" "[precedes]" "≺")
+     ("preceq" "\\preceq" t "&prcue;" "[precedes or equal]" "[precedes or equal]" "≼")
+     ("preccurlyeq" "\\preccurlyeq" t "&prcue;" "[precedes or equal]" "[precedes or equal]" "≼")
+     ("succ" "\\succ" t "&sc;" "[succeeds]" "[succeeds]" "≻")
+     ("succeq" "\\succeq" t "&sccue;" "[succeeds or equal]" "[succeeds or equal]" "≽")
+     ("succcurlyeq" "\\succcurlyeq" t "&sccue;" "[succeeds or equal]" "[succeeds or equal]" "≽")
+     ("sub" "\\subset" t "&sub;" "[subset of]" "[subset of]" "⊂")
+     ("subset" "\\subset" t "&sub;" "[subset of]" "[subset of]" "⊂")
+     ("sup" "\\supset" t "&sup;" "[superset of]" "[superset of]" "⊃")
+     ("supset" "\\supset" t "&sup;" "[superset of]" "[superset of]" "⊃")
+     ("nsub" "\\not\\subset" t "&nsub;" "[not a subset of]" "[not a subset of" "⊄")
+     ("sube" "\\subseteq" t "&sube;" "[subset of or equal to]" "[subset of or equal to]" "⊆")
+     ("nsup" "\\not\\supset" t "&nsup;" "[not a superset of]" "[not a superset of]" "⊅")
+     ("supe" "\\supseteq" t "&supe;" "[superset of or equal to]" "[superset of or equal to]" "⊇")
+     ("setminus" "\\setminus" t "&setminus;" "\" "\" "⧵")
+     ("forall" "\\forall" t "&forall;" "[for all]" "[for all]" "∀")
+     ("exist" "\\exists" t "&exist;" "[there exists]" "[there exists]" "∃")
+     ("exists" "\\exists" t "&exist;" "[there exists]" "[there exists]" "∃")
+     ("nexist" "\\nexists" t "&exist;" "[there does not exists]" "[there does not  exists]" "∄")
+     ("nexists" "\\nexists" t "&exist;" "[there does not exists]" "[there does not  exists]" "∄")
+     ("empty" "\\empty" t "&empty;" "[empty set]" "[empty set]" "∅")
+     ("emptyset" "\\emptyset" t "&empty;" "[empty set]" "[empty set]" "∅")
+     ("isin" "\\in" t "&isin;" "[element of]" "[element of]" "∈")
+     ("in" "\\in" t "&isin;" "[element of]" "[element of]" "∈")
+     ("notin" "\\notin" t "&notin;" "[not an element of]" "[not an element of]" "∉")
+     ("ni" "\\ni" t "&ni;" "[contains as member]" "[contains as member]" "∋")
+     ("nabla" "\\nabla" t "&nabla;" "[nabla]" "[nabla]" "∇")
+     ("ang" "\\angle" t "&ang;" "[angle]" "[angle]" "∠")
+     ("angle" "\\angle" t "&ang;" "[angle]" "[angle]" "∠")
+     ("perp" "\\perp" t "&perp;" "[up tack]" "[up tack]" "⊥")
+     ("parallel" "\\parallel" t "&parallel;" "||" "||" "∥")
+     ("sdot" "\\cdot" t "&sdot;" "[dot]" "[dot]" "⋅")
+     ("cdot" "\\cdot" t "&sdot;" "[dot]" "[dot]" "⋅")
+     ("lceil" "\\lceil" t "&lceil;" "[left ceiling]" "[left ceiling]" "⌈")
+     ("rceil" "\\rceil" t "&rceil;" "[right ceiling]" "[right ceiling]" "⌉")
+     ("lfloor" "\\lfloor" t "&lfloor;" "[left floor]" "[left floor]" "⌊")
+     ("rfloor" "\\rfloor" t "&rfloor;" "[right floor]" "[right floor]" "⌋")
+     ("lang" "\\langle" t "&lang;" "<" "<" "⟨")
+     ("rang" "\\rangle" t "&rang;" ">" ">" "⟩")
+     ("langle" "\\langle" t "&lang;" "<" "<" "⟨")
+     ("rangle" "\\rangle" t "&rang;" ">" ">" "⟩")
+     ("hbar" "\\hbar" t "&hbar;" "hbar" "hbar" "ℏ")
+     ("mho" "\\mho" t "&mho;" "mho" "mho" "℧")
+
+     "** Arrows"
+     ("larr" "\\leftarrow" t "&larr;" "<-" "<-" "←")
+     ("leftarrow" "\\leftarrow" t "&larr;"  "<-" "<-" "←")
+     ("gets" "\\gets" t "&larr;"  "<-" "<-" "←")
+     ("lArr" "\\Leftarrow" t "&lArr;" "<=" "<=" "⇐")
+     ("Leftarrow" "\\Leftarrow" t "&lArr;" "<=" "<=" "⇐")
+     ("uarr" "\\uparrow" t "&uarr;" "[uparrow]" "[uparrow]" "↑")
+     ("uparrow" "\\uparrow" t "&uarr;" "[uparrow]" "[uparrow]" "↑")
+     ("uArr" "\\Uparrow" t "&uArr;" "[dbluparrow]" "[dbluparrow]" "⇑")
+     ("Uparrow" "\\Uparrow" t "&uArr;" "[dbluparrow]" "[dbluparrow]" "⇑")
+     ("rarr" "\\rightarrow" t "&rarr;" "->" "->" "→")
+     ("to" "\\to" t "&rarr;" "->" "->" "→")
+     ("rightarrow" "\\rightarrow" t "&rarr;"  "->" "->" "→")
+     ("rArr" "\\Rightarrow" t "&rArr;" "=>" "=>" "⇒")
+     ("Rightarrow" "\\Rightarrow" t "&rArr;" "=>" "=>" "⇒")
+     ("darr" "\\downarrow" t "&darr;" "[downarrow]" "[downarrow]" "↓")
+     ("downarrow" "\\downarrow" t "&darr;" "[downarrow]" "[downarrow]" "↓")
+     ("dArr" "\\Downarrow" t "&dArr;" "[dbldownarrow]" "[dbldownarrow]" "⇓")
+     ("Downarrow" "\\Downarrow" t "&dArr;" "[dbldownarrow]" "[dbldownarrow]" "⇓")
+     ("harr" "\\leftrightarrow" t "&harr;" "<->" "<->" "↔")
+     ("leftrightarrow" "\\leftrightarrow" t "&harr;"  "<->" "<->" "↔")
+     ("hArr" "\\Leftrightarrow" t "&hArr;" "<=>" "<=>" "⇔")
+     ("Leftrightarrow" "\\Leftrightarrow" t "&hArr;" "<=>" "<=>" "⇔")
+     ("crarr" "\\hookleftarrow" t "&crarr;" "<-'" "<-'" "↵")
+     ("hookleftarrow" "\\hookleftarrow" t "&crarr;"  "<-'" "<-'" "↵")
+
+     "** Function names"
+     ("arccos" "\\arccos" t "arccos" "arccos" "arccos" "arccos")
+     ("arcsin" "\\arcsin" t "arcsin" "arcsin" "arcsin" "arcsin")
+     ("arctan" "\\arctan" t "arctan" "arctan" "arctan" "arctan")
+     ("arg" "\\arg" t "arg" "arg" "arg" "arg")
+     ("cos" "\\cos" t "cos" "cos" "cos" "cos")
+     ("cosh" "\\cosh" t "cosh" "cosh" "cosh" "cosh")
+     ("cot" "\\cot" t "cot" "cot" "cot" "cot")
+     ("coth" "\\coth" t "coth" "coth" "coth" "coth")
+     ("csc" "\\csc" t "csc" "csc" "csc" "csc")
+     ("deg" "\\deg" t "&deg;" "deg" "deg" "deg")
+     ("det" "\\det" t "det" "det" "det" "det")
+     ("dim" "\\dim" t "dim" "dim" "dim" "dim")
+     ("exp" "\\exp" t "exp" "exp" "exp" "exp")
+     ("gcd" "\\gcd" t "gcd" "gcd" "gcd" "gcd")
+     ("hom" "\\hom" t "hom" "hom" "hom" "hom")
+     ("inf" "\\inf" t "inf" "inf" "inf" "inf")
+     ("ker" "\\ker" t "ker" "ker" "ker" "ker")
+     ("lg" "\\lg" t "lg" "lg" "lg" "lg")
+     ("lim" "\\lim" t "lim" "lim" "lim" "lim")
+     ("liminf" "\\liminf" t "liminf" "liminf" "liminf" "liminf")
+     ("limsup" "\\limsup" t "limsup" "limsup" "limsup" "limsup")
+     ("ln" "\\ln" t "ln" "ln" "ln" "ln")
+     ("log" "\\log" t "log" "log" "log" "log")
+     ("max" "\\max" t "max" "max" "max" "max")
+     ("min" "\\min" t "min" "min" "min" "min")
+     ("Pr" "\\Pr" t "Pr" "Pr" "Pr" "Pr")
+     ("sec" "\\sec" t "sec" "sec" "sec" "sec")
+     ("sin" "\\sin" t "sin" "sin" "sin" "sin")
+     ("sinh" "\\sinh" t "sinh" "sinh" "sinh" "sinh")
+     ("sup" "\\sup" t "&sup;" "sup" "sup" "sup")
+     ("tan" "\\tan" t "tan" "tan" "tan" "tan")
+     ("tanh" "\\tanh" t "tanh" "tanh" "tanh" "tanh")
+
+     "** Signs & Symbols"
+     ("bull" "\\textbullet{}" nil "&bull;" "*" "*" "•")
+     ("bullet" "\\textbullet{}" nil "&bull;" "*" "*" "•")
+     ("star" "\\star" t "*" "*" "*" "⋆")
+     ("lowast" "\\ast" t "&lowast;" "*" "*" "∗")
+     ("ast" "\\ast" t "&lowast;" "*" "*" "*")
+     ("odot" "\\odot" t "o" "[circled dot]" "[circled dot]" "ʘ")
+     ("oplus" "\\oplus" t "&oplus;" "[circled plus]" "[circled plus]" "⊕")
+     ("otimes" "\\otimes" t "&otimes;" "[circled times]" "[circled times]" "⊗")
+     ("check" "\\checkmark" t "&checkmark;" "[checkmark]" "[checkmark]" "✓")
+     ("checkmark" "\\checkmark" t "&check;" "[checkmark]" "[checkmark]" "✓")
+
+     "** Miscellaneous (seldom used)"
+     ("para" "\\P{}" nil "&para;" "[pilcrow]" "¶" "¶")
+     ("ordf" "\\textordfeminine{}" nil "&ordf;" "_a_" "ª" "ª")
+     ("ordm" "\\textordmasculine{}" nil "&ordm;" "_o_" "º" "º")
+     ("cedil" "\\c{}" nil "&cedil;" "[cedilla]" "¸" "¸")
+     ("oline" "\\overline{~}" t "&oline;" "[overline]" "¯" "‾")
+     ("uml" "\\textasciidieresis{}" nil "&uml;" "[diaeresis]" "¨" "¨")
+     ("zwnj" "\\/{}" nil "&zwnj;" "" "" "‌")
+     ("zwj" "" nil "&zwj;" "" "" "‍")
+     ("lrm" "" nil "&lrm;" "" "" "‎")
+     ("rlm" "" nil "&rlm;" "" "" "‏")
+
+     "** Smilies"
+     ("smile" "\\smile" t "&smile;" ":-)" ":-)" "⌣")
+     ("frown" "\\frown" t "&frown;" ":-(" ":-(" "⌢")
+     ("smiley" "\\smiley{}" nil "&#9786;" ":-)" ":-)" "☺")
+     ("blacksmile" "\\blacksmiley{}" nil "&#9787;" ":-)" ":-)" "☻")
+     ("sad" "\\frownie{}" nil "&#9785;" ":-(" ":-(" "☹")
+
+     "** Suits"
+     ("clubs" "\\clubsuit" t "&clubs;" "[clubs]" "[clubs]" "♣")
+     ("clubsuit" "\\clubsuit" t "&clubs;" "[clubs]" "[clubs]" "♣")
+     ("spades" "\\spadesuit" t "&spades;" "[spades]" "[spades]" "♠")
+     ("spadesuit" "\\spadesuit" t "&spades;" "[spades]" "[spades]" "♠")
+     ("hearts" "\\heartsuit" t "&hearts;" "[hearts]" "[hearts]" "♥")
+     ("heartsuit" "\\heartsuit" t "&heartsuit;" "[hearts]" "[hearts]" "♥")
+     ("diams" "\\diamondsuit" t "&diams;" "[diamonds]" "[diamonds]" "◆")
+     ("diamondsuit" "\\diamondsuit" t "&diams;" "[diamonds]" "[diamonds]" "◆")
+     ("diamond" "\\diamondsuit" t "&diamond;" "[diamond]" "[diamond]" "◆")
+     ("Diamond" "\\diamondsuit" t "&diamond;" "[diamond]" "[diamond]" "◆")
+     ("loz" "\\lozenge" t "&loz;" "[lozenge]" "[lozenge]" "⧫"))
+   ;; Add "\...."-entity family for spaces.
+   (let (space-entities html-spaces)
+     (dotimes (n 20 (nreverse space-entities))
+       (let ((n (+ 1 n))
+	     (spaces (make-string n ?\s)))
+	 (push (list (make-string n ?.)
+		     (format "\\hspace*{%sem}" (* n .5))
+		     nil
+		     (setq html-spaces (concat "&ensp;" html-spaces))
+		     spaces
+		     spaces
+		     (make-string n ?\x2002))
+	       space-entities)))))
+  "Default entities used in Org mode to produce special characters.
 For details see `org-entities-user'.")
 For details see `org-entities-user'.")
 
 
 (defsubst org-entity-get (name)
 (defsubst org-entity-get (name)

+ 3 - 0
lisp/org.el

@@ -6456,6 +6456,9 @@ needs to be inserted at a specific position in the font-lock sequence.")
   (let (ee)
   (let (ee)
     (when org-pretty-entities
     (when org-pretty-entities
       (catch 'match
       (catch 'match
+	;; \...-family is left out on purpose.  Only the first one,
+	;; i.e., "\.", could be fontified anyway, and it would be
+	;; confusing when adding more dots.
 	(while (re-search-forward
 	(while (re-search-forward
 		"\\\\\\(there4\\|sup[123]\\|frac[13][24]\\|[a-zA-Z]+\\)\\($\\|{}\\|[^[:alpha:]\n]\\)"
 		"\\\\\\(there4\\|sup[123]\\|frac[13][24]\\|[a-zA-Z]+\\)\\($\\|{}\\|[^[:alpha:]\n]\\)"
 		limit t)
 		limit t)