Hi Hans, Currently the following mathpairs are defined: := \colonequals =: \equalscolon <= \le
= \ge != \neq
Are these all? (Why is != defined using specials?) Does it make sense to define others? I can think of the following: << \ll
\gg <<< \lll
\ggg == \equiv
In addition, we can also add arrows. Because one wants to distinguish between \Leftarrow (<=) and \le (<=), I am defining arrows using two ==. -> \rightarrow <- \leftarrow <-> \leftrightarrow ==> \Rightarrow <== \Leftarrow <=> \Leftrightarrow ===> \Longrightarrow <=== \Longleftarrow <==> \Longleftrightarrow I see this as marginally useful. Does it make sense to add support for math pairs of size three and four? If so, I am attaching a patch for char-def.lua that provides this support (as well as a test file). Everything works except ===>. The reason is that === is not mapped to anything. In the attached file, I tried mapping === (i.e., 0x2261 + 0x3D) to 0x2A76 (I gave it a mathname "eqeqeq" as well; this is consistent with latex's unicode-math package). However, this glyph is missing from LM and cambria, and === to \eqeqeq mapping doesn't work. Any idea on how to fix this or is there another approach without defining a mapping for ===. (that will also help us to define --> where I couldn't figure out what I should map -- to; I can map it to en-dash, but that just feels wrong). Thanks, Aditya PS: Currently, !=== !<= etc doesn't work (neither does \not <=, etc.). It can be fixed, but at that stage I am not sure it worth using math pairs. PPS: Monospace fonts with ligatures: https://www.hanselman.com/blog/MonospacedProgrammingFontsWithLigatures.aspx