-- 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'},
-- The default * sits very high above the baseline, \ast (u+2217) looks
['*'] = {repr = '\\ast'},
['~'] = {repr = '\\HDLine[width=.20 * \\the\\textwidth]'},
['|'] = {repr = '\\char' .. utf.byte('|')},
+ ['$'] = {repr = '\\char' .. utf.byte('$')},
}
-- Keywords that should be bold
['letrec'] = {},
['letnonrec'] = {},
['in'] = {},
+ ['DEFAULT'] = {small = true},
}
local in_block = 0
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)