]> code.delx.au - gnu-emacs/blobdiff - lisp/org/org-entities.el
Merge changes from emacs-23 branch
[gnu-emacs] / lisp / org / org-entities.el
index 4dfe3a95e1ba290a3667abf72e8c613c9820a65f..1e7fd627a17fd9e18155470d453ab3bca081b5c3 100644 (file)
@@ -1,12 +1,12 @@
 ;;; org-entities.el --- Support for special entities in Org-mode
 
-;; Copyright (C) 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <carsten at orgmode dot org>,
 ;;         Ulf Stegemann <ulf at zeitform dot de>
 ;; Keywords: outlines, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 6.35i
+;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -26,6 +26,8 @@
 ;;
 ;;; Commentary:
 
+;;; Code:
+
 (require 'org-macs)
 
 (declare-function org-table-align "org-table" ())
@@ -46,11 +48,11 @@ in backends where the corresponding character is not available."
   :type 'boolean)
 
 (defcustom org-entities-user nil
-  "User-defined entities used in Org-mode to preduce special characters.
-Each entry in this list is a list of strings.  It associate the name
+  "User-defined entities used in Org-mode to produce special characters.
+Each entry in this list is a list of strings.  It associates the name
 of the entity that can be inserted into an Org file as \\name with the
 appropriate replacements for the different export backends.  The order
-of the fields is he following
+of the fields is the following
 
 name                 As a string, without the leading backslash
 LaTeX replacement    In ready LaTeX, no further processing will take place
@@ -59,10 +61,10 @@ LaTeX mathp          A Boolean, either t or nil.  t if this entity needs
 HTML replacement     In ready HTML, no further processing will take place.
                      Usually this will be an &...; entity.
 ASCII replacement    Plain ASCII, no extensions.  Symbols that cannot be
-                     represented will be written out as an explanatory text.
-                     But see the variable `org-entities-ascii-keep-macro-form'.
+                     represented will be left as they are, but see the.
+                     variable `org-entities-ascii-explanatory'.
 Latin1 replacement   Use the special characters available in latin1.
-utf-8 replacement    Use special character available in utf-8.
+utf-8 replacement    Use the special characters available in utf-8.
 
 If you define new entities here that require specific LaTeX packages to be
 loaded, add these packages to `org-export-latex-packages-alist'."
@@ -78,229 +80,245 @@ loaded, add these packages to `org-export-latex-packages-alist'."
           (string :tag "utf-8 "))))
 
 (defconst org-entities
-  '(("nbsp" "~" nil "&nbsp;" " " " " " ")
-    ("iexcl" "!`" nil "&iexcl;" "!" "¡" "¡")
-    ("cent" "\\textcent{}" nil "&cent;" "cent" "¢" "¢")
-    ("pound" "\\pounds{}" nil "&pound;" "pound" "£" "£")
-    ("curren" "\\textcurrency{}" nil "&curren;" "curr." "¤" "¤")
-    ("yen" "\\textyen{}" nil "&yen;" "yen" "¥" "¥")
-    ("brvbar" "\\textbrokenbar{}" nil "&brvbar;" "|" "¦" "¦")
-    ("vert" "\\vert{}" t "&#124;" "|" "|" "|")
-    ("sect" "\\S" nil "&sect;" "paragraph" "§" "§")
-    ("uml" "\\textasciidieresis{}" nil "&uml;" "[diaeresis]" "¨" "¨")
-    ("copy" "\\textcopyright{}" nil "&copy;" "(c)" "©" "©")
-    ("ordf" "\\textordfeminine{}" nil "&ordf;" "_a_" "ª" "ª")
-    ("laquo" "\\guillemotleft{}" nil "&laquo;" "<<" "«" "«")
-    ("not" "\\textlnot{}" nil "&not;" "[angled dash]" "¬" "¬")
-    ("shy" "\\-" nil "&shy;" "" "" "")
-    ("reg" "\\textregistered{}" nil "&reg;" "(r)" "®" "®")
-    ("macr" "\\textasciimacron{}" nil "&macr;" "[macron]" "¯" "¯")
-    ("deg" "\\textdegree{}" nil "deg" "degree" "°" "°")
-    ("pm" "\\textpm{}" nil "&plusmn;" "+-" "±" "±")
-    ("plusmn" "\\textpm{}" nil "&plusmn;" "+-" "±" "±")
-    ("sup2" "\\texttwosuperior{}" nil "&sup2;" "^2" "²" "²")
-    ("sup3" "\\textthreesuperior{}" nil "&sup3;" "^3" "³" "³")
-    ("acutex" "\\acute x" t "&acute;x" "'x" "'x" "𝑥́")
-    ("micro" "\\textmu{}" nil "&micro;" "micro" "µ" "µ")
-    ("para" "\\P{}" nil "&para;" "[pilcrow]" "¶" "¶")
-    ("middot" "\\textperiodcentered{}" nil "&middot;" "." "·" "·")
-    ("odot" "\\odot" t "o" "[circled dot]" "[circled dot]" "ʘ")
-    ("star" "\\star" t "*" "*" "*" "⋆")
-    ("cedil" "\\c{}" nil "&cedil;" "[cedilla]" "¸" "¸")
-    ("sup1" "\\textonesuperior{}" nil "&sup1;" "^1" "¹" "¹")
-    ("ordm" "\\textordmasculine{}" nil "&ordm;" "_o_" "º" "º")
-    ("raquo" "\\guillemotright{}" nil "&raquo;" ">>" "»" "»")
-    ("iquest" "?`" nil "&iquest;" "?" "¿" "¿")
+  '(
+    "* 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" "Å" "Å")
-    ("AElig" "\\AE{}" nil "&AElig;" "AE" "Æ" "Æ")
-    ("Ccedil" "\\c{C}" nil "&Ccedil;" "C" "Ç" "Ç")
-    ("Egrave" "\\`{E}" nil "&Egrave;" "E" "È" "È")
-    ("Eacute" "\\'{E}" nil "&Eacute;" "E" "É" "É")
-    ("Ecirc" "\\^{E}" nil "&Ecirc;" "E" "Ê" "Ê")
-    ("Euml" "\\\"{E}" nil "&Euml;" "E" "Ë" "Ë")
-    ("Igrave" "\\`{I}" nil "&Igrave;" "I" "Ì" "Ì")
-    ("Iacute" "\\'{I}" nil "&Iacute;" "I" "Í" "Í")
-    ("Icirc" "\\^{I}" nil "&Icirc;" "I" "Î" "Î")
-    ("Iuml" "\\\"{I}" nil "&Iuml;" "I" "Ï" "Ï")
-    ("ETH" "\\DH{}" nil "&ETH;" "D" "Ð" "Ð")
-    ("Ntilde" "\\~{N}" nil "&Ntilde;" "N" "Ñ" "Ñ")
-    ("Ograve" "\\`{O}" nil "&Ograve;" "O" "Ò" "Ò")
-    ("Oacute" "\\'{O}" nil "&Oacute;" "O" "Ó" "Ó")
-    ("Ocirc" "\\^{O}" nil "&Ocirc;" "O" "Ô" "Ô")
-    ("Otilde" "\\~{O}" nil "&Otilde;" "O" "Õ" "Õ")
-    ("Ouml" "\\\"{O}" nil "&Ouml;" "Oe" "Ö" "Ö")
-    ("times" "\\texttimes{}" nil "&times;" "*" "×" "×")
-    ("Oslash" "\\O" nil "&Oslash;" "O" "Ø" "Ø")
-    ("Ugrave" "\\`{U}" nil "&Ugrave;" "U" "Ù" "Ù")
-    ("Uacute" "\\'{U}" nil "&Uacute;" "U" "Ú" "Ú")
-    ("Ucirc" "\\^{U}" nil "&Ucirc;" "U" "Û" "Û")
-    ("Uuml" "\\\"{U}" nil "&Uuml;" "Ue" "Ü" "Ü")
-    ("Yacute" "\\'{Y}" nil "&Yacute;" "Y" "Ý" "Ý")
-    ("THORN" "\\TH{}" nil "&THORN;" "TH" "Þ" "Þ")
-    ("szlig" "\\ss{}" nil "&szlig;" "ss" "ß" "ß")
-    ("agrave" "\\`{a}" nil "&agrave;" "a" "à" "à")
-    ("aacute" "\\'{a}" nil "&aacute;" "a" "á" "á")
-    ("acirc" "\\^{a}" nil "&acirc;" "a" "â" "â")
-    ("atilde" "\\~{a}" nil "&atilde;" "a" "ã" "ã")
-    ("auml" "\\\"{a}" nil "&auml;" "ae" "ä" "ä")
     ("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" "ç" "ç")
