From 9565b02dcafd76b3f4e88023500a1998f1990e87 Mon Sep 17 00:00:00 2001
From: Robert Alessi <alessi@robertalessi.net>
Date: Tue, 24 Jan 2023 14:23:01 +0100
Subject: set to v1.4-dev. icite can now process list of references

---
 icite.dtx | 983 +++++++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 813 insertions(+), 170 deletions(-)

(limited to 'icite.dtx')

diff --git a/icite.dtx b/icite.dtx
index bcb9121..0cdb8de 100644
--- a/icite.dtx
+++ b/icite.dtx
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 % icite -- Indices locorum citatorum
-% Copyright (C) 2019--2020  Robert Alesssi
+% Copyright (C) 2019--2021  Robert Alesssi
 %
 % Please send error reports and suggestions for improvements to Robert
 % Alessi <alessi@robertalessi.net>
@@ -27,7 +27,7 @@
 %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
 %<package>\ProvidesPackage{icite}
 %<*package>
-    [2020/03/05 v1.3a Make Indices locorum citatorum]
+    [2021/07/07 v1.4-dev Make Indices locorum citatorum]
 %</package>
 %<*driver>
 \documentclass{ltxdoc}
@@ -180,33 +180,80 @@
 }
 \end{filecontents*}
 \usepackage{fontspec}
-\usepackage[default]{fontsetup}
-\usepackage[english]{babel}
+\usepackage[american]{babel}
 \usepackage[letterpaper,margin=25mm,left=50mm,nohead]{geometry}
 \babelfont{rm}{Old Standard}
+\babelfont{sf}{NewComputerModernSans10}
+\babelfont{tt}{NewComputerModernMono10}
 \usepackage{arabluatex}
 \SetTranslitConvention{loc}
