For my LaTeX_Entities package, I build up the list of LaTeX entity names to use as shortcuts (which I use in my StringLiterals package) programmatically, from 3 sources,
Index of /2003/entities/2007xml, https://raw.githubusercontent.com/wspr/unicode-math/master/, and a local file with Julia specific additions such as xor
.
The first two sources are the same as were originally used to produce the Julia latex_symbols.jl.
Using this technique, I was able to also automatically add some 1457 entities (in v0.6.2) that are not present in latex_symbols, such as: breve{A}
, bar{A}
, c{C}
, and many other useful shortcuts for Unicode characters.
When finished, it reports only 4 entities that are different between latex_symbols.jl
and my automatically built table:
Entities present in both tables, with different values: 4
⟧ 27e7 〛 301b openbracketright
⟦ 27e6 〚 301a openbracketleft
↿ 21bf ↾ 21be upharpoonright
↾ 21be ↿ 21bf upharpoonleft
These are because the files that latex_symbols.jl
was based on had been updated (to fix the incorrect left/right designation of the upharpoon characters, for example).
The new latex_symbols.jl
has the following replacements for the standard LaTeX entity prefixes:
const bold = "\\bf"
const italic = "\\it"
const bolditalic = "\\bi"
const blackboard = "\\bb"
const italicblackboard = "\\bbi"
const script = "\\scr"
const boldscript = "\\bscr"
const sans = "\\sans"
const boldsans = "\\bsans"
const italicsans = "\\isans"
const bolditalicsans = "\\bisans"
const frak = "\\frak"
const boldfrak = "\\bfrak"
const mono = "\\tt"
Would it be possible to annotate those with what the original “standard” prefixes were?
(and also annotate which ones were simply removed, like "APL"
)
I don’t want to have to make the exception table huge, if I can instead simply programmatically generate these new short forms. (which I think would be a good technique for Julia to use, instead of a huge manually maintained table that has to be compiled into Julia (now into stdlib/REPL)