diff options
author | Robert Alessi <alessi@robertalessi.net> | 2022-08-29 17:56:41 +0200 |
---|---|---|
committer | Robert Alessi <alessi@robertalessi.net> | 2022-08-29 17:56:41 +0200 |
commit | 0888a3817b7726d3d572de7c040d6ebf8f10dda8 (patch) | |
tree | 76e3ae1e27c9b12b965009b32a5650ba45d2ca70 | |
parent | 121940357680091667596eba4099c96c2f5d0fc3 (diff) | |
download | ekdosis-0888a38.tar.gz |
reverted [1219403], adapted patterns for \App and made texpatttotei() recursive
-rw-r--r-- | ekdosis.dtx | 50 |
1 files changed, 10 insertions, 40 deletions
diff --git a/ekdosis.dtx b/ekdosis.dtx index 1838f4e..d2bb237 100644 --- a/ekdosis.dtx +++ b/ekdosis.dtx | |||
@@ -11033,7 +11033,6 @@ local rawcmd = lpeg.Cs(dblbkslash * ascii^1) | |||
11033 | local aftercmd = lpeg.Cs(lpeg.S("*[{,.?;:'`\"") + dblbkslash) | 11033 | local aftercmd = lpeg.Cs(lpeg.S("*[{,.?;:'`\"") + dblbkslash) |
11034 | local cmdargs = lpeg.Cs(spce^-1 * bsqbracketsii * bcbracesii * bsqbrackets^-1) | 11034 | local cmdargs = lpeg.Cs(spce^-1 * bsqbracketsii * bcbracesii * bsqbrackets^-1) |
11035 | local app = lpeg.Cs("app") | 11035 | local app = lpeg.Cs("app") |
11036 | local App = lpeg.Cs("App") | ||
11037 | local lemrdg = lpeg.Cs(lpeg.Cs("lem") + lpeg.Cs("rdg")) | 11036 | local lemrdg = lpeg.Cs(lpeg.Cs("lem") + lpeg.Cs("rdg")) |
11038 | local note = lpeg.Cs("note") | 11037 | local note = lpeg.Cs("note") |
11039 | local inlem = lpeg.Cs{ "<lem" * ((1 - (lpeg.P"<lem" + lpeg.P"</lem>")) + lpeg.V(1))^0 * "</lem>" } | 11038 | local inlem = lpeg.Cs{ "<lem" * ((1 - (lpeg.P"<lem" + lpeg.P"</lem>")) + lpeg.V(1))^0 * "</lem>" } |
@@ -11456,6 +11455,8 @@ local texpatttotags = { | |||
11456 | {a="\\ekdpb%s+%*?{(.-)}", b=""}, | 11455 | {a="\\ekdpb%s+%*?{(.-)}", b=""}, |
11457 | {a="\\ekdpb%s+%*\\?", b=""}, | 11456 | {a="\\ekdpb%s+%*\\?", b=""}, |
11458 | {a="\\mbox%s+(%b{})", b="ekd@ob%1ekd@cb"}, | 11457 | {a="\\mbox%s+(%b{})", b="ekd@ob%1ekd@cb"}, |
11458 | {a="\\App%s+(%b[])(%b{})(%b{})", b="\\app[ekd@os%1ekd@cs]{ekd@ob%2ekd@cbekd@ob%3ekd@cb}"}, | ||
11459 | {a="\\App%s+(%b{})(%b{})", b="\\app{ekd@ob%1ekd@cbekd@ob%2ekd@cb}"}, | ||
11459 | {a="\\LR%s+(%b{})", b="ekd@ob%1ekd@cb"}, | 11460 | {a="\\LR%s+(%b{})", b="ekd@ob%1ekd@cb"}, |
11460 | {a="\\RL%s+(%b{})", b="ekd@ob%1ekd@cb"}, | 11461 | {a="\\RL%s+(%b{})", b="ekd@ob%1ekd@cb"}, |
11461 | {a="\\%=%=%=%s?", b="—"}, | 11462 | {a="\\%=%=%=%s?", b="—"}, |
@@ -11623,39 +11624,6 @@ local function remove_extra_anchors(str) | |||
11623 | return str | 11624 | return str |
11624 | end | 11625 | end |
11625 | 11626 | ||
11626 | local function App_totei(str) | ||
11627 | str = gsub(str, | ||
11628 | dblbkslash * | ||
11629 | App * | ||
11630 | spcenc^-1 * | ||
11631 | bsqbrackets * | ||
11632 | bcbraces * | ||
11633 | bcbraces * | ||
11634 | spcenc^-1, | ||
11635 | function(bkslash, cmd, opt, argi, argii) | ||
11636 | argi = string.sub(argi, 2, -2) | ||
11637 | argii = string.sub(argii, 2, -2) | ||
11638 | opt = get_attr_value(opt, "type") | ||
11639 | if opt ~= "" then opt = " type=\""..opt.."\"" else end | ||
11640 | return App_totei(string.format("<app%s>%s%s</app>", | ||
11641 | opt, argi, argii)) | ||
11642 | end) | ||
11643 | str = gsub(str, | ||
11644 | dblbkslash * | ||
11645 | App * | ||
11646 | spcenc^-1 * | ||
11647 | bcbraces * | ||
11648 | bcbraces * | ||
11649 | spcenc^-1, | ||
11650 | function(bkslash, cmd, argi, argii) | ||
11651 | argi = string.sub(argi, 2, -2) | ||
11652 | argii = string.sub(argii, 2, -2) | ||
11653 | return App_totei(string.format("<app>%s%s</app>", | ||
11654 | argi, argii)) | ||
11655 | end) | ||
11656 | return str | ||
11657 | end | ||
11658 | |||
11659 | local function app_totei(str) | 11627 | local function app_totei(str) |
11660 | str = gsub(str, | 11628 | str = gsub(str, |
11661 | dblbkslash * | 11629 | dblbkslash * |
@@ -11872,11 +11840,14 @@ end | |||
11872 | 11840 | ||
11873 | local function texpatttotei(str) | 11841 | local function texpatttotei(str) |
11874 | for i = 1,#texpatttotags do | 11842 | for i = 1,#texpatttotags do |
11875 | str = string.gsub(str, texpatttotags[i].a, texpatttotags[i].b) | 11843 | while string.find(str, texpatttotags[i].a) |
11876 | str = string.gsub(str, "ekd@ob%{", "") | 11844 | do |
11877 | str = string.gsub(str, "%}ekd@cb", "") | 11845 | str = string.gsub(str, texpatttotags[i].a, texpatttotags[i].b) |
11878 | str = string.gsub(str, "ekd@os%[", "") | 11846 | str = string.gsub(str, "ekd@ob%{", "") |
11879 | str = string.gsub(str, "%]ekd@cs", "") | 11847 | str = string.gsub(str, "%}ekd@cb", "") |
11848 | str = string.gsub(str, "ekd@os%[", "") | ||
11849 | str = string.gsub(str, "%]ekd@cs", "") | ||
11850 | end | ||
11880 | end | 11851 | end |
11881 | return str | 11852 | return str |
11882 | end | 11853 | end |
@@ -12496,7 +12467,6 @@ local function textotei(str) | |||
12496 | str = texpatttotei(str) | 12467 | str = texpatttotei(str) |
12497 | str = note_totei(str) | 12468 | str = note_totei(str) |
12498 | str = remove_extra_anchors(str) | 12469 | str = remove_extra_anchors(str) |
12499 | str = App_totei(str) | ||
12500 | str = app_totei(str) | 12470 | str = app_totei(str) |
12501 | str = rdgGrp_totei(str) | 12471 | str = rdgGrp_totei(str) |
12502 | str = lem_rdg_totei(str) | 12472 | str = lem_rdg_totei(str) |