-    ("checkmark" "\\checkmark" t "&#10003;" "[checkmark]" "[checkmark]" "✓")
+    ("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" "ï" "ï")
-    ("eth" "\\dh{}" nil "&eth;" "dh" "ð" "ð")
+    ("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" "ý" "ý")
-    ("thorn" "\\th{}" nil "&thorn;" "th" "þ" "þ")
+    ("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" "℘")
+
+    "** Greek"
     ("Alpha" "A" nil "&Alpha;" "Alpha" "Alpha" "Α")
-    ("Beta" "B" nil "&Beta;" "Beta" "Beta" "Β")
-    ("Gamma" "\\Gamma" t "&Gamma;" "Gamma" "Gamma" "Γ")
-    ("Delta" "\\Delta" t "&Delta;" "Delta" "Gamma" "Δ")
-    ("Epsilon" "E" nil "&Epsilon;" "Epsilon" "Epsilon" "Ε")
-    ("Zeta" "Z" nil "&Zeta;" "Zeta" "Zeta" "Ζ")
-    ("Eta" "H" nil "&Eta;" "Eta" "Eta" "Η")
-    ("Theta" "\\Theta" t "&Theta;" "Theta" "Theta" "Θ")
-    ("Iota" "I" nil "&Iota;" "Iota" "Iota" "Ι")
-    ("Kappa" "K" nil "&Kappa;" "Kappa" "Kappa" "Κ")
-    ("Lambda" "\\Lambda" t "&Lambda;" "Lambda" "Lambda" "Λ")
-    ("Mu" "M" nil "&Mu;" "Mu" "Mu" "Μ")
-    ("Nu" "N" nil "&Nu;" "Nu" "Nu" "Ν")
-    ("Xi" "\\Xi" t "&Xi;" "Xi" "Xi" "Ξ")
-    ("Omicron" "O" nil "&Omicron;" "Omicron" "Omicron" "Ο")
-    ("Pi" "\\Pi" t "&Pi;" "Pi" "Pi" "Π")
-    ("Rho" "P" nil "&Rho;" "Rho" "Rho" "Ρ")
-    ("Sigma" "\\Sigma" t "&Sigma;" "Sigma" "Sigma" "Σ")
-    ("Tau" "T" nil "&Tau;" "Tau" "Tau" "Τ")
-    ("Upsilon" "\\Upsilon" t "&Upsilon;" "Upsilon" "Upsilon" "Υ")
-    ("Phi" "\\Phi" t "&Phi;" "Phi" "Phi" "Φ")
-    ("Chi" "X" nil "&Chi;" "Chi" "Chi" "Χ")
-    ("Psi" "\\Psi" t "&Psi;" "Psi" "Psi" "Ψ")
-    ("Omega" "\\Omega" t "&Omega;" "Omega" "Omega" "Ω")
     ("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" "ς")
