- -- See if the next token is a word
- word, str = take_word(str)
- if word then
- if keywords[res] then
- -- Make all keywords bold
- word = "{\\bold " .. word .. "}"
- if keywords[res].small then
- word = "\\small" .. word -- Curlies were added above
+ local text, rest = utf.match(str, "^%-%-(.-)%-%-(.*)")
+ if text then
+ table.insert(result, '\\strikethrough{')
+ -- Recursively call ourselves to handle spaces gracefully.
+ result = array_concat(result, vis.do_line(text))
+ table.insert(result, '}')
+ -- Eat the processed characters
+ str = rest
+ else
+ -- See if the next token is a word
+ word, str = take_word(str)
+ if word then
+ 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)