123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600 |
- ;;; org-entities.el --- Support for Special Entities -*- lexical-binding: t; -*-
- ;; Copyright (C) 2010-2021 Free Software Foundation, Inc.
- ;; Author: Carsten Dominik <carsten at orgmode dot org>,
- ;; Ulf Stegemann <ulf at zeitform dot de>
- ;; Keywords: outlines, calendar, wp
- ;; Homepage: https://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 <https://www.gnu.org/licenses/>.
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;
- ;;; Commentary:
- ;;; Code:
- (declare-function org-mode "org" ())
- (declare-function org-toggle-pretty-entities "org" ())
- (declare-function org-table-align "org-table" ())
- (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'."
- (pcase v
- (`nil t)
- (`(,(and (pred stringp)
- (pred (string-match-p "\\`[a-zA-Z][a-zA-Z0-9]*\\'")))
- ,(pred stringp) ,(pred booleanp) ,(pred stringp)
- ,(pred stringp) ,(pred stringp) ,(pred stringp))
- t)
- (_ nil)))
- (defcustom org-entities-user nil
- "User-defined entities used in Org 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" "â" "â")
- ("Amacr" "\\bar{A}" nil "Ā" "A" "Ã" "Ã")
- ("amacr" "\\bar{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" "Delta" "Δ")
- ("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" "ד")
- "** Icelandic"
- ("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 "|" "|" "|" "|")
- ("vbar" "|" nil "|" "|" "|" "|")
- ("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 " " " " "\x00A0" "\x00A0")
- ("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" "\\texteuro{}" nil "€" "EUR" "EUR" "€")
- ("dollar" "\\$" nil "$" "$" "$" "$")
- ("USD" "\\$" nil "$" "$" "$" "$")
- "** 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" "\\infty" 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]" "∪")
- ("smile" "\\smile" t "⌣" "[cup product]" "[cup product]" "⌣")
- ("frown" "\\frown" t "⌢" "[Cap product]" "[cap product]" "⌢")
- ("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" "\\emptyset" 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"
- ("smiley" "\\ddot\\smile" t "☺" ":-)" ":-)" "☺")
- ("blacksmile" "\\ddot\\smile" t "☻" ":-)" ":-)" "☻")
- ("sad" "\\ddot\\frown" t "☹" ":-(" ":-(" "☹")
- ("frowny" "\\ddot\\frown" t "☹" ":-(" ":-(" "☹")
- "** 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 "_"))
- (dolist (n (number-sequence 1 20) (nreverse space-entities))
- (let ((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)))
- (insert "|Name|LaTeX code|LaTeX|HTML code |HTML|ASCII|Latin1|UTF-8\n|-\n")
- (dolist (e org-entities)
- (pcase e
- (`(,name ,latex ,mathp ,html ,ascii ,latin ,utf8)
- (when (equal ascii "|") (setq ascii "\\vert"))
- (when (equal latin "|") (setq latin "\\vert"))
- (when (equal utf8 "|") (setq utf8 "\\vert"))
- (when (equal ascii "=>") (setq ascii "= >"))
- (when (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)))
- (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))
- (lastwasstring t)
- (head (concat
- "\n"
- " Symbol Org entity LaTeX code HTML code\n"
- " -----------------------------------------------------------\n")))
- (dolist (e ll)
- (pcase e
- (`(,name ,latex ,_ ,html ,_ ,_ ,utf8)
- (when lastwasstring
- (princ head)
- (setq lastwasstring nil))
- (princ (format " %-8s \\%-16s %-22s %-13s\n"
- utf8 name latex html)))
- ((pred stringp)
- (princ e)
- (princ "\n")
- (setq lastwasstring t))))))
- (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
|