summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/lualatex/xindex/xindex-doc.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/lualatex/xindex/xindex-doc.tex')
-rw-r--r--Master/texmf-dist/doc/lualatex/xindex/xindex-doc.tex136
1 files changed, 125 insertions, 11 deletions
diff --git a/Master/texmf-dist/doc/lualatex/xindex/xindex-doc.tex b/Master/texmf-dist/doc/lualatex/xindex/xindex-doc.tex
index 6450a0275fb..8422943a873 100644
--- a/Master/texmf-dist/doc/lualatex/xindex/xindex-doc.tex
+++ b/Master/texmf-dist/doc/lualatex/xindex/xindex-doc.tex
@@ -78,7 +78,7 @@
\def\setVersion#1{\setVVersion#1!!}
\def\setVVersion#1=#2!!{\def\xIndexVersion{#2}}
-\setVersion{version = 0.05}% can be autimatically changed by perl
+\setVersion{version = 0.06}% can be autimatically changed by perl
\title{Program and package \texttt{xindex} \\--\\ \normalsize \xIndexVersion\ (\today)}
\author{Herbert Voß\thanks{hvoss@tug.org}}
@@ -793,8 +793,8 @@ und foo\index{foo|fbox}
The main config file is \Lfile{xindex-cfg.lua} is used by default and loading it by the
optional parameter -c makes no sense. A new config file must have the prefix \texttt{xindex-}
-and the file extension \Lext{lua}, for example: \Lfile{xindex-HAdW.lua} which can be used
-with \verb|--config HAdW|. The file must be saved in the documents directory or in
+and the file extension \Lext{lua}, for example: \Lfile{xindex-HAdW-eKO.lua} which can be used
+with \verb|--config HAdW-eKO|. The file must be saved in the documents directory or in
one which is known to \Lprog{kpsewhich}, for example\footnote{The directory \texttt{xindex} must be created
before saving the file.} \verb|$TEXMFLOCAL/tex/lualatex/xindex/| %$
Don not forgot to update the filename database.
@@ -825,15 +825,37 @@ For example:
\begin{verbatim}
function specialCompressPageList(pages)
- if (#pages <= 1) or (pages[1] == "") then return pages end -- only one pageno
---[[
-modify pagelist
-sortPages = {{ origin = { number = VII/1-715, special = \textbf },
- sort = 07/1-00715 },
- {...}
- }
-]]
+ if (pages[1]["number"] == "") then pages[1]["number"] = " " end
+ if (#pages <= 1) then
+ pages[1]["number"] = pages[1]["number"]:gsub('(.-)-',colorBox)-- replace "-" with ":\\ "
+ return pages
+ end -- only one pageno
local sortPages = {}
+ local roman
+ local volume
+ local page
+ local i
+ for i=1,#pages do
+ roman = string.gsub(pages[i]["number"],'%U*','') -- only uppercase to catch VII123f (folium pages)
+ if romanToNumber(roman) then
+ roman = string.format("%05d",tonumber(romanToNumber(roman)))
+ else
+ roman = ""
+ end
+ volume = string.gsub(pages[i]["number"],'%a*','')
+ if volume then volume = volume:gsub('-%d*','') end
+ page = string.gsub(pages[i]["number"],'.*-','')
+ page = string.format("%5s",page)
+ sortPages[#sortPages+1] = {
+ origin = pages[i],
+ sort = roman..volume.." "..page } -- no minus between Roman/Volume and first page
+ end
+-- sort the page list
+ table.sort(sortPages, function(a,b) return a["sort"] < b["sort"] end )
+ local Pages = {}
+ for i=1,#sortPages do -- use the sorted origin table
+ Pages[#Pages+1] = sortPages[i]["origin"]
+ end
[...]
@@ -845,6 +867,98 @@ is a special function which can handle \Index{page number}s like VII-17, VIII/2/
Internally exists a function \verb|compressPageList| which is used if no
\verb|specialCompressPageList| is defined.
+\begin{externalDocument}[
+ grfOptions={scale=0.9},% width=\dimexpr\linewidth-2\fboxsep-2\fboxrule},
+% mpwidth=0.25\linewidth,
+ pages={2},
+ frame=false,
+ compiler=lualatex,
+ crop,
+ xindex,
+ xindexOptions=-c HAdW-eKO,
+ force,
+ runs=2,code,docType=latex,
+ showFilename,
+ align=\centering,
+ lstOptions={columns=fixed}]{xindex}
+\RequirePackage{filecontents}
+\begin{filecontents*}{\jobname.idx}
+\indexentry{Aachen, Johannes von}{VII/1-215}
+\indexentry{Aarones}{VII/2/1-1003}
+\indexentry{Aarones}{VII/2/1-1012}
+\indexentry{Abrahamson}{VII/2/1-864}
+\indexentry{Abrahamson}{VII/2/1-991}
+\indexentry{Abrahamson}{VII/2/1-1048}
+\indexentry{Abrahamson}{VII/2/1-1067}
+\indexentry{Abrahamson}{VII/2/1-1156}
+\indexentry{Adamson}{VII/2/1-1223}
+\indexentry{Adamson}{IX/1-1228}
+\indexentry{Karl V}{VII/1-34}
+\indexentry{Karl II}{VII/1-147}
+\indexentry{Karl III}{VII/1-149}
+\indexentry{Karl VI}{VII/1-296}
+\indexentry{Karl IV}{VII/1-34}
+\indexentry{Karl IV}{VII/1-147}
+\indexentry{Karl X}{VII/1-149}
+\indexentry{Karl IX}{VII/1-296}
+\indexentry{Schleswig-Holstein!Rudolf von, Herzog}{VII/2/1-758}
+\indexentry{Schleswig-Holstein!Rudolf von, Herzog}{VII/2/1-759}
+\indexentry{Schleswig-Holstein!Rudolf von, Herzog}{VII/2/1-760}
+\indexentry{Schleswig-Holstein!Rudolf von, Herzog}{VII/2/1-761}
+\indexentry{Schleswig-Holstein!Rudolf von, Herzog}{VII/2/1-765}
+\indexentry{Adrian!Hauster}{VII/1-514}
+\indexentry{Adrian!Hauster}{XI/1-515}
+\indexentry{Alting!Mensa}{VII/1-426}
+\indexentry{Alting!Mensa}{VII/1-434}
+\indexentry{Alting!Mensa}{VII/1-453}
+\indexentry{Alting!Mensa}{VII/1-455}
+\indexentry{Alting!Mensa}{VII/1-466}
+\indexentry{Alting!Mensa}{VII/1-467}
+\indexentry{Bremen!Heinz von, Erzbischof|see{Sachsen-Lauenburg}}{}
+\indexentry{Osnabrück!Heinz von, Bischof|see{Sachsen-Lauenburg}}{}
+\indexentry{Zwingl, Haldrich}{IX-479}
+\indexentry{Zwingl, Haldrich}{IX-692}
+\indexentry{Julian!Apostata, römischer Kaiser}{VII/2/1-904}
+\indexentry{Justinian I., byzantinischer Kaiser}{VII/1-326}
+\indexentry{Justinian I., byzantinischer Kaiser}{VII/1-734}
+\indexentry{Justinian I., byzantinischer Kaiser}{VII/2/1-1011}
+\indexentry{Karl!V., Kaiser}{VII/1-34}
+\indexentry{Karl!II., Kaiser}{VII/1-147}
+\indexentry{Karl!III., Kaiser}{VII/1-149}
+\indexentry{Karl!VI., Kaiser}{VII/1-296}
+\indexentry{Karl!IV., Kaiser}{VII/1-34}
+\indexentry{Karl!IV., Kaiser}{VII/1-147}
+\indexentry{Karl!X., Kaiser}{VII/1-149}
+\indexentry{Karl!IX., Kaiser}{VII/1-296}
+\end{filecontents*}
+\documentclass[a4paper]{article}
+\usepackage[margin=1cm]{geometry}
+\usepackage{xcolor}
+\usepackage{url}
+\usepackage{multicol}
+\makeatletter
+\def\theindex{% only for demonstration
+ \newpage
+ \section*{Personenverzeichnis}
+ \begin{multicols}{2}
+ \parskip\z@ \@plus .3\p@\relax \parindent\z@ \raggedright
+ \let\item\@idxitem}
+\def\endtheindex{\end{multicols}}
+\makeatother
+%StartVisiblePreamble
+\usepackage{makeidx}
+%StopVisiblePreamble
+\pagestyle{empty}
+\begin{document}
+\mbox{}\printindex
+\end{document}
+\end{externalDocument}
+
+
+
+
+
+
The \Index{config file} \Lfile{xindex-dtk.lua} defines a special page output:
\begin{verbatim}