-\usepackage{xurl}
-\usepackage{uri}
-\usepackage{hyperxmp}
-\usepackage{varioref}
+\usepackage[obeyspaces]{url}
+\usepackage[nospace,american]{varioref}
+\labelformat{section}{sect.~#1}
+\labelformat{subsection}{sect.~#1}
+\labelformat{subsubsection}{sect.~#1}
+\labelformat{figure}{fig.~#1}
+\newcommand\phts{\phantomsection}
 \usepackage{latexcolors}
 \usepackage[numbered]{hypdoc}
-\hypersetup{unicode=true, colorlinks, allcolors=cinnamon, keeppdfinfo,
-  linktocpage=true, pdfauthor={Robert Alessi}, pdftitle={The icite
-    package}, pdfcontactemail={alessi@robertalessi.net},
-  pdfcontacturl={http://www.robertalessi.net/icite},
-  pdfcopyright={Copyright (C) 2019--2020 Robert Alessi
-    <alessi@robertalessi.net>. This document is licensed under the
-    Creative Commons Attribution-ShareAlike 4.0 International
-    License. To view a copy of this license, visit
-    http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to
-    Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.},
-  pdflicenseurl={https://creativecommons.org/licenses/by-sa/4.0/legalcode},
-  pdfmetalang={en-US}, pdftype={Text}, pdfkeywords={bibtex, biblatex,
-    indexing}}
-\usepackage{amsmath}
-\usepackage{cleveref}
+\usepackage[loadlang=en]{metastr}
+\hypersetup{
+  colorlinks,
+  allcolors=cinnamon,
+  linktocpage=true,
+  pdftype={Text}
+}
+\metaset{titletext}{%
+  \metapick[#1]{title}%
+  \metacompose[#1]{subtitle}{\metaget[sep]{subtitle}}{}{}}
+\metaset[print]{titletext}{%
+  \metatitleline[print]{title}%
+  \metatitleline[print]{subtitle}%
+  \metatitleline[print]{author}%
+  \metatitleline[print]{contactemail}%
+  \metatitlelinetwo[print]{date}[print]{draft}}
+\metaset[skip]{subtitle}{\vspace{1ex}}
+\metaset[skip]{author}{\vspace{2ex}}
+\metaset[skip]{date}{\vspace{1ex}}
+\metaset[style]{title}{\LARGE}
+\metaset[style]{author}{\large}
+\metaset[sep]{draft}{ -- }
+\metasetlang{en-US}
+\metaset{title}{icite}
+\metaset[print]{title}{\textsf{icite}}
+\metaset{date}{\filedate}
+\metaset{draft}{\fileversion}
+\metaset{subject}{Indices locorum citatorum}
+\metaset{subtitle}{Indices locorum citatorum}
+\metaset[print]{subtitle}{\emph{Indices locorum citatorum}}
+\metaset{author}{Robert Alessi}
+\metaset{keywords}{LaTeX, Lua, bibliography, index}
+\metaset{contactemail}{alessi@roberalessi.net}
+\metaset[print]{contactemail}{\mailto[icite]{alessi@robertalessi.net}}
+\metaset{contacturl}{http://www.roberalessi.net}
+\metaset{partof}{The icite Package}
+\metaset[print]{partof}{The \textsf{icite} Package}
+\metaset{copyrightowner}{\metapick[#1]{author}}
+\metaset{copyrightdate}{2019--2021}
+\metaset{licensemessage}{Permission is granted to copy, distribute
+  and/or modify this document under the terms of the GNU Free
+  Documentation License, Version 1.3 or any later version published by
+  the Free Software Foundation; with no Invariant Sections, no
+  Front-Cover Texts, and no Back-Cover Texts.  A copy of the license
+  is included in the section entitled ``GNU Free Documentation
+  License''.}
+\metaset{licenseurl}{https://www.gnu.org/licenses/fdl-1.3.html}
+\metaset[print]{licenseurl}{%
+  \url{https://www.gnu.org/licenses/fdl-1.3.html}}
+\metaset[cmd]{licenselogo}{\includegraphics[scale=0.75]{#1}}
+\metawritepdfinfo
+\metawritepdfaux
+\metawritepdfpreamble
+\metawritepdfcontact
+\metawritepdfrights
+
+\usepackage{uri}
+
 \CodelineIndex
 \usepackage[citecmd=autocite,defaultindex]{\jobname}
 \IndexSubtypeAs{classical}{primary}
@@ -225,13 +272,19 @@
 \newclassic{nadim}{\classicsRoman{#1}|.#1|, #1}
 \newclassic{aristotle}{#1|\textit{#1}|#1}
 \usepackage[scale=1.5]{ccicons}
-\usepackage{dox}
-\doxitem{Option}{option}{options}
+%^^A dox does not work with the latest latex-dev:
+\ifdefined\SpecialMacroIndex
+  \NewDocElement{Option}{option}
+\else
+  \usepackage{dox}
+  \doxitem{Option}{option}{options}
+\fi
 \usepackage{enumitem}
 \setlist{nosep}
 \setlist[itemize]{label=\textendash}
 \setlist[enumerate,1]{label=(\alph*)}
 \setlist[enumerate,2]{label=\roman*.}
+\usepackage[shortcuts, nospacearound]{extdash}
 \usepackage[lot]{multitoc}
 \usepackage{nameref}
 \usepackage{csquotes}
@@ -243,14 +296,21 @@
 \usepackage{units}
 \usepackage{minted}
 \usepackage[contents]{colordoc}
-\newcommand{\package}[1]{\textsf{#1}\index{#1=#1 (package)}}
+\newcommand{\pkg}[1]{\textsf{#1}\index{#1=#1 (package)}}
 \usepackage{tikz}
 \usepackage[breakable, skins, xparse, minted]{tcolorbox}
 \tcbset{colback=white, boxrule=.15mm, colframe=cinnamon,
   breakable}
 \newtcblisting{example}{minted options={linenos, numbersep=0mm}}
-\newtcblisting{code}{minted options={linenos, numbersep=0mm}, listing
+\newtcblisting{pkgcode}{minted options={linenos, numbersep=0mm}, listing
   only}
+\NewDocumentCommand{\newfeature}{o}{%
+  \leavevmode
+  \IfNoValueTF{#1}
+  {\marginpar{\hfill\emph{New feature}}}
+  {\marginpar{\hfill\emph{New feature} #1}}%
+  \ignorespaces
+}
 \usepackage{etoc}
 \etocsettocdepth{paragraph}
 \newcommand{\icitetableofcontents}{%
@@ -289,7 +349,7 @@
 %</driver>
 % \fi
 %
-% \CheckSum{360}
+% \CheckSum{0}
 %
 % \CharacterTable
 %  {Upper-case    \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
@@ -327,23 +387,19 @@
 % \GetFileInfo{\jobname.dtx}
 % \DoNotIndex{\newcommand,\newenvironment}
 % 
-% \newcommand*{\NEWfeature}[1]{%
-%     \hskip 1sp \marginpar{\small\sffamily\raggedright
-%     New feature\\#1}}
+% \pdfbookmark[1]{\metaterm{title}}{title}
+% \begin{tcolorbox}[
+%   colframe=black,
+%   enhanced,
+%   drop lifted shadow,
+%   colback=white,
+%   boxrule=.25mm,
+%   halign=center,
+%   center
+%   ]
+%   \metapick[print]{titletext}
+% \end{tcolorbox}
 %
-% \title{\tcbox[colframe=black, enhanced, tikznode, drop lifted
-% shadow, colback=white, boxrule=.25mm]{%
-% The \textsf{icite} package\\
-% \emph{Indices locorum citatorum}\\
-% \fileversion\ --- \filedate}}
-%  
-% \author{Robert Alessi \\
-% \href{mailto:alessi@robertalessi.net?Subject=icite package}%
-% {\texttt{alessi@robertalessi.net}}}
-% 
-% \date{}
-%
-% \maketitle
 % \footnotesize
 % \icitetableofcontents
 % \normalsize
@@ -351,32 +407,38 @@
 % \changes{v1.00}{2019/03/07}{First public release}
 %
 % \begin{abstract}
-%   \package{icite} is designed to produce from \hologo{BibTeX} or
+%   \pkg{icite} is designed to produce from \hologo{BibTeX} or
 %   Bib\LaTeX\ bibliographical databases the different indices of
 %   authors and works cited which are called \emph{indices locorum
 %   citatorum}. It relies on a specific \cs{icite} command and can
 %   operate with either \hologo{BibTeX} or Bib\LaTeX.
 % \end{abstract}
 %
-% \section*{License and disclamer}
+% \section*{License and Disclaimer}
 % \addcontentsline{toc}{section}{License and disclamer}
-% \subsection*{License applicable to the software}
+% \subsection*{License Applicable to this Document}
+% \pdfbookmark[2]{Licence applicable to this document}{copyright-doc}
+% \leavevmode\marginpar{\hfill\texttt{fdl1.3}}
+% \metapick[print]{rightstext} (See below \vref{sec:fdl}.)
+%
+% \subsection*{License Applicable to the Software}
+% \pdfbookmark[2]{Licence applicable to the software}{copyright-soft}
 % \label{sec:license-software}
 %
-% \package{icite} --- \emph{Indices locorum citatorum}\\
-% Copyright \textcopyright\ 2019--2020  Robert Alessi
+% \pkg{icite} --- \metapick[print]{subtitle}
+% \metapick[print]{copyrightstatement}
 %
 % Please send error reports and suggestions for improvements to Robert
 % Alessi:
 % \begin{itemize}
-% \item email: \mailto[icite package]{alessi@roberalessi.net}
+% \item email: \mailto[icite package]{Robert Alessi <alessi@roberalessi.net>}
 % \item website: \url{http://www.robertalessi.net/icite}
 % \item development: \url{http://git.robertalessi.net/icite}
 % \item comments, feature requests, bug reports:
 % \url{https://gitlab.com/ralessi/icite/issues}
 % \end{itemize}
 %
-% \marginpar{\texttt{gpl3+}}
+% \leavevmode\marginpar{\hfill\texttt{gpl3+}}
 % This program is free software: you can redistribute it and/or modify
 % it under the terms of the GNU General Public License as published by
 % the Free Software Foundation, either version 3 of the License, or
@@ -389,9 +451,10 @@
 %
 % You should have received a copy of the GNU General Public License
 % along with this program.  If not, see
-% <http://www.gnu.org/licenses/>.
+% \href{http://www.gnu.org/licenses}%
+% {\texttt{<http://www.gnu.org/licenses/>}}.
 %
-% This release of \package{icite} consists of the following
+% This release of \pkg{icite} consists of the following
 % source files:
 % \begin{itemize}
 % \item |icite.dtx|
@@ -399,18 +462,6 @@
 % \item |Makefile|
 % \end{itemize}
 % 
-% \subsection*{License applicable to this document}
-% \label{sec:documentation-license}
-% Copyright \textcopyright\ 2019--2020  Robert Alessi
-%
-% \ccbysa\marginpar{\texttt{CC BY-SA 4.0}}
-% This document is licensed under the Creative Commons
-% Attribution-ShareAlike 4.0 International License. To view a copy of
-% this license, visit
-% \url{http://creativecommons.org/licenses/by-sa/4.0/} or send a
-% letter to Creative Commons, PO Box 1866, Mountain View, CA 94042,
-% USA.
-%
 % \section{Introduction}
 % \label{sec:introduction}
 % Bib\LaTeX\ features a very powerful internal mechanism which
@@ -427,27 +478,27 @@
 % intricate business and requires knowing how to redefine and/or patch
 % standard and internal Bib\LaTeX\ commands.
 %
-% The \package{icite} package is but a modest piece of software which
+% The \pkg{icite} package is but a modest piece of software which
 % addresses this situation. It relies on citation commands, but does
-% not require Bib\LaTeX. Instead, \hologo{BibTeX} can be used as
-% \package{icite} uses the \package{usebib}
-% package\footnote{\cite{usebib}} to build the indices by drawing
-% directly from the bibliographical database.
+% not require Bib\LaTeX. Instead, \hologo{BibTeX}, or even no
+% bibliographic engine, can be used as \pkg{icite} uses the
+% \pkg{usebib} package\footnote{\cite{usebib}} to build the indices by
+% drawing directly from the bibliographical database.
 %
 %
-% \section[The \package{icite} package]{The \textsf{icite} package}
-% The \package{icite} package is loaded as usual like so:---
+% \section[The \pkg{icite} package]{The \textsf{icite} Package}
+% The \pkg{icite} package is loaded as usual like so:---
 % \iffalse
 %<*example>
 % \fi
-\begin{code}
+\begin{pkgcode}
   \usepackage[<options>]{icite}
-\end{code}
+\end{pkgcode}
 % \iffalse
 %</example>
 % \fi
 %
-% \package{icite} may be loaded with three optional \enquote*{named
+% \pkg{icite} may be loaded with three optional \enquote*{named
 % arguments} either of which is set using the syntax
 % \meta{key}$=$\meta{value}. The description of the optional arguments
 % follows:---
@@ -468,17 +519,17 @@
 % passages in the default general index, unless |defaultindex| is set
 % to the value |none|, in which case indexing is disabled. It must be
 % noted that this named argument does not need a value as it defaults
-% to |loccit| if it is used alone. This is an easy way to have all
-% passages cited indexed in a separate index named |loccit|.
+% to |loccit| if used alone. This is an easy way to have all passages
+% cited indexed in a separate index named |loccit|.
 %
-% \DescribeOption{nobibengine}\NEWfeature{v1.1}
+% \DescribeOption{nobibengine}\newfeature[v1.1]
 % \changes{v1.1}{2019/03/12}{New global option \texttt{nobibengine}}%
 % |nobibengine|$=$|true|\verb+|+|false|\hfill%
 % \tcboxverb{Default: not set}\\
 % This named argument does not need a value as it defaults to |true|
-% if it is used. When this option is activated, \package{icite} does
-% not use \hologo{BibTeX} or Bib\LaTeX\ to insert the citations in the
-% body text---even if either is loaded in the preamble---and pulls the
+% if used. When this option is activated, \pkg{icite} does not use
+% \hologo{BibTeX} or Bib\LaTeX\ to insert the citations in the body
+% text\---even if either be loaded in the preamble\---and pulls the
 % necessary information directly from the bibliographical
 % database. For this reason, \cs{bibinput} described below is of
 % course still required.  The citations inserted consist of the
@@ -488,31 +539,31 @@
 % it takes precedence over the fields used to define author names and
 % titles.
 %
-% \paragraph{Bibliographical database}
-% \DescribeMacro{\bibinput} Once \package{icite} is loaded, it must be
+% \paragraph{Bibliographical Database}
+% \DescribeMacro{\bibinput} Once \pkg{icite} is loaded, it must be
 % connected to at least one bibliographic |.bib| file. To that end,
-% \package{icite} uses the same \cs{bibinput} command as
-% \package{usebib}.\footnote{Please refer to \cite[1]{usebib} for
+% \pkg{icite} uses the same \cs{bibinput} command as
+% \pkg{usebib}.\footnote{Please refer to \cite[1]{usebib} for
 % more detailed information on how to use this command.} An example
 % follows:--- %
 % \iffalse
 %<*example>
 % \fi
-\begin{code}
+\begin{pkgcode}
   % load icite, have \icite use \autocite by default, and insert cited
   % passages in a separate index named 'loccit':
   \usepackage[citecmd=autocite, defaultindex]{icite}
   % note that the .bib file must be stripped of its extension:
   \bibinput{bibliography} % that is: load bibliography.bib
-\end{code}
+\end{pkgcode}
 % \iffalse
 %</example>
 % \fi
 %
-% \subsection{Preamble-only commands}
+% \subsection{Preamble-only Commands}
 % The following commands may be found in the preamble only.
-% \paragraph{Styling the titles}
-% \DescribeMacro{\SetTitleStyle} By default, \package{icite} prints
+% \paragraph{Styling the Titles}
+% \DescribeMacro{\SetTitleStyle} By default, \pkg{icite} prints
 % the titles of the works cited in italics.\\
 % \cs{SetTitleStyle}\marg{formatting directives} can be used in the
 % preamble only to customize the way titles are displayed in the
@@ -520,9 +571,9 @@
 % \iffalse
 %<*example>
 % \fi
-\begin{code}
+\begin{pkgcode}
   \SetTitleStyle{\textbf{#1}}
-\end{code}
+\end{pkgcode}
 % \iffalse
 %</example>
 % \fi
@@ -531,7 +582,7 @@
 % command.
 % 
 % \paragraph{Delimiters}
-% \NEWfeature{v1.2}\DescribeMacro{\AuthorTitleDelim}
+% \DescribeMacro{\AuthorTitleDelim}\newfeature[v1.2]
 % \cs{AuthorTitleDelim}\marg{delimiter} sets the delimiter between
 % authors and titles in the body text when the |nobibengine| option is
 % set to |true|. The default delimiter is a comma and a space.
@@ -542,13 +593,13 @@
 % set to |true|. The default delimiter is a comma and a space.
 %
 % \subsection[\textsf{icite} for the Impatient]%
-% {\package{icite} for the Impatient}
+% {\pkg{icite} for the Impatient}
 % Read \href{samples/icite-minimal.pdf}{\texttt{icite-minimal.pdf}}.
 %
-% \subsection{Entry fields}
+% \subsection{Entry Fields}
 % \label{sec:entry-fields}
-% \subsubsection{Author names}
-% To process author names, \package{icite} uses the following entry
+% \subsubsection{Author Names}
+% To process author names, \pkg{icite} uses the following entry
 % fields:
 % \begin{description}
 % \item[author] As for example in |author = {Ullmann, Manfred}|, which
@@ -575,10 +626,10 @@
 % |sortname = {{|Hunayn ibn Ishaq|}}|
 %
 % \subsection{Titles}
-% To process titles, \package{icite} uses the following entry fields:
+% To process titles, \pkg{icite} uses the following entry fields:
 % \begin{description}
 % \item[title] The full title of the work.
-% \item[shorttitle] The title in an abriged form. If this entry is
+% \item[shorttitle] The title in an abriged form. If this entry be
 % set, it takes precedence over the |title| field in the printed index.
 % \item[indextitle] This field may be used to have a title such as
 % \emph{The {\TeX}Book} printed in the index as \emph{{\TeX}Book, The}.
@@ -588,8 +639,8 @@
 % |indexsorttitle = {TEXBook}|
 % \end{description}
 % 
-% \section{Basic use}
-% \DescribeMacro{\icite} \package{icite} provides the \cs{icite}
+% \section{Basic Use}
+% \DescribeMacro{\icite} \pkg{icite} provides the \cs{icite}
 % command which both inserts a formatted citation in the body text and
 % an entry corresponding to the passage cited in the index. This
 % command is to be used in place of any \hologo{BibTeX} or Bib\LaTeX\
@@ -602,9 +653,9 @@
 % \iffalse
 %<*example>
 % \fi
-\begin{code}
+\begin{pkgcode}
   \icite[<pre>][<post>]{<key>}[<command>]
-\end{code}
+\end{pkgcode}
 % \iffalse
 %</example>
 % \fi
@@ -614,15 +665,24 @@
 % default in the preamble by means of the |citecmd| global
 % option.\footnote{See above, \vref{ref:citecmd}.}
 %
+% \paragraph{List of References} \newfeature[v1.4]
+% \changes{v1.4}{2021/07/07}{\textsf{icite} now indexes separately
+% lists of references} The references inserted in the \meta{post}
+% argument of \cs{icite} may consist of single numbers\---as in |25|,
+% |vii| or |XIV|\---ranges of numbers\---as in |34--38| or
+% |iv--x|\---or lists of numbers. In the latter case, references must
+% be separated from one another by semicolons (|;|), like so: |12;|
+% |21;| |34--38|.
+%
 % \paragraph{Example} The following example illustrates how
-% \package{icite} can be used in combination with Bib\LaTeX\ and the
-% \package{imakeidx} package to have the passages cited sorted and
+% \pkg{icite} can be used in combination with Bib\LaTeX\ and the
+% \pkg{imakeidx} package to have the passages cited sorted and
 % printed in a separate, specific \enquote*{Index of Passages
 % Cited}:--- %
 % \iffalse
 %<*example>
 % \fi
-\begin{code}
+\begin{pkgcode}
   % preamble
   % load icite, have \icite use \autocite by default, and insert cited
   % passages in a separate index named 'loccit':
@@ -637,7 +697,7 @@
  % load imakeidx and use xindy to have the numbers sorted properly
  \usepackage[xindy]{imakeidx}
  \makeindex[name=loccit, title=Index of Passages Cited (modern authors)]
-\end{code}
+\end{pkgcode}
 % \iffalse
 %</example>
 % \fi
@@ -646,11 +706,11 @@
 % \iffalse
 %<*example>
 % \fi
-\begin{code}
-  \section*{\cs{icite} in action}
+\begin{pkgcode}
+  \section*{\cs{icite} in Action}
   Let us start with four citations of the same reference, to make sure
-  that they are all indexed and sorted properly:
-  one\icite[123]{Ullmann1970}, two\icite[231]{Ullmann1970},
+  that they are all indexed and sorted properly: one\icite[123;
+  141--148; 245]{Ullmann1970}, two\icite[231]{Ullmann1970},
   three\icite[81]{Ullmann1970} and four\icite[18]{Ullmann1970}.
 
   Let us continue with four other citations out of two other
@@ -660,16 +720,16 @@
   Finally, let us have \cs{icite} use \cs{textcite} to cite
   \icite[123]{Endress1992}[textcite], and again, this time in a
   footnote\icite[86]{Endress1992}.
-\end{code}
+\end{pkgcode}
 % \iffalse
 %</example>
 % \fi
 % 
 % \begin{tcblisting}{text only}
-%   \section*{\cs{icite} in action}
+%   \section*{\cs{icite} in Action}
 %   Let us start with four citations of the same reference, to make
-%   sure that they are all indexed and sorted properly:
-%   one\icite[123]{Ullmann1970}, two\icite[231]{Ullmann1970},
+%   sure that they are all indexed and sorted properly: one\icite[123;
+%   141--148; 245]{Ullmann1970}, two\icite[231]{Ullmann1970},
 %   three\icite[81]{Ullmann1970} and four\icite[18]{Ullmann1970}.
 %
 %   Let us continue with four other citations out of two other
@@ -685,23 +745,23 @@
 % been used can be found below in the appendix
 % (\vrefrange{ref:indices}{ref:icite-bib} respectively). As can be
 % seen by comparing the bibliography generated in the footnotes with
-% the text printed in the index, \package{icite} prints as expected
+% the text printed in the index, \pkg{icite} prints as expected
 % the abridged forms of the titles when they are
 % available. Furthermore, as a default citation command set in the
 % preamble, the \enquote*{oxnotes} Bib\LaTeX\ option of
-% \package{biblatex-oxref} style package makes \cs{autocite} behave
+% \pkg{biblatex-oxref} style package makes \cs{autocite} behave
 % like \cs{footcite}. Finally, the page numbers in the index are
 % sorted properly: for example, two-digit numbers, like 81, are listed
 % before 123.
 %
-% \section{Refined use}
+% \section{Refined Use}
 % When references are made not only to modern authors but also to
 % authors and works from classical antiquity or from the Middle Ages,
 % it is commonly agreed that at least two separate indices of passages
 % cited should be made. Another option is not to index passages cited
 % from modern authors at all.
 %
-% \DescribeMacro{\IndexSubtypeAs} \package{icite} is able to
+% \DescribeMacro{\IndexSubtypeAs} \pkg{icite} is able to
 % differentiate between sources by drawing from the bibliographical
 % database the exact string that may be found in the |entrysubtype|
 % entry field. To that end, the \cs{IndexSubtypeAs} command is
@@ -709,9 +769,9 @@
 % \iffalse
 %<*example>
 % \fi
-\begin{code}
+\begin{pkgcode}
   \IndexSubtypeAs{<subtype>}{<index_name>}
-\end{code}
+\end{pkgcode}
 % \iffalse
 %</example>
 % \fi
@@ -728,7 +788,7 @@
 % \iffalse
 %<*example>
 % \fi
-\begin{code}
+\begin{pkgcode}
   % load icite, and have cited authors indexed in an index named
   % 'secondary':
   \usepackage[defaultindex=secondary]{icite}
@@ -738,7 +798,7 @@
   % authors whose 'entrysubtype' field matches the string 'medieval'
   % should go into the same index:
   \IndexSubtypeAs{medieval}{primary}
-\end{code}
+\end{pkgcode}
 % \iffalse
 %</example>
 % \fi
@@ -746,7 +806,7 @@
 % \iffalse
 %<*example>
 % \fi
-\begin{code}
+\begin{pkgcode}
   % load icite, but do not index passages cited with \icite:
   \usepackage[defaultindex=none]{icite}
   % except for authors whose 'entrysubtype' field matches the string
@@ -755,7 +815,7 @@
   % authors whose 'entrysubtype' field matches the string 'medieval'
   % should go into the same index:
   \IndexSubtypeAs{medieval}{primary}
-\end{code}
+\end{pkgcode}
 % \iffalse
 %</example>
 % \fi
@@ -765,14 +825,14 @@
 % |classical| should go into the default |loccit| index. As for those
 % whose |entrysubtype| matches |classical|, they should to into an
 % index named |primary|. \label{ref:classics-pkg}Furthermore, the
-% \package{classics} package is used to format references in which a
+% \pkg{classics} package is used to format references in which a
 % volume number is used.\footnote{For more information, see below
-% \vref{sec:classics-usage}.} In this way, \package{xindy} only has
+% \vref{sec:classics-usage}.} In this way, \pkg{xindy} only has
 % numbers to handle:--- %
 % \iffalse
 %<*example>
 % \fi
-\begin{code}
+\begin{pkgcode}
   % preamble
   \usepackage[style=oxnotes]{biblatex}
   \addbibresource{bibliography.bib}
@@ -788,7 +848,7 @@
   
   \usepackage[citecmd=autocite,defaultindex]{icite}
   \IndexSubtypeAs{classical}{primary}
-\end{code}
+\end{pkgcode}
 % \iffalse
 %</example>
 % \fi
@@ -797,11 +857,11 @@
 % \iffalse
 %<*example>
 % \fi
-\begin{code}
-  \section*{\cs{icite} in action}
+\begin{pkgcode}
+  \section*{\cs{icite} in Action}
   Let us start with four citations of the same reference, to make sure
-  that they are all indexed and sorted properly:
-  one\icite[123]{Ullmann1970}, two\icite[231]{Ullmann1970},
+  that they are all indexed and sorted properly: one\icite[123;
+  141--148; 245]{Ullmann1970}, two\icite[231]{Ullmann1970},
   three\icite[81]{Ullmann1970} and four\icite[18]{Ullmann1970}.
 
   Let us continue with four other citations out of two other
@@ -820,16 +880,16 @@
   Finally, let us have \cs{icite} use \cs{textcite} to cite
   \icite[123]{Endress1992}[textcite], and again, this time in a
   footnote\icite[86]{Endress1992}.
-\end{code}
+\end{pkgcode}
 % \iffalse
 %</example>
 % \fi
 %
 % \begin{tcblisting}{text only}
-%   \section*{\cs{icite} in action}
+%   \section*{\cs{icite} in Action}
 %   Let us start with four citations of the same reference, to make
-%   sure that they are all indexed and sorted properly:
-%   one\icite[123]{Ullmann1970}, two\icite[231]{Ullmann1970},
+%   sure that they are all indexed and sorted properly: one\icite[123;
+%   141--148; 245]{Ullmann1970}, two\icite[231]{Ullmann1970},
 %   three\icite[81]{Ullmann1970} and four\icite[18]{Ullmann1970}.
 %
 %   Let us continue with four other citations out of two other
@@ -859,23 +919,23 @@
 %
 %
 % \subsection[The \textsf{classics} package]%
-% {The \package{classics} package} %
+% {The \pkg{classics} Package} %
 % \label{sec:classics-usage}
 % As said above \vpageref{ref:classics-pkg}, it is advisable to use
-% the \package{classics} package to format volume, page, column, line
+% the \pkg{classics} package to format volume, page, column, line
 % numbers and the like which are inserted in the \meta{post} optional
 % argument of the \cs{icite} command\autocite{classics}. An example of
-% using \package{classics} to format references to Aristotle according
+% using \pkg{classics} to format references to Aristotle according
 % to Bekker pagination follows:\footnote{See \cite[2]{classics} for
 % more information.}--- %
 % \iffalse
 %<*example>
 % \fi
-\begin{code}
+\begin{pkgcode}
   % preamble:
   \usepackage{classics}
   \newclassic{aristotle}{#1|\textit{#1}|#1}
-\end{code}
+\end{pkgcode}
 % \iffalse
 %</example>
 % \fi
@@ -893,7 +953,7 @@
 % \iffalse
 %</example>
 % \fi
-% The following prints the same body text while using \package{icite}
+% The following prints the same body text while using \pkg{icite}
 % to have the passages cited inserted in the \emph{Index locorum
 % citatorum} (see below \vref{sec:index-loc-cit}):--- %
 % \iffalse
@@ -916,21 +976,21 @@
 % As can be seen, the \cs{notecite} and \cs{pnotecite} commands have
 % been used to insert only the references in the body text.
 %
-% It is also advisable to use \package{xindy} to compile indices of
-% passages cited because \package{xindy}, unlike \package{makeindex}
-% or \package{xindex}, is able to sort numbers properly: for example,
-% with \package{xindy}, such a number as 81 will come before 100, but
+% It is also advisable to use \pkg{xindy} to compile indices of
+% passages cited because \pkg{xindy}, unlike \pkg{makeindex}
+% or \pkg{xindex}, is able to sort numbers properly: for example,
+% with \pkg{xindy}, such a number as 81 will come before 100, but
 % will be sorted after 100 with the other two engines.
 % \begin{tcblisting}{text only, title=Caveat}
-%   \package{xindy} (actually |texindy|) is also designed to ignore
+%   \pkg{xindy} (actually |texindy|) is also designed to ignore
 %   \TeX\ commands by default. However, due to a missing line in
 %   |xindy/modules/base/tex.xdy|,\footnote{As the time of writing, in
-%   \package{xindy} v2.5.1.} this does not apply to so-called
+%   \pkg{xindy} v2.5.1.} this does not apply to so-called
 %   \enquote*{starred} \TeX\ commands, such as \cs{aristotle*} from
 %   the example above.
 % \end{tcblisting}
 % One easy way to get around this issue is to create a style file with
-% a single line that instructs \package{xindy} to ignore the asterisk
+% a single line that instructs \pkg{xindy} to ignore the asterisk
 % when processing the index, like so:--- %
 % \iffalse
 %<*example>
@@ -947,13 +1007,13 @@
 % \iffalse
 %<*example>
 % \fi
-\begin{code}
+\begin{pkgcode}
   % preamble:
   \usepackage[xindy]{imakeidx}
   \makeindex[name=loccit, options=-M icite.xdy]
   % document:
   \printindex[loccit]
-\end{code}
+\end{pkgcode}
 % \iffalse
 %</example>
 % \fi
@@ -962,7 +1022,7 @@
 %
 % \section{Appendix}
 % Designing the layout of indices is out of the scope of this
-% documentation. For information, the \package{tabto} package has been
+% documentation. For information, the \pkg{tabto} package has been
 % used in the preamble in combination with the following |xindy| style
 % file:--- %
 % \iffalse
@@ -978,7 +1038,7 @@
 %
 % \subsection{Indices}
 % \label{ref:indices}
-% \subsubsection{Index of Passages Cited (modern authors)}
+% \subsubsection{Index of Passages Cited (Modern Authors)}
 % \printindex[loccit]
 % \needspace{8\baselineskip}
 % \subsubsection{\emph{Index locorum citatorum}}
@@ -986,11 +1046,551 @@
 % \printindex[primary]
 % 
 % \subsection{\texorpdfstring{\hologo{BibTeX}
-% file used in this document}{BibTeX file used in this document}}
+% File Used in this Document}{BibTeX File Used in this Document}}
 % \label{ref:icite-bib}
 % \tcbinputlisting{minted options={linenos, numbersep=1.5mm}, minted
 % language=bibtex, listing file=icite.bib, listing only}
 %
+% \section{GNU Free Documentation License}
+% \label{sec:fdl}
+% \textbf{Version 1.3, 3 November 2008}
+% 
+% \begin{center}
+%   Version 1.3, 3 November 2008
+%   
+%   Copyright \copyright{} 2000, 2001, 2002, 2007, 2008 Free
+%   Software Foundation, Inc.
+%   
+%   \bigskip
+%   
+%   \url{https://fsf.org/}
+%   
+%   \bigskip
+%   
+%   Everyone is permitted to copy and distribute verbatim copies
+%   of this license document, but changing it is not allowed.
+% \end{center}
+% 
+% \needspace{3\baselineskip}
+% \begin{center}
+%   {\bf\large Preamble}
+% \end{center}
+% 
+% The purpose of this License is to make a manual, textbook, or other
+% functional and useful document \enquote{free} in the sense of
+% freedom: to assure everyone the effective freedom to copy and
+% redistribute it, with or without modifying it, either commercially
+% or noncommercially.  Secondarily, this License preserves for the
+% author and publisher a way to get credit for their work, while not
+% being considered responsible for modifications made by others.
+% 
+% This License is a kind of \enquote{copyleft}, which means that
+% derivative works of the document must themselves be free in the same
+% sense.  It complements the GNU General Public License, which is a
+% copyleft license designed for free software.
+% 
+% We have designed this License in order to use it for manuals for
+% free software, because free software needs free documentation: a
+% free program should come with manuals providing the same freedoms
+% that the software does.  But this License is not limited to software
+% manuals; it can be used for any textual work, regardless of subject
+% matter or whether it is published as a printed book.  We recommend
+% this License principally for works whose purpose is instruction or
+% reference.
+% 
+% \needspace{3\baselineskip}
+% \begin{center}
+%   {\large\bf 1. APPLICABILITY AND DEFINITIONS\par}
+% \end{center}
+% 
+% This License applies to any manual or other work, in any medium,
+% that contains a notice placed by the copyright holder saying it can
+% be distributed under the terms of this License.  Such a notice
+% grants a world-wide, royalty-free license, unlimited in duration, to
+% use that work under the conditions stated herein.  The
+% \enquote{\textbf{Document}}, below, refers to any such manual or
+% work.  Any member of the public is a licensee, and is addressed as
+% \enquote{\textbf{you}}.  You accept the license if you copy, modify
+% or distribute the work in a way requiring permission under copyright
+% law.
+% 
+% A \enquote{\textbf{Modified Version}} of the Document means any work
+% containing the Document or a portion of it, either copied verbatim,
+% or with modifications and/or translated into another language.
+% 
+% A \enquote{\textbf{Secondary Section}} is a named appendix or a
+% front-matter section of the Document that deals exclusively with the
+% relationship of the publishers or authors of the Document to the
+% Document's overall subject (or to related matters) and contains
+% nothing that could fall directly within that overall subject.
+% (Thus, if the Document is in part a textbook of mathematics, a
+% Secondary Section may not explain any mathematics.)  The
+% relationship could be a matter of historical connection with the
+% subject or with related matters, or of legal, commercial,
+% philosophical, ethical or political position regarding them.
+% 
+% The \enquote{\textbf{Invariant Sections}} are certain Secondary
+% Sections whose titles are designated, as being those of Invariant
+% Sections, in the notice that says that the Document is released
+% under this License.  If a section does not fit the above definition
+% of Secondary then it is not allowed to be designated as Invariant.
+% The Document may contain zero Invariant Sections.  If the Document
+% does not identify any Invariant Sections then there are none.
+% 
+% The \enquote{\textbf{Cover Texts}} are certain short passages of
+% text that are listed, as Front-Cover Texts or Back-Cover Texts, in
+% the notice that says that the Document is released under this
+% License.  A Front-Cover Text may be at most 5 words, and a
+% Back-Cover Text may be at most 25 words.
+% 
+% A \enquote{\textbf{Transparent}} copy of the Document means a
+% machine-readable copy, represented in a format whose specification
+% is available to the general public, that is suitable for revising
+% the document straightforwardly with generic text editors or (for
+% images composed of pixels) generic paint programs or (for drawings)
+% some widely available drawing editor, and that is suitable for input
+% to text formatters or for automatic translation to a variety of
+% formats suitable for input to text formatters.  A copy made in an
+% otherwise Transparent file format whose markup, or absence of
+% markup, has been arranged to thwart or discourage subsequent
+% modification by readers is not Transparent.  An image format is not
+% Transparent if used for any substantial amount of text.  A copy that
+% is not \enquote{Transparent} is called \enquote{\textbf{Opaque}}.
+% 
+% Examples of suitable formats for Transparent copies include plain
+% ASCII without markup, Texinfo input format, LaTeX input format, SGML
+% or XML using a publicly available DTD, and standard-conforming
+% simple HTML, PostScript or PDF designed for human modification.
+% Examples of transparent image formats include PNG, XCF and JPG.
+% Opaque formats include proprietary formats that can be read and
+% edited only by proprietary word processors, SGML or XML for which
+% the DTD and/or processing tools are not generally available, and the
+% machine-generated HTML, PostScript or PDF produced by some word
+% processors for output purposes only.
+% 
+% The \enquote{\textbf{Title Page}} means, for a printed book, the
+% title page itself, plus such following pages as are needed to hold,
+% legibly, the material this License requires to appear in the title
+% page.  For works in formats which do not have any title page as
+% such, \enquote{Title Page} means the text near the most prominent
+% appearance of the work's title, preceding the beginning of the body
+% of the text.
+% 
+% The \enquote{\textbf{publisher}} means any person or entity that
+% distributes copies of the Document to the public.
+% 
+% A section \enquote{\textbf{Entitled XYZ}} means a named subunit of
+% the Document whose title either is precisely XYZ or contains XYZ in
+% parentheses following text that translates XYZ in another language.
+% (Here XYZ stands for a specific section name mentioned below, such
+% as \enquote{\textbf{Acknowledgements}},
+% \enquote{\textbf{Dedications}}, \enquote{\textbf{Endorsements}}, or
+% \enquote{\textbf{History}}.)  To \enquote{\textbf{Preserve the
+% Title}} of such a section when you modify the Document means that it
+% remains a section \enquote{Entitled XYZ} according to this
+% definition.
+% 
+% The Document may include Warranty Disclaimers next to the notice
+% which states that this License applies to the Document.  These
+% Warranty Disclaimers are considered to be included by reference in
+% this License, but only as regards disclaiming warranties: any other
+% implication that these Warranty Disclaimers may have is void and has
+% no effect on the meaning of this License.
+% 
+% \needspace{3\baselineskip}
+% \begin{center}
+%   {\large\bf 2. VERBATIM COPYING\par}
+% \end{center}
+% 
+% You may copy and distribute the Document in any medium, either
+% commercially or noncommercially, provided that this License, the
+% copyright notices, and the license notice saying this License
+% applies to the Document are reproduced in all copies, and that you
+% add no other conditions whatsoever to those of this License.  You
+% may not use technical measures to obstruct or control the reading or
+% further copying of the copies you make or distribute.  However, you
+% may accept compensation in exchange for copies.  If you distribute a
+% large enough number of copies you must also follow the conditions in
+% section~3.
+% 
+% You may also lend copies, under the same conditions stated above,
+% and you may publicly display copies.
+% 
+% \needspace{3\baselineskip}
+% \begin{center}
+%   {\large\bf 3. COPYING IN QUANTITY\par}
+% \end{center}
+% 
+% If you publish printed copies (or copies in media that commonly have
+% printed covers) of the Document, numbering more than 100, and the
+% Document's license notice requires Cover Texts, you must enclose the
+% copies in covers that carry, clearly and legibly, all these Cover
+% Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
+% the back cover.  Both covers must also clearly and legibly identify
+% you as the publisher of these copies.  The front cover must present
+% the full title with all words of the title equally prominent and
+% visible.  You may add other material on the covers in addition.
+% Copying with changes limited to the covers, as long as they preserve
+% the title of the Document and satisfy these conditions, can be
+% treated as verbatim copying in other respects.
+% 
+% If the required texts for either cover are too voluminous to fit
+% legibly, you should put the first ones listed (as many as fit
+% reasonably) on the actual cover, and continue the rest onto adjacent
+% pages.
+% 
+% If you publish or distribute Opaque copies of the Document numbering
+% more than 100, you must either include a machine-readable
+% Transparent copy along with each Opaque copy, or state in or with
+% each Opaque copy a computer-network location from which the general
+% network-using public has access to download using public-standard
+% network protocols a complete Transparent copy of the Document, free
+% of added material.  If you use the latter option, you must take
+% reasonably prudent steps, when you begin distribution of Opaque
+% copies in quantity, to ensure that this Transparent copy will remain
+% thus accessible at the stated location until at least one year after
+% the last time you distribute an Opaque copy (directly or through
+% your agents or retailers) of that edition to the public.
+% 
+% It is requested, but not required, that you contact the authors of
+% the Document well before redistributing any large number of copies,
+% to give them a chance to provide you with an updated version of the
+% Document.
+% 
+% \needspace{3\baselineskip}
+% \begin{center}
+%   {\large\bf 4. MODIFICATIONS\par}
+% \end{center}
+% 
+% You may copy and distribute a Modified Version of the Document under
+% the conditions of sections 2 and 3 above, provided that you release
+% the Modified Version under precisely this License, with the Modified
+% Version filling the role of the Document, thus licensing
+% distribution and modification of the Modified Version to whoever
+% possesses a copy of it.  In addition, you must do these things in
+% the Modified Version:
+% 
+% \begin{itemize}
+% \item[A.]  Use in the Title Page (and on the covers, if any) a title
+%   distinct from that of the Document, and from those of previous
+%   versions (which should, if there were any, be listed in the
+%   History section of the Document).  You may use the same title as a
+%   previous version if the original publisher of that version gives
+%   permission.
+%    
+%  \item[B.]  List on the Title Page, as authors, one or more persons
+%    or entities responsible for authorship of the modifications in
+%    the Modified Version, together with at least five of the
+%    principal authors of the Document (all of its principal authors,
+%    if it has fewer than five), unless they release you from this
+%    requirement.
+%    
+%  \item[C.]  State on the Title page the name of the publisher of the
+%    Modified Version, as the publisher.
+%    
+%  \item[D.]  Preserve all the copyright notices of the Document.
+%    
+%  \item[E.]  Add an appropriate copyright notice for your
+%    modifications adjacent to the other copyright notices.
+%    
+%  \item[F.]  Include, immediately after the copyright notices, a
+%    license notice giving the public permission to use the Modified
+%    Version under the terms of this License, in the form shown in the
+%    Addendum below.
+%    
+%  \item[G.]  Preserve in that license notice the full lists of
+%    Invariant Sections and required Cover Texts given in the
+%    Document's license notice.
+%    
+%  \item[H.]  Include an unaltered copy of this License.
+%    
+%  \item[I.]  Preserve the section Entitled \enquote{History},
+%    Preserve its Title, and add to it an item stating at least the
+%    title, year, new authors, and publisher of the Modified Version
+%    as given on the Title Page.  If there is no section Entitled
+%    \enquote{History} in the Document, create one stating the title,
+%    year, authors, and publisher of the Document as given on its
+%    Title Page, then add an item describing the Modified Version as
+%    stated in the previous sentence.
+%    
+%  \item[J.]  Preserve the network location, if any, given in the
+%    Document for public access to a Transparent copy of the Document,
+%    and likewise the network locations given in the Document for
+%    previous versions it was based on.  These may be placed in the
+%    \enquote{History} section.  You may omit a network location for a
+%    work that was published at least four years before the Document
+%    itself, or if the original publisher of the version it refers to
+%    gives permission.
+%    
+%  \item[K.]  For any section Entitled \enquote{Acknowledgements} or
+%    \enquote{Dedications}, Preserve the Title of the section, and
+%    preserve in the section all the substance and tone of each of the
+%    contributor acknowledgements and/or dedications given therein.
+%    
+%  \item[L.]  Preserve all the Invariant Sections of the Document,
+%    unaltered in their text and in their titles.  Section numbers or
+%    the equivalent are not considered part of the section titles.
+%    
+%  \item[M.]  Delete any section Entitled \enquote{Endorsements}.
+%    Such a section may not be included in the Modified Version.
+%    
+%  \item[N.]  Do not retitle any existing section to be Entitled
+%    \enquote{Endorsements} or to conflict in title with any Invariant
+%    Section.
+%    
+%  \item[O.]  Preserve any Warranty Disclaimers.
+% \end{itemize}
+% 
+% If the Modified Version includes new front-matter sections or
+% appendices that qualify as Secondary Sections and contain no
+% material copied from the Document, you may at your option designate
+% some or all of these sections as invariant.  To do this, add their
+% titles to the list of Invariant Sections in the Modified Version's
+% license notice.  These titles must be distinct from any other
+% section titles.
+% 
+% You may add a section Entitled \enquote{Endorsements}, provided it
+% contains nothing but endorsements of your Modified Version by
+% various parties---for example, statements of peer review or that the
+% text has been approved by an organization as the authoritative
+% definition of a standard.
+% 
+% You may add a passage of up to five words as a Front-Cover Text, and
+% a passage of up to 25 words as a Back-Cover Text, to the end of the
+% list of Cover Texts in the Modified Version.  Only one passage of
+% Front-Cover Text and one of Back-Cover Text may be added by (or
+% through arrangements made by) any one entity.  If the Document
+% already includes a cover text for the same cover, previously added
+% by you or by arrangement made by the same entity you are acting on
+% behalf of, you may not add another; but you may replace the old one,
+% on explicit permission from the previous publisher that added the
+% old one.
+% 
+% The author(s) and publisher(s) of the Document do not by this
+% License give permission to use their names for publicity for or to
+% assert or imply endorsement of any Modified Version.
+% 
+% \needspace{3\baselineskip}
+% \begin{center}
+%   {\large\bf 5. COMBINING DOCUMENTS\par}
+% \end{center}
+% 
+% You may combine the Document with other documents released under
+% this License, under the terms defined in section~4 above for
+% modified versions, provided that you include in the combination all
+% of the Invariant Sections of all of the original documents,
+% unmodified, and list them all as Invariant Sections of your combined
+% work in its license notice, and that you preserve all their Warranty
+% Disclaimers.
+% 
+% The combined work need only contain one copy of this License, and
+% multiple identical Invariant Sections may be replaced with a single
+% copy.  If there are multiple Invariant Sections with the same name
+% but different contents, make the title of each such section unique
+% by adding at the end of it, in parentheses, the name of the original
+% author or publisher of that section if known, or else a unique
+% number.  Make the same adjustment to the section titles in the list
+% of Invariant Sections in the license notice of the combined work.
+% 
+% In the combination, you must combine any sections Entitled
+% \enquote{History} in the various original documents, forming one
+% section Entitled \enquote{History}; likewise combine any sections
+% Entitled \enquote{Acknowledgements}, and any sections Entitled
+% \enquote{Dedications}.  You must delete all sections Entitled
+% \enquote{Endorsements}.
+% 
+% \needspace{3\baselineskip}
+% \begin{center}
+%   {\large\bf 6. COLLECTIONS OF DOCUMENTS\par}
+% \end{center}
+% 
+% You may make a collection consisting of the Document and other
+% documents released under this License, and replace the individual
+% copies of this License in the various documents with a single copy
+% that is included in the collection, provided that you follow the
+% rules of this License for verbatim copying of each of the documents
+% in all other respects.
+% 
+% You may extract a single document from such a collection, and
+% distribute it individually under this License, provided you insert a
+% copy of this License into the extracted document, and follow this
+% License in all other respects regarding verbatim copying of that
+% document.
+% 
+% \needspace{3\baselineskip}
+% \begin{center}
+% {\large\bf 7. AGGREGATION WITH INDEPENDENT WORKS\par}
+% \end{center}
+% 
+% A compilation of the Document or its derivatives with other separate
+% and independent documents or works, in or on a volume of a storage
+% or distribution medium, is called an \enquote{aggregate} if the
+% copyright resulting from the compilation is not used to limit the
+% legal rights of the compilation's users beyond what the individual
+% works permit.  When the Document is included in an aggregate, this
+% License does not apply to the other works in the aggregate which are
+% not themselves derivative works of the Document.
+% 
+% If the Cover Text requirement of section~3 is applicable to these
+% copies of the Document, then if the Document is less than one half
+% of the entire aggregate, the Document's Cover Texts may be placed on
+% covers that bracket the Document within the aggregate, or the
+% electronic equivalent of covers if the Document is in electronic
+% form.  Otherwise they must appear on printed covers that bracket the
+% whole aggregate.
+% 
+% \needspace{3\baselineskip}
+% \begin{center}
+%   {\large\bf 8. TRANSLATION\par}
+% \end{center}
+% 
+% Translation is considered a kind of modification, so you may
+% distribute translations of the Document under the terms of
+% section~4.  Replacing Invariant Sections with translations requires
+% special permission from their copyright holders, but you may include
+% translations of some or all Invariant Sections in addition to the
+% original versions of these Invariant Sections.  You may include a
+% translation of this License, and all the license notices in the
+% Document, and any Warranty Disclaimers, provided that you also
+% include the original English version of this License and the
+% original versions of those notices and disclaimers.  In case of a
+% disagreement between the translation and the original version of
+% this License or a notice or disclaimer, the original version will
+% prevail.
+% 
+% If a section in the Document is Entitled \enquote{Acknowledgements},
+% \enquote{Dedications}, or \enquote{History}, the requirement
+% (section~4) to Preserve its Title (section~1) will typically require
+% changing the actual title.
+% 
+% \needspace{3\baselineskip}
+% \begin{center}
+%   {\large\bf 9. TERMINATION\par}
+% \end{center}
+% 
+% You may not copy, modify, sublicense, or distribute the Document
+% except as expressly provided under this License.  Any attempt
+% otherwise to copy, modify, sublicense, or distribute it is void, and
+% will automatically terminate your rights under this License.
+% 
+% However, if you cease all violation of this License, then your
+% license from a particular copyright holder is reinstated (a)
+% provisionally, unless and until the copyright holder explicitly and
+% finally terminates your license, and (b) permanently, if the
+% copyright holder fails to notify you of the violation by some
+% reasonable means prior to 60 days after the cessation.
+% 
+% Moreover, your license from a particular copyright holder is
+% reinstated permanently if the copyright holder notifies you of the
+% violation by some reasonable means, this is the first time you have
+% received notice of violation of this License (for any work) from
+% that copyright holder, and you cure the violation prior to 30 days
+% after your receipt of the notice.
+% 
+% Termination of your rights under this section does not terminate the
+% licenses of parties who have received copies or rights from you
+% under this License.  If your rights have been terminated and not
+% permanently reinstated, receipt of a copy of some or all of the same
+% material does not give you any rights to use it.
+% 
+% \needspace{3\baselineskip}
+% \begin{center}
+%   {\large\bf 10. FUTURE REVISIONS OF THIS LICENSE\par}
+% \end{center}
+% 
+% The Free Software Foundation may publish new, revised versions of
+% the GNU Free Documentation License from time to time.  Such new
+% versions will be similar in spirit to the present version, but may
+% differ in detail to address new problems or concerns.  See
+% \url{https://www.gnu.org/licenses/}.
+% 
+% Each version of the License is given a distinguishing version
+% number.  If the Document specifies that a particular numbered
+% version of this License \enquote{or any later version} applies to
+% it, you have the option of following the terms and conditions either
+% of that specified version or of any later version that has been
+% published (not as a draft) by the Free Software Foundation.  If the
+% Document does not specify a version number of this License, you may
+% choose any version ever published (not as a draft) by the Free
+% Software Foundation.  If the Document specifies that a proxy can
+% decide which future versions of this License can be used, that
+% proxy's public statement of acceptance of a version permanently
+% authorizes you to choose that version for the Document.
+% 
+% \needspace{3\baselineskip}
+% \begin{center}
+%   {\large\bf 11. RELICENSING\par}
+% \end{center}
+% 
+% \enquote{Massive Multiauthor Collaboration Site} (or \enquote{MMC
+% Site}) means any World Wide Web server that publishes copyrightable
+% works and also provides prominent facilities for anybody to edit
+% those works.  A public wiki that anybody can edit is an example of
+% such a server.  A \enquote{Massive Multiauthor Collaboration} (or
+% \enquote{MMC}) contained in the site means any set of copyrightable
+% works thus published on the MMC site.
+% 
+% \enquote{CC-BY-SA} means the Creative Commons Attribution-Share
+% Alike 3.0 license published by Creative Commons Corporation, a
+% not-for-profit corporation with a principal place of business in San
+% Francisco, California, as well as future copyleft versions of that
+% license published by that same organization.
+% 
+% \enquote{Incorporate} means to publish or republish a Document, in
+% whole or in part, as part of another Document.
+% 
+% An MMC is \enquote{eligible for relicensing} if it is licensed under
+% this License, and if all works that were first published under this
+% License somewhere other than this MMC, and subsequently incorporated
+% in whole or in part into the MMC, (1) had no cover texts or
+% invariant sections, and (2) were thus incorporated prior to November
+% 1, 2008.
+% 
+% The operator of an MMC Site may republish an MMC contained in the
+% site under CC-BY-SA on the same site at any time before August 1,
+% 2009, provided the MMC is eligible for relicensing.
+% 
+% \needspace{3\baselineskip}
+% \begin{center}
+%   {\large\bf ADDENDUM: How to use this License for your documents\par}
+% \end{center}
+% 
+% To use this License in a document you have written, include a copy
+% of the License in the document and put the following copyright and
+% license notices just after the title page:
+% 
+% \bigskip
+% \begin{quote}
+%   Copyright \copyright{} YEAR YOUR NAME.  Permission is granted to
+%   copy, distribute and/or modify this document under the terms of
+%   the GNU Free Documentation License, Version 1.3 or any later
+%   version published by the Free Software Foundation; with no
+%   Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+%   A copy of the license is included in the section entitled
+%   \enquote{GNU Free Documentation License}.
+% \end{quote}
+% \bigskip
+%     
+% If you have Invariant Sections, Front-Cover Texts and Back-Cover
+% Texts, replace the \enquote{with \dots\ Texts.}\ line with this:
+% 
+% \bigskip
+% \begin{quote}
+%   with the Invariant Sections being LIST THEIR TITLES, with the
+%   Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+% \end{quote}
+% \bigskip
+%     
+% If you have Invariant Sections without Cover Texts, or some other
+% combination of the three, merge those two alternatives to suit the
+% situation.
+% 
+% If your document contains nontrivial examples of program code, we
+% recommend releasing these examples in parallel under your choice of
+% free software license, such as the GNU General Public License,
+% to permit their use in free software.
+%
+%
 %\StopEventually{}
 %
 % \section{Implementation}
@@ -1020,7 +1620,7 @@
 \ExecuteOptionsX{citecmd}
 \ProcessOptionsX\relax
 %    \end{macrocode}
-% The following packages are required by \package{icite}:
+% The following packages are required by \pkg{icite}:
 %    \begin{macrocode}
 \RequirePackage{xparse}
 \RequirePackage{datatool}
@@ -1031,7 +1631,7 @@
 %    \begin{macrocode}
 \NewDocumentCommand{\ic@nullcmd}{O{}O{}m}{}
 %    \end{macrocode}
-% Define fields to be used by \package{icite}:
+% Define fields to be used by \pkg{icite}:
 %    \begin{macrocode}
 \define@reuse@key{author}
 \define@reuse@key{indexauthor}
@@ -1043,13 +1643,13 @@
 \define@reuse@key{entrysubtype}
 \define@reuse@key{shorthand}
 %    \end{macrocode}
-% This is the same as \cs{usebibentry} from \package{ebib}, but it
+% This is the same as \cs{usebibentry} from \pkg{ebib}, but it
 % does not return an error if the entry field is not found:
 %    \begin{macrocode}
 \def\get@bibentry#1#2{\@ifundefined{reuse@#1@#2}{}
   {\@nameuse{reuse@#1@#2}}}
 %    \end{macrocode}
-% Create a new database which \package{icite} will use to connect
+% Create a new database which \pkg{icite} will use to connect
 % Bib\LaTeX\ \enquote*{subtypes} to indices.
 %    \begin{macrocode}
 \DTLnewdb{icite@indices}
@@ -1111,7 +1711,40 @@
 % citation command to be used, like so:\\
 % \cs{icite}\oarg{pre}\oarg{post}\marg{key}\oarg{command}\\
 % Only standard citation commands are accepted, with the exception of
-% qualified citation lists or so-called \enquote*{multicite} commands.
+% qualified citation lists or so-called \enquote*{multicite}
+% commands. As of v1.4, \pkg{icite} can process separate index entries
+% from lists of numbers inserted in the \meta{postnote} argument of
+% \cs{icite}. For this mechanism to work, the indexing commands used
+% by \cs{icite} must be defined beforehand:---
+%    \begin{macrocode}
+\NewDocumentCommand{\icite@dflt@index}{m}{%
+  \index[\ic@dfltind]{\@sortedauthor!\@sortedtitle!#1}}
+\NewDocumentCommand{\icite@std@index}{m}{%
+  \index[\icite@index]{\@sortedauthor!\@sortedtitle!#1}}
+\NewDocumentCommand{\icite@nodflt@index}{m}{%
+  \index{\@sortedauthor!\@sortedtitle!#1}}
+%    \end{macrocode}
+% Then \cs{process@index@list} is used to split the argument of
+% |<postnote>| at each occurrence of the |;| punctuation mark:---
+%    \begin{macrocode}
+\NewDocumentCommand{\process@index@list}
+                   {m > { \SplitList { ; } } m}{%
+  \def\@tempa{#1}%
+  \def\@dflt{dflt}%
+  \def\@std{std}%
+  \def\@nodflt{nodflt}%
+  \ifx\@tempa\@dflt
+    \ProcessList {#2} { \icite@dflt@index }%
+  \else
+  \ifx\@tempa\@std
+    \ProcessList {#2} { \icite@std@index }%
+  \else
+  \ifx\@tempa\@nodflt
+    \ProcessList {#2} { \icite@nodflt@index }%
+  \fi\fi\fi
+}
+%    \end{macrocode}
+% The definition of \cs{icite} follows:---
 %    \begin{macrocode}
 \NewDocumentCommand{\icite}{o o m O{\ic@dfltcit}}{%
   \edef\ic@argiv{#4}%
@@ -1188,23 +1821,28 @@
     {\DTLifdbempty{icite@indices}{%
         \ifno@index\else
         \ifdefault@index%
-        \index[\ic@dfltind]{\@sortedauthor!\@sortedtitle!#1}%
+        \process@index@list{dflt}{#1}%
+        %\index[\ic@dfltind]{\@sortedauthor!\@sortedtitle!#1}%
         \else%
-        \index{\@sortedauthor!\@sortedtitle!#1}%
+        \process@index@list{nodflt}{#1}%
+        %\index{\@sortedauthor!\@sortedtitle!#1}%
         \fi\fi%
       }{%
         \bgroup%
         \DTLforeach*{icite@indices}{%
           \icite@subtype=subtype,\icite@index=index}{%
           \ifx\@subtype\icite@subtype%
-          \index[\icite@index]{\@sortedauthor!\@sortedtitle!#1}%
+          \process@index@list{std}{#1}%
+          %\index[\icite@index]{\@sortedauthor!\@sortedtitle!#1}%
           \dtlbreak%
           \else%
           \ifno@index\else
           \ifdefault@index%
-          \index[\ic@dfltind]{\@sortedauthor!\@sortedtitle!#1}%
+          \process@index@list{dflt}{#1}%
+          %\index[\ic@dfltind]{\@sortedauthor!\@sortedtitle!#1}%
           \else%
-          \index{\@sortedauthor!\@sortedtitle!#1}%
+          \process@index@list{nodflt}{#1}%
+          %\index{\@sortedauthor!\@sortedtitle!#1}%
           \fi\fi%
           \fi}%
         \egroup}%
@@ -1222,23 +1860,28 @@
     {\DTLifdbempty{icite@indices}{%
         \ifno@index\else
         \ifdefault@index%
-        \index[\ic@dfltind]{\@sortedauthor!\@sortedtitle!#2}%
+        \process@index@list{dflt}{#2}%
+        %\index[\ic@dfltind]{\@sortedauthor!\@sortedtitle!#2}%
         \else%
-        \index{\@sortedauthor!\@sortedtitle!#2}%
+        \process@index@list{nodflt}{#2}%
+        %\index{\@sortedauthor!\@sortedtitle!#2}%
         \fi\fi%
       }{%
         \bgroup%
         \DTLforeach*{icite@indices}{%
           \icite@subtype=subtype,\icite@index=index}{%
           \ifx\@subtype\icite@subtype%
-          \index[\icite@index]{\@sortedauthor!\@sortedtitle!#2}%
+          \process@index@list{std}{#2}%
+          %\index[\icite@index]{\@sortedauthor!\@sortedtitle!#2}%
           \dtlbreak%
           \else%
           \ifno@index\else
           \ifdefault@index%
-          \index[\ic@dfltind]{\@sortedauthor!\@sortedtitle!#2}%
+          \process@index@list{dflt}{#2}%
+          %\index[\ic@dfltind]{\@sortedauthor!\@sortedtitle!#2}%
           \else%
-          \index{\@sortedauthor!\@sortedtitle!#2}%
+          \process@index@list{nodflt}{#2}%
+          %\index{\@sortedauthor!\@sortedtitle!#2}%
           \fi\fi%
           \fi}%
         \egroup}%
-- 
cgit v1.2.3

