summaryrefslogtreecommitdiff
path: root/mod/tex/context/third/rst/rst_context.lua
diff options
context:
space:
mode:
authorPhilipp Gesang <pgesang@ix.urz.uni-heidelberg.de>2011-01-13 12:23:36 +0100
committerPhilipp Gesang <pgesang@ix.urz.uni-heidelberg.de>2011-01-13 12:23:36 +0100
commit91a40ccaffce74728d109c726985f67773b0617e (patch)
tree5b379a972cfa12f027375f71da21238ff6f9396b /mod/tex/context/third/rst/rst_context.lua
parent9d00a058df52d261861fcc7a9d4dd6474a5f7f53 (diff)
downloadcontext-rst-91a40ccaffce74728d109c726985f67773b0617e.tar.gz
adapted ConTeXt escaping -- waiting for ‘_’ to generally get letter catcode
Diffstat (limited to 'mod/tex/context/third/rst/rst_context.lua')
-rw-r--r--mod/tex/context/third/rst/rst_context.lua13
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)