summaryrefslogtreecommitdiff
path: root/indexing
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-07-08 03:00:51 +0000
committerNorbert Preining <norbert@preining.info>2021-07-08 03:00:51 +0000
commitf008fc632f906448b4bdbc5cd96ab7d98e68b0b9 (patch)
tree1bd4642b99cce05d6ca1dde2577729d865f402c8 /indexing
parent4747884efc69f5b8ad51cc818467f7bbf428b815 (diff)
CTAN sync 202107080300
Diffstat (limited to 'indexing')
-rw-r--r--indexing/xindex/CHANGELOG1
-rw-r--r--indexing/xindex/README.md1
-rw-r--r--indexing/xindex/doc/xindex-doc.pdfbin408854 -> 410832 bytes
-rw-r--r--indexing/xindex/doc/xindex-doc.tex74
-rw-r--r--indexing/xindex/lualatex/xindex-DIN2.lua4
-rw-r--r--indexing/xindex/lualatex/xindex-HAdW-eKO.lua4
-rw-r--r--indexing/xindex/lualatex/xindex-base.lua38
-rw-r--r--indexing/xindex/lualatex/xindex-cfg-common.lua4
-rw-r--r--indexing/xindex/lualatex/xindex-cfg-uca.lua4
-rw-r--r--indexing/xindex/lualatex/xindex-cfg.lua4
-rw-r--r--indexing/xindex/lualatex/xindex-dtk.lua4
-rw-r--r--indexing/xindex/lualatex/xindex-lapp.lua4
-rw-r--r--indexing/xindex/lualatex/xindex-lib.lua4
-rw-r--r--indexing/xindex/lualatex/xindex-norsk.lua4
-rw-r--r--indexing/xindex/lualatex/xindex-pretty.lua4
-rw-r--r--indexing/xindex/lualatex/xindex-unicode.lua3
-rw-r--r--indexing/xindex/lualatex/xindex-yannis.lua262
-rw-r--r--indexing/xindex/scripts/xindex-yannis.lua262
-rwxr-xr-xindexing/xindex/scripts/xindex.lua13
19 files changed, 659 insertions, 35 deletions
diff --git a/indexing/xindex/CHANGELOG b/indexing/xindex/CHANGELOG
index bf199a2f3f..f3ae68df9a 100644
--- a/indexing/xindex/CHANGELOG
+++ b/indexing/xindex/CHANGELOG
@@ -1,3 +1,4 @@
+0.30 2021-07-07 - added otional argument -b for no label setting in the <index>.ind
0.29 2021-07-05 - don't use language specific names for the labels
- use math.max()
- check for language specific folium pages and not only "f", "ff"
diff --git a/indexing/xindex/README.md b/indexing/xindex/README.md
index 70f0bd970d..59a639ac7a 100644
--- a/indexing/xindex/README.md
+++ b/indexing/xindex/README.md
@@ -25,6 +25,7 @@ possible options are (short,long):
-e,--escapechar (default ")
-n,--noheadings
-a,--no_casesensitive
+ -b,--no_label
-o,--output (default "")
-l,--language (default en)
-p,--prefix (default L)
diff --git a/indexing/xindex/doc/xindex-doc.pdf b/indexing/xindex/doc/xindex-doc.pdf
index a1e54f4ae4..0e0af19097 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 71f6139d4f..8adac4c59c 100644
--- a/indexing/xindex/doc/xindex-doc.tex
+++ b/indexing/xindex/doc/xindex-doc.tex
@@ -1,7 +1,7 @@
%% $Id: xindex-doc.tex 635 2017-10-24 18:22:59Z herbert $
%
\listfiles\setcounter{errorcontextlines}{100}
-\documentclass[paper=a4,fontsize=11pt,DIV=13,parskip=half-,
+\documentclass[paper=a4,fontsize=11pt,DIV=14,parskip=half-,
captions=tableabove,twoside=on]{scrartcl}
\usepackage{fontspec}
%\usepackage{libertinus-otf}
@@ -53,6 +53,7 @@
\def\Lpack#1{\texttt{#1}\index{#1 package@\texttt{#1} package}}
\def\Lprog#1{\texttt{#1}\index{#1 program@\texttt{#1} program}}
\def\Loption#1{\texttt{#1}\index{#1@\texttt{#1} package option}}
+\def\Largb#1{\emph{\{#1\}}}
%\usepackage[bibstyle=dtk]{biblatex}
%\addbibresource{\jobname.bib}
@@ -80,9 +81,9 @@
\def\setVersion#1{\setVVersion#1!!}
\def\setVVersion#1=#2!!{\def\xIndexVersion{#2}}
-\setVersion{version = 0.29}% can be automatically changed by perl
+\setVersion{version = 0.30}% can be automatically changed by perl
-\setkeys{dtk}{cleanup=true,force=false}
+\setkeys{dtk}{cleanup=true,force}
\title{Program and package \texttt{xindex} \\--\\ \normalsize \xIndexVersion\ (\today)}
@@ -101,7 +102,8 @@ Denis Bitouzé;
Brian Dunn;
Michal Hoftich;
Heiko Oberdiek;
-Matteo Paolini;
+Matteo Paolini;\\
+Florent Rougon;
Martin Sievers;
Simon Spiegel
@@ -165,7 +167,8 @@ xindex
[-v ] verbose
[-c,--config ] default is cfg
[-e,--escapechar ] default is "
- [-a, --nocasesensitive ] default is false
+ [-a, --no_casesensitive ] default is false
+ [-b,--no_labels ] default is false
[-n,--noheadings ] default is false
[-o,--output ] default is <input>.ind
[-l,--language ] default is en
@@ -174,6 +177,32 @@ xindex
<input file>
\end{verbatim}
+For example:
+
+\begin{verbatim}
+xindex -q -l fr -b myDoc
+\end{verbatim}
+
+\iffalse
+local args = require ('xindex-lapp') [[
+ parameter handling
+ -q,--quiet
+ -h,--help
+ -v... Verbosity level; can be -v, -vv, -vvv
+ -c,--config (default cfg)
+ -e,--escapechar (default ")
+ -n,--noheadings
+ -a,--no_casesensitive
+ -b,--no_labels
+ -o,--output (default "")
+ -l,--language (default en)
+ -p,--prefix (default L)
+ -u,--use_UCA
+ <input> (string)
+]]
+\fi
+
+
The \Index{language} has to be chosen as an international abbreviation in lower- or uppercase letters, see
@@ -656,7 +685,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,
@@ -1079,7 +1108,7 @@ The following example runs \verb|xindex -c dtk -l de -n <input>|
crop,
xindex,
xindexOptions=-c dtk -n -l de,
- force=false,
+ force,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -1134,7 +1163,7 @@ The following example runs \verb|xindex -c dtk -l de -n <input>|
%StopVisiblePreamble
\pagestyle{empty}
\begin{document}
-\mbox{}\ref{president}
+\mbox{}\label{president}
\printindex
\end{document}
\end{externalDocument}
@@ -1586,7 +1615,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,
@@ -1640,6 +1669,33 @@ foo\index[persons]{Volovich,~ Vladimir}
You have to run \LaTeX\ with the \verb|--shell-escape|\index{Shell escape} option to run \Lprog{xindex}
from within the \LaTeX\ document.
+
+\section{Labels}
+By default \XI creates \Index{label}s in the index for the \Index{symbols}, \Index{numbers}, and other parts (letters) to which one can refer.
+with \Lcs{ref}\Largb{label}.
+The labels are named \verb|L-xindex-<name>|. The prefix \verb|L| can be changed by the config file. \verb|<name>|
+maybe \verb|symbols|, \verb|numbers|, or \verb|A| (a letter). For example
+
+\begin{verbatim}
+\begin{theindex}
+\par\textbf{Symbols}\label{L-xindex-symbols}
+\nopagebreak[4]
+ \item @, \hyperpage{3}
+ \item (, \hyperpage{3}
+ \item !, \hyperpage{3}
+
+\indexspace
+\textbf{A}\label{L-xindex-A}
+[...]
+\end{verbatim}
+
+The labels can be used to create a reference to a specific part in the index, for example the
+letter X is in the index on page \pageref{L-xindex-X} (\Lcs{pageref}\Largb{L-xindex-X}).
+
+With the optional argument \verb|-b| for the run of \XI one can supress the creation of the
+labels, e.g. \verb|xindex -b -l fr ...|
+
+
\section{Demerits}
\begin{itemize}
\item For more than 5000 entries in the \Lext{idx} file the internal Lua function
diff --git a/indexing/xindex/lualatex/xindex-DIN2.lua b/indexing/xindex/lualatex/xindex-DIN2.lua
index dc782726fe..0b475ae118 100644
--- a/indexing/xindex/lualatex/xindex-DIN2.lua
+++ b/indexing/xindex/lualatex/xindex-DIN2.lua
@@ -4,10 +4,12 @@
-- REQUIREMENTS:
-- AUTHOR: Herbert Voß
-- LICENSE: LPPL1.3
+--
+-- $Id: xindex-DIN2.lua 3 2021-07-07 07:21:56Z hvoss $
-----------------------------------------------------------------------
if not modules then modules = { } end modules ['xindex-cfg'] = {
- version = 0.29,
+ version = 0.30,
comment = "configuration to xindex.lua",
author = "Herbert Voss",
copyright = "Herbert Voss",
diff --git a/indexing/xindex/lualatex/xindex-HAdW-eKO.lua b/indexing/xindex/lualatex/xindex-HAdW-eKO.lua
index 6b9e3c65a9..68e0546e2c 100644
--- a/indexing/xindex/lualatex/xindex-HAdW-eKO.lua
+++ b/indexing/xindex/lualatex/xindex-HAdW-eKO.lua
@@ -4,12 +4,14 @@
-- REQUIREMENTS:
-- AUTHOR: Herbert Voß
-- LICENSE: LPPL1.3
+--
+-- $Id: xindex-HAdW-eKO.lua 3 2021-07-07 07:21:56Z hvoss $
-----------------------------------------------------------------------
--
-- configuration for index files of the Heidelberger Akademie der Wissenschaften
if not modules then modules = { } end modules ['xindex-HAdW-eKO'] = {
- version = 0.29,
+ version = 0.30,
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 ae77fe93fb..4748026af0 100644
--- a/indexing/xindex/lualatex/xindex-base.lua
+++ b/indexing/xindex/lualatex/xindex-base.lua
@@ -4,9 +4,11 @@
-- REQUIREMENTS:
-- AUTHOR: Herbert Voß
-- LICENSE: LPPL1.3
+--
+-- $Id: xindex-base.lua 3 2021-07-07 07:21:56Z hvoss $
-----------------------------------------------------------------------
-local info = { version = 0.29 }
+local info = { version = 0.30 }
-- check config
if pageNoPrefixDel ~= "" then
@@ -208,12 +210,14 @@ for k=1,#NewIndex do
firstSLine = false
if not no_headings then
outFile:write("\\par"..idxnewletter.."{"..index_header[1].."}")
- if (labelPrefix == "") then
- outFile:write("\\label{xindex-symbols}\n\\nopagebreak[4]\n")
--- outFile:write("\\label{xindex-"..index_header[1].."}\n\\nopagebreak[4]\n")
+ if no_labels then
+ outFile:write("\n\\nopagebreak[4]\n")
else
- outFile:write("\\label{"..labelPrefix.."-xindex-symbols}\n\\nopagebreak[4]\n")
--- outFile:write("\\label{"..labelPrefix.."-xindex-"..index_header[1].."}\n\\nopagebreak[4]\n")
+ if (labelPrefix == "") then
+ outFile:write("\\label{xindex-symbols}\n\\nopagebreak[4]\n")
+ else
+ outFile:write("\\label{"..labelPrefix.."-xindex-symbols}\n\\nopagebreak[4]\n")
+ end
end
end
end
@@ -232,12 +236,14 @@ for k=1,#NewIndex do
outFile:write("\n\\indexspace\n")
if not no_headings then
outFile:write(idxnewletter.."{"..index_header[2].."}")
- if (labelPrefix == "") then
- outFile:write("\\label{xindex-numbers}\n\\nopagebreak[4]\n")
--- outFile:write("\\label{xindex-"..index_header[2].."}\n\\nopagebreak[4]\n")
+ if no_labels then
+ outFile:write("\n\\nopagebreak[4]\n")
else
- outFile:write("\\label{"..labelPrefix.."-xindex-numbers}\n\\nopagebreak[4]\n")
--- outFile:write("\\label{"..labelPrefix.."-xindex-"..index_header[2].."}\n\\nopagebreak[4]\n")
+ if (labelPrefix == "") then
+ outFile:write("\\label{xindex-numbers}\n\\nopagebreak[4]\n")
+ else
+ outFile:write("\\label{"..labelPrefix.."-xindex-numbers}\n\\nopagebreak[4]\n")
+ end
end
end
end
@@ -255,10 +261,14 @@ for k=1,#NewIndex do
outFile:write("\n\\indexspace\n")
if not no_headings then
outFile:write(idxnewletter.."{"..currentChar.."}")
- if (labelPrefix == '""') then
- outFile:write("\\label{xindex-"..currentChar.."}\n\\nopagebreak[4]\n")
+ if no_labels then
+ outFile:write("\n\\nopagebreak[4]\n")
else
- outFile:write("\\label{"..labelPrefix.."-xindex-"..currentChar.."}\n\\nopagebreak[4]\n")
+ if (labelPrefix == '""') then
+ outFile:write("\\label{xindex-"..currentChar.."}\n\\nopagebreak[4]\n")
+ else
+ outFile:write("\\label{"..labelPrefix.."-xindex-"..currentChar.."}\n\\nopagebreak[4]\n")
+ end
end
end
oldChar = currentChar
diff --git a/indexing/xindex/lualatex/xindex-cfg-common.lua b/indexing/xindex/lualatex/xindex-cfg-common.lua
index c66c70c716..927caff925 100644
--- a/indexing/xindex/lualatex/xindex-cfg-common.lua
+++ b/indexing/xindex/lualatex/xindex-cfg-common.lua
@@ -4,10 +4,12 @@
-- REQUIREMENTS:
-- AUTHOR: Herbert Voß
-- LICENSE: LPPL1.3
+--
+-- $Id: xindex-cfg-common.lua 4 2021-07-07 07:25:04Z hvoss $
-----------------------------------------------------------------------
if not modules then modules = { } end modules ['xindex-cfg-common'] = {
- version = 0.29,
+ version = 0.30,
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 22a5669e11..c057024dda 100644
--- a/indexing/xindex/lualatex/xindex-cfg-uca.lua
+++ b/indexing/xindex/lualatex/xindex-cfg-uca.lua
@@ -4,10 +4,12 @@
-- REQUIREMENTS:
-- AUTHOR: Herbert Voß
-- LICENSE: LPPL1.3
+--
+-- $Id: xindex-cfg-uca.lua 4 2021-07-07 07:25:04Z hvoss $
-----------------------------------------------------------------------
if not modules then modules = { } end modules ['xindex-cfg-lua'] = {
- version = 0.29,
+ version = 0.30,
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 e088360fdf..8020e4b87a 100644
--- a/indexing/xindex/lualatex/xindex-cfg.lua
+++ b/indexing/xindex/lualatex/xindex-cfg.lua
@@ -4,10 +4,12 @@
-- REQUIREMENTS:
-- AUTHOR: Herbert Voß
-- LICENSE: LPPL1.3
+--
+-- $Id: xindex-cfg.lua 4 2021-07-07 07:25:04Z hvoss $
-----------------------------------------------------------------------
if not modules then modules = { } end modules ['xindex-cfg'] = {
- version = 0.29,
+ version = 0.30,
comment = "main configuration to xindex.lua",
author = "Herbert Voss",
copyright = "Herbert Voss",
diff --git a/indexing/xindex/lualatex/xindex-dtk.lua b/indexing/xindex/lualatex/xindex-dtk.lua
index d479fa0235..28cd42dadd 100644
--- a/indexing/xindex/lualatex/xindex-dtk.lua
+++ b/indexing/xindex/lualatex/xindex-dtk.lua
@@ -4,10 +4,12 @@
-- REQUIREMENTS:
-- AUTHOR: Herbert Voß
-- LICENSE: LPPL1.3
+--
+-- $Id: xindex-dtk.lua 4 2021-07-07 07:25:04Z hvoss $
-----------------------------------------------------------------------
if not modules then modules = { } end modules ['xindex-cfg'] = {
- version = 0.29,
+ version = 0.30,
comment = "DTK configuration to xindex.lua",
author = "Herbert Voss",
copyright = "Herbert Voss",
diff --git a/indexing/xindex/lualatex/xindex-lapp.lua b/indexing/xindex/lualatex/xindex-lapp.lua
index a9a982c2df..4e312ce4a0 100644
--- a/indexing/xindex/lualatex/xindex-lapp.lua
+++ b/indexing/xindex/lualatex/xindex-lapp.lua
@@ -1,5 +1,7 @@
-- lapp.lua
-- Simple command-line parsing using human-readable specification
+--
+-- $Id: xindex-lapp.lua 4 2021-07-07 07:25:04Z hvoss $
-----------------------------
--~ -- args.lua
--~ local args = require ('lapp') [[
@@ -28,7 +30,7 @@
--~ n 2
--------------------------------
if not modules then modules = { } end modules ['xindex-lapp'] = {
- version = 0.29,
+ version = 0.30,
comment = "read parameter for xindex.lua",
author = "Steve Donovan",
copyright = "Steve Donovan",
diff --git a/indexing/xindex/lualatex/xindex-lib.lua b/indexing/xindex/lualatex/xindex-lib.lua
index 193758deef..cd88fef0c8 100644
--- a/indexing/xindex/lualatex/xindex-lib.lua
+++ b/indexing/xindex/lualatex/xindex-lib.lua
@@ -4,10 +4,12 @@
-- REQUIREMENTS:
-- AUTHOR: Herbert Voß
-- LICENSE: LPPL1.3
+--
+-- $Id: xindex-lib.lua 4 2021-07-07 07:25:04Z hvoss $
-----------------------------------------------------------------------
if not modules then modules = { } end modules ['xindex-lib'] = {
- version = 0.29,
+ version = 0.30,
comment = "main library to xindex.lua",
author = "Herbert Voss",
copyright = "Herbert Voss",
diff --git a/indexing/xindex/lualatex/xindex-norsk.lua b/indexing/xindex/lualatex/xindex-norsk.lua
index a92f4823f6..246b295f6a 100644
--- a/indexing/xindex/lualatex/xindex-norsk.lua
+++ b/indexing/xindex/lualatex/xindex-norsk.lua
@@ -5,10 +5,12 @@
-- AUTHOR: Herbert Voß
-- MODIFIED: Sveinung Heggen (2020-01-02)
-- LICENSE: LPPL1.3
+--
+-- $Id: xindex-norsk.lua 4 2021-07-07 07:25:04Z hvoss $
-----------------------------------------------------------------------
if not modules then modules = { } end modules ['xindex-no'] = {
- version = 0.29,
+ version = 0.30,
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 8f2155c803..f8fc65b8bc 100644
--- a/indexing/xindex/lualatex/xindex-pretty.lua
+++ b/indexing/xindex/lualatex/xindex-pretty.lua
@@ -3,9 +3,11 @@
-- Also provides a sandboxed Lua table reader and
-- a function to present large numbers in human-friendly format.
--
+-- $Id: xindex-pretty.lua 4 2021-07-07 07:25:04Z hvoss $
+-----------------------------------------------------------------------
if not modules then modules = { } end modules ['xindex-pretty'] = {
- version = 0.29,
+ version = 0.30,
comment = "dump a Lua table for debugging",
author = "Steve Donovan",
copyright = "Steve Donovan",
diff --git a/indexing/xindex/lualatex/xindex-unicode.lua b/indexing/xindex/lualatex/xindex-unicode.lua
index d3f6c5b84a..4c13c6e65a 100644
--- a/indexing/xindex/lualatex/xindex-unicode.lua
+++ b/indexing/xindex/lualatex/xindex-unicode.lua
@@ -1,3 +1,6 @@
+-- $Id: xindex-unicode.lua 4 2021-07-07 07:25:04Z hvoss $
+-----------------------------------------------------------------------
+
return {
singles = {
[0x00020] = "Zs",
diff --git a/indexing/xindex/lualatex/xindex-yannis.lua b/indexing/xindex/lualatex/xindex-yannis.lua
new file mode 100644
index 0000000000..2ef45e4360
--- /dev/null
+++ b/indexing/xindex/lualatex/xindex-yannis.lua
@@ -0,0 +1,262 @@
+-----------------------------------------------------------------------
+-- FILE: xindex-yannis.lua
+-- DESCRIPTION: configuration file for xindex.lua
+-- REQUIREMENTS:
+-- AUTHOR: Herbert Voß
+-- LICENSE: LPPL1.3
+--
+-- $Id: xindex-yannis.lua 4 2021-07-07 07:25:04Z hvoss $
+-----------------------------------------------------------------------
+
+if not modules then modules = { } end modules ['xindex-yannis'] = {
+ version = 0.30,
+ comment = "main configuration to xindex.lua",
+ author = "Herbert Voss",
+ copyright = "Herbert Voss",
+ license = "LPPL 1.3"
+}
+
+itemPageDelimiter = "," -- Hello, 14
+compressPages = true -- something like 12--15, instaead of 12,13,14,15. the |( ... |) syntax is still valid
+fCompress = false -- 3f -> page 3, 4 and 3ff -> page 3, 4, 5
+minCompress = 2 -- 14--17 or
+rangeSymbol = "-" -- 14-17 instead of --
+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" -- not used !!!
+indexOpening = "" -- commands after \begin{theindex}
+idxnewletter = "\\textbf" -- Only valid if -n is not set
+
+
+--[[
+ 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
+ { 'α', 'ά', 'ὰ', 'ᾶ', 'ἀ', 'ἄ', 'ἂ', 'ἆ', 'ἁ', 'ἅ', 'ἃ', 'ἇ', 'ᾳ', 'ᾴ', 'ᾲ', 'ᾷ', 'ᾀ', 'ᾄ', 'ᾂ', 'ᾆ', 'ᾁ', 'ᾅ', 'ᾃ', 'ᾇ' },
+ { 'β', 'ϐ' },
+ { 'γ' },
+ { 'δ' },
+ { 'ε', 'έ', 'ὲ', 'ἐ', 'ἔ', 'ἒ', 'ἑ', 'ἕ', 'ἓ' },
+ { 'ζ' },
+ { 'η', 'ή', 'ὴ', 'ῆ', 'ἠ', 'ἤ', 'ἢ', 'ἦ', 'ἡ', 'ἥ', 'ἣ', 'ἧ', 'ῃ', 'ῄ', 'ῂ', 'ῇ', 'ᾐ', 'ᾔ', 'ᾒ', 'ᾖ', 'ᾑ', 'ᾕ', 'ᾓ', 'ᾗ' },
+ { 'θ' },
+ { 'ι', 'ί', 'ὶ', 'ῖ', 'ἰ', 'ἴ', 'ἲ', 'ἶ', 'ἱ', 'ἵ', 'ἳ', 'ἷ', 'ϊ', 'ΐ', 'ῒ', 'ῗ' },
+ { 'κ' },
+ { 'λ' },
+ { 'μ' },
+ { 'ν' },
+ { 'ξ' },
+ { 'ο', 'ό', 'ὸ', 'ὀ', 'ὄ', 'ὂ', 'ὁ', 'ὅ', 'ὃ' },
+ { 'π' },
+ { 'ρ' },
+ { 'σ', 'ς' },
+ { 'τ' },
+ { 'υ', 'ύ', 'ὺ', 'ῦ', 'ὐ', 'ὔ', 'ὒ', 'ὖ', 'ὑ', 'ὕ', 'ὓ', 'ὗ', 'ϋ', 'ΰ', 'ῢ', 'ῧ' },
+ { 'φ' },
+ { 'χ' },
+ { 'ψ' },
+ { 'ω', 'ώ', 'ὼ', 'ῶ', 'ὠ', 'ὤ', 'ὢ', 'ὦ', 'ὡ', 'ὥ', 'ὣ', 'ὧ', 'ῳ', 'ῴ', 'ῲ', 'ῷ', 'ᾠ', 'ᾤ', 'ᾢ', 'ᾦ', 'ᾡ', 'ᾥ', 'ᾣ', 'ᾧ' },
+ { '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', 'ž' },
+ { 'а' },
+ { 'б' },
+ { 'в' },
+ { 'г', 'ѓ' },
+ { 'д' },
+ { 'е', 'ё' },
+ { 'ж' },
+ { 'з' },
+ { 'и', 'і' },
+ { 'й' },
+ { 'к' },
+ { 'л' },
+ { 'м' },
+ { 'н' },
+ { 'о' },
+ { 'п' },
+ { 'р' },
+ { 'с' },
+ { 'т' },
+ { 'у' },
+ { 'ф' },
+ { 'х' },
+ { 'ц' },
+ { 'ч' },
+ { 'ш' },
+ { 'щ' },
+ { 'ъ' },
+ { 'ы' },
+ { 'ь' },
+ { 'э' },
+ { 'ю' },
+ { 'я' },
+}
+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', 'Ž' },
+ { 'А' },
+ { 'Б' },
+ { 'В' },
+ { 'Г', 'Ѓ' },
+ { 'Д' },
+ { 'Е', 'Ё' },
+ { 'Ж' },
+ { 'З' },
+ { 'И', 'І' },
+ { 'Й' },
+ { 'К' },
+ { 'Л' },
+ { 'М' },
+ { 'Н' },
+ { 'О' },
+ { 'П' },
+ { 'Р' },
+ { 'С' },
+ { 'Т' },
+ { 'У' },
+ { 'Ф' },
+ { 'Х' },
+ { 'Ц' },
+ { 'Ч' },
+ { 'Ш' },
+ { 'Щ' },
+ { 'Ъ' },
+ { 'Ы' },
+ { 'Ь' },
+ { 'Э' },
+ { 'Ю' },
+ { 'Я' },
+}
+
+
+function SORTendhook(list)
+ print ("We have "..#list.." total list entries")
+ local greek = {}
+ local latin = {}
+ local cyrillic = {}
+ local symbols = {}
+ local numbers = {}
+ local others = {}
+ local firstChar, charType
+ local firstCharNumber
+ local v
+ for i=1,#list do
+ v = list[i]
+ firstChar = NormalizedUppercase(utf.sub(v["sortChar"],1,1))
+ v["sortChar"] = firstChar -- to be sure it is an uppercase unicode char
+ firstCharNumber = string.utfvalue(firstChar)
+ charType = getCharType(firstChar)
+-- print (utf.sub(v["sortChar"],1,1).."->"..firstChar.." ("..firstCharNumber..") ".." ("..charType..")")
+ if charType == 0 then
+ symbols[#symbols+1] = v
+ elseif charType == 1 then
+ numbers[#numbers+1] = v
+ elseif firstCharNumber > 0x052F then -- 0x052F is last cyrillic character
+ others[#others+1] = v
+ elseif firstCharNumber >= 0x0400 then -- 0x0400-0x052F cyrillic characters
+ cyrillic[#cyrillic+1] = v
+ elseif firstCharNumber <= 0x03FF then -- 0x03FF is last greek character
+ if firstCharNumber >= 0x0370 then
+ greek[#greek+1] = v -- 0x0370-0x03FF greek characters
+ elseif firstCharNumber <= 0x024F then
+ if firstCharNumber >= 0x041 then -- 0x041-0x024F latin character
+ latin[#latin+1] = v
+ else
+ others[#others+1] = v -- everything else
+ end
+ end
+ end
+ end
+ print ("We have "..#greek.." Greek entries")
+ print ("We have "..#latin.." Latin entries")
+ print ("We have "..#cyrillic.." Cyrillic entries")
+ print ("We have "..#symbols.." Symbol entries")
+ print ("We have "..#numbers.." Number entries")
+ print ("We have "..#others.." other entries")
+ list = {}
+ for i = 1,#greek do list[#list+1] = greek[i] end
+ list[#list]["Macro"] = "\\vspace{1cm}"
+ for i = 1,#latin do list[#list+1] = latin[i] end
+ list[#list]["Macro"] = "\\vspace{1cm}"
+ for i = 1,#cyrillic do list[#list+1] = cyrillic[i] end
+ list[#list]["Macro"] = "\\vspace{1cm}"
+ for i = 1,#symbols do list[#list+1] = symbols[i] end
+ for i = 1,#numbers do list[#list+1] = numbers[i] end
+ for i = 1,#others do list[#list+1] = others[i] end
+ print ("Sorted "..#list.." entries")
+ return list
+end
+
diff --git a/indexing/xindex/scripts/xindex-yannis.lua b/indexing/xindex/scripts/xindex-yannis.lua
new file mode 100644
index 0000000000..2ef45e4360
--- /dev/null
+++ b/indexing/xindex/scripts/xindex-yannis.lua
@@ -0,0 +1,262 @@
+-----------------------------------------------------------------------
+-- FILE: xindex-yannis.lua
+-- DESCRIPTION: configuration file for xindex.lua
+-- REQUIREMENTS:
+-- AUTHOR: Herbert Voß
+-- LICENSE: LPPL1.3
+--
+-- $Id: xindex-yannis.lua 4 2021-07-07 07:25:04Z hvoss $
+-----------------------------------------------------------------------
+
+if not modules then modules = { } end modules ['xindex-yannis'] = {
+ version = 0.30,
+ comment = "main configuration to xindex.lua",
+ author = "Herbert Voss",
+ copyright = "Herbert Voss",
+ license = "LPPL 1.3"
+}
+
+itemPageDelimiter = "," -- Hello, 14
+compressPages = true -- something like 12--15, instaead of 12,13,14,15. the |( ... |) syntax is still valid
+fCompress = false -- 3f -> page 3, 4 and 3ff -> page 3, 4, 5
+minCompress = 2 -- 14--17 or
+rangeSymbol = "-" -- 14-17 instead of --
+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" -- not used !!!
+indexOpening = "" -- commands after \begin{theindex}
+idxnewletter = "\\textbf" -- Only valid if -n is not set
+
+
+--[[
+ 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
+ { 'α', 'ά', 'ὰ', 'ᾶ', 'ἀ', 'ἄ', 'ἂ', 'ἆ', 'ἁ', 'ἅ', 'ἃ', 'ἇ', 'ᾳ', 'ᾴ', 'ᾲ', 'ᾷ', 'ᾀ', 'ᾄ', 'ᾂ', 'ᾆ', 'ᾁ', 'ᾅ', 'ᾃ', 'ᾇ' },
+ { 'β', 'ϐ' },
+ { 'γ' },
+ { 'δ' },
+ { 'ε', 'έ', 'ὲ', 'ἐ', 'ἔ', 'ἒ', 'ἑ', 'ἕ', 'ἓ' },
+ { 'ζ' },
+ { 'η', 'ή', 'ὴ', 'ῆ', 'ἠ', 'ἤ', 'ἢ', 'ἦ', 'ἡ', 'ἥ', 'ἣ', 'ἧ', 'ῃ', 'ῄ', 'ῂ', 'ῇ', 'ᾐ', 'ᾔ', 'ᾒ', 'ᾖ', 'ᾑ', 'ᾕ', 'ᾓ', 'ᾗ' },
+ { 'θ' },
+ { 'ι', 'ί', 'ὶ', 'ῖ', 'ἰ', 'ἴ', 'ἲ', 'ἶ', 'ἱ', 'ἵ', 'ἳ', 'ἷ', 'ϊ', 'ΐ', 'ῒ', 'ῗ' },
+ { 'κ' },
+ { 'λ' },
+ { 'μ' },
+ { 'ν' },
+ { 'ξ' },
+ { 'ο', 'ό', 'ὸ', 'ὀ', 'ὄ', 'ὂ', 'ὁ', 'ὅ', 'ὃ' },
+ { 'π' },
+ { 'ρ' },
+ { 'σ', 'ς' },
+ { 'τ' },
+ { 'υ', 'ύ', 'ὺ', 'ῦ', 'ὐ', 'ὔ', 'ὒ', 'ὖ', 'ὑ', 'ὕ', 'ὓ', 'ὗ', 'ϋ', 'ΰ', 'ῢ', 'ῧ' },
+ { 'φ' },
+ { 'χ' },
+ { 'ψ' },
+ { 'ω', 'ώ', 'ὼ', 'ῶ', 'ὠ', 'ὤ', 'ὢ', 'ὦ', 'ὡ', 'ὥ', 'ὣ', 'ὧ', 'ῳ', 'ῴ', 'ῲ', 'ῷ', 'ᾠ', 'ᾤ', 'ᾢ', 'ᾦ', 'ᾡ', 'ᾥ', 'ᾣ', 'ᾧ' },
+ { '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', 'ž' },
+ { 'а' },
+ { 'б' },
+ { 'в' },
+ { 'г', 'ѓ' },
+ { 'д' },
+ { 'е', 'ё' },
+ { 'ж' },
+ { 'з' },
+ { 'и', 'і' },
+ { 'й' },
+ { 'к' },
+ { 'л' },
+ { 'м' },
+ { 'н' },
+ { 'о' },
+ { 'п' },
+ { 'р' },
+ { 'с' },
+ { 'т' },
+ { 'у' },
+ { 'ф' },
+ { 'х' },
+ { 'ц' },
+ { 'ч' },
+ { 'ш' },
+ { 'щ' },
+ { 'ъ' },
+ { 'ы' },
+ { 'ь' },
+ { 'э' },
+ { 'ю' },
+ { 'я' },
+}
+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', 'Ž' },
+ { 'А' },
+ { 'Б' },
+ { 'В' },
+ { 'Г', 'Ѓ' },
+ { 'Д' },
+ { 'Е', 'Ё' },
+ { 'Ж' },
+ { 'З' },
+ { 'И', 'І' },
+ { 'Й' },
+ { 'К' },
+ { 'Л' },
+ { 'М' },
+ { 'Н' },
+ { 'О' },
+ { 'П' },
+ { 'Р' },
+ { 'С' },
+ { 'Т' },
+ { 'У' },
+ { 'Ф' },
+ { 'Х' },
+ { 'Ц' },
+ { 'Ч' },
+ { 'Ш' },
+ { 'Щ' },
+ { 'Ъ' },
+ { 'Ы' },
+ { 'Ь' },
+ { 'Э' },
+ { 'Ю' },
+ { 'Я' },
+}
+
+
+function SORTendhook(list)
+ print ("We have "..#list.." total list entries")
+ local greek = {}
+ local latin = {}
+ local cyrillic = {}
+ local symbols = {}
+ local numbers = {}
+ local others = {}
+ local firstChar, charType
+ local firstCharNumber
+ local v
+ for i=1,#list do
+ v = list[i]
+ firstChar = NormalizedUppercase(utf.sub(v["sortChar"],1,1))
+ v["sortChar"] = firstChar -- to be sure it is an uppercase unicode char
+ firstCharNumber = string.utfvalue(firstChar)
+ charType = getCharType(firstChar)
+-- print (utf.sub(v["sortChar"],1,1).."->"..firstChar.." ("..firstCharNumber..") ".." ("..charType..")")
+ if charType == 0 then
+ symbols[#symbols+1] = v
+ elseif charType == 1 then
+ numbers[#numbers+1] = v
+ elseif firstCharNumber > 0x052F then -- 0x052F is last cyrillic character
+ others[#others+1] = v
+ elseif firstCharNumber >= 0x0400 then -- 0x0400-0x052F cyrillic characters
+ cyrillic[#cyrillic+1] = v
+ elseif firstCharNumber <= 0x03FF then -- 0x03FF is last greek character
+ if firstCharNumber >= 0x0370 then
+ greek[#greek+1] = v -- 0x0370-0x03FF greek characters
+ elseif firstCharNumber <= 0x024F then
+ if firstCharNumber >= 0x041 then -- 0x041-0x024F latin character
+ latin[#latin+1] = v
+ else
+ others[#others+1] = v -- everything else
+ end
+ end
+ end
+ end
+ print ("We have "..#greek.." Greek entries")
+ print ("We have "..#latin.." Latin entries")
+ print ("We have "..#cyrillic.." Cyrillic entries")
+ print ("We have "..#symbols.." Symbol entries")
+ print ("We have "..#numbers.." Number entries")
+ print ("We have "..#others.." other entries")
+ list = {}
+ for i = 1,#greek do list[#list+1] = greek[i] end
+ list[#list]["Macro"] = "\\vspace{1cm}"
+ for i = 1,#latin do list[#list+1] = latin[i] end
+ list[#list]["Macro"] = "\\vspace{1cm}"
+ for i = 1,#cyrillic do list[#list+1] = cyrillic[i] end
+ list[#list]["Macro"] = "\\vspace{1cm}"
+ for i = 1,#symbols do list[#list+1] = symbols[i] end
+ for i = 1,#numbers do list[#list+1] = numbers[i] end
+ for i = 1,#others do list[#list+1] = others[i] end
+ print ("Sorted "..#list.." entries")
+ return list
+end
+
diff --git a/indexing/xindex/scripts/xindex.lua b/indexing/xindex/scripts/xindex.lua
index 5a3ba4c4b0..fdcbfb2172 100755
--- a/indexing/xindex/scripts/xindex.lua
+++ b/indexing/xindex/scripts/xindex.lua
@@ -5,10 +5,12 @@
-- REQUIREMENTS:
-- AUTHOR: Herbert Voß
-- LICENSE: LPPL 1.3
+--
+-- $Id: xindex.lua 4 2021-07-07 07:25:04Z hvoss $
-----------------------------------------------------------------------
xindex = xindex or { }
- local version = 0.29
+ local version = 0.30
xindex.version = version
--xindex.self = "xindex"
@@ -46,6 +48,7 @@ local args = require ('xindex-lapp') [[
-e,--escapechar (default ")
-n,--noheadings
-a,--no_casesensitive
+ -b,--no_labels
-o,--output (default "")
-l,--language (default en)
-p,--prefix (default L)
@@ -239,11 +242,17 @@ else
writeLog(1,"Output with headings between different first letter\n",1)
end
+no_labels = args["no_labels"]
+if no_headings then
+ writeLog(1,"Index without labels\n",1)
+else
+ writeLog(1,"Index with labels\n",1)
+end
+
writeLog(2,"Open outputfile "..filename,0)
outFile = io.open(filename,"w+")
writeLog(2,"... done\n",0)
-
writeLog(1,"Starting base file ... \n",2)
BaseRunFile = kpse.find_file("xindex-base.lua")
dofile(BaseRunFile)