From 55c7d8a9ced9c5c6edf4e69ef145ae5c65c8e2e1 Mon Sep 17 00:00:00 2001 From: Robert Alessi Date: Sat, 12 Nov 2016 14:55:30 +0100 Subject: arabluatex.ins now generates arabluatex-patch.sty which will receive code from other sources that has to be modified temporarily --- arabluatex.lua | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'arabluatex.lua') diff --git a/arabluatex.lua b/arabluatex.lua index 956f796..6e5b042 100644 --- a/arabluatex.lua +++ b/arabluatex.lua @@ -29,6 +29,9 @@ require("arabluatex_trans") local function protectarb(str) str = string.gsub(str, "(\\arb.?)(%[.-%])(%b{})", "\\@arb%2%3") + str = string.gsub(str, "(\\begin.?)(%b{})(%b[])", "\\@begin%3%2") + str = string.gsub(str, "(\\begin.?)(%b{})", "\\@begin%2") + str = string.gsub(str, "(\\end.?)(%b{})", "\\@end%2") str = string.gsub(str, "\\par", "\\p@r{}") str = string.gsub(str, "\\@@par", "\\p@r{}") return str @@ -36,11 +39,21 @@ end local function unprotectarb(str) str = string.gsub(str, "(\\@arb)(%[.-%])(%b{})", "\\arb%2%3") + str = string.gsub(str, "(\\@begin)(%b[])(%b{})", "\\begin%3%2") + str = string.gsub(str, "(\\@begin)(%b{})", "\\begin%2") + str = string.gsub(str, "(\\@end)(%b{})", "\\end%2") str = string.gsub(str, "\\p@r{}", "\\par") return str end local function breakcmd(str) + -- handle \item[], then \item[] + str = string.gsub(str, "\\(item.?)(%b[])", + function(tag, body) + body = string.sub(body, 2, -2) + return string.format("}\\item[\\arb{%s}] \\arb{", body) + end) + str = string.gsub(str, "(\\item)(%s+)", "%1{}%2") -- \edtext str = string.gsub(str, "\\(edtext.-)(%b{})(%b{})", function(tag, bodylem, bodyvar) -- cgit v1.2.3