summaryrefslogtreecommitdiff
path: root/indexing
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-01-19 03:01:20 +0000
committerNorbert Preining <norbert@preining.info>2023-01-19 03:01:20 +0000
commitc11207d3e9027d6aa4153a2103df58382d41e56e (patch)
treebde001e74895007216ab81847975bd9143182d60 /indexing
parent8491e6b8fb521fb1c79d3ce9376836c67050c381 (diff)
CTAN sync 202301190301
Diffstat (limited to 'indexing')
-rw-r--r--indexing/xindex/CHANGELOG3
-rw-r--r--indexing/xindex/README.md9
-rw-r--r--indexing/xindex/doc/tests/HADW.pdfbin18346 -> 18342 bytes
-rw-r--r--indexing/xindex/doc/tests/Umlaute.pdfbin15201 -> 15194 bytes
-rw-r--r--indexing/xindex/doc/tests/Umlaute2.pdfbin18890 -> 18884 bytes
-rw-r--r--indexing/xindex/doc/tests/buch.ind2
-rw-r--r--indexing/xindex/doc/tests/buch.pdfbin39089 -> 39021 bytes
-rw-r--r--indexing/xindex/doc/tests/demo-hyperref.pdfbin28627 -> 28624 bytes
-rw-r--r--indexing/xindex/doc/tests/demo.pdfbin34619 -> 34606 bytes
-rw-r--r--indexing/xindex/doc/tests/demo2.ind2
-rw-r--r--indexing/xindex/doc/tests/demo3.pdfbin9223 -> 9216 bytes
-rw-r--r--indexing/xindex/doc/tests/demo4.pdfbin11885 -> 11883 bytes
-rw-r--r--indexing/xindex/doc/xindex-doc.pdfbin459721 -> 468883 bytes
-rw-r--r--indexing/xindex/doc/xindex-doc.tex119
-rw-r--r--indexing/xindex/lualatex/xindex-AU.lua104
-rw-r--r--indexing/xindex/lualatex/xindex-HAdW-eKO.lua2
-rw-r--r--indexing/xindex/lualatex/xindex-base.lua26
-rw-r--r--indexing/xindex/lualatex/xindex-baselib.lua2
-rw-r--r--indexing/xindex/lualatex/xindex-cfg-common.lua2
-rw-r--r--indexing/xindex/lualatex/xindex-cfg-uca.lua2
-rw-r--r--indexing/xindex/lualatex/xindex-cfg.lua2
-rw-r--r--indexing/xindex/lualatex/xindex-danteedition.lua2
-rw-r--r--indexing/xindex/lualatex/xindex-dtk.lua2
-rw-r--r--indexing/xindex/lualatex/xindex-lib.lua8
-rw-r--r--indexing/xindex/lualatex/xindex-norsk.lua2
-rw-r--r--indexing/xindex/lualatex/xindex-pretty.lua2
-rw-r--r--indexing/xindex/lualatex/xindex-yannis.lua2
-rwxr-xr-xindexing/xindex/scripts/xindex.lua20
28 files changed, 255 insertions, 58 deletions
diff --git a/indexing/xindex/CHANGELOG b/indexing/xindex/CHANGELOG
index e60d4308cb..cc12a7f3b3 100644
--- a/indexing/xindex/CHANGELOG
+++ b/indexing/xindex/CHANGELOG
@@ -1,3 +1,6 @@
+0.46 2023-01-18 - fix for Czech character ch
+ - fix for wrong Upper/Lowercase sorting
+ - fix for detect language from aux file
0.45 2022-09-20 - exit xindex after printing version information
0.44 2022-09-09 - ---
0.43 2022-09-01 - print warning if no input file is defined.
diff --git a/indexing/xindex/README.md b/indexing/xindex/README.md
index 38dae0bdd0..97d44cc56b 100644
--- a/indexing/xindex/README.md
+++ b/indexing/xindex/README.md
@@ -1,6 +1,12 @@
# xindex
-Copyright 2019-2022 Herbert Voß
+Copyright 2019-2023 Herbert Voß
+These files are provided under the terms of the LPPL v1.3 or
+later as printed in full text in the manual (xindex.pdf).
+\url{https://ctan.org/license/lppl1.3}.
+
+Report bugs to
+ \url{https://gitlab.com/hvoss49/xindex/issues}.
Unicode compatible index programm for LaTeX. It needs Lua 5.3 which
will be included in at least LuaTeX 1.09 (TeXLive 2019)
@@ -35,6 +41,7 @@ possible options are (short,long):
-a,--no_casesensitive
-b,--no_labels
-o,--output (default "")
+ -k,--checklang
-l,--language (default en)
-p,--prefix (default L)
-u,--use_UCA
diff --git a/indexing/xindex/doc/tests/HADW.pdf b/indexing/xindex/doc/tests/HADW.pdf
index 909517a46f..c1ddc640f5 100644
--- a/indexing/xindex/doc/tests/HADW.pdf
+++ b/indexing/xindex/doc/tests/HADW.pdf
Binary files differ
diff --git a/indexing/xindex/doc/tests/Umlaute.pdf b/indexing/xindex/doc/tests/Umlaute.pdf
index dca73ca414..671b16dba8 100644
--- a/indexing/xindex/doc/tests/Umlaute.pdf
+++ b/indexing/xindex/doc/tests/Umlaute.pdf
Binary files differ
diff --git a/indexing/xindex/doc/tests/Umlaute2.pdf b/indexing/xindex/doc/tests/Umlaute2.pdf
index f63a171c11..2b37bbd889 100644
--- a/indexing/xindex/doc/tests/Umlaute2.pdf
+++ b/indexing/xindex/doc/tests/Umlaute2.pdf
Binary files differ
diff --git a/indexing/xindex/doc/tests/buch.ind b/indexing/xindex/doc/tests/buch.ind
index 048cf75835..19b401d948 100644
--- a/indexing/xindex/doc/tests/buch.ind
+++ b/indexing/xindex/doc/tests/buch.ind
@@ -37,8 +37,8 @@
\item Anhang, {62}
\item Atom, {400f}
\item Autor, {54}
+ \item Autor"=Jahr"=Schema, {544}
\item Autor-Stil, {586}
- \item Autor(=Jahr(=Schema, {544}
\indexspace
\textbf{B}\label{L-xindex-B}
diff --git a/indexing/xindex/doc/tests/buch.pdf b/indexing/xindex/doc/tests/buch.pdf
index b7bbc6a950..90ce8da0a7 100644
--- a/indexing/xindex/doc/tests/buch.pdf
+++ b/indexing/xindex/doc/tests/buch.pdf
Binary files differ
diff --git a/indexing/xindex/doc/tests/demo-hyperref.pdf b/indexing/xindex/doc/tests/demo-hyperref.pdf
index 680acbc892..5cc9900662 100644
--- a/indexing/xindex/doc/tests/demo-hyperref.pdf
+++ b/indexing/xindex/doc/tests/demo-hyperref.pdf
Binary files differ
diff --git a/indexing/xindex/doc/tests/demo.pdf b/indexing/xindex/doc/tests/demo.pdf
index 1b1b2888f0..8ee6506f67 100644
--- a/indexing/xindex/doc/tests/demo.pdf
+++ b/indexing/xindex/doc/tests/demo.pdf
Binary files differ
diff --git a/indexing/xindex/doc/tests/demo2.ind b/indexing/xindex/doc/tests/demo2.ind
index 6bd956f8c6..a2bfb309fc 100644
--- a/indexing/xindex/doc/tests/demo2.ind
+++ b/indexing/xindex/doc/tests/demo2.ind
@@ -9,7 +9,7 @@
\indexspace
\textbf{D}\label{L-xindex-D}
\nopagebreak[4]
- \item {Downes}, Michael, {xxxvi}, {xxxvii}
+ \item {Downes}, Michael, {xxxvif}
\indexspace
\textbf{F}\label{L-xindex-F}
diff --git a/indexing/xindex/doc/tests/demo3.pdf b/indexing/xindex/doc/tests/demo3.pdf
index 91cfbb7134..2d72ee52eb 100644
--- a/indexing/xindex/doc/tests/demo3.pdf
+++ b/indexing/xindex/doc/tests/demo3.pdf
Binary files differ
diff --git a/indexing/xindex/doc/tests/demo4.pdf b/indexing/xindex/doc/tests/demo4.pdf
index f17c7cdf92..7db4dc7fd2 100644
--- a/indexing/xindex/doc/tests/demo4.pdf
+++ b/indexing/xindex/doc/tests/demo4.pdf
Binary files differ
diff --git a/indexing/xindex/doc/xindex-doc.pdf b/indexing/xindex/doc/xindex-doc.pdf
index 243f01e3b5..35bd80e916 100644
--- a/indexing/xindex/doc/xindex-doc.pdf
+++ b/indexing/xindex/doc/xindex-doc.pdf
Binary files differ
diff --git a/indexing/xindex/doc/xindex-doc.tex b/indexing/xindex/doc/xindex-doc.tex
index 6567ab3f17..69ecf8f001 100644
--- a/indexing/xindex/doc/xindex-doc.tex
+++ b/indexing/xindex/doc/xindex-doc.tex
@@ -81,9 +81,9 @@
\def\setVersion#1{\setVVersion#1!!}
\def\setVVersion#1=#2!!{\def\xIndexVersion{#2}}
-\setVersion{version = 0.45}% can be automatically changed by perl
+\setVersion{version = 0.46}% can be automatically changed by perl
-\setkeys{hv}{cleanup=true,force=true}
+\setkeys{hv}{cleanup=true,force=false}
\title{Program and package \texttt{xindex} \\--\\ \normalsize \xIndexVersion\ (\today)}
@@ -273,7 +273,7 @@ are alphabetized.
compiler=lualatex,
crop,
xindex,
- force=true,
+ force=false,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -308,7 +308,7 @@ run \texttt{xindex <file.idx>}\index{<file.idx>}\index{123}
\end{externalDocument}
-For the German language the double quote is an active character and it makes live easier
+For the German language the double quote is an active character and it makes life easier
if one chooses another character.
The escape character can be changed easily by the optional argument \verb|-e "<char>"| or
\verb|--escapechar "<char">|. The following example shows how
@@ -336,7 +336,7 @@ are converted into the internal strings and later back to the origin meaning.
crop,
xindex,
xindexOptions=-e ">",
- force=true,
+ force=false,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -401,7 +401,7 @@ The following example was run with \verb|xindex -l it <file>.idx|:
crop,
xindex,
xindexOptions=-l it -e ">",
- force=true,
+ force=false,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -435,8 +435,8 @@ Run \texttt{xindex} with \texttt{xindex -l it -e ">"}\index{123}
\end{externalDocument}
-The following example was run with \verb|xindex -l "*" <file>.idx|. Then the language is detected from
-the \Lfile{aux} file. This is only possible if package \Lpack{babel} or \Lpack{polyglossia} are used.
+The following example was run with \verb|xindex -k <file>.idx|. In this case \verb|xindex| tries to detect the language from
+the \Lfile{aux} file(s). This is only possible if package \Lpack{babel} or \Lpack{polyglossia} are used.
\begin{externalDocument}[
% grfOptions={width=\dimexpr\linewidth-2\fboxsep-2\fboxrule},
@@ -445,8 +445,8 @@ the \Lfile{aux} file. This is only possible if package \Lpack{babel} or \Lpack{
compiler=lualatex,
crop,
xindex,
- xindexOptions=-l "*" -e "?",
- force=true,
+ xindexOptions=-k -e "?",
+ force=false,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -460,7 +460,7 @@ the \Lfile{aux} file. This is only possible if package \Lpack{babel} or \Lpack{
\let\item\@idxitem}
\makeatother
%StartVisiblePreamble
-\usepackage[canadien]{babel}
+\usepackage[dutch]{babel}
\usepackage{makeidx}\makeindex
%StopVisiblePreamble
\pagestyle{empty}
@@ -479,7 +479,7 @@ Run \texttt{xindex} with \texttt{xindex -l "*" -e "?"}\index{123}
\end{document}
\end{externalDocument}
-Instead of using \verb|-l *| one can also use the parameter \verb|-k| or \verb|--checklang|.
+%Instead of using \verb|-l *| one can also use the parameter \verb|-k| or \verb|--checklang|.
@@ -570,7 +570,7 @@ alphabet_upper = { -- for sorting
crop,
xindex,
xindexOptions=-l de,
- force=true,
+ force=false,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -629,7 +629,7 @@ the word beginning with the letter Ö:
crop,
xindex,
xindexOptions=-c DIN2 -l DE,
- force=true,
+ force=false,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -710,7 +710,7 @@ The following runs with \verb|xindex -l jp <file>|:
crop,
xindex,
xindexOptions=-l jp,
- force=true,
+ force=false,
runs=2,
code=false,
docType=latex,
@@ -768,7 +768,7 @@ by Michal Hoftich's Lua package \texttt{LUA-UCA}, which should be part of any \T
crop,
xindex,
xindexOptions=-u -l cs,
- force=true,
+ force=false,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -818,7 +818,7 @@ the \verb|xindex-???| series because uppercase letters are sorted before lowerca
crop,
xindex,
% xindexOptions=,
- force=true,
+ force=false,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -874,7 +874,7 @@ The same example sorted with the \verb|-a| or \verb|--no_casesensitive| has anot
crop,
xindex,
xindexOptions=-a,
- force=true,
+ force=false,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -932,7 +932,7 @@ By default \textsf{alpha sort} will be sorted \emph{before} \textsf{alphaA}:
crop,
xindex,
% xindexOptions=,
- force=true,
+ force=false,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -971,7 +971,7 @@ This can be changed with the optional argument \verb|-i| or \verb|--ignoreSpace|
crop,
xindex,
xindexOptions=-i,
- force=true,
+ force=false,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -1039,7 +1039,7 @@ folium = {
crop,
xindex,
xindexOptions=-l fr,
- force=true,
+ force=false,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -1093,7 +1093,7 @@ of the same type, so we get \texttt{1f} in the output.
crop,
xindex,
xindexOptions=-l de,
- force=true,,
+ force=false,,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -1212,7 +1212,7 @@ Internally exists a function \verb|compressPageList| which is used if no
crop,
xindex,
xindexOptions=-c HAdW-eKO,
- force=true,
+ force=false,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -1333,7 +1333,7 @@ The following example runs \verb|xindex -c dtk -l de -n <input>|
crop,
xindex,
xindexOptions=-c dtk -n -l de,
- force,
+ force=false,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -1406,7 +1406,7 @@ no limit for \Lprog{xindex}.
crop,
xindex,
% xindexOptions=,
- force=true,
+ force=false,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -1458,7 +1458,7 @@ Using the package \Lpack{hyperref} is no problem:
crop,
xindex,
xindexOptions=-l de,
- force=true,
+ force=false,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -1535,7 +1535,7 @@ such commands are ignored. In the following example we put an horizontal line af
crop,
xindex,
xindexOptions=-l de,
- force=true,
+ force=false,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -1583,7 +1583,7 @@ the vertical space between different first letters:
crop,
xindex,
xindexOptions=-n,
- force=true,,
+ force=false,,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -1635,7 +1635,7 @@ In the documents preamble there is the definition:
crop,
xindex,
xindexOptions=-c header,
- force=true,
+ force=false,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -1781,7 +1781,7 @@ and adds the program \Lprog{xindex} as the default program to \Lpack{imakeidx}.
crop,
xindex,
xindexOptions=-l de,
- force=true,
+ force=false,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -1883,7 +1883,7 @@ in the argument of \Lcs{indexentry}.
crop,
xindex,
xindexOptions=-l de,
- force,
+ force=false,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -1933,7 +1933,7 @@ Duplicate alpha beta gamma.\index{alpha!beta!gamma}
crop,
xindex,
xindexOptions=-l de,
- force,
+ force=false,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -1958,6 +1958,61 @@ Test \index{A!Test} oder auch \index{B!Test}
\end{document}
\end{externalDocument}
+
+\clearpage
+
+
+\begin{externalDocument}[
+% grfOptions={width=\dimexpr\linewidth-2\fboxsep-2\fboxrule},
+ mpwidth=0.55\linewidth,
+ pages={2},
+ frame=false,
+ compiler=lualatex --shell-escape,
+ crop,
+ xindex,
+% xindexOptions=-l de,
+ force=false,
+ runs=2,code,docType=latex,
+ showFilename,
+ align=\centering,
+% grfOptions={width=\linewidth},
+ lstOptions={columns=fixed}]{xindex}
+%! lualatex --shell-escape
+\documentclass[paper=a5]{scrartcl}
+\usepackage{libertinus-otf}
+\let\NewPage\newpage% only for demo
+\makeatletter
+\renewcommand\newpage{\NewPage\let\ps@plain\ps@empty}
+\makeatother
+%StartVisiblePreamble
+%% Denis Bitouzé
+\usepackage{makeidx}\makeindex
+%StopVisiblePreamble
+\begin{document}
+Foo\index{foo!bar1!baz1}
+Foo\index{foo!bar1!baz2}
+Foo\index{foo!bar2!baz1}
+Foo\index{foo!bar2!baz2}
+\printindex
+\end{document}
+\end{externalDocument}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\printindex
\end{document}
diff --git a/indexing/xindex/lualatex/xindex-AU.lua b/indexing/xindex/lualatex/xindex-AU.lua
new file mode 100644
index 0000000000..e69311fb3e
--- /dev/null
+++ b/indexing/xindex/lualatex/xindex-AU.lua
@@ -0,0 +1,104 @@
+-----------------------------------------------------------------------
+-- FILE: xindex-AU.lua
+-- DESCRIPTION: configuration file for xindex.lua
+-- REQUIREMENTS:
+-- AUTHOR: Herbert Voß
+-- LICENSE: LPPL1.3
+--
+-- $Id: xindex-DIN2.lua 13 2021-08-15 10:49:40Z hvoss $
+-----------------------------------------------------------------------
+
+if not modules then modules = { } end modules ['xindex-AU'] = {
+ version = 0.46,
+ comment = "configuration to xindex.lua",
+ author = "Herbert Voss",
+ copyright = "Herbert Voss",
+ license = "LPPL 1.3"
+}
+
+itemPageDelimiter = "," -- Hello, 14
+compressPages = true -- something like 12--15, instead of 12,13,14,15. the |( ... |) syntax is still valid
+fCompress = true -- 3f -> page 3, 4 and 3ff -> page 3, 4, 5
+minCompress = 3 -- 14--17 or
+numericPage = true -- for non numerical pagenumbers, like "VI-17"
+sublabels = {"", "-\\,", "--\\,", "---\\,"} -- for the (sub(sub(sub-items first one is for item
+pageNoPrefixDel = "" -- a delimiter for page numbers like "VI-17"
+indexOpening = "" -- commands after \begin{theindex}
+rangeSymbol = "--"
+idxnewletter = "\\textbf" -- Only valid if -n is not set
+envStart = "\\begin{theindex}"
+envStop = "\\end{theindex}"
+
+
+--[[
+ Each character's position in this array-like table determines its 'priority'.
+ Several characters in the same slot have the same 'priority'.
+]]
+
+alphabet_lower = { -- for sorting
+ { ' ' }, -- only for internal tests
+ { 'a', 'á', 'à', 'å', 'æ', },
+ { 'ä'},
+ { 'b' },
+ { 'c', 'ç' },
+ { 'd' },
+ { 'e', 'é', 'è', 'ë', 'ê' },
+ { 'f' },
+ { 'g' },
+ { 'h' },
+ { 'i', 'í', 'ì', 'î', 'ï' },
+ { 'j' },
+ { 'k' },
+ { 'l' },
+ { 'm' },
+ { 'n', 'ñ' },
+ { 'o', 'ó', 'ò', 'ô', 'ø', 'œ', 'ø'},
+ { 'ö' },
+ { 'p' },
+ { 'q' },
+ { 'r' },
+ { 's', 'š' },
+ { 'ss'},
+ { 'ß' },
+ { 't' },
+ { 'u', 'ú', 'ù', 'û'},
+ { 'ü' },
+ { 'v' },
+ { 'w' },
+ { 'x' },
+ { 'y', 'ý', 'ÿ' },
+ { 'z', 'ž' }
+}
+alphabet_upper = { -- for sorting
+ { ' ' },
+ { 'A', 'Á', 'À', 'Å', 'Æ', 'Â'},
+ { 'Ä'},
+ { 'B' },
+ { 'C', 'Ç' },
+ { 'D' },
+ { 'E', 'È', 'É', 'Ë', 'Ê' },
+ { 'F' },
+ { 'G' },
+ { 'H' },
+ { 'I', 'Í', 'Ì', 'Ï', 'Î' },
+ { 'J' },
+ { 'K' },
+ { 'L' },
+ { 'M' },
+ { 'N', 'Ñ' },
+ { 'O', 'Ó', 'Ò', 'Ø','Œ', 'Ø', 'Ô' },
+ { 'Ö' },
+ { 'P' },
+ { 'Q' },
+ { 'R' },
+ { 'S', 'Š' },
+ { 'T' },
+ { 'U', 'Ú', 'Ù', 'Û' },
+ { 'Ü' },
+ { 'V' },
+ { 'W' },
+ { 'X' },
+ { 'Y', 'Ý', 'Ÿ' },
+ { 'Z', 'Ž' }
+}
+
diff --git a/indexing/xindex/lualatex/xindex-HAdW-eKO.lua b/indexing/xindex/lualatex/xindex-HAdW-eKO.lua
index 8f31687b8e..bd95ecb5a8 100644
--- a/indexing/xindex/lualatex/xindex-HAdW-eKO.lua
+++ b/indexing/xindex/lualatex/xindex-HAdW-eKO.lua
@@ -11,7 +11,7 @@
-- configuration for index files of the Heidelberger Akademie der Wissenschaften
if not modules then modules = { } end modules ['xindex-HAdW-eKO'] = {
- version = 0.45,
+ version = 0.46,
comment = "configuration to xindex.lua",
author = "Herbert Voss",
copyright = "Herbert Voss",
diff --git a/indexing/xindex/lualatex/xindex-base.lua b/indexing/xindex/lualatex/xindex-base.lua
index a7bd416934..968d130ba8 100644
--- a/indexing/xindex/lualatex/xindex-base.lua
+++ b/indexing/xindex/lualatex/xindex-base.lua
@@ -8,7 +8,7 @@
-- $Id: xindex-base.lua 22 2022-02-07 12:18:15Z hvoss $
-----------------------------------------------------------------------
-local info = { version = 0.45 }
+local info = { version = 0.46 }
-- check config
if pageNoPrefixDel ~= "" then
@@ -47,6 +47,14 @@ if #lines == 0 then
os.exit()
end
+print("Presort of \\indexentry lines")
+table.sort(lines)
+if vlevel > 1 then
+ print("Pres-Sorted index list:")
+ for _,l in pairs(lines) do print (l) end
+end
+
+
if vlevel > 1 then
writeLog(1,"--------------- Input data -----------------\n",2)
for _,l in pairs(lines) do writeLog(1,l.."\n",2) end
@@ -214,10 +222,22 @@ for k=1,#NewIndex do
-- if utf8.codepoint(c) < 12288 then -- Japanese starts at hex 3000
-- firstChar = v["sortChar"]
-- else
- firstChar = utf.sub(v["sortChar"],1,1) -- catch a translatet Ö->OE
+ if language == "cs" then -- Czech language has special char ch
+ if utf.sub(v["sortChar"],1,2) == "CH" then
+ firstChar = "Ch"
+ else
+ firstChar = utf.sub(v["sortChar"],1,1)
+ end
+ else
+ firstChar = utf.sub(v["sortChar"],1,1) -- catch a translatet Ö->OE
+ end
-- end
currentChar = firstChar
- charType = getCharType(firstChar)
+ if string.len(firstChar) > 1 then
+ charType = getCharType(utf.sub(firstChar,1,1))
+ else
+ charType = getCharType(firstChar)
+ end
if charType == 0 then
numbers = false
symbols = true
diff --git a/indexing/xindex/lualatex/xindex-baselib.lua b/indexing/xindex/lualatex/xindex-baselib.lua
index bc2c49a59c..a0a07fcdfd 100644
--- a/indexing/xindex/lualatex/xindex-baselib.lua
+++ b/indexing/xindex/lualatex/xindex-baselib.lua
@@ -9,7 +9,7 @@
-----------------------------------------------------------------------
if not modules then modules = { } end modules ['xindex-baselib'] = {
- version = 0.45,
+ version = 0.46,
comment = "base library to xindex.lua",
author = "Herbert Voss",
copyright = "Herbert Voss",
diff --git a/indexing/xindex/lualatex/xindex-cfg-common.lua b/indexing/xindex/lualatex/xindex-cfg-common.lua
index 23f70745a0..cade65084c 100644
--- a/indexing/xindex/lualatex/xindex-cfg-common.lua
+++ b/indexing/xindex/lualatex/xindex-cfg-common.lua
@@ -9,7 +9,7 @@
-----------------------------------------------------------------------
if not modules then modules = { } end modules ['xindex-cfg-common'] = {
- version = 0.45,
+ version = 0.46,
comment = "configuration to xindex.lua",
author = "Herbert Voss",
copyright = "Herbert Voss",
diff --git a/indexing/xindex/lualatex/xindex-cfg-uca.lua b/indexing/xindex/lualatex/xindex-cfg-uca.lua
index 96e7792bd9..3aa2eadc40 100644
--- a/indexing/xindex/lualatex/xindex-cfg-uca.lua
+++ b/indexing/xindex/lualatex/xindex-cfg-uca.lua
@@ -9,7 +9,7 @@
-----------------------------------------------------------------------
if not modules then modules = { } end modules ['xindex-cfg-lua'] = {
- version = 0.45,
+ version = 0.46,
comment = "configuration to xindex-cfg-uca.lua",
author = "Herbert Voss",
copyright = "Herbert Voss",
diff --git a/indexing/xindex/lualatex/xindex-cfg.lua b/indexing/xindex/lualatex/xindex-cfg.lua
index 520eb6ca8f..5778980fd4 100644
--- a/indexing/xindex/lualatex/xindex-cfg.lua
+++ b/indexing/xindex/lualatex/xindex-cfg.lua
@@ -9,7 +9,7 @@
-----------------------------------------------------------------------
if not modules then modules = { } end modules ['xindex-cfg'] = {
- version = 0.45,
+ version = 0.46,
comment = "main configuration to xindex.lua",
author = "Herbert Voss",
copyright = "Herbert Voss",
diff --git a/indexing/xindex/lualatex/xindex-danteedition.lua b/indexing/xindex/lualatex/xindex-danteedition.lua
index e720cfe4a6..15ac0c7385 100644
--- a/indexing/xindex/lualatex/xindex-danteedition.lua
+++ b/indexing/xindex/lualatex/xindex-danteedition.lua
@@ -9,7 +9,7 @@
-----------------------------------------------------------------------
if not modules then modules = { } end modules ['xindex-cfg'] = {
- version = 0.45,
+ version = 0.46,
comment = "configuration file for the DANTE Edition",
author = "Herbert Voss",
copyright = "Herbert Voss",
diff --git a/indexing/xindex/lualatex/xindex-dtk.lua b/indexing/xindex/lualatex/xindex-dtk.lua
index 347edad833..c83109a51a 100644
--- a/indexing/xindex/lualatex/xindex-dtk.lua
+++ b/indexing/xindex/lualatex/xindex-dtk.lua
@@ -9,7 +9,7 @@
-----------------------------------------------------------------------
if not modules then modules = { } end modules ['xindex-cfg'] = {
- version = 0.45,
+ version = 0.46,
comment = "DTK configuration to xindex.lua",
author = "Herbert Voss",
copyright = "Herbert Voss",
diff --git a/indexing/xindex/lualatex/xindex-lib.lua b/indexing/xindex/lualatex/xindex-lib.lua
index 67fc733488..c8b2a73718 100644
--- a/indexing/xindex/lualatex/xindex-lib.lua
+++ b/indexing/xindex/lualatex/xindex-lib.lua
@@ -9,7 +9,7 @@
-----------------------------------------------------------------------
if not modules then modules = { } end modules ['xindex-lib'] = {
- version = 0.45,
+ version = 0.46,
comment = "main library to xindex.lua",
author = "Herbert Voss",
copyright = "Herbert Voss",
@@ -798,7 +798,11 @@ function itemOutput(last, v, hyperpage)
if (i == 1) and (item == "item") then
str = space.."\\"..item.." "..sublabels[i]..currentItems[i].."\n"
else
- str = space.."\\"..item.." "..sublabels[i]..currentItems[i]..itemPageDelimiter.." "..getPageList(v,hyperpage).."\n"
+ if i < excl+1 then -- there is one more ! => so we print no pagenumber
+ str = space.."\\"..item.." "..sublabels[i]..currentItems[i].."\n"
+ else
+ str = space.."\\"..item.." "..sublabels[i]..currentItems[i]..itemPageDelimiter.." "..getPageList(v,hyperpage).."\n"
+ end
end
for i, str0 in ipairs(escape_chars) do -- undo the escape char setting
str = string.gsub(str,str0[2],str0[3])
diff --git a/indexing/xindex/lualatex/xindex-norsk.lua b/indexing/xindex/lualatex/xindex-norsk.lua
index aaf4f212bb..119de90d5f 100644
--- a/indexing/xindex/lualatex/xindex-norsk.lua
+++ b/indexing/xindex/lualatex/xindex-norsk.lua
@@ -10,7 +10,7 @@
-----------------------------------------------------------------------
if not modules then modules = { } end modules ['xindex-no'] = {
- version = 0.45,
+ version = 0.46,
comment = "configuration to xindex.lua",
author = "Herbert Voss",
copyright = "Herbert Voss",
diff --git a/indexing/xindex/lualatex/xindex-pretty.lua b/indexing/xindex/lualatex/xindex-pretty.lua
index 9f097f6285..2706977090 100644
--- a/indexing/xindex/lualatex/xindex-pretty.lua
+++ b/indexing/xindex/lualatex/xindex-pretty.lua
@@ -7,7 +7,7 @@
-----------------------------------------------------------------------
if not modules then modules = { } end modules ['xindex-pretty'] = {
- version = 0.45,
+ version = 0.46,
comment = "dump a Lua table for debugging",
author = "Steve Donovan",
copyright = "Steve Donovan",
diff --git a/indexing/xindex/lualatex/xindex-yannis.lua b/indexing/xindex/lualatex/xindex-yannis.lua
index e7dac7eba5..9ef3151f92 100644
--- a/indexing/xindex/lualatex/xindex-yannis.lua
+++ b/indexing/xindex/lualatex/xindex-yannis.lua
@@ -9,7 +9,7 @@
-----------------------------------------------------------------------
if not modules then modules = { } end modules ['xindex-yannis'] = {
- version = 0.45,
+ version = 0.46,
comment = "main configuration to xindex.lua",
author = "Herbert Voss",
copyright = "Herbert Voss",
diff --git a/indexing/xindex/scripts/xindex.lua b/indexing/xindex/scripts/xindex.lua
index e335dfcc02..2b6123cdb2 100755
--- a/indexing/xindex/scripts/xindex.lua
+++ b/indexing/xindex/scripts/xindex.lua
@@ -6,11 +6,11 @@
-- AUTHOR: Herbert Voß
-- LICENSE: LPPL 1.3
--
--- $Id: xindex.lua 22 2022-02-11 12:18:15Z hvoss $
+-- $Id: xindex.lua 22 2023-01-18 12:18:15Z hvoss $
-----------------------------------------------------------------------
xindex = xindex or { }
- local version = 0.45
+ local version = 0.46
xindex.version = version
--xindex.self = "xindex"
@@ -51,8 +51,8 @@ local args = require ('xindex-lapp') [[
-b,--no_labels
-i,--ignoreSpace
-o,--output (default "")
- -k --checklang same as * star for checking aux file
- -l,--language (default en) or * for detecting the language from the aux file
+ -k,--checklang
+ -l,--language (default en)
-p,--prefix (default L)
-u,--use_UCA
-s,--use_stdin
@@ -239,10 +239,13 @@ escape_chars = { -- by default " is the escape char
outFile = io.open(outfilename,"w+")
+check_language = args["checklang"]
local aux_language = ""
-if args["checklang"] or (args["language"] == "*") then
- writeLog(2,'Check language in aux file\n',0)
+
+if check_language then
+ print("check aux file for unknown language")
+-- writeLog(2,'Check language in aux file\n',0)
-- \babel@aux{german}{} package babel
-- \selectlanguage *[variant=german,spelling=new,]{german} package polyglossia
local auxfile = inFiles[1]:split(".")[1]..".aux"
@@ -256,9 +259,9 @@ if args["checklang"] or (args["language"] == "*") then
break
else
if string.find(str, "babel@aux{") then
- -- print("Babel defunden: "..str)
+-- print("Babel gefunden: "..str)
str = str:match("{..+}$") -- get last word {language}
- -- print("Babel: "..str)
+ print("Babel: "..str)
aux_language = str:sub(2,(#str-3))
break
end
@@ -293,6 +296,7 @@ if (indexheader[language] == nil) then
writeLog(2,'Corrected the unknown language "'..language..'" to "en"'.."\n",0)
language = "en"
end
+
index_header = indexheader[language]
if vlevel > 0 then for i=1,#index_header do writeLog(2,index_header[i].."\n",1) end end
if (folium[language] == nil) then