From 34310603e5253ef5742542e3f0123b341a70ee20 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 28 Sep 2020 03:04:08 +0000 Subject: CTAN sync 202009280304 --- macros/latex/contrib/semantex/stripsemantex.lua | 71 ++++++++++++++++++++++--- 1 file changed, 64 insertions(+), 7 deletions(-) (limited to 'macros/latex/contrib/semantex/stripsemantex.lua') diff --git a/macros/latex/contrib/semantex/stripsemantex.lua b/macros/latex/contrib/semantex/stripsemantex.lua index 1ebce1f716..0ecb5e6240 100644 --- a/macros/latex/contrib/semantex/stripsemantex.lua +++ b/macros/latex/contrib/semantex/stripsemantex.lua @@ -64,6 +64,11 @@ addIDsToRegisters = function(str) end removeSuperfluousIDs = function() + local p = content:find('([^\\]%%[^\n]-)\\SemantexIDcommand{}([^\n]-\n)') + while p do + content = content:gsub('([^\\]%%[^\n]-)\\SemantexIDcommand{}([^\n]-\n)','%1%2') + p = content:find('([^\\]%%[^\n]-)\\SemantexIDcommand{}([^\n]-\n)') + end content = content:gsub('parent(%s*)=(%s*)\\SemantexIDcommand{}','parent%1=%2') content = content:gsub('class(%s*)=(%s*)\\SemantexIDcommand{}','class%1=%2') content = content:gsub('clone(%s*)=(%s*)\\SemantexIDcommand{}','clone%1=%2') @@ -75,12 +80,12 @@ removeSuperfluousIDs = function() end addNumbersToIDs = function() - local n = 1 + local n = 0 local p,q = string.find(content,'\\SemantexIDcommand{}') while q do + n = n + 1 content = content:sub(1,q-1) .. n .. content:sub(q,-1) p, q = string.find(content,'\\SemantexIDcommand{}') - n = n + 1 end end @@ -154,7 +159,7 @@ semantexIDluacommand = function(id, source, output) netto = netto + 1 elseif e == '\\' then q = q + 1 - -- there is no chance that the source contains a %, so we do not + -- there is no chance that the source contains an unescaped %, so we do not -- check for this end end @@ -187,14 +192,18 @@ semantexIDluacommand = function(id, source, output) output = output:gsub('\\mathclose \\}', '\\}') output = output:gsub('\\mathopen \\lbrace', '\\lbrace') output = output:gsub('\\mathclose \\rbrace', '\\rbrace') - output = output:gsub('\\mathopen \\lbrack', '\\rbrack') + output = output:gsub('\\mathopen \\lbrack', '\\lbrack') output = output:gsub('\\mathclose \\rbrack', '\\rbrack') output = output:gsub('\\mathopen \\langle', '\\langle') output = output:gsub('\\mathclose \\rangle', '\\rangle') - output = output:gsub('\\mathopen \\lvert', '\\rvert') + output = output:gsub('\\mathopen \\lvert', '\\lvert') output = output:gsub('\\mathclose \\rvert', '\\rvert') - output = output:gsub('\\mathopen \\lVert', '\\rVert') + output = output:gsub('\\mathopen \\vert', '\\lvert') + output = output:gsub('\\mathclose \\vert', '\\rvert') + output = output:gsub('\\mathopen \\lVert', '\\lVert') output = output:gsub('\\mathclose \\rVert', '\\rVert') + output = output:gsub('\\mathopen \\Vert', '\\lVert') + output = output:gsub('\\mathclose \\Vert', '\\rVert') output = output:gsub('%^{\\prime }', '\'') output = output:gsub('%^{\\prime \\prime }', '\'\'') output = output:gsub('%^{\\prime \\prime \\prime }', '\'\'\'') @@ -227,8 +236,56 @@ stripRemainingSemantexIDs = function() content = content:gsub('\\SemantexIDcommand{%d+}', '') end +removeParenthesisCommands = function() + content = content:gsub('\\SemantexMathOpen \\bigg%s?', '\\biggl') + content = content:gsub('\\SemantexMathClose \\bigg%s?', '\\biggr') + content = content:gsub('\\SemantexMathOpen \\Bigg%s?', '\\Biggl') + content = content:gsub('\\SemantexMathClose \\Bigg%s?', '\\Biggr') + content = content:gsub('\\SemantexMathOpen \\big%s?', '\\bigl') + content = content:gsub('\\SemantexMathClose \\big%s?', '\\bigr') + content = content:gsub('\\SemantexMathOpen \\Big%s?', '\\Bigl') + content = content:gsub('\\SemantexMathClose \\Big%s?', '\\Bigr') + content = content:gsub('\\SemantexMathOpen{} %(', '(') + content = content:gsub('%s*\\SemantexMathClose{}%)', ')') + content = content:gsub('\\SemantexMathOpen{} %[', '[') + content = content:gsub('%s*\\SemantexMathClose{}%]', ']') + content = content:gsub('\\SemantexMathOpen{} \\{', '\\{') + content = content:gsub('%s*\\SemantexMathClose{} \\}', '\\}') + content = content:gsub('\\SemantexMathOpen{} \\lbrace', '\\lbrace') + content = content:gsub('\\SemantexMathClose{} \\rbrace', '\\rbrace') + content = content:gsub('\\SemantexMathOpen{} \\lbrack', '\\rbrack') + content = content:gsub('\\SemantexMathClose{} \\rbrack', '\\rbrack') + content = content:gsub('\\SemantexMathOpen{} \\langle', '\\langle') + content = content:gsub('\\SemantexMathClose{} \\rangle', '\\rangle') + content = content:gsub('\\SemantexMathOpen{} \\lvert', '\\lvert') + content = content:gsub('\\SemantexMathClose{} \\rvert', '\\rvert') + content = content:gsub('\\SemantexMathOpen{} \\vert', '\\lvert') + content = content:gsub('\\SemantexMathClose{} \\vert', '\\rvert') + content = content:gsub('\\SemantexMathOpen{} \\lVert', '\\lVert') + content = content:gsub('\\SemantexMathClose{} \\rVert', '\\rVert') + content = content:gsub('\\SemantexMathOpen{} \\Vert', '\\lVert') + content = content:gsub('\\SemantexMathClose{} \\Vert', '\\rVert') + content = content:gsub('\\SemantexMathOpen{} .%s?', '') + content = content:gsub('\\SemantexMathClose{} .%s?', '') + content = content:gsub('\\SemantexMathOpen{}', '\\mathopen ') + content = content:gsub('\\SemantexMathClose{}', '\\mathclose ') + content = content:gsub('\\SemantexMathOpenAuto%s?', '\\SemantexLeft') + content = content:gsub('\\SemantexMathCloseAuto%s?', '\\SemantexRight') + content = content:gsub('\\SemantexMathOpenNoPar%s?', '') + content = content:gsub('\\SemantexMathCloseNoPar%s?', '') + content = content:gsub('\\SemantexMathOpen%s?', '\\mathopen') + content = content:gsub('\\SemantexMathClose%s?', '\\mathclose') +end + +stripComments = function() + content = content:gsub('\\%%', '\\StripSemantexEscapedPercent') + content = content:gsub('(\\%w+)%%.-\n%s*', '%1 ') + content = content:gsub('%%.-\n%s*', '') + content = content:gsub('\\StripSemantexEscapedPercent', '\\%%') +end + addSemtexPackageToFile = function() - content = [[% The following was added by "stripsemantex" + content = [[% The following was added by "stripsemantex": \usepackage{semtex,leftindex,graphicx} -- cgit v1.2.3