diff options
Diffstat (limited to 'mod')
| -rw-r--r-- | mod/tex/context/third/rst/rst_context.lua | 13 | 
1 files changed, 10 insertions, 3 deletions
diff --git a/mod/tex/context/third/rst/rst_context.lua b/mod/tex/context/third/rst/rst_context.lua index a18086b..5ed7812 100644 --- a/mod/tex/context/third/rst/rst_context.lua +++ b/mod/tex/context/third/rst/rst_context.lua @@ -331,10 +331,17 @@ function rst_context.substitution_reference (str, underscores)      return sub .. [[{\\RSTsubstitution]] .. str:gsub("%s", "") .. "}"  end +-- see catc-sym.tex +local escape_me = { +    ["&"]   = [[\letterampersand ]], +    ["#"]   = [[\letterhash ]], +    ["^"]   = [[\letterhat ]], +    ["_"]   = [[\letterunderscore ]], +} +  function rst_context.escape (str) -    str = str:gsub("\\(.)", "%1") -    str = str:gsub("&", "\\letterampersand") -    return str +    str = str:gsub("\\(.)", "%1")           -- literalize escaped sequences +    return str:gsub("[&#^_]", escape_me)    -- escape chars with special meaning  end  function rst_context.joinindented (tab)  | 
