X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fmaster-project%2Freport.git;a=blobdiff_plain;f=pret-lam.lua;h=3cc01af4ec20358b0bfe064410254e9e1be64160;hp=86d7272c4f65615276747be84e1b0c39f6ef236f;hb=19c17205efa182b80916caa31afeadad9d2dd5b5;hpb=db2dce12a0b9b988be956104b908e28375bbfd1c diff --git a/pret-lam.lua b/pret-lam.lua index 86d7272..3cc01af 100644 --- a/pret-lam.lua +++ b/pret-lam.lua @@ -17,15 +17,19 @@ local colors = { -- Symbols that should have a different representation local symbols = { - [' '] = {repr = '\\obs '}, + -- Note, the space we replace with is a Unicode non-breaking space + -- (U+00A0). + [' '] = {repr = ' '}, ['_'] = {repr = '\\_'}, - ['->'] = {repr = '\\rightarrow'}, + ['->'] = {repr = '→'}, + ['=>'] = {repr = '⇒'}, -- The default * sits very high above the baseline, \ast (u+2217) looks -- better. ['*'] = {repr = '\\ast'}, ['~'] = {repr = '\\HDLine[width=.20 * \\the\\textwidth]'}, ['|'] = {repr = '\\char' .. utf.byte('|')}, - ['$'] = {repr = '\\char' .. utf.byte('$')}, + -- Use ▶ from our roman font, since Iwona doesn't have the glyph + ['▶'] = {repr = '{\\rm{}▶}'}, } -- Keywords that should be bold @@ -105,7 +109,7 @@ local function do_subscripts(word) submatches[#submatches+1] = "^(" .. base .. ")([%a%d])$" -- Seconde, the base with a longer prefix that includes at least -- one of +-, (to catch things like ri+1, but not return). - submatches[#submatches+1] = "^(" .. base .. ")([%a%d]*[%-%+%,]+[%a%d%-%+%,]*)$" + submatches[#submatches+1] = "^(" .. base .. ")([%a%d]*[%-%+,]+[%a%d%-%+,]*)$" end end return word @@ -193,7 +197,7 @@ function vis.begin_of_display() if in_block == 0 then -- Initially allow subscripts using _ or just appending a number (later, -- we will add extra patterns here. - submatches = {"^(%a*)_([%a%d,]+)$", "^(%a+)([%d,]+)$"} + submatches = {"^(%a*)_([%a%d,]+)$", "^(%a+)(%d[%d,]+)$"} -- This stores all the bases we've encountered so far (to prevent -- duplicates). For each of them there will be a pattern in submatches -- above.