-    ("sigma" "\\sigma" t "&sigma;" "sigma" "sigma" "σ")
-    ("tau" "\\tau" t "&tau;" "tau" "tau" "τ")
+    ("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" "φ")
+    ("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" "ω")
-    ("thetasym" "\\vartheta" t "&thetasym;" "theta" "theta" "ϑ")
-    ("vartheta" "\\vartheta" t "&thetasym;" "theta" "theta" "ϑ")
-    ("upsih" "\\Upsilon" t "&upsih;" "upsilon" "upsilon" "ϒ")
     ("piv" "\\varpi" t "&piv;" "omega-pi" "omega-pi" "ϖ")
-    ("bull" "\\textbullet{}" nil "&bull;" "*" "*" "•")
-    ("bullet" "\\textbullet{}" nil "&bull;" "*" "*" "•")
-    ("hellip" "\\dots{}" nil "&hellip;" "..." "..." "…")
+    ("partial" "\\partial" t "&part;" "[partial differential]" "[partial differential]" "∂")
+
+    "** Hebrew"
+    ("alefsym" "\\aleph" t "&alefsym;" "aleph" "aleph" "ℵ")
+
+    "** 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;" "..." "..." "…")
-    ("prime" "\\prime" t "&prime;" "'" "'" "′")
-    ("Prime" "\\prime{}\\prime" t "&Prime;" "''" "''" "″")
-    ("oline" "\\overline{~}" t "&oline;" "[overline]" "¯" "‾")
-    ("frasl" "/" nil "&frasl;" "/" "/" "⁄")
-    ("weierp" "\\wp" t "&weierp;" "P" "P" "℘")
-    ("image" "\\Im" t "&image;" "I" "I" "ℑ")
-    ("real" "\\Re" t "&real;" "R" "R" "ℜ")
+    ("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" "\\circ" t "&circ;" "^" "^" "ˆ")
+    ("vert" "\\vert{}" t "&#124;" "|" "|" "|")
+    ("brvbar" "\\textbrokenbar{}" nil "&brvbar;" "|" "¦" "¦")
+    ("sect" "\\S" nil "&sect;" "paragraph" "§" "§")
+    ("amp" "\\&" nil "&amp;" "&" "&" "&")
+    ("lt" "\\textless{}" nil "&lt;" "<" "<" "<")
+    ("gt" "\\textgreater{}" nil "&gt;" ">" ">" ">")
+    ("tilde" "\\~{}" nil "&tilde;" "~" "~" "~")
+    ("dagger" "\\textdagger{}" nil "&dagger;" "[dagger]" "[dagger]" "†")
+    ("Dagger" "\\textdaggerdbl{}" 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" "™")
-    ("alefsym" "\\aleph" t "&alefsym;" "aleph" "aleph" "ℵ")
-    ("larr" "\\leftarrow" t "&larr;" "<-" "<-" "←")
-    ("leftarrow" "\\leftarrow" t "&larr;"  "<-" "<-" "←")
-    ("gets" "\\gets" t "&larr;"  "<-" "<-" "←")
-    ("uarr" "\\uparrow" t "&uarr;" "[uparrow]" "[uparrow]" "↑")
-    ("uparrow" "\\uparrow" t "&uarr;" "[uparrow]" "[uparrow]" "↑")
-    ("rarr" "\\rightarrow" t "&rarr;" "->" "->" "→")
-    ("to" "\\to" t "&rarr;" "->" "->" "→")
-    ("rightarrow" "\\rightarrow" t "&rarr;"  "->" "->" "→")
-    ("darr" "\\downarrow" t "&darr;" "[downarrow]" "[downarrow]" "↓")
-    ("downarrow" "\\downarrow" t "&darr;" "[downarrow]" "[downarrow]" "↓")
-    ("harr" "\\leftrightarrow" t "&harr;" "<->" "<->" "↔")
-    ("leftrightarrow" "\\leftrightarrow" t "&harr;"  "<->" "<->" "↔")
-    ("crarr" "\\hookleftarrow" t "&crarr;" "<-'" "<-'" "↵")
-    ("hookleftarrow" "\\hookleftarrow" t "&crarr;"  "<-'" "<-'" "↵")
-    ("lArr" "\\Leftarrow" t "&lArr;" "<=" "<=" "⇐")
-    ("Leftarrow" "\\Leftarrow" t "&lArr;" "<=" "<=" "⇐")
-    ("uArr" "\\Uparrow" t "&uArr;" "[dbluparrow]" "[dbluparrow]" "⇑")
-    ("Uparrow" "\\Uparrow" t "&uArr;" "[dbluparrow]" "[dbluparrow]" "⇑")
-    ("rArr" "\\Rightarrow" t "&rArr;" "=>" "=>" "⇒")
-    ("Rightarrow" "\\Rightarrow" t "&rArr;" "=>" "=>" "⇒")
-    ("dArr" "\\Downarrow" t "&dArr;" "[dbldownarrow]" "[dbldownarrow]" "⇓")
-    ("Downarrow" "\\Downarrow" t "&dArr;" "[dbldownarrow]" "[dbldownarrow]" "⇓")
-    ("hArr" "\\Leftrightarrow" t "&hArr;" "<=>" "<=>" "⇔")
-    ("Leftrightarrow" "\\Leftrightarrow" t "&hArr;" "<=>" "<=>" "⇔")
-    ("forall" "\\forall" t "&forall;" "[for all]" "[for all]" "∀")
-    ("partial" "\\partial" t "&part;" "[partial differential]" "[partial differential]" "∂")
-    ("exist" "\\exists" t "&exist;" "[there exists]" "[there exists]" "∃")
-    ("exists" "\\exists" t "&exist;" "[there exists]" "[there exists]" "∃")
-    ("empty" "\\empty" t "&empty;" "[empty set]" "[empty set]" "∅")
-    ("emptyset" "\\emptyset" t "&empty;" "[empty set]" "[empty set]" "∅")
-    ("nabla" "\\nabla" t "&nabla;" "[nabla]" "[nabla]" "∇")
-    ("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]" "∋")
-    ("prod" "\\prod" t "&prod;" "[product]" "[n-ary product]" "∏")
-    ("sum" "\\sum" t "&sum;" "[sum]" "[sum]" "∑")
-;   ("minus" "\\minus" t "&minus;" "-" "-" "−")
-    ("minus" "-" t "&minus;" "-" "-" "−")
-    ("lowast" "\\ast" t "&lowast;" "*" "*" "∗")
-    ("ast" "\\ast" t "&lowast;" "*" "*" "*")
+
+    "** Science et al."
+    ("minus" "\\minus" t "&minus;" "-" "-" "−")
+    ("pm" "\\textpm{}" nil "&plusmn;" "+-" "±" "±")
+    ("plusmn" "\\textpm{}" nil "&plusmn;" "+-" "±" "±")
+    ("times" "\\texttimes{}" nil "&times;" "*" "×" "×")
+    ("frasl" "/" nil "&frasl;" "/" "/" "⁄")
+    ("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]" "√")
-    ("prop" "\\propto" t "&prop;" "[proportional to]" "[proportional to]" "∝")
-    ("proptp" "\\propto" t "&prop;" "[proportional to]" "[proportional to]" "∝")
+    ("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]" "∞")
-    ("ang" "\\angle" t "&ang;" "[angle]" "[angle]" "∠")
-    ("angle" "\\angle" t "&ang;" "[angle]" "[angle]" "∠")
-    ("and" "\\wedge" t "&and;" "[logical and]" "[logical and]" "∧")
+    ("prop" "\\propto" t "&prop;" "[proportional to]" "[proportional to]" "∝")
+    ("proptp" "\\propto" t "&prop;" "[proportional to]" "[proportional to]" "∝")
+    ("not" "\\textlnot{}" nil "&not;" "[angled dash]" "¬" "¬")
+    ("land" "\\land" t "&and;" "[logical and]" "[logical and]" "∧")
     ("wedge" "\\wedge" t "&and;" "[logical and]" "[logical and]" "∧")
-    ("or" "\\vee" t "&or;" "[logical or]" "[logical or]" "∨")
+    ("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]" "∫")
-;   ("there4" "\\uptherefore" t "&there4;" "[therefore]" "[therefore]" "∴")
     ("there4" "\\therefore" t "&there4;" "[therefore]" "[therefore]" "∴")
     ("sim" "\\sim" t "&sim;" "~" "~" "∼")
     ("cong" "\\cong" t "&cong;" "[approx. equal to]" "[approx. equal to]" "≅")
@@ -318,9 +336,20 @@ loaded, add these packages to `org-export-latex-packages-alist'."
     ("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]" "⊇")
-    ("oplus" "\\oplus" t "&oplus;" "[circled plus]" "[circled plus]" "⊕")
-    ("otimes" "\\otimes" t "&otimes;" "[circled times]" "[circled times]" "⊗")
+    ("forall" "\\forall" t "&forall;" "[for all]" "[for all]" "∀")
+    ("exist" "\\exists" t "&exist;" "[there exists]" "[there exists]" "∃")
+    ("exists" "\\exists" t "&exist;" "[there exists]" "[there 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]" "⊥")
     ("sdot" "\\cdot" t "&sdot;" "[dot]" "[dot]" "⋅")
     ("cdot" "\\cdot" t "&sdot;" "[dot]" "[dot]" "⋅")
@@ -330,56 +359,34 @@ loaded, add these packages to `org-export-latex-packages-alist'."
     ("rfloor" "\\rfloor" t "&rfloor;" "[right floor]" "[right floor]" "⌋")
     ("lang" "\\langle" t "&lang;" "<" "<" "⟨")
     ("rang" "\\rangle" t "&rang;" ">" ">" "⟩")
-    ("loz" "\\diamond" t "&loz;" "[lozenge]" "[lozenge]" "◊")
-    ("Diamond" "\\diamond" t "&diamond;" "[diamond]" "[diamond]" "⋄")
-    ("spades" "\\spadesuit" t "&spades;" "[spades]" "[spades]" "♠")
-    ("spadesuit" "\\spadesuit" t "&spades;" "[spades]" "[spades]" "♠")
-    ("clubs" "\\clubsuit" t "&clubs;" "[clubs]" "[clubs]" "♣")
-    ("clubsuit" "\\clubsuit" t "&clubs;" "[clubs]" "[clubs]" "♣")
-    ("hearts" "\\heartsuit" t "&hearts;" "[hearts]" "[hearts]" "♥")
-    ("heartsuit" "\\heartsuit" t "&heartsuit;" "[hearts]" "[hearts]" "♥")
-    ("diamondsuit" "\\diamondsuit" t "&diams;" "[diamonds]" "[diamonds]" "♦")
-    ("diams" "\\diamondsuit" t "&diams;" "[diamonds]" "[diamonds]" "♦")
-    ("smile" "\\smile" t "&#9786;" ":-)" ":-)" "⌣")
-    ("blacksmile" "\\blacksmiley{}" nil "&#9787;" ":-)" ":-)" "☻")
-    ("sad" "\\frownie{}" nil "&#9785;" ":-(" ":-(" "☹")
-    ("quot" "\\textquotedbl{}" nil "&quot;" "\"" "\"" "\"")
-    ("amp" "\\&" nil "&amp;" "&" "&" "&")
-    ("lt" "\\textless{}" nil "&lt;" "<" "<" "<")
-    ("gt" "\\textgreater{}" nil "&gt;" ">" ">" ">")
-    ("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" "š")
-    ("Yuml" "\\\"{Y}" nil "&Yuml;" "Y" "Y" "Ÿ")
-    ("circ" "\\circ" t "&circ;" "^" "^" "ˆ")
-    ("tilde" "\\~{}" nil "&tilde;" "~" "~" "~")
-    ("ensp" "\\hspace*{.5em}" nil "&ensp;" " " " " " ")
-    ("emsp" "\\hspace*{1em}" nil "&emsp;" " " " " " ")
-    ("thinsp" "\\hspace*{.2em}" nil "&thinsp;" " " " " " ")
-    ("zwnj" "\\/{}" nil "&zwnj;" "" "" "‌")
-    ("zwj" "" nil "&zwj;" "" "" "‍")
-    ("lrm" "" nil "&lrm;" "" "" "‎")
-    ("rlm" "" nil "&rlm;" "" "" "‏")
-    ("ndash" "--" nil "&ndash;" "-" "-" "–")
-    ("mdash" "---" nil "&mdash;" "--" "--" "—")
-    ("lsquo" "\\textquoteleft{}" nil "&lsquo;" "`" "`" "‘")
-    ("rsquo" "\\textquoteright{}" nil "&rsquo;" "'" "'" "’")
-    ("sbquo" "\\quotesinglbase{}" nil "&sbquo;" "," "," "‚")
-    ("ldquo" "\\textquotedblleft{}" nil "&ldquo;" "\"" "\"" "“")
-    ("rdquo" "\\textquotedblright{}" nil "&rdquo;" "\"" "\"" "”")
-    ("bdquo" "\\quotedblbase{}" nil "&bdquo;" "\"" "\"" "„")
-    ("dagger" "\\textdagger{}" nil "&dagger;" "[dagger]" "[dagger]" "†")
-    ("Dagger" "\\textdaggerdbl{}" nil "&Dagger;" "[doubledagger]" "[doubledagger]" "‡")
-    ("permil" "\\textperthousand{}" nil "&permil;" "per thousand" "per thousand" "‰")
-    ("lsaquo" "\\guilsinglleft{}" nil "&lsaquo;" "<" "<" "‹")
-    ("rsaquo" "\\guilsinglright{}" nil "&rsaquo;" ">" ">" "›")
-    ("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" "€")
+
+    "** 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")
@@ -412,15 +419,49 @@ loaded, add these packages to `org-export-latex-packages-alist'."
     ("sup" "\\sup" t "&sup;" "sup" "sup" "sup")
     ("tan" "\\tan" t "tan" "tan" "tan" "tan")
     ("tanh" "\\tanh" t "tanh" "tanh" "tanh" "tanh")
-    ("frac12" "\\textonehalf{}" nil "&frac12;" "1/2" "½" "½")
-    ("frac14" "\\textonequarter{}" nil "&frac14;" "1/4" "¼" "¼")
-    ("frac34" "\\textthreequarters{}" nil "&frac34;" "3/4" "¾" "¾")
-    ("div" "\\textdiv{}" nil "&divide;" "/" "÷" "÷")
-    ("acute" "\\textasciiacute{}" nil "&acute;" "'" "´" "´")
-    ("nsup" "\\not\\supset" t "&nsup;" "[not a superset of]" "[not a superset of]" "⊅")
+
+    "** 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]" "⊗")
+    ("checkmark" "\\checkmark" t "&#10003;" "[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 "&#9786;" ":-)" ":-)" "⌣")
     ("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" "\\diamond" t "&diamond;" "[diamond]" "[diamond]" "⋄")
+    ("loz" "\\diamond" t "&loz;" "[lozenge]" "[lozenge]" "◊")
     )
-  "Default entities used in Org-mode to preduce special characters.
+  "Default entities used in Org-mode to produce special characters.
 For details see `org-entities-user'.")
 
 (defsubst org-entity-get (name)
@@ -457,31 +498,66 @@ Kind can be any of `latex', `html', `ascii', `latin1', or `utf8'."
        e latex mathp html latin utf8 name ascii)
     (insert "|Name|LaTeX code|LaTeX|HTML code |HTML|ASCII|Latin1|UTF-8\n|-\n")
     (while ll
-      (setq e (pop ll))
-      (setq name (car e)
-           latex (nth 1 e)
-           mathp (nth 2 e)
-           html (nth 3 e)
-           ascii (nth 4 e)
-           latin (nth 5 e)
-           utf8 (nth 6 e))
-      (if (equal ascii "|") (setq ascii "\\vert"))
-      (if (equal latin "|") (setq latin "\\vert"))
-      (if (equal utf8  "|") (setq utf8  "\\vert"))
-      (if (equal ascii "=>") (setq ascii "= >"))
-      (if (equal latin "=>") (setq latin "= >"))
-      (insert "|" name
-             "|" (format "=%s=" latex)
-             "|" (format (if mathp "$%s$" "$\\mbox{%s}$")
-                         latex)
-             "|" (format "=%s=" html) "|" html
-             "|" ascii "|" latin "|" utf8
-             "|\n"))
+      (when (listp e)
+       (setq e (pop ll))
+       (setq name (car e)
+             latex (nth 1 e)
+             mathp (nth 2 e)
+             html (nth 3 e)
+             ascii (nth 4 e)
+             latin (nth 5 e)
+             utf8 (nth 6 e))
+       (if (equal ascii "|") (setq ascii "\\vert"))
+       (if (equal latin "|") (setq latin "\\vert"))
+       (if (equal utf8  "|") (setq utf8  "\\vert"))
+       (if (equal ascii "=>") (setq ascii "= >"))
+       (if (equal latin "=>") (setq latin "= >"))
+       (insert "|" name
+               "|" (format "=%s=" latex)
+               "|" (format (if mathp "$%s$" "$\\mbox{%s}$")
+                           latex)
+               "|" (format "=%s=" html) "|" html
+               "|" ascii "|" latin "|" utf8
+               "|\n")))
     (goto-char pos)
     (org-table-align)))
 
