summaryrefslogtreecommitdiff
path: root/indexing
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-10-29 03:00:39 +0000
committerNorbert Preining <norbert@preining.info>2019-10-29 03:00:39 +0000
commit97f5151099967e6c823d640a90d87bca92c44035 (patch)
tree685caa49488599f87d0caa4e972833b2263d8567 /indexing
parent25a647b97ef526aefcc75269dd19c46dbe3ae4c1 (diff)
CTAN sync 201910290300
Diffstat (limited to 'indexing')
-rw-r--r--indexing/xindex/CHANGELOG2
-rw-r--r--indexing/xindex/doc/tests/HADW.ind30
-rw-r--r--indexing/xindex/doc/tests/HADW.pdfbin20275 -> 18924 bytes
-rw-r--r--indexing/xindex/doc/tests/HADW.tex3
-rw-r--r--indexing/xindex/doc/tests/Umlaute.ind6
-rw-r--r--indexing/xindex/doc/tests/Umlaute.pdfbin17462 -> 15832 bytes
-rw-r--r--indexing/xindex/doc/tests/Umlaute2.ind16
-rw-r--r--indexing/xindex/doc/tests/Umlaute2.pdfbin21640 -> 19533 bytes
-rw-r--r--indexing/xindex/doc/tests/buch.ind553
-rw-r--r--indexing/xindex/doc/tests/buch.pdfbin49722 -> 40170 bytes
-rw-r--r--indexing/xindex/doc/tests/demo-hyperref.ind46
-rw-r--r--indexing/xindex/doc/tests/demo-hyperref.pdfbin32794 -> 29389 bytes
-rw-r--r--indexing/xindex/doc/tests/demo.ind50
-rw-r--r--indexing/xindex/doc/tests/demo.pdfbin39233 -> 35447 bytes
-rw-r--r--indexing/xindex/doc/tests/demo2.ind2
-rw-r--r--indexing/xindex/doc/tests/demo3.ind2
-rw-r--r--indexing/xindex/doc/tests/demo3.pdfbin10054 -> 9494 bytes
-rwxr-xr-xindexing/xindex/doc/tests/runTests.sh2
-rw-r--r--indexing/xindex/doc/xindex-doc.pdfbin375317 -> 377152 bytes
-rw-r--r--indexing/xindex/doc/xindex-doc.tex85
-rw-r--r--indexing/xindex/lualatex/xindex-DIN2.lua16
-rw-r--r--indexing/xindex/lualatex/xindex-HAdW-eKO.lua16
-rw-r--r--indexing/xindex/lualatex/xindex-base.lua22
-rw-r--r--indexing/xindex/lualatex/xindex-cfg-common.lua13
-rw-r--r--indexing/xindex/lualatex/xindex-cfg.lua12
-rw-r--r--indexing/xindex/lualatex/xindex-dtk.lua2
-rw-r--r--indexing/xindex/lualatex/xindex-lapp.lua2
-rw-r--r--indexing/xindex/lualatex/xindex-lib.lua132
-rw-r--r--indexing/xindex/lualatex/xindex-pretty.lua2
-rw-r--r--indexing/xindex/lualatex/xindex-yannis.lua2
-rwxr-xr-xindexing/xindex/scripts/xindex.lua9
31 files changed, 827 insertions, 198 deletions
diff --git a/indexing/xindex/CHANGELOG b/indexing/xindex/CHANGELOG
index d2a227efbe..0a40bef916 100644
--- a/indexing/xindex/CHANGELOG
+++ b/indexing/xindex/CHANGELOG
@@ -1,3 +1,5 @@
+0.18 2019-10-27 - speed up sorting by modifying the code
+0.17 2019-10-15 - fixes in cfg file for missing circum
0.16 2019-10-02 - fixes in the documentation
0.15 2019-09-21 - fixed the corrupt file xindex-lib.lua
0.14 2019-09-01 - added variable idxnewletter
diff --git a/indexing/xindex/doc/tests/HADW.ind b/indexing/xindex/doc/tests/HADW.ind
index 06c3c2515a..6cf4e5b449 100644
--- a/indexing/xindex/doc/tests/HADW.ind
+++ b/indexing/xindex/doc/tests/HADW.ind
@@ -2,37 +2,37 @@
\begin{theindex}
\indexspace
-\textbf{A}
+\textbf{A}\label{L-xindex-A}
\nopagebreak[4]
- \item Aachen, Johannes von, {VII/1 215}
- \item Aarones, {VII/2/1 1003}, {1012}
- \item Abrahamson, {VII/2/1 864}, {991}, {1048}, {1067}, {1156}
- \item Adamson, {VII/2/1 1223}, {IX/1 1228}
+ \item Aachen, Johannes von \dotfill {\colorbox{black!15}{VII/1}:~215}
+ \item Aarones \dotfill {\colorbox{black!15}{VII/2/1}:~1003}, {1012}
+ \item Abrahamson \dotfill {\colorbox{black!15}{VII/2/1}:~864}, {991}, {1048}, {1067}, {1156}
+ \item Adamson \dotfill {\colorbox{black!15}{VII/2/1}:~1223}, {\colorbox{black!15}{IX/1}:~1228}
\item Adrian
- \subitem -\,Hauster, {VII/1 514}, {XI/1 515}
+ \subitem -\,Hauster \dotfill {\colorbox{black!15}{VII/1}:~514}, {\colorbox{black!15}{XI/1}:~515}
\item Alting
- \subitem -\,Mensa, {VII/1 426}, {434}, {453}, {455}, {466f}
+ \subitem -\,Mensa \dotfill {\colorbox{black!15}{VII/1}:~426}, {434}, {453}, {455}, {466f.}
\indexspace
-\textbf{B}
+\textbf{B}\label{L-xindex-B}
\nopagebreak[4]
\item Bremen
- \subitem -\,Heinz von, Erzbischof, \see{Sachsen-Lauenburg}{}
+ \subitem -\,Heinz von, Erzbischof \dotfill \see{Sachsen-Lauenburg}{ }
\indexspace
-\textbf{O}
+\textbf{O}\label{L-xindex-O}
\nopagebreak[4]
\item Osnabrück
- \subitem -\,Heinz von, Bischof, \see{Sachsen-Lauenburg}{}
+ \subitem -\,Heinz von, Bischof \dotfill \see{Sachsen-Lauenburg}{ }
\indexspace
-\textbf{S}
+\textbf{S}\label{L-xindex-S}
\nopagebreak[4]
\item Schleswig-Holstein
- \subitem -\,Rudolf von, Herzog, {VII/2/1 758--761}, {765}
+ \subitem -\,Rudolf von, Herzog \dotfill {\colorbox{black!15}{VII/2/1}:~758--761}, {765}
\indexspace
-\textbf{Z}
+\textbf{Z}\label{L-xindex-Z}
\nopagebreak[4]
- \item Zwingl, Haldrich, {IX 479}, {692}
+ \item Zwingl, Haldrich \dotfill {\colorbox{black!15}{IX}:~479}, {692}
\end{theindex}
diff --git a/indexing/xindex/doc/tests/HADW.pdf b/indexing/xindex/doc/tests/HADW.pdf
index c569984fda..239f431bc9 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/HADW.tex b/indexing/xindex/doc/tests/HADW.tex
index 2c26732da2..1a837fd93b 100644
--- a/indexing/xindex/doc/tests/HADW.tex
+++ b/indexing/xindex/doc/tests/HADW.tex
@@ -5,6 +5,7 @@
\usepackage{babel}
\usepackage{makeidx}
\usepackage{dtk-logos}
+\usepackage[table]{xcolor}
\makeatletter
\def\theindex{% only for demonstration
\section*{\indexname}
@@ -13,7 +14,7 @@
\makeatother
\begin{document}
-Run with \verb|xindex --config HAdW|
+Run with \verb|xindex --config HAdW-eKO|
\printindex
\end{document}
diff --git a/indexing/xindex/doc/tests/Umlaute.ind b/indexing/xindex/doc/tests/Umlaute.ind
index fe7d43950e..3ad13d9ff0 100644
--- a/indexing/xindex/doc/tests/Umlaute.ind
+++ b/indexing/xindex/doc/tests/Umlaute.ind
@@ -2,13 +2,13 @@
\begin{theindex}
\indexspace
-\textbf{F}
+\textbf{F}\label{L-xindex-F}
\nopagebreak[4]
\item Fluss
\subitem -\,Oder, {479}
\indexspace
-\textbf{G}
+\textbf{G}\label{L-xindex-G}
\nopagebreak[4]
\item Göbel, {58}
\item Goethe, {58}
@@ -17,7 +17,7 @@
\item Götz, {58}
\indexspace
-\textbf{O}
+\textbf{O}\label{L-xindex-O}
\nopagebreak[4]
\item Ober, {4}, {6}
\item Oberin, {5f}
diff --git a/indexing/xindex/doc/tests/Umlaute.pdf b/indexing/xindex/doc/tests/Umlaute.pdf
index 8e5e63500d..d91d9f10ec 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.ind b/indexing/xindex/doc/tests/Umlaute2.ind
index d128238f69..a55b4e2926 100644
--- a/indexing/xindex/doc/tests/Umlaute2.ind
+++ b/indexing/xindex/doc/tests/Umlaute2.ind
@@ -2,13 +2,13 @@
\begin{theindex}
\indexspace
-\textbf{F}
+\textbf{F}\label{L-xindex-F}
\nopagebreak[4]
\item Fluss
\subitem -\,Oder, {479}
\indexspace
-\textbf{G}
+\textbf{G}\label{L-xindex-G}
\nopagebreak[4]
\item Göbel, {58}
\item Goethe, {58}
@@ -17,18 +17,18 @@
\item Goldmann, {58}
\indexspace
-\textbf{O}
+\textbf{O}\label{L-xindex-O}
\nopagebreak[4]
- \item Ober, {4}, {6}
- \item Oberin, {5f}
- \item Obstler, {7}
- \item oder, {8}
- \item Oder, \seealso{Fluss}{33}, {58}
\item Ödem, {4}
\item Öl, {8}
\item ölen, {9}
\item Öresund, {2}, {4}
\item Österreich, {1f}
+ \item Ober, {4}, {6}
+ \item Oberin, {5f}
+ \item Obstler, {7}
+ \item oder, {8}
+ \item Oder, \seealso{Fluss}{33}, {58}
\item Oligarch, {28}
\item Ostern, {3f}
\end{theindex}
diff --git a/indexing/xindex/doc/tests/Umlaute2.pdf b/indexing/xindex/doc/tests/Umlaute2.pdf
index b2d94bde3f..c2b78f3f18 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
new file mode 100644
index 0000000000..57a3d139cf
--- /dev/null
+++ b/indexing/xindex/doc/tests/buch.ind
@@ -0,0 +1,553 @@
+
+\begin{theindex}
+\par\textbf{Symbols}\label{L-xindex-Symbols}
+\nopagebreak[4]
+ \item \texttt{\"{}\"{}}, {79}
+ \item \texttt{\"{}=}, {79}
+ \item \texttt{\"{}\textasciitilde}, {79}
+ \item \euro {}, {67}
+ \item \textacutedbl , {78}
+
+\indexspace
+\textbf{Numbers}\label{L-xindex-Numbers}
+\nopagebreak[4]
+ \item 3D, {752}
+ \item 4:3, {621}
+
+\indexspace
+\textbf{A}\label{L-xindex-A}
+\nopagebreak[4]
+ \item AMS, {376}
+ \item ANSI, {67}
+ \item AUC\TeX , {29}
+ \item Abbildung, {309}
+ \item Abbildungsverzeichnis, {310}, {475}
+ \item Absatz, {7}, {381}
+ \item Absatzabstand, {62}
+ \item Absatzbox, {174}
+ \item Absatzeinzug, {62}
+ \item Abschnittsnummer, {433}
+ \item Abstand, {414}
+ \item Achse, {439}
+ \item Adobe Reader, {22}, {55}, {380}, {639}
+ \item Akzent, {73}, {406}, {433}, {447}
+ \item Albanisch, {67}
+ \item American Mathematical Society (AMS), {415}
+ \item Anführungszeichen, {81}
+ \item Anhang, {62}
+ \item Atom, {400f}
+ \item Autor, {54}
+ \item Autor-Stil, {586}
+ \item Autor(=Jahr(=Schema, {544}
+
+\indexspace
+\textbf{B}\label{L-xindex-B}
+\nopagebreak[4]
+ \item Backslash, {65}, {394}
+ \item Bad math, {869}
+ \item Baseline, {224}, {264}
+ \item Basislinie, {224}, {397}
+ \item Batchmode, {39}, {883}
+ \item Batchmodus, {34}
+ \item Beamer-Template
+ \subitem -\,\texttt {logo}, {659}
+ \subitem -\,\texttt {navigation symbols}, {659}
+ \item Befehlssyntax, {6}
+ \item Begrenzer, {430}, {450}, {455}
+ \item Benutzerwörterbuch, {35}
+ \item Beschriftung, {324}
+ \item Betriebswirtschaftslehre, {571}
+ \item Bezeichner, {324}
+ \item Bézierkurve, {715}, {721}
+ \item Bibliografie, {32}, {537--592}
+ \item Bildschirm, {619}
+ \item Bildschirmausgabe, {31}
+ \item Bildunterschrift, {62}
+ \item Bindekorrektur, {61f}, {103}
+ \item Binom, {429}, {431}
+ \item Bitmap, {70}
+ \item Bitmapschrift, {71}
+ \item Blocksatz, {271}
+ \item bookauthor, {557}
+ \item Bookmark, {189}
+ \item Bounding Box, {165f}, {730}, {825}
+ \item bp, {859}
+ \item Briefklasse, {61}
+ \item Bruch, {378}, {404}, {429f}
+
+\indexspace
+\textbf{C}\label{L-xindex-C}
+\nopagebreak[4]
+ \item CMYK, {671}
+ \item cc, {859}
+ \item class option, {386}
+ \item Clipping, {247}
+ \item Clippingpfad, {771}
+ \item Clown, {256}
+ \item Cluster, {248}
+ \item cm, {859}
+ \item Con\TeX t, {879}
+ \item continued fraction, {430}
+ \item Cork-Kodierung, {72}
+ \item Corporate Design, {642}
+ \item Counter, {862}
+
+\indexspace
+\textbf{D}\label{L-xindex-D}
+\nopagebreak[4]
+ \item DIN\,5007, {512}
+ \item DIN~476, {91}
+ \item Dänisch, {67}, {76}
+ \item Dateilinks, {188}
+ \item Datum, {54}
+ \item Datumsformat, {77}
+ \item dd, {859}
+ \item Dehnungspunkte, {9}
+ \item delimiter, {229}
+ \item Delimiter, {394}
+ \item Determinante, {406}
+ \item Deutsch, {67}, {76}, {80}
+ \item Devnagari, {76}
+ \item Dezimalkomma, {247}
+ \item Dezimalpunkt, {247}
+ \item Dezimalstellen, {248}
+ \item Differentialquotient, {414}
+ \item dimen register, {860}
+ \item displaymath mode, {381}
+ \item Distribution, {13}
+ \item Divisior, {431}
+ \item \idxtextClasses
+ \subitem -\,{\sffamily IEEEtran}, {185}
+ \subitem -\,{\sffamily amsart}, {415}
+ \subitem -\,{\sffamily amsbook}, {415}
+ \subitem -\,{\sffamily article}, {52f}, {59f}, {93}, {128}, {150}, {383}, {474}
+ \subitem -\,{\sffamily beamer}, {615}, {617f}, {622}, {660}
+ \subitem -\,{\sffamily book}, {59f}, {93}, {113}, {128}, {150}, {202}, {383f}, {434}, {474f}
+ \subitem -\,{\sffamily ctexart}, {572}
+ \subitem -\,{\sffamily europecv}, {827f}, {830}
+ \subitem -\,{\sffamily letter}, {59ff}
+ \subitem -\,{\sffamily memoir}, {59f}
+ \subitem -\,{\sffamily powerdot}, {615}
+ \subitem -\,{\sffamily report}, {59f}, {93}, {128}, {150}
+ \subitem -\,{\sffamily scrartcl}, {61}, {128f}, {834}
+ \subitem -\,{\sffamily scrbook}, {61}, {128f}
+ \subitem -\,{\sffamily scrlettr2}, {61}
+ \subitem -\,{\sffamily scrlttr2}, {837}
+ \subitem -\,{\sffamily scrreprt}, {61}, {128}
+ \item Dokumentenklasse, {9}, {59}, {386}, {405}
+ \item Dokumentenkörper, {53}
+ \item Dokumentenpräambel, {228}
+ \item Doppelpfeil, {444}
+ \item Doppelseite, {103}
+ \item Dots, {405}
+ \item Druckseiten, {62}
+ \item Durchschuss, {56}
+ \item Durchstreichen, {453}
+ \item dynamische Länge, {400}
+
+\indexspace
+\textbf{E}\label{L-xindex-E}
+\nopagebreak[4]
+ \item Eingabekodierung, {9}, {54}, {67}
+ \item Ellipse, {770}
+ \item em, {860}
+ \item Emacs, {29}
+ \item Encodingtabelle, {70}
+ \item Endlosschleife, {32}
+ \item Englisch, {67}, {76}, {80}
+ \item Entity-Relationship, {798}
+ \item Esperanto, {67}
+ \item Estländisch, {76}
+ \item Estnisch, {67}
+ \item e\TeX , {11}
+ \item Eurozeichen, {67f}
+ \item ex, {860}
+ \item Expansion, {868}
+ \item Exponent, {405}, {408f}
+
+\indexspace
+\textbf{F}\label{L-xindex-F}
+\nopagebreak[4]
+ \item FNDB, {872}
+ \item Fallunterscheidung, {392}, {425}
+ \item Farbe, {236}, {669}
+ \subitem -\,Modell, {680}
+ \subitem -\,konvertieren, {680}
+ \item Farbmodell, {236}, {669}
+ \subitem -\,CMYK, {673}
+ \subitem -\,HSB, {673}
+ \subitem -\,RGB, {673}
+ \item Farbserie, {672}, {680}
+ \item Farbwert, {680}
+ \item Faröisch, {67}
+ \item Fehlersuche, {29}, {33}, {39}
+ \item Feinjustierung, {270}
+ \item Fettschrift, {220}
+ \item Finnisch, {67}, {76}, {80}
+ \item Flattersatz, {142f}, {223}, {358}, {538f}, {640}
+ \item Float, {309}
+ \item float box, {337}
+ \item Folie, {621}
+ \item Folienübergänge, {639}
+ \item Fontfamilie, {661}
+ \item Fontserie, {661}
+ \item Fontshape, {661}
+ \item Format, {13}
+ \item fp\TeX , {13}
+ \item Französisch, {67}, {76}, {80}
+ \item Funktionsgraph, {244}
+ \item Fußlinie, {62}
+ \item Fußnote, {230}, {260}
+ \item Fußnotenzähler, {213}
+ \item Fußnotenzählung, {260}
+ \item Fußzeile, {119}
+
+\indexspace
+\textbf{G}\label{L-xindex-G}
+\nopagebreak[4]
+ \item GUI, {9}, {29}
+ \item Galizisch, {67}
+ \item Gaußscher Algorithmus, {448}
+ \item GenericError, {869}
+ \item Gleichungsnummer, {383}, {389}, {433f}
+ \item Gleichungsnummerierung, {384}, {435}
+ \item Gleitumgebung, {200}, {240}, {309}, {634}, {885}
+ \item Gliederungsebene, {128}
+ \item global, {864}
+ \item Glossar, {32}, {523}
+ \item glue, {400}
+ \item Glyph, {70}, {87}
+ \item Gnome, {36}
+ \item Grenzen, {438}
+ \item Griechisch, {76}, {80}
+ \item Grundlinie, {224}, {264}
+ \item Gruppe, {252}, {864}
+ \item Guillemets, {82}
+
+\indexspace
+\textbf{H}\label{L-xindex-H}
+\nopagebreak[4]
+ \item Hebräisch, {76}
+ \item Hintergrundfarbe, {389}, {658}, {679}
+ \item Hochformat, {96}
+ \item Homograph, {529}
+ \item Hurenkind, {102}
+
+\indexspace
+\textbf{I}\label{L-xindex-I}
+\nopagebreak[4]
+ \item IDE, {29}
+ \item IPA, {72}
+ \item ISO 8859-1, {67}
+ \item ISO 8859-15, {67}
+ \item ISO 8859-2, {67}
+ \item ISO 8859-3, {67}
+ \item ISO 8859-4, {67}
+ \item ISO-Image, {14}
+ \item ISO~216, {91}
+ \item IUPAC, {814}
+ \item in, {859}
+ \item indent, {476}
+ \item Index, {32}, {405}, {408f}, {432}, {699}
+ \item Inhaltsverzeichnis, {32}, {63}, {76}, {128}
+ \item inline mode, {404}
+ \item Inlinemodus, {221}
+ \item Integral, {438}
+ \item Integralsymbol, {448}
+ \item Integrationsvariable, {414}
+ \item interline spacing, {405}
+ \item Internetadresse, {84}
+ \item Irisch, {67}
+ \item Isländisch, {67}, {76}
+ \item italic, {86}
+ \item Italic-Korrektur, {88}
+ \item Italienisch, {76}, {80}
+ \item Items, {413}
+
+\indexspace
+\textbf{K}\label{L-xindex-K}
+\nopagebreak[4]
+ \item \KOMAScript , {59ff}, {93}
+ \item Kapitel, {62}, {76}
+ \item Kapitelanfang, {62}
+ \item Katalanisch, {67}
+ \item Kettenbruch, {430}
+ \item Kile, {36}
+ \item Klammer, {394}
+ \item Klammerhöhe, {452}
+ \item Klammerpaar, {427}
+ \item Klammersymbole, {394}
+ \item Knoten, {775}
+ \item Kochsche Schneeflocke, {778}
+ \item Kodierung, {38}, {67}
+ \subitem -\,ascii, {67}
+ \item Kolumnentitel, {121}, {126}
+ \item Komma, {248}
+ \item Kommutative Diagramme, {448}
+ \item Konventionen, {213}
+ \item Kopf\/linie, {62}
+ \item Kopfzeile, {62}, {119}, {222}
+ \item kritische Edition, {208}
+ \item Kroatisch, {67}, {76}, {80}
+ \item Kursivkorrektur, {88}
+
+\indexspace
+\textbf{L}\label{L-xindex-L}
+\nopagebreak[4]
+ \item LR-Box, {173}
+ \item \LaTeX -Editor, {29}
+ \item Label, {181}, {245}, {387}, {626}
+ \item largesymbols, {396}
+ \item Latin-1, {68}
+ \item Laufweite, {596}
+ \item Layout, {9}, {377}, {618}
+ \item Leerzeichen, {866}
+ \item Legende, {350}
+ \item Leibniz Universität Hannover, {583}
+ \item Lettisch, {67}
+ \item Liedtexte, {145}
+ \item Ligaturen, {89}
+ \item Linie, {219}, {230}
+ \subitem -\,farbig, {217}
+ \subitem -\,horizontal, {216}, {230}
+ \subitem -\,vertikal, {216}, {223}, {230}
+ \item Linksbündig, {223}
+ \item Linux, {13}
+ \item list of tables, {256}
+ \item Litauisch, {67}
+ \item Logdatei, {59}, {880}
+ \item Logfile, {883}
+ \item lokal, {864}
+ \item \nxLPack {longtable}
+ \subitem -\,Tabellenüberschrift, {259}
+ \subitem -\,Tabellenunterschrift, {259}
+ \item lot, {256}
+
+\indexspace
+\textbf{M}\label{L-xindex-M}
+\nopagebreak[4]
+ \item MLA, {586}
+ \item Mac OS~X, {13}, {67}
+ \item Mac\TeX , {13}
+ \item Makefile, {9}
+ \item Makro, {848}
+ \item Makronamen, {414}
+ \item Maltesisch, {67}
+ \item Marginalie, {157}
+ \item Marke, {387}
+ \item Maßeinheit, {711}, {859f}
+ \item Maßzahl, {859}
+ \item math shift, {869}
+ \item Mathematikmodus, {411}
+ \item Mathematiksatz, {85}
+ \item Mathopen-Symbol, {396}
+ \item Matrix, {227}, {383}, {405f}, {426}, {449}
+ \item Mediävalziffern, {595}
+ \item Metronyme, {564}
+ \item MiK\TeX , {13}, {21}, {23}
+ \subitem -\,Paketmanager, {21}
+ \item Mikrotypografie, {7}
+ \item Minimalbeispiel, {888}
+ \item Minuskelziffern, {595}
+ \item mm, {859}
+ \item Modulo, {433}
+ \item Monospaceschrift, {64}
+ \item moving argument, {321}
+ \item \texttt {mu}, {399}
+ \item mu, {432}, {444}, {860}
+ \item multiply defined labels, {258}
+ \item \nxLenv {multirow}-Zelle, {268}
+
+\indexspace
+\textbf{N}\label{L-xindex-N}
+\nopagebreak[4]
+ \item NEJM, {585}
+ \item Navigationsleiste, {33}, {616}, {619}
+ \item Navigator, {33}
+ \item Neunerteilung, {103}
+ \item Niederländisch, {67}, {76}, {80}
+ \item Niedersorbisch, {76}
+ \item Norwegisch, {67}, {76}
+ \item Null, {247}
+ \item Nummerierung, {63}
+ \item numwidth, {476}
+
+\indexspace
+\textbf{O}\label{L-xindex-O}
+\nopagebreak[4]
+ \item Onlinequelle, {561}
+ \item OpenOffice, {35}
+ \item OpenType, {12}, {72}, {601}
+ \item Operator, {378}, {400}, {408}, {414}, {449}
+ \item Operator-Symbol, {408}
+ \item Operatorname, {408}
+ \item option clash, {871}
+ \item optischer Randausgleich, {163}
+ \item Overfull box, {883}
+ \item Overlay, {621}
+ \item Overlays, {631}
+ \item Overlayspezifikation, {627}
+
+\indexspace
+\textbf{P}\label{L-xindex-P}
+\nopagebreak[4]
+ \item \protect \nxLnotation {p}-Spalte, {271}
+ \item p-Spalte, {268}
+ \item PDF/A, {189}
+ \item Page Coded Language, {750}
+ \item Paginierung, {115}
+ \item Papierbreite, {96}
+ \item Papierformat, {62}, {91}, {96}
+ \item Papiergröße, {96}
+ \item Papierhöhe, {96}
+ \item Parabel, {770}
+ \item Patronyme, {564}
+ \item pc, {860}
+ \item pdf\TeX , {11}, {13}
+ \item pdfe\TeX , {11}
+ \item Pfade, {31}
+ \item Pfeil, {443}
+ \item Phantom, {389}
+ \item Polnisch, {67}, {76}, {80}
+ \item Portugiesisch, {67}, {76}, {80}
+ \item PostScript, {750}
+ \item Präambel, {51}, {53f}, {210}, {871}
+ \item pro\TeX t, {22}
+ \item Produkt, {393}, {438}
+ \item programmiert, {6}
+ \item Projekt, {32}, {38}, {210}
+ \item pt, {860}
+ \item Punkt, {248}
+ \item Punkte, {405}, {428}
+ \item px, {860}
+
+\indexspace
+\textbf{Q}\label{L-xindex-Q}
+\nopagebreak[4]
+ \item Quadratwurzel, {393}
+ \item Querformat, {96}
+ \item Querverweis, {212}
+
+\indexspace
+\textbf{R}\label{L-xindex-R}
+\nopagebreak[4]
+ \item \protect \nxLnotation {r}-Spalte, {271}
+ \item RGB, {674}
+ \item Radikand, {432}
+ \item Rahmenfarbe, {389}
+ \item Randbemerkung, {157}
+ \item Rechtsbündig, {223}
+ \item Rechtschreibprüfung, {35}, {40}, {47}
+ \item Referenz, {387}, {437}
+ \item Referenzieren, {245}
+ \item Rekursion, {865}
+ \item Relationssymbol, {380}
+ \item robust, {377f}
+ \item Roman-Zeichensatz, {399}
+ \item root, {14}
+ \item rubber length, {860}
+ \item Rücksetzbefehl, {385}
+ \item Rücksetzschalter, {385}
+ \item Rumänisch, {67}, {76}
+ \item Russisch, {76}, {80}
+
+\indexspace
+\textbf{S}\label{L-xindex-S}
+\nopagebreak[4]
+ \item SQL-Datenbank, {247}
+ \item Satzprogramm, {6}
+ \item Satzspiegel, {91}, {94}, {103}
+ \item Satzspiegelberechnung, {103}
+ \item Schmutztitel, {115}
+ \item Schneidemarken, {60}
+ \item Schnittmarken, {110}
+ \item Schnittpunkt, {722}
+ \item Schreibmaschinenschrift, {64}
+ \item Schrift
+ \subitem -\,Breite, {64}
+ \subitem -\,Gewicht, {87}
+ \subitem -\,Größe, {412}
+ \subitem -\,Höhe, {64}
+ \subitem -\,Laufweite, {87}
+ \subitem -\,Serifen, {85}
+ \subitem -\,Stil, {378}
+ \subitem -\,Tiefe, {64}
+ \subitem -\,Warnung, {883}
+ \item Schriftattribut, {660}
+ \item Schrifteinbindung, {9}
+ \item Schriftfamilie, {85}, {442}, {595}
+ \item Schrift
+ \subitem -\,fett, {411}, {451}
+ \item Schriftgröße, {63}, {87}, {404}
+ \item Schriftkodierung, {9}, {54}, {70}
+ \item Schriftstärke, {87}
+ \item Schriftstil, {404}
+ \item Schrittweite, {428}
+ \item Schusterjunge, {103}
+ \item Schwedisch, {67}, {76}, {80}
+ \item scriptwriting, {459}
+ \item Seitenbeschreibungssprache, {750}
+ \item Seitenstil, {117}, {122}
+ \item Seitenumbruch, {252}
+ \item Seitenverhältnis, {621}
+ \item Seitenvorschub, {62}
+ \item Serbisch, {76}, {80}
+ \item Serienattribut, {596}
+ \item Serifenschrift, {85}
+ \item shape, {86}
+ \item shorthand, {78}
+ \item sidebar, {619}
+ \item Sigel, {561}
+ \item Silbentrennung, {149}
+ \item skip, {58}, {860}
+ \item skip register, {860f}
+ \item Skriptsprache, {13}
+ \item slanted, {86}
+ \item Slowakisch, {67}, {80}
+ \item Slowenisch, {67}, {80}
+ \item Solaris, {13}
+ \item Sortierung, {247}, {489}
+ \item sp, {860}
+ \item Spalten, {62}, {428}
+ \item Spaltenabstand, {215}, {274}
+ \item Spaltenanzahl, {428}
+ \item Spaltenbreite, {290}
+ \item Spaltendefinition, {214}, {217}, {222}, {228}
+ \item Spaltendeklaration, {224}
+ \item Spaltenfarbe, {236}
+ \item Spaltentyp, {222}, {229}, {268}, {274}, {290}
+ \item Spaltenzwischenraum, {290}
+ \item Spanisch, {67}, {76}, {80}
+ \item Sprachauswahl, {9}
+ \item Standardsprache, {76}
+ \item Sternversion, {215}
+ \item Subscript, {378}, {393}, {409}
+ \item Sumatra-PDF, {23}
+ \item Summe, {393}, {438}
+ \item Superscript, {378}, {409}
+ \item Symbol, {400}
+ \subitem -\,gestockt, {411}
+ \item Syntax, {214}
+ \item Systemadministrator, {14}
+ \item Systemmeldung, {883}
+
+\indexspace
+\textbf{T}\label{L-xindex-T}
+\nopagebreak[4]
+ \item TDS, {172}, {872}
+ \item TOC, {128}
+ \item Tabelle, {309f}
+ \subitem -\,Breite, {214}, {289}
+ \subitem -\,Farbe, {273}
+ \subitem -\,Kopf, {222}
+ \subitem -\,gerahmt, {224}
+ \subitem -\,geschachtelt, {268}
+ \item Tabellenbeschriftung, {62}
+ \item Tabellenbreite, {215}
+ \item Tabellenkalkulation, {282}
+ \item Tabellenüberschrift
+ \subitem -\,\nxLPack {longtable}, {259}
+ \item Tabellenunterschrift
+ \item Tabellenverzeichnis, {310}, {475}
+ \item {\ttfamily tabular} Env., \idxbf{0--218}
+\end{theindex}
diff --git a/indexing/xindex/doc/tests/buch.pdf b/indexing/xindex/doc/tests/buch.pdf
index 67bfb3d191..5975dd18f7 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.ind b/indexing/xindex/doc/tests/demo-hyperref.ind
index 6916f4d087..854bf91870 100644
--- a/indexing/xindex/doc/tests/demo-hyperref.ind
+++ b/indexing/xindex/doc/tests/demo-hyperref.ind
@@ -2,7 +2,7 @@
\begin{theindex}
\indexspace
-\textbf{A}
+\textbf{A}\label{L-xindex-A}
\nopagebreak[4]
\item aber, \hyperpage{13}
\item Ägäis, \hyperpage{17--20}
@@ -21,14 +21,14 @@
\item Auto, \hyperindexformat{\textbf}{1}
\indexspace
-\textbf{B}
+\textbf{B}\label{L-xindex-B}
\nopagebreak[4]
\item Beobachtern, \hyperpage{30}
\item braunen, \hyperpage{46}
\item Bündnis, \hyperpage{25}
\indexspace
-\textbf{D}
+\textbf{D}\label{L-xindex-D}
\nopagebreak[4]
\item dabei, \hyperpage{36}
\item das, \hyperpage{15}, \hyperpage{25}
@@ -36,7 +36,7 @@
\item demnach, \hyperpage{35}, \hyperpage{38}
\item Demonstration, \hyperpage{29}, \hyperpage{35}
\item den, \hyperpage{46}
- \item der, \hyperpage{9--31}, \hyperpage{15}, \hyperpage{18\nohyperpage{f}}, \hyperpage{28\nohyperpage{f}}, \hyperpage{34}, \hyperpage{37}, \hyperpage{41}
+ \item der, \hyperpage{9--31}, \hyperpage{34}, \hyperpage{37}, \hyperpage{41}
\item Deshalb, \hyperpage{14}
\item Deutschland, \hyperpage{8}, \hyperpage{27}
\item die, \hyperpage{21}, \hyperpage{39}, \hyperpage{41}
@@ -45,7 +45,7 @@
\item durch, \hyperpage{31}
\indexspace
-\textbf{E}
+\textbf{E}\label{L-xindex-E}
\nopagebreak[4]
\item ein, \hyperpage{36}
\item einer, \hyperpage{22}
@@ -61,7 +61,7 @@
\item Europaplatz., \hyperpage{25}
\indexspace
-\textbf{F}
+\textbf{F}\label{L-xindex-F}
\nopagebreak[4]
\item Feindbild, \hyperpage{7}
\item Festakt, \hyperpage{19}
@@ -70,7 +70,7 @@
\item für, \hyperpage{10}, \hyperpage{26}
\indexspace
-\textbf{G}
+\textbf{G}\label{L-xindex-G}
\nopagebreak[4]
\item gaben, \hyperpage{30}
\item gehabt, \hyperpage{36}
@@ -82,7 +82,7 @@
\item gut, \hyperpage{9}
\indexspace
-\textbf{H}
+\textbf{H}\label{L-xindex-H}
\nopagebreak[4]
\item haben, \hyperpage{32}, \hyperpage{35}, \hyperpage{42}
\item haben., \hyperpage{35}
@@ -90,7 +90,7 @@
\item Hilfe, \hyperpage{10}
\indexspace
-\textbf{I}
+\textbf{I}\label{L-xindex-I}
\nopagebreak[4]
\item illegalen, \hyperpage{36}
\item Im, \hyperpage{43}
@@ -98,26 +98,26 @@
\item ist, \hyperpage{43}
\indexspace
-\textbf{J}
+\textbf{J}\label{L-xindex-J}
\nopagebreak[4]
\item jedoch, \hyperpage{36}
\item jungen, \hyperpage{40}
\indexspace
-\textbf{K}
+\textbf{K}\label{L-xindex-K}
\nopagebreak[4]
\item keine, \hyperpage{36}
\item Kilometer, \hyperpage{23}
\item Kundgebung, \hyperpage{23}, \hyperpage{42}
\indexspace
-\textbf{L}
+\textbf{L}\label{L-xindex-L}
\nopagebreak[4]
\item leben., \hyperpage{14}
\item lernen, \hyperpage{14}
\indexspace
-\textbf{M}
+\textbf{M}\label{L-xindex-M}
\nopagebreak[4]
\item machen., \hyperpage{8}
\item mahnte, \hyperpage{2}
@@ -134,7 +134,7 @@
\item müsse, \hyperpage{14}
\indexspace
-\textbf{N}
+\textbf{N}\label{L-xindex-N}
\nopagebreak[4]
\item N, \hyperpage{31}
\item nach, \hyperpage{19}
@@ -146,14 +146,14 @@
\item Nicht-Perfekten, \hyperpage{14}
\indexspace
-\textbf{O}
+\textbf{O}\label{L-xindex-O}
\nopagebreak[4]
\item Obwohl, \hyperpage{8}
\item Osten, \hyperpage{46}
\item Östereich, \hyperpage{1}
\indexspace
-\textbf{P}
+\textbf{P}\label{L-xindex-P}
\nopagebreak[4]
\item Perfekte, \hyperpage{15}
\item Pessimismus., \hyperpage{10}
@@ -161,13 +161,13 @@
\item Polizei, \hyperpage{32}, \hyperpage{38}
\indexspace
-\textbf{R}
+\textbf{R}\label{L-xindex-R}
\nopagebreak[4]
\item rechten, \hyperpage{23}
\item richtig, \hyperpage{13}
\indexspace
-\textbf{S}
+\textbf{S}\label{L-xindex-S}
\nopagebreak[4]
\item sagte, \hyperpage{36}
\item sei, \hyperpage{12}, \hyperpage{38}
@@ -182,7 +182,7 @@
\item Szenecodes, \hyperpage{31}
\indexspace
-\textbf{T}
+\textbf{T}\label{L-xindex-T}
\nopagebreak[4]
\item Tag, \hyperpage{29}
\item tausend, \hyperpage{33}
@@ -190,7 +190,7 @@
\item Teilnehmer, \hyperpage{21}, \hyperpage{30}
\indexspace
-\textbf{U}
+\textbf{U}\label{L-xindex-U}
\nopagebreak[4]
\item über, \hyperpage{45}
\item Überholmanöver, \hyperpage{17}
@@ -200,14 +200,14 @@
\item unklar., \hyperpage{43}
\indexspace
-\textbf{V}
+\textbf{V}\label{L-xindex-V}
\nopagebreak[4]
\item versammelten, \hyperpage{21}
\item verwendet, \hyperpage{36}
\item Volksvertreter, \hyperpage{6}
\indexspace
-\textbf{W}
+\textbf{W}\label{L-xindex-W}
\nopagebreak[4]
\item Während, \hyperpage{17}
\item warnte, \hyperpage{4}
@@ -221,7 +221,7 @@
\item Woher, \hyperpage{38}
\indexspace
-\textbf{Z}
+\textbf{Z}\label{L-xindex-Z}
\nopagebreak[4]
\item zahlreiche, \hyperpage{30}
\item zeitgleich, \hyperpage{21}
diff --git a/indexing/xindex/doc/tests/demo-hyperref.pdf b/indexing/xindex/doc/tests/demo-hyperref.pdf
index 4feaf3b3fa..dfe9b33aaa 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.ind b/indexing/xindex/doc/tests/demo.ind
index 9f1484209f..91c44b327d 100644
--- a/indexing/xindex/doc/tests/demo.ind
+++ b/indexing/xindex/doc/tests/demo.ind
@@ -1,16 +1,16 @@
\begin{theindex}
-\textbf{Symbole}
+\par\textbf{Symbole}\label{L-xindex-Symbole}
\nopagebreak[4]
\item \textbackslash , {1}
\indexspace
-\textbf{Zahlen}
+\textbf{Zahlen}\label{L-xindex-Zahlen}
\nopagebreak[4]
\item 4711, {1}
\indexspace
-\textbf{A}
+\textbf{A}\label{L-xindex-A}
\nopagebreak[4]
\item aber, {13}
\item Ägäis, {17}, \seealso{Griechenland}{18}, {19f}
@@ -33,14 +33,14 @@
\item Automobil, \fbox{1}
\indexspace
-\textbf{B}
+\textbf{B}\label{L-xindex-B}
\nopagebreak[4]
\item Beobachtern, {30}
\item braunen, {46}
\item Bündnis, {25}
\indexspace
-\textbf{D}
+\textbf{D}\label{L-xindex-D}
\nopagebreak[4]
\item dabei, {36}
\item das, {15}, {25}
@@ -48,7 +48,7 @@
\item demnach, {35}, {38}
\item Demonstration, {29}, {35}
\item den, {46}
- \item der, {9--31}, {15}, {18f}, {28f}, {34}, {37}, {41}
+ \item der, {9--31}, {34}, {37}, {41}
\item Deshalb, {14}
\item Deutschland, {8}, {27}
\item die, {21}, {39}, {41}
@@ -63,7 +63,7 @@
\item durch, {31}
\indexspace
-\textbf{E}
+\textbf{E}\label{L-xindex-E}
\nopagebreak[4]
\item ein, {36}
\item einer, {22}
@@ -79,7 +79,7 @@
\item Europaplatz., {25}
\indexspace
-\textbf{F}
+\textbf{F}\label{L-xindex-F}
\nopagebreak[4]
\item Feindbild, {7}
\item Festakt, {19}
@@ -89,7 +89,7 @@
\item für, {10}, {26}
\indexspace
-\textbf{G}
+\textbf{G}\label{L-xindex-G}
\nopagebreak[4]
\item gaben, {30}
\item gehabt, {36}
@@ -101,7 +101,7 @@
\item gut, {9}
\indexspace
-\textbf{H}
+\textbf{H}\label{L-xindex-H}
\nopagebreak[4]
\item haben, {32}, {35}, {42}
\item haben., {35}
@@ -109,7 +109,7 @@
\item Hilfe, {10}
\indexspace
-\textbf{I}
+\textbf{I}\label{L-xindex-I}
\nopagebreak[4]
\item illegalen, {36}
\item Im, {43}
@@ -117,26 +117,26 @@
\item ist, {43}
\indexspace
-\textbf{J}
+\textbf{J}\label{L-xindex-J}
\nopagebreak[4]
\item jedoch, {36}
\item jungen, {40}
\indexspace
-\textbf{K}
+\textbf{K}\label{L-xindex-K}
\nopagebreak[4]
\item keine, {36}
\item Kilometer, {23}
\item Kundgebung, {23}, {42}
\indexspace
-\textbf{L}
+\textbf{L}\label{L-xindex-L}
\nopagebreak[4]
\item leben., {14}
\item lernen, {14}
\indexspace
-\textbf{M}
+\textbf{M}\label{L-xindex-M}
\nopagebreak[4]
\item machen., {8}
\item mahnte, {2}
@@ -153,7 +153,7 @@
\item müsse, {14}
\indexspace
-\textbf{N}
+\textbf{N}\label{L-xindex-N}
\nopagebreak[4]
\item nach, {19}
\item Nach, {31}
@@ -165,14 +165,14 @@
\item Nicht-Perfekten, {14}
\indexspace
-\textbf{O}
+\textbf{O}\label{L-xindex-O}
\nopagebreak[4]
\item Obwohl, {8}
\item Osten, {46}
\item Österreich, \textbf{1--38}
\indexspace
-\textbf{P}
+\textbf{P}\label{L-xindex-P}
\nopagebreak[4]
\item Perfekte, {15}
\item Pessimismus., {10}
@@ -180,13 +180,13 @@
\item Polizei, {32}, {38}
\indexspace
-\textbf{R}
+\textbf{R}\label{L-xindex-R}
\nopagebreak[4]
\item rechten, {23}
\item richtig, {13}
\indexspace
-\textbf{S}
+\textbf{S}\label{L-xindex-S}
\nopagebreak[4]
\item sagte, {36}
\item sei, {12}, {38}
@@ -201,7 +201,7 @@
\item Szenecodes, {31}
\indexspace
-\textbf{T}
+\textbf{T}\label{L-xindex-T}
\nopagebreak[4]
\item Tag, {29}
\item tausend, {33}
@@ -209,7 +209,7 @@
\item Teilnehmer, {21}, {30}
\indexspace
-\textbf{U}
+\textbf{U}\label{L-xindex-U}
\nopagebreak[4]
\item über, {45}
\item Überholmanöver, {17}
@@ -221,14 +221,14 @@
\item unklar., {43}
\indexspace
-\textbf{V}
+\textbf{V}\label{L-xindex-V}
\nopagebreak[4]
\item versammelten, {21}
\item verwendet, {36}
\item Volksvertreter, {6}
\indexspace
-\textbf{W}
+\textbf{W}\label{L-xindex-W}
\nopagebreak[4]
\item Während, \see{Was\_auch\_immmer}{17}
\item warnte, {4}
@@ -242,7 +242,7 @@
\item Woher, {38}
\indexspace
-\textbf{Z}
+\textbf{Z}\label{L-xindex-Z}
\nopagebreak[4]
\item zahlreiche, {30}
\item zeitgleich, {21}
diff --git a/indexing/xindex/doc/tests/demo.pdf b/indexing/xindex/doc/tests/demo.pdf
index 4b988c7d40..0df7056864 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 724acd9654..1461b309fe 100644
--- a/indexing/xindex/doc/tests/demo2.ind
+++ b/indexing/xindex/doc/tests/demo2.ind
@@ -2,7 +2,7 @@
\begin{theindex}
\indexspace
-\textbf{F}
+\textbf{F}\label{L-xindex-F}
\nopagebreak[4]
\item foo, {1}, \textit{1}, \see{bar}{2}, {3}, \textbf{3}
\end{theindex}
diff --git a/indexing/xindex/doc/tests/demo3.ind b/indexing/xindex/doc/tests/demo3.ind
index 327fe951e9..fbdb532561 100644
--- a/indexing/xindex/doc/tests/demo3.ind
+++ b/indexing/xindex/doc/tests/demo3.ind
@@ -2,7 +2,7 @@
\begin{theindex}
\indexspace
-\textbf{F}
+\textbf{F}\label{L-xindex-F}
\nopagebreak[4]
\item foo, {1f}, \textit{2}, \textbf{3}, {4}
\end{theindex}
diff --git a/indexing/xindex/doc/tests/demo3.pdf b/indexing/xindex/doc/tests/demo3.pdf
index 7c7c67b681..b9718a4e31 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/runTests.sh b/indexing/xindex/doc/tests/runTests.sh
index 68f6c7850a..678bfa40e7 100755
--- a/indexing/xindex/doc/tests/runTests.sh
+++ b/indexing/xindex/doc/tests/runTests.sh
@@ -21,7 +21,7 @@ xindex demo-hyperref > /dev/null
lualatex demo-hyperref > /dev/null
echo "HADW"
-xindex -l de -c HAdW HADW > /dev/null
+xindex -l de -c HAdW-eKO HADW > /dev/null
lualatex HADW > /dev/null
echo "Umlaute"
diff --git a/indexing/xindex/doc/xindex-doc.pdf b/indexing/xindex/doc/xindex-doc.pdf
index f7ecf1e911..8d2a22e4be 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 c5762e2559..c4d41aca5e 100644
--- a/indexing/xindex/doc/xindex-doc.tex
+++ b/indexing/xindex/doc/xindex-doc.tex
@@ -4,6 +4,7 @@
\documentclass[paper=a4,fontsize=11pt,DIV=13,parskip=half-,
captions=tableabove,twoside=on]{scrartcl}
\usepackage{fontspec}
+%\usepackage{libertinus-otf}
\setmainfont{AccanthisADFStdNo3}[
UprightFont =*-Regular,
BoldFont =*-Bold,
@@ -79,14 +80,21 @@
\def\setVersion#1{\setVVersion#1!!}
\def\setVVersion#1=#2!!{\def\xIndexVersion{#2}}
-\setVersion{version = 0.16}% can be autimatically changed by perl
+\setVersion{version = 0.18}% can be autimatically changed by perl
+
+\setkeys{dtk}{cleanup=true,force=false}
+
\title{Program and package \texttt{xindex} \\--\\ \normalsize \xIndexVersion\ (\today)}
-\author{Herbert Voß\thanks{hvoss@tug.org}}
+\author{\shortstack{Herbert Voß\\\small \href{mailto:hvoss@tug.org}{hvoss@tug.org}}}
\begin{document}
\maketitle
\tableofcontents
+\vfill
+Thanks to: \\
+Mark Baudin;
+Heiko Oberdiek
\clearpage
@@ -194,7 +202,7 @@ are alphabetized.
compiler=lualatex,
crop,
xindex,
- force=true,
+ force=false,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -255,7 +263,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,
@@ -294,15 +302,15 @@ They are by default \emph{Symbols} followed by \emph{Numbers}. In a new version
it will be customizable.
The predefined language is »en« and currently the following languages are possible:
-
-{\Japanese\small
-indexheader = \{ \\
-\quad de = \{\"{}Symbole\"{}, \"{}Zahlen\"{}\},\\
-\quad en = \{\"{}Symbols\"{}, \"{}Numbers\"{}\},\\
-\quad fr = \{\"{}Symboles\"{},\"{}Chiffre\"{}\},\\
-\quad jp = \{\"{}シンボル\"{},\"{}番号\"{}\},\\
-\}
-%\end{verbatim}
+{\Japanese
+\begin{Verbatim}[fontfamily=helvetica,commandchars=\\<>]
+indexheader = {
+ de = {"Symbole", "Zahlen"},
+ en = {"Symbols", "Numbers"},
+ fr = {"Symboles","Chiffre"},
+\Japanese jp = {"シンボル","番号"},
+}
+\end{Verbatim}
}
The following example was run with \verb|xindex -l de <file>.idx|:
@@ -315,7 +323,7 @@ The following example was run with \verb|xindex -l de <file>.idx|:
crop,
xindex,
xindexOptions=-l de -e ">",
- force=true,
+ force=false,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -354,33 +362,34 @@ The default sorting is unicode aware and uses a translation table for accented c
\begin{verbatim}
alphabet_lower = { -- for sorting
{ ' ' }, -- only for internal tests
- { 'a', 'á', 'à', 'ä', 'å', 'æ', },
+ { 'a', 'á', 'à', 'ä', 'â', 'å', 'æ', },
{ 'b' },
{ 'c', 'ç' },
{ 'd' },
- { 'e', 'é', 'è', 'ë' },
+ { 'e', 'é', 'è', 'ë', 'ê' },
{ 'f' },
{ 'g' },
{ 'h' },
- { 'i', 'í', 'ì', 'ï' },
+ { 'i', 'í', 'ì', 'î', 'ï' },
{ 'j' },
{ 'k' },
{ 'l' },
{ 'm' },
{ 'n', 'ñ' },
- { 'o', 'ó', 'ò', 'ö', 'ø', 'œ'},
+ { 'o', 'ó', 'ò', 'ö', 'ô', 'ø', 'œ', 'ø'},
{ 'p' },
{ 'q' },
{ 'r' },
{ 's', 'š', 'ß' },
{ 't' },
- { 'u', 'ú', 'ù', 'ü' },
+ { 'u', 'ú', 'ù', 'ü' , 'û'},
{ 'v' },
{ 'w' },
{ 'x' },
{ 'y', 'ý', 'ÿ' },
{ 'z', 'ž' }
}
+
\end{verbatim}
There is also a table for the uppercase letters. If it should be edited or extended then copy first the
@@ -393,12 +402,11 @@ the umlauts like ö$\rightarrow$oe:
\begin{verbatim}
alphabet_upper = { -- for sorting
{ ' ' },
- { 'A', 'Á', 'À', 'Å', 'Æ'},
- { 'AE', 'Ä'},
+ { 'A', 'Á', 'À', 'Ä', 'Å', 'Æ'},
{ 'B' },
{ 'C', 'Ç' },
{ 'D' },
- { 'E', 'È', 'È', 'Ë' },
+ { 'E', 'È', 'É', 'Ë' },
{ 'F' },
{ 'G' },
{ 'H' },
@@ -408,15 +416,13 @@ alphabet_upper = { -- for sorting
{ 'L' },
{ 'M' },
{ 'N', 'Ñ' },
- { 'O', 'Ó', 'Ò', 'Ø','Œ' },
- { 'OE', 'Ö' },
+ { 'O', 'Ó', 'Ò', 'Ö', 'Ø','Œ', 'Ø' },
{ 'P' },
{ 'Q' },
{ 'R' },
{ 'S', 'Š' },
{ 'T' },
- { 'U', 'Ú', 'Ù' },
- { 'UE', 'Ü' },
+ { 'U', 'Ú', 'Ù', 'Ü' },
{ 'V' },
{ 'W' },
{ 'X' },
@@ -436,7 +442,7 @@ alphabet_upper = { -- for sorting
crop,
xindex,
xindexOptions=-l de,
- force=true,
+ force=false,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -494,7 +500,7 @@ the word beginninjg with the letter Ö:
crop,
xindex,
xindexOptions=-c DIN2 -l DE,
- force=true,
+ force=false,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -574,7 +580,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,
@@ -653,7 +659,7 @@ folium = {
crop,
xindex,
xindexOptions=-l fr,
- force=true,
+ force=false,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -760,7 +766,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,
@@ -1070,7 +1076,7 @@ no limit for \Lprog{xindex}.
crop,
xindex,
% xindexOptions=,
- force=true,
+ force=false,
runs=2,code,docType=latex,
showFilename,
align=\centering,
@@ -1260,7 +1266,7 @@ In the documents preamble there is the definition:
-----------------------------------------------------------------------
if not modules then modules = { } end modules ['xindex-header'] = {
- version = 0.14,
+ version = 0.18,
comment = "main configuration to xindex.lua",
author = "Herbert Voss",
copyright = "Herbert Voss",
@@ -1284,21 +1290,21 @@ idxnewletter = "\\idxnewletter"
]]
alphabet_lower = { -- for sorting
{ ' ' }, -- only for internal tests
- { 'a', 'á', 'à', 'ä', 'å', 'æ', },
+ { 'a', 'á', 'à', 'ä', 'â', 'å', 'æ', },
{ 'b' },
{ 'c', 'ç' },
{ 'd' },
- { 'e', 'é', 'è', 'ë' },
+ { 'e', 'é', 'è', 'ë', 'ê' },
{ 'f' },
{ 'g' },
{ 'h' },
- { 'i', 'í', 'ì', 'ï' },
+ { 'i', 'í', 'ì', 'î', 'ï' },
{ 'j' },
{ 'k' },
{ 'l' },
{ 'm' },
{ 'n', 'ñ' },
- { 'o', 'ó', 'ò', 'ö', 'ø', 'œ'},
+ { 'o', 'ó', 'ò', 'ö', 'ô', 'ø', 'œ', 'ø'},
{ 'p' },
{ 'q' },
{ 'r' },
@@ -1317,7 +1323,7 @@ alphabet_upper = { -- for sorting
{ 'B' },
{ 'C', 'Ç' },
{ 'D' },
- { 'E', 'È', 'È', 'Ë' },
+ { 'E', 'È', 'É', 'Ë' },
{ 'F' },
{ 'G' },
{ 'H' },
@@ -1327,7 +1333,7 @@ alphabet_upper = { -- for sorting
{ 'L' },
{ 'M' },
{ 'N', 'Ñ' },
- { 'O', 'Ó', 'Ò', 'Ö', 'Ø','Œ' },
+ { 'O', 'Ó', 'Ò', 'Ö', 'Ø','Œ', 'Ø' },
{ 'P' },
{ 'Q' },
{ 'R' },
@@ -1340,7 +1346,6 @@ alphabet_upper = { -- for sorting
{ 'Y', 'Ý', 'Ÿ' },
{ 'Z', 'Ž' }
}
-
\end{filecontents*}
\makeatletter
\def\theindex{% only for demonstration
diff --git a/indexing/xindex/lualatex/xindex-DIN2.lua b/indexing/xindex/lualatex/xindex-DIN2.lua
index 4a055efd9a..48231b1d83 100644
--- a/indexing/xindex/lualatex/xindex-DIN2.lua
+++ b/indexing/xindex/lualatex/xindex-DIN2.lua
@@ -7,7 +7,7 @@
-----------------------------------------------------------------------
if not modules then modules = { } end modules ['xindex-cfg'] = {
- version = 0.16,
+ version = 0.18,
comment = "configuration to xindex.lua",
author = "Herbert Voss",
copyright = "Herbert Voss",
@@ -39,6 +39,8 @@ 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
{ ' ' }, -- only for internal tests
{ 'a', 'á', 'à', 'å', 'æ', },
@@ -46,24 +48,24 @@ alphabet_lower = { -- for sorting
{ 'b' },
{ 'c', 'ç' },
{ 'd' },
- { 'e', 'é', 'è', 'ë' },
+ { 'e', 'é', 'è', 'ë', 'ê' },
{ 'f' },
{ 'g' },
{ 'h' },
- { 'i', 'í', 'ì', 'ï' },
+ { 'i', 'í', 'ì', 'î', 'ï' },
{ 'j' },
{ 'k' },
{ 'l' },
{ 'm' },
{ 'n', 'ñ' },
- { 'o', 'ó', 'ò', 'ø', 'œ'},
+ { 'o', 'ó', 'ò', 'ô', 'ø', 'œ', 'ø'},
{ 'oe', 'ö' },
{ 'p' },
{ 'q' },
{ 'r' },
{ 's', 'š', 'ß' },
{ 't' },
- { 'u', 'ú', 'ù' },
+ { 'u', 'ú', 'ù', 'û'},
{ 'ue', 'ü' },
{ 'v' },
{ 'w' },
@@ -78,7 +80,7 @@ alphabet_upper = { -- for sorting
{ 'B' },
{ 'C', 'Ç' },
{ 'D' },
- { 'E', 'È', 'È', 'Ë' },
+ { 'E', 'È', 'É', 'Ë' },
{ 'F' },
{ 'G' },
{ 'H' },
@@ -88,7 +90,7 @@ alphabet_upper = { -- for sorting
{ 'L' },
{ 'M' },
{ 'N', 'Ñ' },
- { 'O', 'Ó', 'Ò', 'Ø','Œ' },
+ { 'O', 'Ó', 'Ò', 'Ø','Œ', 'Ø' },
{ 'OE', 'Ö' },
{ 'P' },
{ 'Q' },
diff --git a/indexing/xindex/lualatex/xindex-HAdW-eKO.lua b/indexing/xindex/lualatex/xindex-HAdW-eKO.lua
index 2b5fd10dfa..7b2dba332c 100644
--- a/indexing/xindex/lualatex/xindex-HAdW-eKO.lua
+++ b/indexing/xindex/lualatex/xindex-HAdW-eKO.lua
@@ -9,7 +9,7 @@
-- configuration for index files of the Heidelberger Akademie der Wissenschaften
if not modules then modules = { } end modules ['xindex-HAdW-eKO'] = {
- version = 0.16,
+ version = 0.18,
comment = "configuration to xindex.lua",
author = "Herbert Voss",
copyright = "Herbert Voss",
@@ -31,6 +31,13 @@ idxnewletter = "\\textbf" -- Only valid if -n is not set
case_sensitive = false -- speeds up running
+folium = {
+ de = {"f.", "ff."},
+ en = {"f.", "ff."},
+ fr = {"\\,sq","\\,sqq"},
+}
+
+
--[[
Each character's position in this array-like table determines its 'priority'.
Several characters in the same slot have the same 'priority'.
@@ -55,7 +62,7 @@ alphabet_lower = { -- for sorting
{ 'p' },
{ 'q' },
{ 'r' },
- { 's' },
+ { 's', 'ß' },
{ 't' },
{ 'u', 'ú', 'ù', 'ü' },
{ 'v' },
@@ -94,6 +101,8 @@ alphabet_upper = { -- for sorting
{ 'Z' }
}
+--alphabet_lower_map = CreateCharListMap(alphabet_lower)-- jetzt in xindex.lua
+--alphabet_upper_map = CreateCharListMap(alphabet_upper)
--\indexentry{Ackers, Carolus}{VII/1-715}
--\indexentry{Bremen!Adalbert I. von, Erzbischof}{VII/2/1-948}
@@ -215,7 +224,7 @@ end
function replaceRomanB(r)
local i = romanToNumber(r)
if i then return "!//"..string.format("%05d",i).."//."
- else return r
+ else return ("!"..r..".") -- to catch something Neuneburg!a.d. Weichsel
end
end
@@ -315,4 +324,3 @@ function specialGetPageList(v,hyperpage)
end
end
-
diff --git a/indexing/xindex/lualatex/xindex-base.lua b/indexing/xindex/lualatex/xindex-base.lua
index d736f67b7d..f415505460 100644
--- a/indexing/xindex/lualatex/xindex-base.lua
+++ b/indexing/xindex/lualatex/xindex-base.lua
@@ -6,7 +6,7 @@
-- LICENSE: LPPL1.3
-----------------------------------------------------------------------
-local info = { version = 0.16 }
+local info = { version = 0.18 }
-- check config
if pageNoPrefixDel ~= "" then
@@ -58,10 +58,25 @@ printList(Index,2)
writeLog(1,"\n------------------ end list after getEntryAndPage() ------------------------\n",2)
writeLog(2,"Sorting entries: for LARGE idx files it can take some minutes ... \n",0)
-if SORTprehook then Index = SORTprehook(Index) end
+if SORTprehook then
+ writeLog(2, "PreHook begin\n", 0)
+ Index = SORTprehook(Index)
+ writeLog(2, "PreHook end\n", 0)
+end
+
+writeLog(2, "GenerateSortKeys begin\n", 0)
+GenerateSortKeys(Index)
+writeLog(2, "GenerateSortKeys end\n", 0)
+
k = 0
+writeLog(2, "Sort begin\n", 0)
table.sort(Index,UTFCompare)
-if SORTposthook then Index = SORTposthook(Index) end
+writeLog(2, "Sort end\n", 0)
+if SORTposthook then
+ writeLog(2, "PostHook begin\n", 0)
+ Index = SORTposthook(Index)
+ writeLog(2, "PostHook end\n", 0)
+end
writeLog(1,"\n------------------ Start list after table.sort(Index,UTFCompare)------------\n",2)
printList(Index,2)
@@ -85,7 +100,6 @@ writeLog(1,"------------------ End list after checkParenthesis(Index) ----------
writeLog(2,"done\n",0)
-
writeLog(2,"Replace @-operator ...\n",0)
writeLog(1,"------------------ Start list before compressEntryList(Index)------------\n",1)
writeLog(1,require 'xindex-pretty'.dump(Index),3) -- only for internal dump
diff --git a/indexing/xindex/lualatex/xindex-cfg-common.lua b/indexing/xindex/lualatex/xindex-cfg-common.lua
index 7b84b348a3..f44967f63c 100644
--- a/indexing/xindex/lualatex/xindex-cfg-common.lua
+++ b/indexing/xindex/lualatex/xindex-cfg-common.lua
@@ -7,7 +7,7 @@
-----------------------------------------------------------------------
if not modules then modules = { } end modules ['xindex-cfg-common'] = {
- version = 0.16,
+ version = 0.18,
comment = "configuration to xindex.lua",
author = "Herbert Voss",
copyright = "Herbert Voss",
@@ -115,3 +115,14 @@ alphabet_uppercase = {
{ 'ю', 'Ю' },
{ 'я', 'Я' }
}
+
+local function create_map(char_list)
+ local map = {}
+ for i, pair in ipairs(char_list) do
+ map[pair[1]] = pair[2]
+ end
+ return map
+end
+
+alphabet_uppercase_map = create_map(alphabet_uppercase)
+
diff --git a/indexing/xindex/lualatex/xindex-cfg.lua b/indexing/xindex/lualatex/xindex-cfg.lua
index 7c055f1c3b..89de044ca1 100644
--- a/indexing/xindex/lualatex/xindex-cfg.lua
+++ b/indexing/xindex/lualatex/xindex-cfg.lua
@@ -7,7 +7,7 @@
-----------------------------------------------------------------------
if not modules then modules = { } end modules ['xindex-cfg'] = {
- version = 0.16,
+ version = 0.18,
comment = "main configuration to xindex.lua",
author = "Herbert Voss",
copyright = "Herbert Voss",
@@ -31,21 +31,21 @@ idxnewletter = "\\textbf" -- Only valid if -n is not set
]]
alphabet_lower = { -- for sorting
{ ' ' }, -- only for internal tests
- { 'a', 'á', 'à', 'ä', 'å', 'æ', },
+ { 'a', 'á', 'à', 'ä', 'â', 'å', 'æ', },
{ 'b' },
{ 'c', 'ç' },
{ 'd' },
- { 'e', 'é', 'è', 'ë' },
+ { 'e', 'é', 'è', 'ë', 'ê' },
{ 'f' },
{ 'g' },
{ 'h' },
- { 'i', 'í', 'ì', 'ï' },
+ { 'i', 'í', 'ì', 'î', 'ï' },
{ 'j' },
{ 'k' },
{ 'l' },
{ 'm' },
{ 'n', 'ñ' },
- { 'o', 'ó', 'ò', 'ö', 'ø', 'œ', 'ø'},
+ { 'o', 'ó', 'ò', 'ö', 'ô', 'ø', 'œ', 'ø'},
{ 'p' },
{ 'q' },
{ 'r' },
@@ -64,7 +64,7 @@ alphabet_upper = { -- for sorting
{ 'B' },
{ 'C', 'Ç' },
{ 'D' },
- { 'E', 'È', 'È', 'Ë' },
+ { 'E', 'È', 'É', 'Ë' },
{ 'F' },
{ 'G' },
{ 'H' },
diff --git a/indexing/xindex/lualatex/xindex-dtk.lua b/indexing/xindex/lualatex/xindex-dtk.lua
index 746b4287d3..6c918cc28a 100644
--- a/indexing/xindex/lualatex/xindex-dtk.lua
+++ b/indexing/xindex/lualatex/xindex-dtk.lua
@@ -7,7 +7,7 @@
-----------------------------------------------------------------------
if not modules then modules = { } end modules ['xindex-cfg'] = {
- version = 0.16,
+ version = 0.18,
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 ff4cb80a67..02dea0358b 100644
--- a/indexing/xindex/lualatex/xindex-lapp.lua
+++ b/indexing/xindex/lualatex/xindex-lapp.lua
@@ -28,7 +28,7 @@
--~ n 2
--------------------------------
if not modules then modules = { } end modules ['xindex-lapp'] = {
- version = 0.16,
+ version = 0.18,
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 8720d3db1b..59193f1d28 100644
--- a/indexing/xindex/lualatex/xindex-lib.lua
+++ b/indexing/xindex/lualatex/xindex-lib.lua
@@ -7,7 +7,7 @@
-----------------------------------------------------------------------
if not modules then modules = { } end modules ['xindex-lib'] = {
- version = 0.16,
+ version = 0.18,
comment = "main library to xindex.lua",
author = "Herbert Voss",
copyright = "Herbert Voss",
@@ -19,16 +19,24 @@ local escapechar2 = "\"\""
local Letters = "ÄÖÜäöüabcdefghijklmnopqrstuvwxyzßABCDEFGHIJKLMNOPQRSTUVWXYZ"
local Digits = "0123456789"
--- Looks up the character `character´ in the alphabet and returns its 'normalization' for sorting
-local function get_normalized_char( CharList, character )
+function CreateCharListMap(CharList)
+ local map = {}
for i, alphabet_entry in ipairs(CharList) do
- for _, alphabet_char in ipairs(alphabet_entry) do
- if character == alphabet_char then
- return alphabet_entry[1]
+ local first_char
+ for j, alphabet_char in ipairs(alphabet_entry) do
+ if j == 1 then
+ first_char = alphabet_char
+ else
+ map[alphabet_char] = first_char
end
end
end
- return character
+ return map
+end
+
+-- Looks up the character `character´ in the alphabet and returns its 'normalization' for sorting
+local function get_normalized_char( CharListMap, character )
+ return CharListMap[character] or character
end
function Lower(strOrig) -- return UTF string.lower
@@ -47,57 +55,60 @@ end
function NormalizedLower(strOrig) -- return normalized UTF string.lower (ä -> a)
local str = ""
for i=1, utf.len(strOrig) do
- local c = get_normalized_char(alphabet_lower,utf.sub(strOrig,i,i))
+ local c = get_normalized_char(alphabet_lower_map,utf.sub(strOrig,i,i))
str = str..string.lower(c)
end
return str
end
function NormalizedUpper(strOrig) -- return normalized UTF string.upper (ä -> A)
- local str = ""
+ local str = {}
local c
for i=1, utf.len(strOrig) do
- c = get_normalized_char(alphabet_lower,utf.sub(strOrig,i,i))
--- str = str..string.upper(c)
- str = str..c
+ c = get_normalized_char(alphabet_lower_map,utf.sub(strOrig,i,i))
+ str[#str + 1] = c
end
- strOrig = str
- str=""
+ strOrig = table.concat(str)
+ str = {}
for i=1, utf.len(strOrig) do
- c = get_normalized_char(alphabet_upper,utf.sub(strOrig,i,i))
+ c = get_normalized_char(alphabet_upper_map,utf.sub(strOrig,i,i))
c = NormalizedUppercase(c)
- str = str..c
+ str[#str + 1] = c
end
- return str
+ return table.concat(str)
end
function NormalizedUppercase(chr) -- return normalized UTF uppercase letter
- for i, alphabet_entry in ipairs(alphabet_uppercase) do
- if chr == alphabet_entry[1] then
- return alphabet_entry[2]
- end
- end
- return chr
+ return alphabet_uppercase_map[chr] or chr
end
function NormalizedChars(strOrig) -- return normalized UTF string (ä -> a) with first as upper case
- local c = string.upper(get_normalized_char(alphabet_lower,utf.sub(strOrig,1,1)))
- local str = c
- for i=2, utf.len(strOrig) do
- c = get_normalized_char(alphabet_lower,utf.sub(strOrig,i,i))
- str = str..c
- end
- local strOrigTrue = strOrig
- strOrig = str
- c = string.upper(get_normalized_char(alphabet_upper,utf.sub(strOrig,1,1)))
- str = c
- for i=2, utf.len(strOrig) do
- c = get_normalized_char(alphabet_upper,utf.sub(strOrig,i,i))
- str = str..c
- end
+ local c = get_normalized_char(alphabet_lower_map,utf.sub(strOrig,1,1))
+ c = get_normalized_char(alphabet_upper_map, c)
+ c = string.upper(c)
+ local str = { c }
+ for ch in string.utfcharacters(utf.sub(strOrig, 2)) do
+ c = get_normalized_char(alphabet_lower_map, ch)
+ c = get_normalized_char(alphabet_upper_map, c)
+ str[#str + 1] = c
+ end
+ return table.concat(str)
+end
+
+-- local strOrigTrue = strOrig
+-- strOrig = table.concat(str)
+-- c = string.upper(get_normalized_char(alphabet_upper,utf.sub(strOrig,1,1)))
+-- str = { c }
+-- for i=2, utf.len(strOrig) do
+-- c = get_normalized_char(alphabet_upper,utf.sub(strOrig,i,i))
+-- str[#str + 1] = c
+-- end
+-- for ch in string.utfcharacters(strOrig, 2) do
+-- str[#str + 1] = get_normalized_char(alphabet_upper, ch)
+-- end
-- print(strOrigTrue.." -> "..str)
- return str
-end
+-- return table.concat(str)
+--end
function checkVert(str) -- get the | part
local vert = string.find(str,"|",1,true)
@@ -524,34 +535,42 @@ end
-- str = "\indexentry {foo}{bar}"
-- first, second = str:match('{([^}]*)}%s*{([^}]*)}') -> foo, bar
-function UTFCompare(a,b)
--- a, b are something like \indexentry{foo}{bar}
--- writeLog(1,"UTFCompare: "..a["Entry"]..", "..a["pages"][1]["number"].." - "..b["Entry"]..", "..b["pages"][1]["number"].."\n",2)
--- k = k + 1
--- if (k % 50) == 0 then writeLog(1,".",1) end
- local A,B,Apage,Bpage
+function GenerateSortKey(a)
+ local A, Apage
if numericPage then
if tonumber(a["pages"][1]["number"]) then
Apage = string.format("%09d",a["pages"][1]["number"])
else
Apage = string.format("%09d",romanToNumber(a["pages"][1]["number"]))
end
- if tonumber(b["pages"][1]["number"]) then
- Bpage = string.format("%09d",b["pages"][1]["number"])
- else
- Bpage = string.format("%09d",romanToNumber(b["pages"][1]["number"]))
- end
else
Apage = string.format("%09s",a["pages"][1]["number"])
- Bpage = string.format("%09s",b["pages"][1]["number"])
end
if no_caseSensitive then
A = NormalizedUpper(getSortString(a["Entry"].." "..Apage..a["pages"][1]["special"]):gsub('!','')) -- replace! by empty
- B = NormalizedUpper(getSortString(b["Entry"].." "..Bpage..b["pages"][1]["special"]):gsub('!',''))
+ a["SortKey"] = A
else
A = NormalizedChars(getSortString(a["Entry"].." "..Apage..a["pages"][1]["special"]):gsub('!','')) -- replace! by empty
- B = NormalizedChars(getSortString(b["Entry"].." "..Bpage..b["pages"][1]["special"]):gsub('!',''))
+ a["SortKey"] = A
end
+ -- return A
+end
+
+function GenerateSortKeys(Index)
+ for _, entry in ipairs(Index) do
+ GenerateSortKey(entry)
+ end
+end
+
+function UTFCompare(a,b)
+-- a, b are something like \indexentry{foo}{bar}
+-- writeLog(1,"UTFCompare: "..a["Entry"]..", "..a["pages"][1]["number"].." - "..b["Entry"]..", "..b["pages"][1]["number"].."\n",2)
+-- k = k + 1
+-- if (k % 50) == 0 then writeLog(1,".",1) end
+
+ local A = a["SortKey"]
+ local B = b["SortKey"]
+
writeLog(1,"UTFCompare: A--B "..A.."--"..B.."\n",2)
-- print(A,B)
--[[
@@ -907,7 +926,13 @@ local match = function(expr)
return Ct(idx):match(expr)
end
+local SortStringCache = {}
function getSortString(Entry)
+ local sortString = SortStringCache[Entry]
+ if sortString ~= nil then
+ return sortString
+ end
+
local t = match(Entry)
-- require 'xindex-pretty'.dump(t) -- only for internal dump
local data = t[1]
@@ -920,6 +945,7 @@ function getSortString(Entry)
data = data..t[i]
end
end
+ SortStringCache[Entry] = data
return data
end
diff --git a/indexing/xindex/lualatex/xindex-pretty.lua b/indexing/xindex/lualatex/xindex-pretty.lua
index 67e5508c5a..1165b6a624 100644
--- a/indexing/xindex/lualatex/xindex-pretty.lua
+++ b/indexing/xindex/lualatex/xindex-pretty.lua
@@ -5,7 +5,7 @@
--
if not modules then modules = { } end modules ['xindex-pretty'] = {
- version = 0.16,
+ version = 0.18,
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 8d54d82e3e..99b8642293 100644
--- a/indexing/xindex/lualatex/xindex-yannis.lua
+++ b/indexing/xindex/lualatex/xindex-yannis.lua
@@ -7,7 +7,7 @@
-----------------------------------------------------------------------
if not modules then modules = { } end modules ['xindex-yannis'] = {
- version = 0.16,
+ version = 0.18,
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 fb48a3d748..8183b32bb5 100755
--- a/indexing/xindex/scripts/xindex.lua
+++ b/indexing/xindex/scripts/xindex.lua
@@ -8,7 +8,7 @@
-----------------------------------------------------------------------
xindex = xindex or { }
- local version = 0.16
+ local version = 0.18
xindex.version = version
--xindex.self = "xindex"
@@ -29,6 +29,8 @@ Report bugs to
kpse.set_program_name("luatex")
+local f = kpse.find_file("lualibs.lua")
+print ("Dateiname "..f)
require("lualibs") -- all part of LuaTeX
require('unicode')
require('string')
@@ -156,6 +158,11 @@ Config_File = kpse.find_file(config_file)
cfg = require(Config_File)
writeLog(2," ... done\n",0)
+-- Create the character list maps for faster sorting
+
+alphabet_lower_map = CreateCharListMap(alphabet_lower)
+alphabet_upper_map = CreateCharListMap(alphabet_upper)
+
local esc_char = args.escapechar
writeLog(2,"Escapechar = "..esc_char.."\n",1)
escape_chars = { -- by default " is the escape char