From e11852284d62c0d0192e9b2a204cb1e7f0ad45f1 Mon Sep 17 00:00:00 2001 From: Robert Alessi Date: Thu, 29 Mar 2018 19:03:38 +0200 Subject: \arbmarks{} first checks if its argument is defined in the arbmarks table --- arabluatex.lua | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) (limited to 'arabluatex.lua') diff --git a/arabluatex.lua b/arabluatex.lua index cd0bfa2..7a7460a 100644 --- a/arabluatex.lua +++ b/arabluatex.lua @@ -676,14 +676,27 @@ function newarbmark(abbr, rtlmk, ltrmk) return true end -function processarbmarks(str) - if tex.textdir == "TLT" then - for i = 1,#arbmarks do - str = string.gsub(str, arbmarks[i].a, arbmarks[i].c) +local function isintable(table, element) + for i = 1,#table do + if table[i].a == element then + return true end + end + return false +end + +function processarbmarks(str) + if not isintable(arbmarks, str) then + str = "\\LR{}" else - for i = 1,#arbmarks do - str = string.gsub(str, arbmarks[i].a, arbmarks[i].b) + if tex.textdir == "TLT" then + for i = 1,#arbmarks do + str = string.gsub(str, arbmarks[i].a, arbmarks[i].c) + end + else + for i = 1,#arbmarks do + str = string.gsub(str, arbmarks[i].a, arbmarks[i].b) + end end end return str -- cgit v1.2.3