+(defun org-entities-help ()
+  "Create a Help buffer with all available entities."
+  (interactive)
+  (with-output-to-temp-buffer "*Org Entity Help*"
+    (princ "Org-mode entities\n=================\n\n")
+    (let ((ll (append '("* User-defined additions (variable org-entities-user)")
+                     org-entities-user
+                     org-entities))
+         e latex mathp html latin utf8 name ascii
+         (lastwasstring t)
+         (head (concat
+                "\n"
+                "   Symbol   Org entity        LaTeX code             HTML code\n"
+                "   -----------------------------------------------------------\n")))
+      (while ll
+       (setq e (pop ll))
+       (if (stringp e)
+           (progn
+             (princ e)
+             (princ "\n")
+             (setq lastwasstring t))
+         (if lastwasstring (princ head))
+         (setq lastwasstring nil)
+         (setq name (car e)
+               latex (nth 1 e)
+               html (nth 3 e)
+               utf8 (nth 6 e))
+         (princ (format "   %-8s \\%-16s %-22s %-13s\n"
+                        utf8 name latex html))))))
+  (with-current-buffer "*Org Entity Help*"
+    (org-mode))
+  (select-window (get-buffer-window "*Org Entity Help*")))
+
+
 (defun replace-amp ()
-  "Postprocess HTML file to unescape the ampersant."
+  "Postprocess HTML file to unescape the ampersand."
   (interactive)
   (while (re-search-forward "<td>&amp;\\([^<;]+;\\)" nil t)
     (replace-match (concat "<td>&" (match-string 1)) t t)))
@@ -492,5 +568,6 @@ Kind can be any of `latex', `html', `ascii', `latin1', or `utf8'."
 ;; coding: utf-8
 ;; End:
 
-;; arch-tag: e6bd163f-7419-4009-9c93-a74623016424
+
+
 ;;; org-entities.el ends here