summaryrefslogtreecommitdiff
path: root/indexing/xindex/lualatex/xindex-base.lua
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-01-23 03:01:14 +0000
committerNorbert Preining <norbert@preining.info>2022-01-23 03:01:14 +0000
commit47551fbf494bf778f45c78692a0ff17d771b96d7 (patch)
tree1f44a26e32c56c992ec9a362455a7cc1dff71091 /indexing/xindex/lualatex/xindex-base.lua
parent26bfc07f2b7829213356de43cf5b81c3ba99e338 (diff)
CTAN sync 202201230301
Diffstat (limited to 'indexing/xindex/lualatex/xindex-base.lua')
-rw-r--r--indexing/xindex/lualatex/xindex-base.lua20
1 files changed, 15 insertions, 5 deletions
diff --git a/indexing/xindex/lualatex/xindex-base.lua b/indexing/xindex/lualatex/xindex-base.lua
index 2bc1fad8d3..20fa9a494d 100644
--- a/indexing/xindex/lualatex/xindex-base.lua
+++ b/indexing/xindex/lualatex/xindex-base.lua
@@ -5,10 +5,10 @@
-- AUTHOR: Herbert Voß
-- LICENSE: LPPL1.3
--
--- $Id: xindex-base.lua 13 2021-08-15 10:49:40Z hvoss $
+-- $Id: xindex-base.lua 19 2022-01-22 09:59:15Z hvoss $
-----------------------------------------------------------------------
-local info = { version = 0.34 }
+local info = { version = 0.35 }
-- check config
if pageNoPrefixDel ~= "" then
@@ -49,10 +49,12 @@ if hyperpage then writeLog(1,"We have hyperpages ... \n",1) end
--for _,l in pairs(lines) do print (l) end
writeLog(1,"Change escape chars with macros ... \n",0)
-for k,v in pairs(lines) do
+for k,v in ipairs(lines) do
if not commandEntry(v) then
- for i, str0 in ipairs(escape_chars) do
- v = v:gsub(str0[1],str0[2])
+ for i, str0 in ipairs(escape_chars) do -- str0: esc-char, coded, char
+-- print(str0[1],str0[2],v)
+ v = string.gsub(v,str0[1],str0[2])
+-- print("==> "..v)
end
if k < #lines then
if commandEntry(lines[k+1]) then -- is the next line not a \indexentry ?
@@ -222,6 +224,7 @@ for k=1,#NewIndex do
firstSLine = false
if not no_headings then
outFile:write(idxnewletter.."{"..index_header[1].."}")
+ indLines = indLines + 1
-- outFile:write("\\par"..idxnewletter.."{"..index_header[1].."}")
if no_labels then
outFile:write("\n\\nopagebreak[4]\n")
@@ -247,16 +250,20 @@ for k=1,#NewIndex do
if firstNLine then
firstNLine = false
outFile:write("\n\\indexspace\n")
+ indLines = indLines + 1
if not no_headings then
outFile:write(idxnewletter.."{"..index_header[2].."}")
+ indLines = indLines + 1
if no_labels then
outFile:write("\n\\nopagebreak[4]\n")
+ indLines = indLines + 1
else
if (labelPrefix == "") then
outFile:write("\\label{xindex-numbers}\n\\nopagebreak[4]\n")
else
outFile:write("\\label{"..labelPrefix.."-xindex-numbers}\n\\nopagebreak[4]\n")
end
+ indLines = indLines + 1
end
end
end
@@ -272,8 +279,10 @@ for k=1,#NewIndex do
writeLog(1,"We have letters to print ...\n",3)
if (currentChar ~= oldChar) and (charType == 2) then
outFile:write("\n\\indexspace\n")
+ indLines = indLines + 1
if not no_headings then
outFile:write(idxnewletter.."{"..currentChar.."}")
+ indLines = indLines + 1
if no_labels then
outFile:write("\n\\nopagebreak[4]\n")
else
@@ -282,6 +291,7 @@ for k=1,#NewIndex do
else
outFile:write("\\label{"..labelPrefix.."-xindex-"..currentChar.."}\n\\nopagebreak[4]\n")
end
+ indLines = indLines + 1
end
end
oldChar = currentChar