X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fmaster-project%2Freport.git;a=blobdiff_plain;f=pret-lam.lua;h=12fa94ec89c5f2cc6d1b8e5afe6b9358aca29f7a;hp=6c1ee96a2b39899a1b45f832c8766e7b917c68b2;hb=bf2b6c6c3729b49e008e8afffdd379f03d603b37;hpb=f26456b7c1ca8bb42a8ea540f5953d039a465b48 diff --git a/pret-lam.lua b/pret-lam.lua index 6c1ee96..12fa94e 100644 --- a/pret-lam.lua +++ b/pret-lam.lua @@ -17,14 +17,18 @@ 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('$')}, } -- Keywords that should be bold @@ -35,6 +39,7 @@ local keywords = { ['letrec'] = {}, ['letnonrec'] = {}, ['in'] = {}, + ['DEFAULT'] = {small = true}, } local in_block = 0 @@ -103,7 +108,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 @@ -220,6 +225,9 @@ function vis.flush_line(str,nested) if keywords[res] then -- Make all keywords bold word = "{\\bold " .. word .. "}" + if keywords[res].small then + word = "\\small" .. word -- Curlies were added above + end else -- Process any subscripts in the word word = do_subscripts(word)