| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614 | 
							- ;;; org-entities.el --- Support for special entities in Org-mode
 
- ;; Copyright (C) 2010-2015 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
 
- ;;
 
- ;; This file is part of GNU Emacs.
 
- ;;
 
- ;; GNU Emacs is free software: you can redistribute it and/or modify
 
- ;; it under the terms of the GNU General Public License as published by
 
- ;; the Free Software Foundation, either version 3 of the License, or
 
- ;; (at your option) any later version.
 
- ;; GNU Emacs is distributed in the hope that it will be useful,
 
- ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
 
- ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
- ;; GNU General Public License for more details.
 
- ;; You should have received a copy of the GNU General Public License
 
- ;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
- ;;
 
- ;;; Commentary:
 
- ;;; Code:
 
- (declare-function org-toggle-pretty-entities "org"       ())
 
- (declare-function org-table-align            "org-table" ())
 
- (eval-when-compile
 
-   (require 'cl))
 
- (defgroup org-entities nil
 
-   "Options concerning entities in Org-mode."
 
-   :tag "Org Entities"
 
-   :group 'org)
 
- (defun org-entities--user-safe-p (v)
 
-   "Non-nil if V is a safe value for `org-entities-user'."
 
-   (or (null v)
 
-       (and (listp v)
 
- 	   (= (length v) 7)
 
- 	   (stringp (nth 0 v))
 
- 	   (stringp (nth 1 v))
 
- 	   (booleanp (nth 2 v))
 
- 	   (stringp (nth 3 v))
 
- 	   (stringp (nth 4 v))
 
- 	   (stringp (nth 5 v))
 
- 	   (stringp (nth 6 v)))))
 
- (defcustom org-entities-user nil
 
-   "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 the following
 
- name                 As a string, without the leading backslash.
 
- LaTeX replacement    In ready LaTeX, no further processing will take place.
 
- LaTeX mathp          Either t or nil.  When t this entity needs to be in
 
-                      math mode.
 
- HTML replacement     In ready HTML, no further processing will take place.
 
-                      Usually this will be an &...; entity.
 
- ASCII replacement    Plain ASCII, no extensions.
 
- Latin1 replacement   Use the special characters available in latin1.
 
- 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-latex-packages-alist'."
 
-   :group 'org-entities
 
-   :version "24.1"
 
-   :type '(repeat
 
- 	  (list
 
- 	   (string :tag "name  ")
 
- 	   (string :tag "LaTeX ")
 
- 	   (boolean :tag "Require LaTeX math?")
 
- 	   (string :tag "HTML  ")
 
- 	   (string :tag "ASCII ")
 
- 	   (string :tag "Latin1")
 
- 	   (string :tag "utf-8 ")))
 
-   :safe #'org-entities--user-safe-p)
 
- (defconst org-entities
 
-   (append
 
-    '("* 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 "«" "<<" "«" "«")
 
-      ("raquo" "\\guillemotright{}" nil "»" ">>" "»" "»")
 
-      ("lsaquo" "\\guilsinglleft{}" nil "‹" "<" "<" "‹")
 
-      ("rsaquo" "\\guilsinglright{}" nil "›" ">" ">" "›")
 
-      "* Other"
 
-      "** Misc. (often used)"
 
-      ("circ" "\\^{}" nil "ˆ" "^" "^" "ˆ")
 
-      ("vert" "\\vert{}" t "|" "|" "|" "|")
 
-      ("brvbar" "\\textbrokenbar{}" nil "¦" "|" "¦" "¦")
 
-      ("S" "\\S" nil "§" "paragraph" "§" "§")
 
-      ("sect" "\\S" nil "§" "paragraph" "§" "§")
 
-      ("amp" "\\&" nil "&" "&" "&" "&")
 
-      ("lt" "\\textless{}" nil "<" "<" "<" "<")
 
-      ("gt" "\\textgreater{}" nil ">" ">" ">" ">")
 
-      ("tilde" "\\textasciitilde{}" nil "~" "~" "~" "~")
 
-      ("slash" "/" nil "/" "/" "/" "/")
 
-      ("plus" "+" nil "+" "+" "+" "+")
 
-      ("under" "\\_" nil "_" "_" "_" "_")
 
-      ("equal" "=" nil "=" "=" "=" "=")
 
-      ("asciicirc" "\\textasciicircum{}" nil "^" "^" "^" "^")
 
-      ("dagger" "\\textdagger{}" nil "†" "[dagger]" "[dagger]" "†")
 
-      ("dag" "\\dag{}" nil "†" "[dagger]" "[dagger]" "†")
 
-      ("Dagger" "\\textdaggerdbl{}" nil "‡" "[doubledagger]" "[doubledagger]" "‡")
 
-      ("ddag" "\\ddag{}" nil "‡" "[doubledagger]" "[doubledagger]" "‡")
 
-      "** Whitespace"
 
-      ("nbsp" "~" nil " " " " " " " ")
 
-      ("ensp" "\\hspace*{.5em}" nil " " " " " " " ")
 
-      ("emsp" "\\hspace*{1em}" nil " " " " " " " ")
 
-      ("thinsp" "\\hspace*{.2em}" nil " " " " " " " ")
 
-      "** Currency"
 
-      ("curren" "\\textcurrency{}" nil "¤" "curr." "¤" "¤")
 
-      ("cent" "\\textcent{}" nil "¢" "cent" "¢" "¢")
 
-      ("pound" "\\pounds{}" nil "£" "pound" "£" "£")
 
-      ("yen" "\\textyen{}" nil "¥" "yen" "¥" "¥")
 
-      ("euro" "\\texteuro{}" nil "€" "EUR" "EUR" "€")
 
-      ("EUR" "\\EUR{}" nil "€" "EUR" "EUR" "€")
 
-      ("EURdig" "\\EURdig{}" nil "€" "EUR" "EUR" "€")
 
-      ("EURhv" "\\EURhv{}" nil "€" "EUR" "EUR" "€")
 
-      ("EURcr" "\\EURcr{}" nil "€" "EUR" "EUR" "€")
 
-      ("EURtm" "\\EURtm{}" nil "€" "EUR" "EUR" "€")
 
-      "** Property Marks"
 
-      ("copy" "\\textcopyright{}" nil "©" "(c)" "©" "©")
 
-      ("reg" "\\textregistered{}" nil "®" "(r)" "®" "®")
 
-      ("trade" "\\texttrademark{}" nil "™" "TM" "TM" "™")
 
-      "** Science et al."
 
-      ("minus" "\\minus" t "−" "-" "-" "−")
 
-      ("pm" "\\textpm{}" nil "±" "+-" "±" "±")
 
-      ("plusmn" "\\textpm{}" nil "±" "+-" "±" "±")
 
-      ("times" "\\texttimes{}" nil "×" "*" "×" "×")
 
-      ("frasl" "/" nil "⁄" "/" "/" "⁄")
 
-      ("colon" "\\colon" t ":" ":" ":" ":")
 
-      ("div" "\\textdiv{}" nil "÷" "/" "÷" "÷")
 
-      ("frac12" "\\textonehalf{}" nil "½" "1/2" "½" "½")
 
-      ("frac14" "\\textonequarter{}" nil "¼" "1/4" "¼" "¼")
 
-      ("frac34" "\\textthreequarters{}" nil "¾" "3/4" "¾" "¾")
 
-      ("permil" "\\textperthousand{}" nil "‰" "per thousand" "per thousand" "‰")
 
-      ("sup1" "\\textonesuperior{}" nil "¹" "^1" "¹" "¹")
 
-      ("sup2" "\\texttwosuperior{}" nil "²" "^2" "²" "²")
 
-      ("sup3" "\\textthreesuperior{}" nil "³" "^3" "³" "³")
 
-      ("radic" "\\sqrt{\\,}" t "√" "[square root]" "[square root]" "√")
 
-      ("sum" "\\sum" t "∑" "[sum]" "[sum]" "∑")
 
-      ("prod" "\\prod" t "∏" "[product]" "[n-ary product]" "∏")
 
-      ("micro" "\\textmu{}" nil "µ" "micro" "µ" "µ")
 
-      ("macr" "\\textasciimacron{}" nil "¯" "[macron]" "¯" "¯")
 
-      ("deg" "\\textdegree{}" nil "°" "degree" "°" "°")
 
-      ("prime" "\\prime" t "′" "'" "'" "′")
 
-      ("Prime" "\\prime{}\\prime" t "″" "''" "''" "″")
 
-      ("infin" "\\propto" t "∞" "[infinity]" "[infinity]" "∞")
 
-      ("infty" "\\infty" t "∞" "[infinity]" "[infinity]" "∞")
 
-      ("prop" "\\propto" t "∝" "[proportional to]" "[proportional to]" "∝")
 
-      ("propto" "\\propto" t "∝" "[proportional to]" "[proportional to]" "∝")
 
-      ("not" "\\textlnot{}" nil "¬" "[angled dash]" "¬" "¬")
 
-      ("neg" "\\neg{}" t "¬" "[angled dash]" "¬" "¬")
 
-      ("land" "\\land" t "∧" "[logical and]" "[logical and]" "∧")
 
-      ("wedge" "\\wedge" t "∧" "[logical and]" "[logical and]" "∧")
 
-      ("lor" "\\lor" t "∨" "[logical or]" "[logical or]" "∨")
 
-      ("vee" "\\vee" t "∨" "[logical or]" "[logical or]" "∨")
 
-      ("cap" "\\cap" t "∩" "[intersection]" "[intersection]" "∩")
 
-      ("cup" "\\cup" t "∪" "[union]" "[union]" "∪")
 
-      ("int" "\\int" t "∫" "[integral]" "[integral]" "∫")
 
-      ("therefore" "\\therefore" t "∴" "[therefore]" "[therefore]" "∴")
 
-      ("there4" "\\therefore" t "∴" "[therefore]" "[therefore]" "∴")
 
-      ("because" "\\because" t "∵" "[because]" "[because]" "∵")
 
-      ("sim" "\\sim" t "∼" "~" "~" "∼")
 
-      ("cong" "\\cong" t "≅" "[approx. equal to]" "[approx. equal to]" "≅")
 
-      ("simeq" "\\simeq" t "≅"  "[approx. equal to]" "[approx. equal to]" "≅")
 
-      ("asymp" "\\asymp" t "≈" "[almost equal to]" "[almost equal to]" "≈")
 
-      ("approx" "\\approx" t "≈" "[almost equal to]" "[almost equal to]" "≈")
 
-      ("ne" "\\ne" t "≠" "[not equal to]" "[not equal to]" "≠")
 
-      ("neq" "\\neq" t "≠" "[not equal to]" "[not equal to]" "≠")
 
-      ("equiv" "\\equiv" t "≡" "[identical to]" "[identical to]" "≡")
 
-      ("triangleq" "\\triangleq" t "≜" "[defined to]" "[defined to]" "≜")
 
-      ("le" "\\le" t "≤" "<=" "<=" "≤")
 
-      ("leq" "\\le" t "≤" "<=" "<=" "≤")
 
-      ("ge" "\\ge" t "≥" ">=" ">=" "≥")
 
-      ("geq" "\\ge" t "≥" ">=" ">=" "≥")
 
-      ("lessgtr" "\\lessgtr" t "≶" "[less than or greater than]" "[less than or greater than]" "≶")
 
-      ("lesseqgtr" "\\lesseqgtr" t "⋚" "[less than or equal or greater than or equal]" "[less than or equal or greater than or equal]" "⋚")
 
-      ("ll" "\\ll" t  "≪" "<<" "<<" "≪")
 
-      ("Ll" "\lll" t "⋘" "<<<" "<<<" "⋘")
 
-      ("lll" "\lll" t "⋘" "<<<" "<<<" "⋘")
 
-      ("gg" "\\gg" t  "≫" ">>" ">>" "≫")
 
-      ("Gg" "\\ggg" t "⋙" ">>>" ">>>" "⋙")
 
-      ("ggg" "\\ggg" t "⋙" ">>>" ">>>" "⋙")
 
-      ("prec" "\\prec" t "≺" "[precedes]" "[precedes]" "≺")
 
-      ("preceq" "\\preceq" t "≼" "[precedes or equal]" "[precedes or equal]" "≼")
 
-      ("preccurlyeq" "\\preccurlyeq" t "≼" "[precedes or equal]" "[precedes or equal]" "≼")
 
-      ("succ" "\\succ" t "≻" "[succeeds]" "[succeeds]" "≻")
 
-      ("succeq" "\\succeq" t "≽" "[succeeds or equal]" "[succeeds or equal]" "≽")
 
-      ("succcurlyeq" "\\succcurlyeq" t "≽" "[succeeds or equal]" "[succeeds or equal]" "≽")
 
-      ("sub" "\\subset" t "⊂" "[subset of]" "[subset of]" "⊂")
 
-      ("subset" "\\subset" t "⊂" "[subset of]" "[subset of]" "⊂")
 
-      ("sup" "\\supset" t "⊃" "[superset of]" "[superset of]" "⊃")
 
-      ("supset" "\\supset" t "⊃" "[superset of]" "[superset of]" "⊃")
 
-      ("nsub" "\\not\\subset" t "⊄" "[not a subset of]" "[not a subset of" "⊄")
 
-      ("sube" "\\subseteq" t "⊆" "[subset of or equal to]" "[subset of or equal to]" "⊆")
 
-      ("nsup" "\\not\\supset" t "⊅" "[not a superset of]" "[not a superset of]" "⊅")
 
-      ("supe" "\\supseteq" t "⊇" "[superset of or equal to]" "[superset of or equal to]" "⊇")
 
-      ("setminus" "\\setminus" t "∖" "\" "\" "⧵")
 
-      ("forall" "\\forall" t "∀" "[for all]" "[for all]" "∀")
 
-      ("exist" "\\exists" t "∃" "[there exists]" "[there exists]" "∃")
 
-      ("exists" "\\exists" t "∃" "[there exists]" "[there exists]" "∃")
 
-      ("nexist" "\\nexists" t "∃" "[there does not exists]" "[there does not  exists]" "∄")
 
-      ("nexists" "\\nexists" t "∃" "[there does not exists]" "[there does not  exists]" "∄")
 
-      ("empty" "\\empty" t "∅" "[empty set]" "[empty set]" "∅")
 
-      ("emptyset" "\\emptyset" t "∅" "[empty set]" "[empty set]" "∅")
 
-      ("isin" "\\in" t "∈" "[element of]" "[element of]" "∈")
 
-      ("in" "\\in" t "∈" "[element of]" "[element of]" "∈")
 
-      ("notin" "\\notin" t "∉" "[not an element of]" "[not an element of]" "∉")
 
-      ("ni" "\\ni" t "∋" "[contains as member]" "[contains as member]" "∋")
 
-      ("nabla" "\\nabla" t "∇" "[nabla]" "[nabla]" "∇")
 
-      ("ang" "\\angle" t "∠" "[angle]" "[angle]" "∠")
 
-      ("angle" "\\angle" t "∠" "[angle]" "[angle]" "∠")
 
-      ("perp" "\\perp" t "⊥" "[up tack]" "[up tack]" "⊥")
 
-      ("parallel" "\\parallel" t "∥" "||" "||" "∥")
 
-      ("sdot" "\\cdot" t "⋅" "[dot]" "[dot]" "⋅")
 
-      ("cdot" "\\cdot" t "⋅" "[dot]" "[dot]" "⋅")
 
-      ("lceil" "\\lceil" t "⌈" "[left ceiling]" "[left ceiling]" "⌈")
 
-      ("rceil" "\\rceil" t "⌉" "[right ceiling]" "[right ceiling]" "⌉")
 
-      ("lfloor" "\\lfloor" t "⌊" "[left floor]" "[left floor]" "⌊")
 
-      ("rfloor" "\\rfloor" t "⌋" "[right floor]" "[right floor]" "⌋")
 
-      ("lang" "\\langle" t "⟨" "<" "<" "⟨")
 
-      ("rang" "\\rangle" t "⟩" ">" ">" "⟩")
 
-      ("langle" "\\langle" t "⟨" "<" "<" "⟨")
 
-      ("rangle" "\\rangle" t "⟩" ">" ">" "⟩")
 
-      ("hbar" "\\hbar" t "ℏ" "hbar" "hbar" "ℏ")
 
-      ("mho" "\\mho" t "℧" "mho" "mho" "℧")
 
-      "** Arrows"
 
-      ("larr" "\\leftarrow" t "←" "<-" "<-" "←")
 
-      ("leftarrow" "\\leftarrow" t "←"  "<-" "<-" "←")
 
-      ("gets" "\\gets" t "←"  "<-" "<-" "←")
 
-      ("lArr" "\\Leftarrow" t "⇐" "<=" "<=" "⇐")
 
-      ("Leftarrow" "\\Leftarrow" t "⇐" "<=" "<=" "⇐")
 
-      ("uarr" "\\uparrow" t "↑" "[uparrow]" "[uparrow]" "↑")
 
-      ("uparrow" "\\uparrow" t "↑" "[uparrow]" "[uparrow]" "↑")
 
-      ("uArr" "\\Uparrow" t "⇑" "[dbluparrow]" "[dbluparrow]" "⇑")
 
-      ("Uparrow" "\\Uparrow" t "⇑" "[dbluparrow]" "[dbluparrow]" "⇑")
 
-      ("rarr" "\\rightarrow" t "→" "->" "->" "→")
 
-      ("to" "\\to" t "→" "->" "->" "→")
 
-      ("rightarrow" "\\rightarrow" t "→"  "->" "->" "→")
 
-      ("rArr" "\\Rightarrow" t "⇒" "=>" "=>" "⇒")
 
-      ("Rightarrow" "\\Rightarrow" t "⇒" "=>" "=>" "⇒")
 
-      ("darr" "\\downarrow" t "↓" "[downarrow]" "[downarrow]" "↓")
 
-      ("downarrow" "\\downarrow" t "↓" "[downarrow]" "[downarrow]" "↓")
 
-      ("dArr" "\\Downarrow" t "⇓" "[dbldownarrow]" "[dbldownarrow]" "⇓")
 
-      ("Downarrow" "\\Downarrow" t "⇓" "[dbldownarrow]" "[dbldownarrow]" "⇓")
 
-      ("harr" "\\leftrightarrow" t "↔" "<->" "<->" "↔")
 
-      ("leftrightarrow" "\\leftrightarrow" t "↔"  "<->" "<->" "↔")
 
-      ("hArr" "\\Leftrightarrow" t "⇔" "<=>" "<=>" "⇔")
 
-      ("Leftrightarrow" "\\Leftrightarrow" t "⇔" "<=>" "<=>" "⇔")
 
-      ("crarr" "\\hookleftarrow" t "↵" "<-'" "<-'" "↵")
 
-      ("hookleftarrow" "\\hookleftarrow" t "↵"  "<-'" "<-'" "↵")
 
-      "** 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")
 
-      ("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")
 
-      ("tan" "\\tan" t "tan" "tan" "tan" "tan")
 
-      ("tanh" "\\tanh" t "tanh" "tanh" "tanh" "tanh")
 
-      "** Signs & Symbols"
 
-      ("bull" "\\textbullet{}" nil "•" "*" "*" "•")
 
-      ("bullet" "\\textbullet{}" nil "•" "*" "*" "•")
 
-      ("star" "\\star" t "*" "*" "*" "⋆")
 
-      ("lowast" "\\ast" t "∗" "*" "*" "∗")
 
-      ("ast" "\\ast" t "∗" "*" "*" "*")
 
-      ("odot" "\\odot" t "o" "[circled dot]" "[circled dot]" "ʘ")
 
-      ("oplus" "\\oplus" t "⊕" "[circled plus]" "[circled plus]" "⊕")
 
-      ("otimes" "\\otimes" t "⊗" "[circled times]" "[circled times]" "⊗")
 
-      ("check" "\\checkmark" t "✓" "[checkmark]" "[checkmark]" "✓")
 
-      ("checkmark" "\\checkmark" t "✓" "[checkmark]" "[checkmark]" "✓")
 
-      "** Miscellaneous (seldom used)"
 
-      ("para" "\\P{}" nil "¶" "[pilcrow]" "¶" "¶")
 
-      ("ordf" "\\textordfeminine{}" nil "ª" "_a_" "ª" "ª")
 
-      ("ordm" "\\textordmasculine{}" nil "º" "_o_" "º" "º")
 
-      ("cedil" "\\c{}" nil "¸" "[cedilla]" "¸" "¸")
 
-      ("oline" "\\overline{~}" t "‾" "[overline]" "¯" "‾")
 
-      ("uml" "\\textasciidieresis{}" nil "¨" "[diaeresis]" "¨" "¨")
 
-      ("zwnj" "\\/{}" nil "‌" "" "" "")
 
-      ("zwj" "" nil "‍" "" "" "")
 
-      ("lrm" "" nil "‎" "" "" "")
 
-      ("rlm" "" nil "‏" "" "" "")
 
-      "** Smilies"
 
-      ("smile" "\\smile" t "⌣" ":-)" ":-)" "⌣")
 
-      ("frown" "\\frown" t "⌢" ":-(" ":-(" "⌢")
 
-      ("smiley" "\\smiley{}" nil "☺" ":-)" ":-)" "☺")
 
-      ("blacksmile" "\\blacksmiley{}" nil "☻" ":-)" ":-)" "☻")
 
-      ("sad" "\\frownie{}" nil "☹" ":-(" ":-(" "☹")
 
-      "** Suits"
 
-      ("clubs" "\\clubsuit" t "♣" "[clubs]" "[clubs]" "♣")
 
-      ("clubsuit" "\\clubsuit" t "♣" "[clubs]" "[clubs]" "♣")
 
-      ("spades" "\\spadesuit" t "♠" "[spades]" "[spades]" "♠")
 
-      ("spadesuit" "\\spadesuit" t "♠" "[spades]" "[spades]" "♠")
 
-      ("hearts" "\\heartsuit" t "♥" "[hearts]" "[hearts]" "♥")
 
-      ("heartsuit" "\\heartsuit" t "♥" "[hearts]" "[hearts]" "♥")
 
-      ("diams" "\\diamondsuit" t "♦" "[diamonds]" "[diamonds]" "◆")
 
-      ("diamondsuit" "\\diamondsuit" t "♦" "[diamonds]" "[diamonds]" "◆")
 
-      ("diamond" "\\diamondsuit" t "⋄" "[diamond]" "[diamond]" "◆")
 
-      ("Diamond" "\\diamondsuit" t "⋄" "[diamond]" "[diamond]" "◆")
 
-      ("loz" "\\lozenge" t "◊" "[lozenge]" "[lozenge]" "⧫"))
 
-    ;; Add "\_ "-entity family for spaces.
 
-    (let (space-entities html-spaces (entity "_"))
 
-      (dotimes (n 20 (nreverse space-entities))
 
-        (let ((n (+ 1 n))
 
- 	     (spaces (make-string n ?\s)))
 
- 	 (push (list (setq entity (concat entity " "))
 
- 		     (format "\\hspace*{%sem}" (* n .5))
 
- 		     nil
 
- 		     (setq html-spaces (concat " " 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'.")
 
- (defsubst org-entity-get (name)
 
-   "Get the proper association for NAME from the entity lists.
 
- This first checks the user list, then the built-in list."
 
-   (or (assoc name org-entities-user)
 
-       (assoc name org-entities)))
 
- ;; Helpfunctions to create a table for orgmode.org/worg/org-symbols.org
 
- (defun org-entities-create-table ()
 
-   "Create an Org mode table with all entities."
 
-   (interactive)
 
-   (let ((pos (point)) e latex mathp html latin utf8 name ascii)
 
-     (insert "|Name|LaTeX code|LaTeX|HTML code |HTML|ASCII|Latin1|UTF-8\n|-\n")
 
-     (mapc (lambda (e) (when (listp e)
 
- 			(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")))
 
- 	  org-entities)
 
-     (goto-char pos)
 
-     (org-table-align)))
 
- (defvar org-pretty-entities) ;; declare defcustom from org
 
- (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)
 
-     (when org-pretty-entities
 
-       (org-toggle-pretty-entities)))
 
-   (select-window (get-buffer-window "*Org Entity Help*")))
 
- (provide 'org-entities)
 
- ;; Local variables:
 
- ;; coding: utf-8
 
- ;; End:
 
- ;;; org-entities.el ends here
 
 
  |