From 7ce0a4572d805bdf689e46bfd232f5f3a3869d57 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 19 Jan 2023 21:01:53 +0000 Subject: xindex (19jan23) git-svn-id: svn://tug.org/texlive/trunk@65584 c570f23f-e606-0410-a88d-b1316a301751 --- .../texk/texlive/linked_scripts/xindex/xindex.lua | 20 ++-- Master/texmf-dist/doc/lualatex/xindex/CHANGELOG | 3 + Master/texmf-dist/doc/lualatex/xindex/README.md | 9 +- .../texmf-dist/doc/lualatex/xindex/tests/HADW.pdf | Bin 18346 -> 18342 bytes .../doc/lualatex/xindex/tests/Umlaute.pdf | Bin 15201 -> 15194 bytes .../doc/lualatex/xindex/tests/Umlaute2.pdf | Bin 18890 -> 18884 bytes .../texmf-dist/doc/lualatex/xindex/tests/buch.ind | 2 +- .../texmf-dist/doc/lualatex/xindex/tests/buch.pdf | Bin 39089 -> 39021 bytes .../doc/lualatex/xindex/tests/demo-hyperref.pdf | Bin 28627 -> 28624 bytes .../texmf-dist/doc/lualatex/xindex/tests/demo.pdf | Bin 34619 -> 34606 bytes .../texmf-dist/doc/lualatex/xindex/tests/demo2.ind | 2 +- .../texmf-dist/doc/lualatex/xindex/tests/demo3.pdf | Bin 9223 -> 9216 bytes .../texmf-dist/doc/lualatex/xindex/tests/demo4.pdf | Bin 11885 -> 11883 bytes .../texmf-dist/doc/lualatex/xindex/xindex-doc.pdf | Bin 459721 -> 468883 bytes .../texmf-dist/doc/lualatex/xindex/xindex-doc.tex | 119 +++++++++++++++------ Master/texmf-dist/scripts/xindex/xindex.lua | 20 ++-- .../texmf-dist/tex/lualatex/xindex/xindex-AU.lua | 104 ++++++++++++++++++ .../tex/lualatex/xindex/xindex-HAdW-eKO.lua | 2 +- .../texmf-dist/tex/lualatex/xindex/xindex-base.lua | 26 ++++- .../tex/lualatex/xindex/xindex-baselib.lua | 2 +- .../tex/lualatex/xindex/xindex-cfg-common.lua | 2 +- .../tex/lualatex/xindex/xindex-cfg-uca.lua | 2 +- .../texmf-dist/tex/lualatex/xindex/xindex-cfg.lua | 2 +- .../tex/lualatex/xindex/xindex-danteedition.lua | 2 +- .../texmf-dist/tex/lualatex/xindex/xindex-dtk.lua | 2 +- .../texmf-dist/tex/lualatex/xindex/xindex-lib.lua | 8 +- .../tex/lualatex/xindex/xindex-norsk.lua | 2 +- .../tex/lualatex/xindex/xindex-pretty.lua | 2 +- .../tex/lualatex/xindex/xindex-yannis.lua | 2 +- 29 files changed, 267 insertions(+), 66 deletions(-) create mode 100644 Master/texmf-dist/tex/lualatex/xindex/xindex-AU.lua diff --git a/Build/source/texk/texlive/linked_scripts/xindex/xindex.lua b/Build/source/texk/texlive/linked_scripts/xindex/xindex.lua index e335dfcc02f..2b6123cdb24 100755 --- a/Build/source/texk/texlive/linked_scripts/xindex/xindex.lua +++ b/Build/source/texk/texlive/linked_scripts/xindex/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 diff --git a/Master/texmf-dist/doc/lualatex/xindex/CHANGELOG b/Master/texmf-dist/doc/lualatex/xindex/CHANGELOG index e60d4308cb3..cc12a7f3b3d 100644 --- a/Master/texmf-dist/doc/lualatex/xindex/CHANGELOG +++ b/Master/texmf-dist/doc/lualatex/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/Master/texmf-dist/doc/lualatex/xindex/README.md b/Master/texmf-dist/doc/lualatex/xindex/README.md index 38dae0bdd00..97d44cc56bf 100644 --- a/Master/texmf-dist/doc/lualatex/xindex/README.md +++ b/Master/texmf-dist/doc/lualatex/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/Master/texmf-dist/doc/lualatex/xindex/tests/HADW.pdf b/Master/texmf-dist/doc/lualatex/xindex/tests/HADW.pdf index 909517a46fd..c1ddc640f56 100644 Binary files a/Master/texmf-dist/doc/lualatex/xindex/tests/HADW.pdf and b/Master/texmf-dist/doc/lualatex/xindex/tests/HADW.pdf differ diff --git a/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute.pdf b/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute.pdf index dca73ca414d..671b16dba8e 100644 Binary files a/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute.pdf and b/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute.pdf differ diff --git a/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute2.pdf b/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute2.pdf index f63a171c110..2b37bbd8899 100644 Binary files a/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute2.pdf and b/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute2.pdf differ diff --git a/Master/texmf-dist/doc/lualatex/xindex/tests/buch.ind b/Master/texmf-dist/doc/lualatex/xindex/tests/buch.ind index 048cf758351..19b401d948f 100644 --- a/Master/texmf-dist/doc/lualatex/xindex/tests/buch.ind +++ b/Master/texmf-dist/doc/lualatex/xindex/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/Master/texmf-dist/doc/lualatex/xindex/tests/buch.pdf b/Master/texmf-dist/doc/lualatex/xindex/tests/buch.pdf index b7bbc6a9504..90ce8da0a77 100644 Binary files a/Master/texmf-dist/doc/lualatex/xindex/tests/buch.pdf and b/Master/texmf-dist/doc/lualatex/xindex/tests/buch.pdf differ diff --git a/Master/texmf-dist/doc/lualatex/xindex/tests/demo-hyperref.pdf b/Master/texmf-dist/doc/lualatex/xindex/tests/demo-hyperref.pdf index 680acbc892c..5cc99006629 100644 Binary files a/Master/texmf-dist/doc/lualatex/xindex/tests/demo-hyperref.pdf and b/Master/texmf-dist/doc/lualatex/xindex/tests/demo-hyperref.pdf differ diff --git a/Master/texmf-dist/doc/lualatex/xindex/tests/demo.pdf b/Master/texmf-dist/doc/lualatex/xindex/tests/demo.pdf index 1b1b2888f0d..8ee6506f672 100644 Binary files a/Master/texmf-dist/doc/lualatex/xindex/tests/demo.pdf and b/Master/texmf-dist/doc/lualatex/xindex/tests/demo.pdf differ diff --git a/Master/texmf-dist/doc/lualatex/xindex/tests/demo2.ind b/Master/texmf-dist/doc/lualatex/xindex/tests/demo2.ind index 6bd956f8c66..a2bfb309fc2 100644 --- a/Master/texmf-dist/doc/lualatex/xindex/tests/demo2.ind +++ b/Master/texmf-dist/doc/lualatex/xindex/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/Master/texmf-dist/doc/lualatex/xindex/tests/demo3.pdf b/Master/texmf-dist/doc/lualatex/xindex/tests/demo3.pdf index 91cfbb71343..2d72ee52ebe 100644 Binary files a/Master/texmf-dist/doc/lualatex/xindex/tests/demo3.pdf and b/Master/texmf-dist/doc/lualatex/xindex/tests/demo3.pdf differ diff --git a/Master/texmf-dist/doc/lualatex/xindex/tests/demo4.pdf b/Master/texmf-dist/doc/lualatex/xindex/tests/demo4.pdf index f17c7cdf92a..7db4dc7fd29 100644 Binary files a/Master/texmf-dist/doc/lualatex/xindex/tests/demo4.pdf and b/Master/texmf-dist/doc/lualatex/xindex/tests/demo4.pdf differ diff --git a/Master/texmf-dist/doc/lualatex/xindex/xindex-doc.pdf b/Master/texmf-dist/doc/lualatex/xindex/xindex-doc.pdf index 243f01e3b5f..35bd80e916f 100644 Binary files a/Master/texmf-dist/doc/lualatex/xindex/xindex-doc.pdf and b/Master/texmf-dist/doc/lualatex/xindex/xindex-doc.pdf differ diff --git a/Master/texmf-dist/doc/lualatex/xindex/xindex-doc.tex b/Master/texmf-dist/doc/lualatex/xindex/xindex-doc.tex index 6567ab3f173..69ecf8f0013 100644 --- a/Master/texmf-dist/doc/lualatex/xindex/xindex-doc.tex +++ b/Master/texmf-dist/doc/lualatex/xindex/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 }\index{}\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 ""| or \verb|--escapechar "|. 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 .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 "*" .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 .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 |: 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 | 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/Master/texmf-dist/scripts/xindex/xindex.lua b/Master/texmf-dist/scripts/xindex/xindex.lua index e335dfcc02f..2b6123cdb24 100755 --- a/Master/texmf-dist/scripts/xindex/xindex.lua +++ b/Master/texmf-dist/scripts/xindex/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 diff --git a/Master/texmf-dist/tex/lualatex/xindex/xindex-AU.lua b/Master/texmf-dist/tex/lualatex/xindex/xindex-AU.lua new file mode 100644 index 00000000000..e69311fb3e1 --- /dev/null +++ b/Master/texmf-dist/tex/lualatex/xindex/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/Master/texmf-dist/tex/lualatex/xindex/xindex-HAdW-eKO.lua b/Master/texmf-dist/tex/lualatex/xindex/xindex-HAdW-eKO.lua index 8f31687b8e6..bd95ecb5a80 100644 --- a/Master/texmf-dist/tex/lualatex/xindex/xindex-HAdW-eKO.lua +++ b/Master/texmf-dist/tex/lualatex/xindex/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/Master/texmf-dist/tex/lualatex/xindex/xindex-base.lua b/Master/texmf-dist/tex/lualatex/xindex/xindex-base.lua index a7bd4169348..968d130ba84 100644 --- a/Master/texmf-dist/tex/lualatex/xindex/xindex-base.lua +++ b/Master/texmf-dist/tex/lualatex/xindex/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/Master/texmf-dist/tex/lualatex/xindex/xindex-baselib.lua b/Master/texmf-dist/tex/lualatex/xindex/xindex-baselib.lua index bc2c49a59cf..a0a07fcdfd7 100644 --- a/Master/texmf-dist/tex/lualatex/xindex/xindex-baselib.lua +++ b/Master/texmf-dist/tex/lualatex/xindex/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/Master/texmf-dist/tex/lualatex/xindex/xindex-cfg-common.lua b/Master/texmf-dist/tex/lualatex/xindex/xindex-cfg-common.lua index 23f70745a06..cade65084c6 100644 --- a/Master/texmf-dist/tex/lualatex/xindex/xindex-cfg-common.lua +++ b/Master/texmf-dist/tex/lualatex/xindex/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/Master/texmf-dist/tex/lualatex/xindex/xindex-cfg-uca.lua b/Master/texmf-dist/tex/lualatex/xindex/xindex-cfg-uca.lua index 96e7792bd90..3aa2eadc40d 100644 --- a/Master/texmf-dist/tex/lualatex/xindex/xindex-cfg-uca.lua +++ b/Master/texmf-dist/tex/lualatex/xindex/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/Master/texmf-dist/tex/lualatex/xindex/xindex-cfg.lua b/Master/texmf-dist/tex/lualatex/xindex/xindex-cfg.lua index 520eb6ca8fd..5778980fd48 100644 --- a/Master/texmf-dist/tex/lualatex/xindex/xindex-cfg.lua +++ b/Master/texmf-dist/tex/lualatex/xindex/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/Master/texmf-dist/tex/lualatex/xindex/xindex-danteedition.lua b/Master/texmf-dist/tex/lualatex/xindex/xindex-danteedition.lua index e720cfe4a6f..15ac0c7385e 100644 --- a/Master/texmf-dist/tex/lualatex/xindex/xindex-danteedition.lua +++ b/Master/texmf-dist/tex/lualatex/xindex/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/Master/texmf-dist/tex/lualatex/xindex/xindex-dtk.lua b/Master/texmf-dist/tex/lualatex/xindex/xindex-dtk.lua index 347edad8338..c83109a51ac 100644 --- a/Master/texmf-dist/tex/lualatex/xindex/xindex-dtk.lua +++ b/Master/texmf-dist/tex/lualatex/xindex/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/Master/texmf-dist/tex/lualatex/xindex/xindex-lib.lua b/Master/texmf-dist/tex/lualatex/xindex/xindex-lib.lua index 67fc733488b..c8b2a73718c 100644 --- a/Master/texmf-dist/tex/lualatex/xindex/xindex-lib.lua +++ b/Master/texmf-dist/tex/lualatex/xindex/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/Master/texmf-dist/tex/lualatex/xindex/xindex-norsk.lua b/Master/texmf-dist/tex/lualatex/xindex/xindex-norsk.lua index aaf4f212bba..119de90d5f1 100644 --- a/Master/texmf-dist/tex/lualatex/xindex/xindex-norsk.lua +++ b/Master/texmf-dist/tex/lualatex/xindex/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/Master/texmf-dist/tex/lualatex/xindex/xindex-pretty.lua b/Master/texmf-dist/tex/lualatex/xindex/xindex-pretty.lua index 9f097f62858..27069770900 100644 --- a/Master/texmf-dist/tex/lualatex/xindex/xindex-pretty.lua +++ b/Master/texmf-dist/tex/lualatex/xindex/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/Master/texmf-dist/tex/lualatex/xindex/xindex-yannis.lua b/Master/texmf-dist/tex/lualatex/xindex/xindex-yannis.lua index e7dac7eba5d..9ef3151f92d 100644 --- a/Master/texmf-dist/tex/lualatex/xindex/xindex-yannis.lua +++ b/Master/texmf-dist/tex/lualatex/xindex/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", -- cgit v1.2.3