diff options
Diffstat (limited to 'Master/texmf-dist/doc/lualatex/xindex/xindex-doc.tex')
-rw-r--r-- | Master/texmf-dist/doc/lualatex/xindex/xindex-doc.tex | 136 |
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} |