aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AUTHORS.md8
-rw-r--r--LICENSE17
-rw-r--r--Makefile10
-rw-r--r--README.md58
-rw-r--r--about.html98
-rw-r--r--icite.dtx535
-rw-r--r--icite.ins64
7 files changed, 475 insertions, 315 deletions
diff --git a/AUTHORS.md b/AUTHORS.md
new file mode 100644
index 0000000..41d6454
--- /dev/null
+++ b/AUTHORS.md
@@ -0,0 +1,8 @@
1Author of the `icite` package
2=============================
3
4Robert Alessi
5: Personal email: <alessi@robertalessi.net>
6: Institutional email: <robert.alessi@cnrs.fr>
7: Affiliation: [UMR 8167 Orient & Méditerranée (Paris, France)](https://www.orient-mediterranee.com)
8: More information: <https://ctan.org/pkg/icite> or <https://sr.ht/~ralessi/icite>
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..01c5dc1
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,17 @@
1icite -- Index locorum citatorum
2--------------------------------
3
4Copyright (c) 2019, 2020, 2021, 2023 Robert Alessi
5<alessi@robertalessi.net>
6
7Permission to use, copy, modify, and distribute this software for any
8purpose with or without fee is hereby granted, provided that the above
9copyright notice and this permission notice appear in all copies.
10
11THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/Makefile b/Makefile
index 01c10eb..6ed5806 100644
--- a/Makefile
+++ b/Makefile
@@ -1,14 +1,15 @@
1NAME = icite 1NAME = icite
2SHELL = bash 2SHELL = bash
3PWD = $(shell pwd) 3PWD = $(shell pwd)
4VERS = $(shell ltxfileinfo -v $(NAME).dtx|sed -e 's/^v//') 4#VERS = $(shell ltxfileinfo -v $(NAME).dtx|sed -e 's/^v//')
5VERS := $(shell typeoutfileinfo $(NAME).dtx | egrep -o '\+.*$$' | awk '{ print $$6 }' | sed -e 's/^v//')
5LOCAL = $(shell kpsewhich --var-value TEXMFLOCAL) 6LOCAL = $(shell kpsewhich --var-value TEXMFLOCAL)
6UTREE = $(shell kpsewhich --var-value TEXMFHOME) 7UTREE = $(shell kpsewhich --var-value TEXMFHOME)
7CMP = lualatex-dev 8CMP = lualatex-dev
8 9
9exts := md bib ins dtx html 10exts := md bib ins dtx html
10texsamples := $(basename $(wildcard $(PWD)/samples/*.tex)) 11texsamples := $(basename $(wildcard $(PWD)/samples/*.tex))
11findopts := $(foreach ext,$(exts),-or -iname "*.$(ext)") 12findopts := $(foreach ext,$(exts),-or -iname "LICENSE" -or -iname "*.$(ext)")
12 13
13 14
14# Look into this later 15# Look into this later
@@ -66,7 +67,7 @@ clean:
66 rm -rf * 67 rm -rf *
67 cp -p -r .backup/* . 68 cp -p -r .backup/* .
68 rm -rf .backup 69 rm -rf .backup
69 pandoc -s README.md -o about.html 70 pandoc README.md -o about.html
70 71
71distclean: clean uninst 72distclean: clean uninst
72 73
@@ -100,6 +101,9 @@ zip: all
100 zip -Drq $(PWD)/$(NAME)-$(VERS).zip $(NAME)/{samples,README.md,$(NAME).{pdf,dtx,ins}} 101 zip -Drq $(PWD)/$(NAME)-$(VERS).zip $(NAME)/{samples,README.md,$(NAME).{pdf,dtx,ins}}
101 rm $(NAME) 102 rm $(NAME)
102 103
104hal: clean
105 zip -Drq $(PWD)/$(NAME)-$(VERS).zip *
106
103package: distclean all 107package: distclean all
104 mkdir $(NAME)/ 108 mkdir $(NAME)/
105 cp Makefile README.md $(NAME).{ins,dtx,pdf} $(NAME)/ 109 cp Makefile README.md $(NAME).{ins,dtx,pdf} $(NAME)/
diff --git a/README.md b/README.md
index c70816e..d7577e1 100644
--- a/README.md
+++ b/README.md
@@ -17,30 +17,29 @@ License and disclamer
17 17
18icite – Indices locorum citatorum 18icite – Indices locorum citatorum
19 19
20Copyright ⓒ 2019--2020 Robert Alessi 20Copyright ⓒ 2019, 2020, 2021, 2023 Robert Alessi
21
22Permission to use, copy, modify, and distribute this software for any
23purpose with or without fee is hereby granted, provided that the above
24copyright notice and this permission notice appear in all copies.
25
26THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
27WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
28MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
29ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
30WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
31ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
32OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
21 33
22Please send error reports and suggestions for improvements to Robert 34Please send error reports and suggestions for improvements to Robert
23Alessi: 35Alessi:
24 36
25- email: <alessi@robertalessi.net> 37- email: <alessi@robertalessi.net>
26 38
27- website: <http://www.robertalessi.net/icite> 39- website: <https://sr.ht/~ralessi/icite>
28 40
29- comments, feature requests, bug reports: 41- comments, feature requests, bug reports:
30 <https://gitlab.com/ralessi/icite/issues> 42 <https://todo.sr.ht/~ralessi/icite>
31
32This program is free software: you can redistribute it and/or modify it
33under the terms of the GNU General Public License as published by the
34Free Software Foundation, either version 3 of the License, or (at your
35option) any later version.
36
37This program is distributed in the hope that it will be useful, but
38WITHOUT ANY WARRANTY; without even the implied warranty of
39MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
40Public License for more details.
41
42You should have received a copy of the GNU General Public License along
43with this program. If not, see <http://www.gnu.org/licenses/>.
44 43
45This release of icite consists of the following source files: 44This release of icite consists of the following source files:
46 45
@@ -50,17 +49,6 @@ This release of icite consists of the following source files:
50 49
51- `Makefile` 50- `Makefile`
52 51
53License applicable to the documentation
54---------------------------------------
55
56Copyright ⓒ 2019--2020 Robert Alessi
57
58The documentation file `icite.pdf` that is generated from the
59`icite.dtx` source file is licensed under the Creative Commons
60Attribution-ShareAlike 4.0 International License. To view a copy of this
61license, visit <http://creativecommons.org/licenses/by-sa/4.0/> or send
62a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
63
64Installation 52Installation
65============ 53============
66 54
@@ -77,7 +65,7 @@ Browse the code
77--------------- 65---------------
78 66
79You can browse icite repository on the web: 67You can browse icite repository on the web:
80<http://git.robertalessi.net/icite> 68<https://git.sr.ht/~ralessi/icite>
81 69
82From this page, you can download all the releases of `icite`. For 70From this page, you can download all the releases of `icite`. For
83instructions on how to install `icite`, please see above. 71instructions on how to install `icite`, please see above.
@@ -85,18 +73,18 @@ instructions on how to install `icite`, please see above.
85Comments, Feature requests, Bug Reports 73Comments, Feature requests, Bug Reports
86--------------------------------------- 74---------------------------------------
87 75
88<https://gitlab.com/ralessi/icite/issues> 76<https://todo.sr.ht/~ralessi/icite>
89 77
90Download the repository 78Download the repository
91----------------------- 79-----------------------
92 80
93`icite` development is facilitated by git, a distributed version 81`icite` development is facilitated by git, a distributed version
94control system. You will need to install git (most GNU/Linux 82control system. You will need to install git (most Unix/Linux
95distributions package it in their repositories). 83distributions package it in their repositories).
96 84
97Use this command to download the repository 85Use this command to download the repository
98 86
99 git clone http://git.robertalessi.net/icite 87 git clone https://git.sr.ht/~ralessi/icite
100 88
101A new directory named icite will have been created, containing 89A new directory named icite will have been created, containing
102`icite`. 90`icite`.
@@ -104,8 +92,8 @@ A new directory named icite will have been created, containing
104Git hosting 92Git hosting
105----------- 93-----------
106 94
107Make an account on <https://gitlab.com> and navigate (while logged in) 95Make an account on <https://sr.ht> and navigate (while logged in) to
108to <https://gitlab.com/ralessi/icite>. Click *Fork* and you will 96<https://git.sr.ht/~ralessi/icite>. Click *Clone repo to your account*
109have in your account your own repository of `icite` where you will 97and you will have in your account your own repository of `icite` where
110be able to make whatever changes you like to. 98you will be able to make whatever changes you like to.
111 99
diff --git a/about.html b/about.html
index 508859e..928d024 100644
--- a/about.html
+++ b/about.html
@@ -1,58 +1,76 @@
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5 <meta http-equiv="Content-Style-Type" content="text/css" />
6 <meta name="generator" content="pandoc" />
7 <meta name="author" content="Robert Alessi" />
8 <title>The icite package – README file</title>
9 <style type="text/css">code{white-space: pre;}</style>
10</head>
11<body>
12<div id="header">
13<h1 class="title">The icite package – README file</h1>
14<h2 class="author">Robert Alessi</h2>
15</div>
16<h1 id="overview">Overview</h1> 1<h1 id="overview">Overview</h1>
17<p><code>icite</code> is designed to produce from BibTeX or BibLaTeX bibliographical databases the different indices of authors and works cited which are called <em>indices locorum citatorum</em>. It relies on a specific <code>\icite</code> command and can operate with either BibTeX or BibLaTeX.</p> 2<p><code>icite</code> is designed to produce from BibTeX or BibLaTeX
3bibliographical databases the different indices of authors and works
4cited which are called <em>indices locorum citatorum</em>. It relies on
5a specific <code>\icite</code> command and can operate with either
6BibTeX or BibLaTeX.</p>
18<h1 id="license-and-disclamer">License and disclamer</h1> 7<h1 id="license-and-disclamer">License and disclamer</h1>
19<p>icite – Indices locorum citatorum</p> 8<p>icite – Indices locorum citatorum</p>
20<p>Copyright ⓒ 2019--2020 Robert Alessi</p> 9<p>Copyright ⓒ 2019, 2020, 2021, 2023 Robert Alessi</p>
21<p>Please send error reports and suggestions for improvements to Robert Alessi:</p> 10<p>Permission to use, copy, modify, and distribute this software for any
11purpose with or without fee is hereby granted, provided that the above
12copyright notice and this permission notice appear in all copies.</p>
13<p>THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL
14WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
15OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE
16FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY
17DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
18IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
19OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
20SOFTWARE.</p>
21<p>Please send error reports and suggestions for improvements to Robert
22Alessi:</p>
22<ul> 23<ul>
23<li><p>email: <a href="mailto:alessi@robertalessi.net">alessi@robertalessi.net</a></p></li> 24<li><p>email: <a href="mailto:alessi@robertalessi.net"
24<li><p>website: <a href="http://www.robertalessi.net/icite" class="uri">http://www.robertalessi.net/icite</a></p></li> 25class="email">alessi@robertalessi.net</a></p></li>
25<li><p>comments, feature requests, bug reports: <a href="https://gitlab.com/ralessi/icite/issues" class="uri">https://gitlab.com/ralessi/icite/issues</a></p></li> 26<li><p>website: <a href="https://sr.ht/~ralessi/icite"
27class="uri">https://sr.ht/~ralessi/icite</a></p></li>
28<li><p>comments, feature requests, bug reports: <a
29href="https://todo.sr.ht/~ralessi/icite"
30class="uri">https://todo.sr.ht/~ralessi/icite</a></p></li>
26</ul> 31</ul>
27<p>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 (at your option) any later version.</p>
28<p>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.</p>
29<p>You should have received a copy of the GNU General Public License along with this program. If not, see <a href="http://www.gnu.org/licenses/" class="uri">http://www.gnu.org/licenses/</a>.</p>
30<p>This release of icite consists of the following source files:</p> 32<p>This release of icite consists of the following source files:</p>
31<ul> 33<ul>
32<li><p><code>icite.dtx</code></p></li> 34<li><p><code>icite.dtx</code></p></li>
33<li><p><code>icite.ins</code></p></li> 35<li><p><code>icite.ins</code></p></li>
34<li><p><code>Makefile</code></p></li> 36<li><p><code>Makefile</code></p></li>
35</ul> 37</ul>
36<h2 id="license-applicable-to-the-documentation">License applicable to the documentation</h2>
37<p>Copyright ⓒ 2019--2020 Robert Alessi</p>
38<p>The documentation file <code>icite.pdf</code> that is generated from the <code>icite.dtx</code> source file is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. To view a copy of this license, visit <a href="http://creativecommons.org/licenses/by-sa/4.0/" class="uri">http://creativecommons.org/licenses/by-sa/4.0/</a> or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.</p>
39<h1 id="installation">Installation</h1> 38<h1 id="installation">Installation</h1>
40<ol style="list-style-type: decimal"> 39<ol type="1">
41<li><p>Run <code>'latex icite.ins'</code> to produce the <code>icite.sty</code> file.</p></li> 40<li><p>Run <code>'latex icite.ins'</code> to produce the
42<li><p>To finish the installation you have to move the <code>icite.sty</code> file into a directory where LaTeX can find it. See the FAQ on <code>texfaq.org</code> at <a href="https://texfaq.org/FAQ-inst-wlcf" class="uri">https://texfaq.org/FAQ-inst-wlcf</a> for more on this.</p></li> 41<code>icite.sty</code> file.</p></li>
42<li><p>To finish the installation you have to move the
43<code>icite.sty</code> file into a directory where LaTeX can find it.
44See the FAQ on <code>texfaq.org</code> at <a
45href="https://texfaq.org/FAQ-inst-wlcf"
46class="uri">https://texfaq.org/FAQ-inst-wlcf</a> for more on
47this.</p></li>
43</ol> 48</ol>
44<h1 id="development-git-repository">Development, Git Repository</h1> 49<h1 id="development-git-repository">Development, Git Repository</h1>
45<h2 id="browse-the-code">Browse the code</h2> 50<h2 id="browse-the-code">Browse the code</h2>
46<p>You can browse icite repository on the web: <a href="http://git.robertalessi.net/icite" class="uri">http://git.robertalessi.net/icite</a></p> 51<p>You can browse icite repository on the web: <a
47<p>From this page, you can download all the releases of <code>icite</code>. For instructions on how to install <code>icite</code>, please see above.</p> 52href="https://git.sr.ht/~ralessi/icite"
48<h2 id="comments-feature-requests-bug-reports">Comments, Feature requests, Bug Reports</h2> 53class="uri">https://git.sr.ht/~ralessi/icite</a></p>
49<p><a href="https://gitlab.com/ralessi/icite/issues" class="uri">https://gitlab.com/ralessi/icite/issues</a></p> 54<p>From this page, you can download all the releases of
55<code>icite</code>. For instructions on how to install
56<code>icite</code>, please see above.</p>
57<h2 id="comments-feature-requests-bug-reports">Comments, Feature
58requests, Bug Reports</h2>
59<p><a href="https://todo.sr.ht/~ralessi/icite"
60class="uri">https://todo.sr.ht/~ralessi/icite</a></p>
50<h2 id="download-the-repository">Download the repository</h2> 61<h2 id="download-the-repository">Download the repository</h2>
51<p><code>icite</code> development is facilitated by git, a distributed version control system. You will need to install git (most GNU/Linux distributions package it in their repositories).</p> 62<p><code>icite</code> development is facilitated by git, a distributed
63version control system. You will need to install git (most Unix/Linux
64distributions package it in their repositories).</p>
52<p>Use this command to download the repository</p> 65<p>Use this command to download the repository</p>
53<pre><code>git clone http://git.robertalessi.net/icite</code></pre> 66<pre><code>git clone https://git.sr.ht/~ralessi/icite</code></pre>
54<p>A new directory named icite will have been created, containing <code>icite</code>.</p> 67<p>A new directory named icite will have been created, containing
68<code>icite</code>.</p>
55<h2 id="git-hosting">Git hosting</h2> 69<h2 id="git-hosting">Git hosting</h2>
56<p>Make an account on <a href="https://gitlab.com" class="uri">https://gitlab.com</a> and navigate (while logged in) to <a href="https://gitlab.com/ralessi/icite" class="uri">https://gitlab.com/ralessi/icite</a>. Click <em>Fork</em> and you will have in your account your own repository of <code>icite</code> where you will be able to make whatever changes you like to.</p> 70<p>Make an account on <a href="https://sr.ht"
57</body> 71class="uri">https://sr.ht</a> and navigate (while logged in) to <a
58</html> 72href="https://git.sr.ht/~ralessi/icite"
73class="uri">https://git.sr.ht/~ralessi/icite</a>. Click <em>Clone repo
74to your account</em> and you will have in your account your own
75repository of <code>icite</code> where you will be able to make whatever
76changes you like to.</p>
diff --git a/icite.dtx b/icite.dtx
index 62c3eac..6cb9fe0 100644
--- a/icite.dtx
+++ b/icite.dtx
@@ -1,23 +1,21 @@
1% \iffalse meta-comment 1% \iffalse meta-comment
2% icite -- Indices locorum citatorum 2% icite -- Indices locorum citatorum
3% Copyright (C) 2019--2020 Robert Alesssi 3% Copyright (C) 2019, 2020, 2021, 2023 Robert Alesssi
4%
5% Permission to use, copy, modify, and distribute this software for any
6% purpose with or without fee is hereby granted, provided that the above
7% copyright notice and this permission notice appear in all copies.
8%
9% THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10% WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11% MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12% ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13% WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14% ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15% OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
4% 16%
5% Please send error reports and suggestions for improvements to Robert 17% Please send error reports and suggestions for improvements to Robert
6% Alessi <alessi@robertalessi.net> 18% Alessi <alessi@robertalessi.net>
7%
8% This program is free software: you can redistribute it and/or modify
9% it under the terms of the GNU General Public License as published by
10% the Free Software Foundation, either version 3 of the License, or
11% (at your option) any later version.
12%
13% This program is distributed in the hope that it will be useful, but
14% WITHOUT ANY WARRANTY; without even the implied warranty of
15% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16% General Public License for more details.
17%
18% You should have received a copy of the GNU General Public License
19% along with this program. If not, see
20% <http://www.gnu.org/licenses/>.
21% \fi 19% \fi
22% 20%
23% \iffalse 21% \iffalse
@@ -27,7 +25,7 @@
27%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] 25%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
28%<package>\ProvidesPackage{icite} 26%<package>\ProvidesPackage{icite}
29%<*package> 27%<*package>
30 [2020/03/05 v1.3a Make Indices locorum citatorum] 28 [2023/01/24 v1.4-dev Make Indices locorum citatorum]
31%</package> 29%</package>
32%<*driver> 30%<*driver>
33\documentclass{ltxdoc} 31\documentclass{ltxdoc}
@@ -180,34 +178,86 @@
180} 178}
181\end{filecontents*} 179\end{filecontents*}
182\usepackage{fontspec} 180\usepackage{fontspec}
183\usepackage[english]{babel} 181\usepackage[american]{babel}
184\usepackage[letterpaper,margin=25mm,left=50mm,nohead]{geometry} 182\usepackage[letterpaper,margin=25mm,left=50mm,nohead]{geometry}
185\babelfont{rm}{Old Standard} 183\babelfont{rm}[RawFeature=onum]{Old Standard}
186\babelfont{sf}{NewComputerModern Sans} 184\babelfont{sf}{NewComputerModernSans10}
187\babelfont{tt}{NewComputerModern Mono} 185\babelfont{tt}{NewComputerModernMono10}
188\usepackage{arabluatex} 186\usepackage{arabluatex}
189\SetTranslitConvention{loc} 187\SetTranslitConvention{loc}
190\usepackage{xurl} 188\usepackage[obeyspaces]{url}
191\usepackage{uri} 189\usepackage[nospace,american]{varioref}
192\usepackage{hyperxmp} 190\labelformat{section}{sect.~#1}
193\usepackage{varioref} 191\labelformat{subsection}{sect.~#1}
192\labelformat{subsubsection}{sect.~#1}
193\labelformat{figure}{fig.~#1}
194\newcommand\phts{\phantomsection}
194\usepackage{latexcolors} 195\usepackage{latexcolors}
195\usepackage[numbered]{hypdoc} 196\usepackage[numbered]{hypdoc}
196\hypersetup{unicode=true, colorlinks, allcolors=cinnamon, 197\usepackage[loadlang=en]{metastr}
197 linktocpage=true, pdfauthor={Robert Alessi}, pdftitle={The 198\hypersetup{
198 icite package}, pdfcontactemail={alessi@robertalessi.net}, 199 colorlinks,
199 pdfcontacturl={http://www.robertalessi.net/icite}, 200 allcolors=cinnamon,
200 pdfcopyright={Copyright (C) 2019--2020 Robert Alessi 201 linktocpage=true,
201 <alessi@robertalessi.net>. This document is licensed under the 202 pdftype={Text}
202 Creative Commons Attribution-ShareAlike 4.0 International 203}
203 License. To view a copy of this license, visit 204\metaset{titletext}{%
204 http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to 205 \metapick[#1]{title}%
205 Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.}, 206 \metacompose[#1]{subtitle}{\metaget[sep]{subtitle}}{}{}}
206 pdflicenseurl={https://creativecommons.org/licenses/by-sa/4.0/legalcode}, 207\metaset[print]{titletext}{%
207 pdfmetalang={en-US}, pdftype={Text}, pdfkeywords={bibtex, biblatex, 208 \metatitleline[print]{title}%
208 indexing}} 209 \metatitleline[print]{subtitle}%
209\usepackage{amsmath} 210 \metatitleline[print]{author}%
210\usepackage{cleveref} 211 \metatitleline[print]{contactemail}%
212 \metatitlelinetwo[print]{date}[print]{draft}}
213\metaset[skip]{subtitle}{\vspace{1ex}}
214\metaset[skip]{author}{\vspace{2ex}}
215\metaset[skip]{date}{\vspace{1ex}}
216\metaset[style]{title}{\LARGE}
217\metaset[style]{author}{\large}
218\metaset[sep]{draft}{ -- }
219\metasetlang{en-US}
220\metaset{title}{icite}
221\metaset[print]{title}{\textsf{icite}}
222\metaset{date}{\filedate}
223\metaset{draft}{\fileversion}
224\metaset{subject}{Indices locorum citatorum}
225\metaset{subtitle}{Indices locorum citatorum}
226\metaset[print]{subtitle}{\emph{Indices locorum citatorum}}
227\metaset{author}{Robert Alessi}
228\metaset{keywords}{LaTeX, Lua, bibliography, index}
229\metaset{contactemail}{alessi@roberalessi.net}
230\metaset[print]{contactemail}{\mailto[icite]{alessi@robertalessi.net}}
231\metaset{contacturl}{http://www.roberalessi.net}
232\metaset{partof}{The icite Package}
233\metaset[print]{partof}{The \textsf{icite} Package}
234\metaset{copyrightowner}{\metapick[#1]{author}}
235\metaset{copyrightdate}{2019, 2020, 2021, 2023}
236\metaset{licensemessage}{Permission to use, copy, modify, and
237 distribute this software for any purpose with or without fee is
238 hereby granted, provided that the above copyright notice and this
239 permission notice appear in all copies.
240 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
241 WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
242 WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
243 AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
244 DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
245 OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
246 TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
247 PERFORMANCE OF THIS SOFTWARE.}
248\metaset{licenseurl}{%
249 https://cvsweb.openbsd.org/src/share/misc/license.template?rev=HEAD}
250\metaset[print]{licenseurl}{%
251 \url{https://cvsweb.openbsd.org/src/share/misc/license.template?rev=HEAD}}
252\metaset[cmd]{licenselogo}{\includegraphics[scale=0.75]{#1}}
253\metawritepdfinfo
254\metawritepdfaux
255\metawritepdfpreamble
256\metawritepdfcontact
257\metawritepdfrights
258
259\usepackage{uri}
260
211\CodelineIndex 261\CodelineIndex
212\usepackage[citecmd=autocite,defaultindex]{\jobname} 262\usepackage[citecmd=autocite,defaultindex]{\jobname}
213\IndexSubtypeAs{classical}{primary} 263\IndexSubtypeAs{classical}{primary}
@@ -226,13 +276,19 @@
226\newclassic{nadim}{\classicsRoman{#1}|.#1|, #1} 276\newclassic{nadim}{\classicsRoman{#1}|.#1|, #1}
227\newclassic{aristotle}{#1|\textit{#1}|#1} 277\newclassic{aristotle}{#1|\textit{#1}|#1}
228\usepackage[scale=1.5]{ccicons} 278\usepackage[scale=1.5]{ccicons}
229\usepackage{dox} 279%^^A dox does not work with the latest latex-dev:
230\doxitem{Option}{option}{options} 280\ifdefined\SpecialMacroIndex
281 \NewDocElement{Option}{option}
282\else
283 \usepackage{dox}
284 \doxitem{Option}{option}{options}
285\fi
231\usepackage{enumitem} 286\usepackage{enumitem}
232\setlist{nosep} 287\setlist{nosep}
233\setlist[itemize]{label=\textendash} 288\setlist[itemize]{label=\textendash}
234\setlist[enumerate,1]{label=(\alph*)} 289\setlist[enumerate,1]{label=(\alph*)}
235\setlist[enumerate,2]{label=\roman*.} 290\setlist[enumerate,2]{label=\roman*.}
291\usepackage[shortcuts, nospacearound]{extdash}
236\usepackage[lot]{multitoc} 292\usepackage[lot]{multitoc}
237\usepackage{nameref} 293\usepackage{nameref}
238\usepackage{csquotes} 294\usepackage{csquotes}
@@ -244,34 +300,45 @@
244\usepackage{units} 300\usepackage{units}
245\usepackage{minted} 301\usepackage{minted}
246\usepackage[contents]{colordoc} 302\usepackage[contents]{colordoc}
247\newcommand{\package}[1]{\textsf{#1}\index{#1=#1 (package)}} 303\newcommand{\pkg}[1]{\textsf{#1}\index{#1=#1 (package)}}
248\usepackage{tikz} 304\usepackage{tikz}
249\usepackage[breakable, skins, xparse, minted]{tcolorbox} 305\usepackage[breakable, skins, xparse, minted]{tcolorbox}
250\tcbset{colback=white, boxrule=.15mm, colframe=cinnamon, 306\tcbset{colback=white, boxrule=.15mm, colframe=cinnamon,
251 breakable} 307 breakable}
252\newtcblisting{example}{minted options={linenos, numbersep=0mm}} 308\newtcblisting{example}{minted options={linenos, numbersep=0mm}}
253\newtcblisting{code}{minted options={linenos, numbersep=0mm}, listing 309\newtcblisting{pkgcode}{minted options={linenos, numbersep=0mm}, listing
254 only} 310 only}
311\NewDocumentCommand{\newfeature}{o}{%
312 \leavevmode
313 \IfNoValueTF{#1}
314 {\marginpar{\hfill\emph{New feature}}}
315 {\marginpar{\hfill\emph{New feature} #1}}%
316 \ignorespaces
317}
318
255\usepackage{etoc} 319\usepackage{etoc}
256\etocsettocdepth{paragraph} 320\etocsettocdepth{paragraph}
321\makeatletter
257\newcommand{\icitetableofcontents}{% 322\newcommand{\icitetableofcontents}{%
258 \begingroup 323 \begingroup
259 \etocsetstyle{section}{}{} 324 \etocsetstyle{section}{}{}
260 {\etocsavedsectiontocline{% 325 {\l@section{%
261 \numberline{\etocnumber}\etocname}{\etocpage}}{} 326 \numberline{\etocnumber}\etocname}{\etocpage}}{}
262 \etocsetstyle{subsection}{}{} 327 \etocsetstyle{subsection}{}{}
263 {\etocsavedsubsectiontocline{% 328 {\l@subsection{%
264 \numberline{\etocnumber}\etocname}{\etocpage}}{}% 329 \numberline{\etocnumber}\etocname}{\etocpage}}{}%
265 \etocsetstyle{subsubsection}{}{} 330 \etocsetstyle{subsubsection}{}{}
266 {\etocsavedsubsubsectiontocline{% 331 {\l@subsubsection{%
267 \numberline{\etocnumber}\etocname}{\etocpage}}{}% 332 \numberline{\etocnumber}\etocname}{\etocpage}}{}%
268 \etocsetstyle{paragraph}{}{\leftskip2cm\rightskip 2.2em \parfillskip 333 \etocsetstyle{paragraph}{}{\leftskip2cm\rightskip 2.2em \parfillskip
269 0pt plus 1fil\relax \nobreak} 334 0pt plus 1fil\relax \nobreak}
270 {\noindent\etocname{} \etocpage{} }{\par}% 335 {\noindent\etocname{} \etocpage{} }{\par}%
271 \etocmulticolstyle[2]{\section*{Contents}} 336 \etocmulticolstyle[2]{\section*{Contents}}
272 \pdfbookmark[1]{Contents}{toc} 337 \pdfbookmark[1]{Contents}{toc}
273 \tableofcontents 338 \etoctoclines
339 \localtableofcontents
274 \endgroup} 340 \endgroup}
341\makeatother
275\EnableCrossrefs 342\EnableCrossrefs
276 %\CodelineIndex 343 %\CodelineIndex
277\RecordChanges 344\RecordChanges
@@ -290,7 +357,7 @@
290%</driver> 357%</driver>
291% \fi 358% \fi
292% 359%
293% \CheckSum{360} 360% \CheckSum{0}
294% 361%
295% \CharacterTable 362% \CharacterTable
296% {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 363% {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
@@ -328,23 +395,19 @@
328% \GetFileInfo{\jobname.dtx} 395% \GetFileInfo{\jobname.dtx}
329% \DoNotIndex{\newcommand,\newenvironment} 396% \DoNotIndex{\newcommand,\newenvironment}
330% 397%
331% \newcommand*{\NEWfeature}[1]{% 398% \pdfbookmark[1]{\metaterm{title}}{title}
332% \hskip 1sp \marginpar{\small\sffamily\raggedright 399% \begin{tcolorbox}[
333% New feature\\#1}} 400% colframe=black,
401% enhanced,
402% drop lifted shadow,
403% colback=white,
404% boxrule=.25mm,
405% halign=center,
406% center
407% ]
408% \metapick[print]{titletext}
409% \end{tcolorbox}
334% 410%
335% \title{\tcbox[colframe=black, enhanced, tikznode, drop lifted
336% shadow, colback=white, boxrule=.25mm]{%
337% The \textsf{icite} package\\
338% \emph{Indices locorum citatorum}\\
339% \fileversion\ --- \filedate}}
340%
341% \author{Robert Alessi \\
342% \href{mailto:alessi@robertalessi.net?Subject=icite package}%
343% {\texttt{alessi@robertalessi.net}}}
344%
345% \date{}
346%
347% \maketitle
348% \footnotesize 411% \footnotesize
349% \icitetableofcontents 412% \icitetableofcontents
350% \normalsize 413% \normalsize
@@ -352,47 +415,65 @@
352% \changes{v1.00}{2019/03/07}{First public release} 415% \changes{v1.00}{2019/03/07}{First public release}
353% 416%
354% \begin{abstract} 417% \begin{abstract}
355% \package{icite} is designed to produce from \hologo{BibTeX} or 418% \pkg{icite} is designed to produce from \hologo{BibTeX} or
356% Bib\LaTeX\ bibliographical databases the different indices of 419% Bib\LaTeX\ bibliographical databases the different indices of
357% authors and works cited which are called \emph{indices locorum 420% authors and works cited which are called \emph{indices locorum
358% citatorum}. It relies on a specific \cs{icite} command and can 421% citatorum}. It relies on a specific \cs{icite} command and can
359% operate with either \hologo{BibTeX} or Bib\LaTeX. 422% operate with either \hologo{BibTeX} or Bib\LaTeX.
360% \end{abstract} 423% \end{abstract}
361% 424%
362% \section*{License and disclamer} 425% \section*{License and Disclaimer}
363% \addcontentsline{toc}{section}{License and disclamer} 426% \addcontentsline{toc}{section}{License and disclamer}
364% \subsection*{License applicable to the software}
365% \label{sec:license-software} 427% \label{sec:license-software}
366% 428%
367% \package{icite} --- \emph{Indices locorum citatorum}\\ 429% \pkg{icite} --- \metapick[print]{subtitle}
368% Copyright \textcopyright\ 2019--2020 Robert Alessi 430% \metapick[print]{copyrightstatement}
431%
432% \leavevmode\marginpar{\hfill\texttt{OpenBSD}} \pkg{icite} is
433% licensed under the terms of the so-called OpenBSD license, as it is
434% modelled after the ISC copyright, which is functionally equivalent
435% to a two-term BSD copyright with language removed that is made
436% unnecessary by the Berne convention.\footnote{More information about
437% the OpenBSD policy to which \pkg{icite} adheres:
438% \url{https://www.openbsd.org/policy.html}.}
439%
440% \iffalse
441%<*example>
442% \fi
443\begin{minted}[linenos=false]{text}
444icite -- Index locorum citatorum
445--------------------------------
446
447Copyright (c) 2019, 2020, 2021, 2023 Robert Alessi
448<alessi@robertalessi.net>
449
450Permission to use, copy, modify, and distribute this software for any
451purpose with or without fee is hereby granted, provided that the above
452copyright notice and this permission notice appear in all copies.
453
454THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
455WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
456MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
457ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
458WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
459ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
460OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
461\end{minted}
462% \iffalse
463%</example>
464% \fi
369% 465%
370% Please send error reports and suggestions for improvements to Robert 466% Please send error reports and suggestions for improvements to Robert
371% Alessi: 467% Alessi:
372% \begin{itemize} 468% \begin{itemize}
373% \item email: \mailto[icite package]{alessi@roberalessi.net} 469% \item email: \mailto[icite package]{Robert Alessi <alessi@roberalessi.net>}
374% \item website: \url{http://www.robertalessi.net/icite} 470% \item website: \url{https://sr.ht/~ralessi/icite/}
375% \item development: \url{http://git.robertalessi.net/icite} 471% \item development: \url{http://git.robertalessi.net/icite}
376% \item comments, feature requests, bug reports: 472% \item comments, feature requests, bug reports:
377% \url{https://gitlab.com/ralessi/icite/issues} 473% \url{https://todo.sr.ht/~ralessi/icite}
378% \end{itemize} 474% \end{itemize}
379% 475%
380% \marginpar{\texttt{gpl3+}} 476% This release of \pkg{icite} consists of the following
381% This program is free software: you can redistribute it and/or modify
382% it under the terms of the GNU General Public License as published by
383% the Free Software Foundation, either version 3 of the License, or
384% (at your option) any later version.
385%
386% This program is distributed in the hope that it will be useful, but
387% WITHOUT ANY WARRANTY; without even the implied warranty of
388% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
389% General Public License for more details.
390%
391% You should have received a copy of the GNU General Public License
392% along with this program. If not, see
393% <http://www.gnu.org/licenses/>.
394%
395% This release of \package{icite} consists of the following
396% source files: 477% source files:
397% \begin{itemize} 478% \begin{itemize}
398% \item |icite.dtx| 479% \item |icite.dtx|
@@ -400,18 +481,6 @@
400% \item |Makefile| 481% \item |Makefile|
401% \end{itemize} 482% \end{itemize}
402% 483%
403% \subsection*{License applicable to this document}
404% \label{sec:documentation-license}
405% Copyright \textcopyright\ 2019--2020 Robert Alessi
406%
407% \ccbysa\marginpar{\texttt{CC BY-SA 4.0}}
408% This document is licensed under the Creative Commons
409% Attribution-ShareAlike 4.0 International License. To view a copy of
410% this license, visit
411% \url{http://creativecommons.org/licenses/by-sa/4.0/} or send a
412% letter to Creative Commons, PO Box 1866, Mountain View, CA 94042,
413% USA.
414%
415% \section{Introduction} 484% \section{Introduction}
416% \label{sec:introduction} 485% \label{sec:introduction}
417% Bib\LaTeX\ features a very powerful internal mechanism which 486% Bib\LaTeX\ features a very powerful internal mechanism which
@@ -428,27 +497,27 @@
428% intricate business and requires knowing how to redefine and/or patch 497% intricate business and requires knowing how to redefine and/or patch
429% standard and internal Bib\LaTeX\ commands. 498% standard and internal Bib\LaTeX\ commands.
430% 499%
431% The \package{icite} package is but a modest piece of software which 500% The \pkg{icite} package is but a modest piece of software which
432% addresses this situation. It relies on citation commands, but does 501% addresses this situation. It relies on citation commands, but does
433% not require Bib\LaTeX. Instead, \hologo{BibTeX} can be used as 502% not require Bib\LaTeX. Instead, \hologo{BibTeX}, or even no
434% \package{icite} uses the \package{usebib} 503% bibliographic engine, can be used as \pkg{icite} uses the
435% package\footnote{\cite{usebib}} to build the indices by drawing 504% \pkg{usebib} package\footnote{\cite{usebib}} to build the indices by
436% directly from the bibliographical database. 505% drawing directly from the bibliographical database.
437% 506%
438% 507%
439% \section[The \package{icite} package]{The \textsf{icite} package} 508% \section[The \pkg{icite} package]{The \textsf{icite} Package}
440% The \package{icite} package is loaded as usual like so:--- 509% The \pkg{icite} package is loaded as usual like so:---
441% \iffalse 510% \iffalse
442%<*example> 511%<*example>
443% \fi 512% \fi
444\begin{code} 513\begin{pkgcode}
445 \usepackage[<options>]{icite} 514 \usepackage[<options>]{icite}
446\end{code} 515\end{pkgcode}
447% \iffalse 516% \iffalse
448%</example> 517%</example>
449% \fi 518% \fi
450% 519%
451% \package{icite} may be loaded with three optional \enquote*{named 520% \pkg{icite} may be loaded with three optional \enquote*{named
452% arguments} either of which is set using the syntax 521% arguments} either of which is set using the syntax
453% \meta{key}$=$\meta{value}. The description of the optional arguments 522% \meta{key}$=$\meta{value}. The description of the optional arguments
454% follows:--- 523% follows:---
@@ -469,17 +538,17 @@
469% passages in the default general index, unless |defaultindex| is set 538% passages in the default general index, unless |defaultindex| is set
470% to the value |none|, in which case indexing is disabled. It must be 539% to the value |none|, in which case indexing is disabled. It must be
471% noted that this named argument does not need a value as it defaults 540% noted that this named argument does not need a value as it defaults
472% to |loccit| if it is used alone. This is an easy way to have all 541% to |loccit| if used alone. This is an easy way to have all passages
473% passages cited indexed in a separate index named |loccit|. 542% cited indexed in a separate index named |loccit|.
474% 543%
475% \DescribeOption{nobibengine}\NEWfeature{v1.1} 544% \DescribeOption{nobibengine}\newfeature[v1.1]
476% \changes{v1.1}{2019/03/12}{New global option \texttt{nobibengine}}% 545% \changes{v1.1}{2019/03/12}{New global option \texttt{nobibengine}}%
477% |nobibengine|$=$|true|\verb+|+|false|\hfill% 546% |nobibengine|$=$|true|\verb+|+|false|\hfill%
478% \tcboxverb{Default: not set}\\ 547% \tcboxverb{Default: not set}\\
479% This named argument does not need a value as it defaults to |true| 548% This named argument does not need a value as it defaults to |true|
480% if it is used. When this option is activated, \package{icite} does 549% if used. When this option is activated, \pkg{icite} does not use
481% not use \hologo{BibTeX} or Bib\LaTeX\ to insert the citations in the 550% \hologo{BibTeX} or Bib\LaTeX\ to insert the citations in the body
482% body text---even if either is loaded in the preamble---and pulls the 551% text\---even if either be loaded in the preamble\---and pulls the
483% necessary information directly from the bibliographical 552% necessary information directly from the bibliographical
484% database. For this reason, \cs{bibinput} described below is of 553% database. For this reason, \cs{bibinput} described below is of
485% course still required. The citations inserted consist of the 554% course still required. The citations inserted consist of the
@@ -489,31 +558,31 @@
489% it takes precedence over the fields used to define author names and 558% it takes precedence over the fields used to define author names and
490% titles. 559% titles.
491% 560%
492% \paragraph{Bibliographical database} 561% \paragraph{Bibliographical Database}
493% \DescribeMacro{\bibinput} Once \package{icite} is loaded, it must be 562% \DescribeMacro{\bibinput} Once \pkg{icite} is loaded, it must be
494% connected to at least one bibliographic |.bib| file. To that end, 563% connected to at least one bibliographic |.bib| file. To that end,
495% \package{icite} uses the same \cs{bibinput} command as 564% \pkg{icite} uses the same \cs{bibinput} command as
496% \package{usebib}.\footnote{Please refer to \cite[1]{usebib} for 565% \pkg{usebib}.\footnote{Please refer to \cite[1]{usebib} for
497% more detailed information on how to use this command.} An example 566% more detailed information on how to use this command.} An example
498% follows:--- % 567% follows:--- %
499% \iffalse 568% \iffalse
500%<*example> 569%<*example>
501% \fi 570% \fi
502\begin{code} 571\begin{pkgcode}
503 % load icite, have \icite use \autocite by default, and insert cited 572 % load icite, have \icite use \autocite by default, and insert cited
504 % passages in a separate index named 'loccit': 573 % passages in a separate index named 'loccit':
505 \usepackage[citecmd=autocite, defaultindex]{icite} 574 \usepackage[citecmd=autocite, defaultindex]{icite}
506 % note that the .bib file must be stripped of its extension: 575 % note that the .bib file must be stripped of its extension:
507 \bibinput{bibliography} % that is: load bibliography.bib 576 \bibinput{bibliography} % that is: load bibliography.bib
508\end{code} 577\end{pkgcode}
509% \iffalse 578% \iffalse
510%</example> 579%</example>
511% \fi 580% \fi
512% 581%
513% \subsection{Preamble-only commands} 582% \subsection{Preamble-only Commands}
514% The following commands may be found in the preamble only. 583% The following commands may be found in the preamble only.
515% \paragraph{Styling the titles} 584% \paragraph{Styling the Titles}
516% \DescribeMacro{\SetTitleStyle} By default, \package{icite} prints 585% \DescribeMacro{\SetTitleStyle} By default, \pkg{icite} prints
517% the titles of the works cited in italics.\\ 586% the titles of the works cited in italics.\\
518% \cs{SetTitleStyle}\marg{formatting directives} can be used in the 587% \cs{SetTitleStyle}\marg{formatting directives} can be used in the
519% preamble only to customize the way titles are displayed in the 588% preamble only to customize the way titles are displayed in the
@@ -521,9 +590,9 @@
521% \iffalse 590% \iffalse
522%<*example> 591%<*example>
523% \fi 592% \fi
524\begin{code} 593\begin{pkgcode}
525 \SetTitleStyle{\textbf{#1}} 594 \SetTitleStyle{\textbf{#1}}
526\end{code} 595\end{pkgcode}
527% \iffalse 596% \iffalse
528%</example> 597%</example>
529% \fi 598% \fi
@@ -532,7 +601,7 @@
532% command. 601% command.
533% 602%
534% \paragraph{Delimiters} 603% \paragraph{Delimiters}
535% \NEWfeature{v1.2}\DescribeMacro{\AuthorTitleDelim} 604% \DescribeMacro{\AuthorTitleDelim}\newfeature[v1.2]
536% \cs{AuthorTitleDelim}\marg{delimiter} sets the delimiter between 605% \cs{AuthorTitleDelim}\marg{delimiter} sets the delimiter between
537% authors and titles in the body text when the |nobibengine| option is 606% authors and titles in the body text when the |nobibengine| option is
538% set to |true|. The default delimiter is a comma and a space. 607% set to |true|. The default delimiter is a comma and a space.
@@ -543,13 +612,13 @@
543% set to |true|. The default delimiter is a comma and a space. 612% set to |true|. The default delimiter is a comma and a space.
544% 613%
545% \subsection[\textsf{icite} for the Impatient]% 614% \subsection[\textsf{icite} for the Impatient]%
546% {\package{icite} for the Impatient} 615% {\pkg{icite} for the Impatient}
547% Read \href{samples/icite-minimal.pdf}{\texttt{icite-minimal.pdf}}. 616% Read \href{samples/icite-minimal.pdf}{\texttt{icite-minimal.pdf}}.
548% 617%
549% \subsection{Entry fields} 618% \subsection{Entry Fields}
550% \label{sec:entry-fields} 619% \label{sec:entry-fields}
551% \subsubsection{Author names} 620% \subsubsection{Author Names}
552% To process author names, \package{icite} uses the following entry 621% To process author names, \pkg{icite} uses the following entry
553% fields: 622% fields:
554% \begin{description} 623% \begin{description}
555% \item[author] As for example in |author = {Ullmann, Manfred}|, which 624% \item[author] As for example in |author = {Ullmann, Manfred}|, which
@@ -576,10 +645,10 @@
576% |sortname = {{|Hunayn ibn Ishaq|}}| 645% |sortname = {{|Hunayn ibn Ishaq|}}|
577% 646%
578% \subsection{Titles} 647% \subsection{Titles}
579% To process titles, \package{icite} uses the following entry fields: 648% To process titles, \pkg{icite} uses the following entry fields:
580% \begin{description} 649% \begin{description}
581% \item[title] The full title of the work. 650% \item[title] The full title of the work.
582% \item[shorttitle] The title in an abbriged form. If this entry is 651% \item[shorttitle] The title in an abriged form. If this entry be
583% set, it takes precedence over the |title| field in the printed index. 652% set, it takes precedence over the |title| field in the printed index.
584% \item[indextitle] This field may be used to have a title such as 653% \item[indextitle] This field may be used to have a title such as
585% \emph{The {\TeX}Book} printed in the index as \emph{{\TeX}Book, The}. 654% \emph{The {\TeX}Book} printed in the index as \emph{{\TeX}Book, The}.
@@ -589,8 +658,8 @@
589% |indexsorttitle = {TEXBook}| 658% |indexsorttitle = {TEXBook}|
590% \end{description} 659% \end{description}
591% 660%
592% \section{Basic use} 661% \section{Basic Use}
593% \DescribeMacro{\icite} \package{icite} provides the \cs{icite} 662% \DescribeMacro{\icite} \pkg{icite} provides the \cs{icite}
594% command which both inserts a formatted citation in the body text and 663% command which both inserts a formatted citation in the body text and
595% an entry corresponding to the passage cited in the index. This 664% an entry corresponding to the passage cited in the index. This
596% command is to be used in place of any \hologo{BibTeX} or Bib\LaTeX\ 665% command is to be used in place of any \hologo{BibTeX} or Bib\LaTeX\
@@ -603,9 +672,9 @@
603% \iffalse 672% \iffalse
604%<*example> 673%<*example>
605% \fi 674% \fi
606\begin{code} 675\begin{pkgcode}
607 \icite[<pre>][<post>]{<key>}[<command>] 676 \icite[<pre>][<post>]{<key>}[<command>]
608\end{code} 677\end{pkgcode}
609% \iffalse 678% \iffalse
610%</example> 679%</example>
611% \fi 680% \fi
@@ -615,15 +684,24 @@
615% default in the preamble by means of the |citecmd| global 684% default in the preamble by means of the |citecmd| global
616% option.\footnote{See above, \vref{ref:citecmd}.} 685% option.\footnote{See above, \vref{ref:citecmd}.}
617% 686%
687% \paragraph{List of References} \newfeature[v1.4]
688% \changes{v1.4}{2023/01/24}{\textsf{icite} now indexes separately
689% lists of references} The references inserted in the \meta{post}
690% argument of \cs{icite} may consist of single numbers\---as in |25|,
691% |vii| or |XIV|\---ranges of numbers\---as in |34--38| or
692% |iv--x|\---or lists of numbers. In the latter case, references must
693% be separated from one another by semicolons (|;|), like so: |12;|
694% |21;| |34--38|.
695%
618% \paragraph{Example} The following example illustrates how 696% \paragraph{Example} The following example illustrates how
619% \package{icite} can be used in combination with Bib\LaTeX\ and the 697% \pkg{icite} can be used in combination with Bib\LaTeX\ and the
620% \package{imakeidx} package to have the passages cited sorted and 698% \pkg{imakeidx} package to have the passages cited sorted and
621% printed in a separate, specific \enquote*{Index of Passages 699% printed in a separate, specific \enquote*{Index of Passages
622% Cited}:--- % 700% Cited}:--- %
623% \iffalse 701% \iffalse
624%<*example> 702%<*example>
625% \fi 703% \fi
626\begin{code} 704\begin{pkgcode}
627 % preamble 705 % preamble
628 % load icite, have \icite use \autocite by default, and insert cited 706 % load icite, have \icite use \autocite by default, and insert cited
629 % passages in a separate index named 'loccit': 707 % passages in a separate index named 'loccit':
@@ -638,7 +716,7 @@
638 % load imakeidx and use xindy to have the numbers sorted properly 716 % load imakeidx and use xindy to have the numbers sorted properly
639 \usepackage[xindy]{imakeidx} 717 \usepackage[xindy]{imakeidx}
640 \makeindex[name=loccit, title=Index of Passages Cited (modern authors)] 718 \makeindex[name=loccit, title=Index of Passages Cited (modern authors)]
641\end{code} 719\end{pkgcode}
642% \iffalse 720% \iffalse
643%</example> 721%</example>
644% \fi 722% \fi
@@ -647,11 +725,11 @@
647% \iffalse 725% \iffalse
648%<*example> 726%<*example>
649% \fi 727% \fi
650\begin{code} 728\begin{pkgcode}
651 \section*{\cs{icite} in action} 729 \section*{\cs{icite} in Action}
652 Let us start with four citations of the same reference, to make sure 730 Let us start with four citations of the same reference, to make sure
653 that they are all indexed and sorted properly: 731 that they are all indexed and sorted properly: one\icite[123;
654 one\icite[123]{Ullmann1970}, two\icite[231]{Ullmann1970}, 732 141--148; 245]{Ullmann1970}, two\icite[231]{Ullmann1970},
655 three\icite[81]{Ullmann1970} and four\icite[18]{Ullmann1970}. 733 three\icite[81]{Ullmann1970} and four\icite[18]{Ullmann1970}.
656 734
657 Let us continue with four other citations out of two other 735 Let us continue with four other citations out of two other
@@ -661,16 +739,16 @@
661 Finally, let us have \cs{icite} use \cs{textcite} to cite 739 Finally, let us have \cs{icite} use \cs{textcite} to cite
662 \icite[123]{Endress1992}[textcite], and again, this time in a 740 \icite[123]{Endress1992}[textcite], and again, this time in a
663 footnote\icite[86]{Endress1992}. 741 footnote\icite[86]{Endress1992}.
664\end{code} 742\end{pkgcode}
665% \iffalse 743% \iffalse
666%</example> 744%</example>
667% \fi 745% \fi
668% 746%
669% \begin{tcblisting}{text only} 747% \begin{tcblisting}{text only}
670% \section*{\cs{icite} in action} 748% \section*{\cs{icite} in Action}
671% Let us start with four citations of the same reference, to make 749% Let us start with four citations of the same reference, to make
672% sure that they are all indexed and sorted properly: 750% sure that they are all indexed and sorted properly: one\icite[123;
673% one\icite[123]{Ullmann1970}, two\icite[231]{Ullmann1970}, 751% 141--148; 245]{Ullmann1970}, two\icite[231]{Ullmann1970},
674% three\icite[81]{Ullmann1970} and four\icite[18]{Ullmann1970}. 752% three\icite[81]{Ullmann1970} and four\icite[18]{Ullmann1970}.
675% 753%
676% Let us continue with four other citations out of two other 754% Let us continue with four other citations out of two other
@@ -686,23 +764,23 @@
686% been used can be found below in the appendix 764% been used can be found below in the appendix
687% (\vrefrange{ref:indices}{ref:icite-bib} respectively). As can be 765% (\vrefrange{ref:indices}{ref:icite-bib} respectively). As can be
688% seen by comparing the bibliography generated in the footnotes with 766% seen by comparing the bibliography generated in the footnotes with
689% the text printed in the index, \package{icite} prints as expected 767% the text printed in the index, \pkg{icite} prints as expected
690% the abbridged forms of the titles when they are 768% the abridged forms of the titles when they are
691% available. Furthermore, as a default citation command set in the 769% available. Furthermore, as a default citation command set in the
692% preamble, the \enquote*{oxnotes} Bib\LaTeX\ option of 770% preamble, the \enquote*{oxnotes} Bib\LaTeX\ option of
693% \package{biblatex-oxref} style package makes \cs{autocite} behave 771% \pkg{biblatex-oxref} style package makes \cs{autocite} behave
694% like \cs{footcite}. Finally, the page numbers in the index are 772% like \cs{footcite}. Finally, the page numbers in the index are
695% sorted properly: for example, two-digit numbers, like 81, are listed 773% sorted properly: for example, two-digit numbers, like 81, are listed
696% before 123. 774% before 123.
697% 775%
698% \section{Refined use} 776% \section{Refined Use}
699% When references are made not only to modern authors but also to 777% When references are made not only to modern authors but also to
700% authors and works from classical antiquity or from the Middle Ages, 778% authors and works from classical antiquity or from the Middle Ages,
701% it is commonly agreed that at least two separate indices of passages 779% it is commonly agreed that at least two separate indices of passages
702% cited should be made. Another option is not to index passages cited 780% cited should be made. Another option is not to index passages cited
703% from modern authors at all. 781% from modern authors at all.
704% 782%
705% \DescribeMacro{\IndexSubtypeAs} \package{icite} is able to 783% \DescribeMacro{\IndexSubtypeAs} \pkg{icite} is able to
706% differentiate between sources by drawing from the bibliographical 784% differentiate between sources by drawing from the bibliographical
707% database the exact string that may be found in the |entrysubtype| 785% database the exact string that may be found in the |entrysubtype|
708% entry field. To that end, the \cs{IndexSubtypeAs} command is 786% entry field. To that end, the \cs{IndexSubtypeAs} command is
@@ -710,9 +788,9 @@
710% \iffalse 788% \iffalse
711%<*example> 789%<*example>
712% \fi 790% \fi
713\begin{code} 791\begin{pkgcode}
714 \IndexSubtypeAs{<subtype>}{<index_name>} 792 \IndexSubtypeAs{<subtype>}{<index_name>}
715\end{code} 793\end{pkgcode}
716% \iffalse 794% \iffalse
717%</example> 795%</example>
718% \fi 796% \fi
@@ -729,7 +807,7 @@
729% \iffalse 807% \iffalse
730%<*example> 808%<*example>
731% \fi 809% \fi
732\begin{code} 810\begin{pkgcode}
733 % load icite, and have cited authors indexed in an index named 811 % load icite, and have cited authors indexed in an index named
734 % 'secondary': 812 % 'secondary':
735 \usepackage[defaultindex=secondary]{icite} 813 \usepackage[defaultindex=secondary]{icite}
@@ -739,7 +817,7 @@
739 % authors whose 'entrysubtype' field matches the string 'medieval' 817 % authors whose 'entrysubtype' field matches the string 'medieval'
740 % should go into the same index: 818 % should go into the same index:
741 \IndexSubtypeAs{medieval}{primary} 819 \IndexSubtypeAs{medieval}{primary}
742\end{code} 820\end{pkgcode}
743% \iffalse 821% \iffalse
744%</example> 822%</example>
745% \fi 823% \fi
@@ -747,7 +825,7 @@
747% \iffalse 825% \iffalse
748%<*example> 826%<*example>
749% \fi 827% \fi
750\begin{code} 828\begin{pkgcode}
751 % load icite, but do not index passages cited with \icite: 829 % load icite, but do not index passages cited with \icite:
752 \usepackage[defaultindex=none]{icite} 830 \usepackage[defaultindex=none]{icite}
753 % except for authors whose 'entrysubtype' field matches the string 831 % except for authors whose 'entrysubtype' field matches the string
@@ -756,7 +834,7 @@
756 % authors whose 'entrysubtype' field matches the string 'medieval' 834 % authors whose 'entrysubtype' field matches the string 'medieval'
757 % should go into the same index: 835 % should go into the same index:
758 \IndexSubtypeAs{medieval}{primary} 836 \IndexSubtypeAs{medieval}{primary}
759\end{code} 837\end{pkgcode}
760% \iffalse 838% \iffalse
761%</example> 839%</example>
762% \fi 840% \fi
@@ -766,14 +844,14 @@
766% |classical| should go into the default |loccit| index. As for those 844% |classical| should go into the default |loccit| index. As for those
767% whose |entrysubtype| matches |classical|, they should to into an 845% whose |entrysubtype| matches |classical|, they should to into an
768% index named |primary|. \label{ref:classics-pkg}Furthermore, the 846% index named |primary|. \label{ref:classics-pkg}Furthermore, the
769% \package{classics} package is used to format references in which a 847% \pkg{classics} package is used to format references in which a
770% volume number is used.\footnote{For more information, see below 848% volume number is used.\footnote{For more information, see below
771% \vref{sec:classics-usage}.} In this way, \package{xindy} only has 849% \vref{sec:classics-usage}.} In this way, \pkg{xindy} only has
772% numbers to handle:--- % 850% numbers to handle:--- %
773% \iffalse 851% \iffalse
774%<*example> 852%<*example>
775% \fi 853% \fi
776\begin{code} 854\begin{pkgcode}
777 % preamble 855 % preamble
778 \usepackage[style=oxnotes]{biblatex} 856 \usepackage[style=oxnotes]{biblatex}
779 \addbibresource{bibliography.bib} 857 \addbibresource{bibliography.bib}
@@ -789,7 +867,7 @@
789 867
790 \usepackage[citecmd=autocite,defaultindex]{icite} 868 \usepackage[citecmd=autocite,defaultindex]{icite}
791 \IndexSubtypeAs{classical}{primary} 869 \IndexSubtypeAs{classical}{primary}
792\end{code} 870\end{pkgcode}
793% \iffalse 871% \iffalse
794%</example> 872%</example>
795% \fi 873% \fi
@@ -798,11 +876,11 @@
798% \iffalse 876% \iffalse
799%<*example> 877%<*example>
800% \fi 878% \fi
801\begin{code} 879\begin{pkgcode}
802 \section*{\cs{icite} in action} 880 \section*{\cs{icite} in Action}
803 Let us start with four citations of the same reference, to make sure 881 Let us start with four citations of the same reference, to make sure
804 that they are all indexed and sorted properly: 882 that they are all indexed and sorted properly: one\icite[123;
805 one\icite[123]{Ullmann1970}, two\icite[231]{Ullmann1970}, 883 141--148; 245]{Ullmann1970}, two\icite[231]{Ullmann1970},
806 three\icite[81]{Ullmann1970} and four\icite[18]{Ullmann1970}. 884 three\icite[81]{Ullmann1970} and four\icite[18]{Ullmann1970}.
807 885
808 Let us continue with four other citations out of two other 886 Let us continue with four other citations out of two other
@@ -821,16 +899,16 @@
821 Finally, let us have \cs{icite} use \cs{textcite} to cite 899 Finally, let us have \cs{icite} use \cs{textcite} to cite
822 \icite[123]{Endress1992}[textcite], and again, this time in a 900 \icite[123]{Endress1992}[textcite], and again, this time in a
823 footnote\icite[86]{Endress1992}. 901 footnote\icite[86]{Endress1992}.
824\end{code} 902\end{pkgcode}
825% \iffalse 903% \iffalse
826%</example> 904%</example>
827% \fi 905% \fi
828% 906%
829% \begin{tcblisting}{text only} 907% \begin{tcblisting}{text only}
830% \section*{\cs{icite} in action} 908% \section*{\cs{icite} in Action}
831% Let us start with four citations of the same reference, to make 909% Let us start with four citations of the same reference, to make
832% sure that they are all indexed and sorted properly: 910% sure that they are all indexed and sorted properly: one\icite[123;
833% one\icite[123]{Ullmann1970}, two\icite[231]{Ullmann1970}, 911% 141--148; 245]{Ullmann1970}, two\icite[231]{Ullmann1970},
834% three\icite[81]{Ullmann1970} and four\icite[18]{Ullmann1970}. 912% three\icite[81]{Ullmann1970} and four\icite[18]{Ullmann1970}.
835% 913%
836% Let us continue with four other citations out of two other 914% Let us continue with four other citations out of two other
@@ -860,23 +938,23 @@
860% 938%
861% 939%
862% \subsection[The \textsf{classics} package]% 940% \subsection[The \textsf{classics} package]%
863% {The \package{classics} package} % 941% {The \pkg{classics} Package} %
864% \label{sec:classics-usage} 942% \label{sec:classics-usage}
865% As said above \vpageref{ref:classics-pkg}, it is advisable to use 943% As said above \vpageref{ref:classics-pkg}, it is advisable to use
866% the \package{classics} package to format volume, page, column, line 944% the \pkg{classics} package to format volume, page, column, line
867% numbers and the like which are inserted in the \meta{post} optional 945% numbers and the like which are inserted in the \meta{post} optional
868% argument of the \cs{icite} command\autocite{classics}. An example of 946% argument of the \cs{icite} command\autocite{classics}. An example of
869% using \package{classics} to format references to Aristotle according 947% using \pkg{classics} to format references to Aristotle according
870% to Bekker pagination follows:\footnote{See \cite[2]{classics} for 948% to Bekker pagination follows:\footnote{See \cite[2]{classics} for
871% more information.}--- % 949% more information.}--- %
872% \iffalse 950% \iffalse
873%<*example> 951%<*example>
874% \fi 952% \fi
875\begin{code} 953\begin{pkgcode}
876 % preamble: 954 % preamble:
877 \usepackage{classics} 955 \usepackage{classics}
878 \newclassic{aristotle}{#1|\textit{#1}|#1} 956 \newclassic{aristotle}{#1|\textit{#1}|#1}
879\end{code} 957\end{pkgcode}
880% \iffalse 958% \iffalse
881%</example> 959%</example>
882% \fi 960% \fi
@@ -894,7 +972,7 @@
894% \iffalse 972% \iffalse
895%</example> 973%</example>
896% \fi 974% \fi
897% The following prints the same body text while using \package{icite} 975% The following prints the same body text while using \pkg{icite}
898% to have the passages cited inserted in the \emph{Index locorum 976% to have the passages cited inserted in the \emph{Index locorum
899% citatorum} (see below \vref{sec:index-loc-cit}):--- % 977% citatorum} (see below \vref{sec:index-loc-cit}):--- %
900% \iffalse 978% \iffalse
@@ -917,21 +995,21 @@
917% As can be seen, the \cs{notecite} and \cs{pnotecite} commands have 995% As can be seen, the \cs{notecite} and \cs{pnotecite} commands have
918% been used to insert only the references in the body text. 996% been used to insert only the references in the body text.
919% 997%
920% It is also advisable to use \package{xindy} to compile indices of 998% It is also advisable to use \pkg{xindy} to compile indices of
921% passages cited because \package{xindy}, unlike \package{makeindex} 999% passages cited because \pkg{xindy}, unlike \pkg{makeindex}
922% or \package{xindex}, is able to sort numbers properly: for example, 1000% or \pkg{xindex}, is able to sort numbers properly: for example,
923% with \package{xindy}, such a number as 81 will come before 100, but 1001% with \pkg{xindy}, such a number as 81 will come before 100, but
924% will be sorted after 100 with the other two engines. 1002% will be sorted after 100 with the other two engines.
925% \begin{tcblisting}{text only, title=Caveat} 1003% \begin{tcblisting}{text only, title=Caveat}
926% \package{xindy} (actually |texindy|) is also designed to ignore 1004% \pkg{xindy} (actually |texindy|) is also designed to ignore
927% \TeX\ commands by default. However, due to a missing line in 1005% \TeX\ commands by default. However, due to a missing line in
928% |xindy/modules/base/tex.xdy|,\footnote{As the time of writing, in 1006% |xindy/modules/base/tex.xdy|,\footnote{As the time of writing, in
929% \package{xindy} v2.5.1.} this does not apply to so-called 1007% \pkg{xindy} v2.5.1.} this does not apply to so-called
930% \enquote*{starred} \TeX\ commands, such as \cs{aristotle*} from 1008% \enquote*{starred} \TeX\ commands, such as \cs{aristotle*} from
931% the example above. 1009% the example above.
932% \end{tcblisting} 1010% \end{tcblisting}
933% One easy way to get around this issue is to create a style file with 1011% One easy way to get around this issue is to create a style file with
934% a single line that instructs \package{xindy} to ignore the asterisk 1012% a single line that instructs \pkg{xindy} to ignore the asterisk
935% when processing the index, like so:--- % 1013% when processing the index, like so:--- %
936% \iffalse 1014% \iffalse
937%<*example> 1015%<*example>
@@ -948,13 +1026,13 @@
948% \iffalse 1026% \iffalse
949%<*example> 1027%<*example>
950% \fi 1028% \fi
951\begin{code} 1029\begin{pkgcode}
952 % preamble: 1030 % preamble:
953 \usepackage[xindy]{imakeidx} 1031 \usepackage[xindy]{imakeidx}
954 \makeindex[name=loccit, options=-M icite.xdy] 1032 \makeindex[name=loccit, options=-M icite.xdy]
955 % document: 1033 % document:
956 \printindex[loccit] 1034 \printindex[loccit]
957\end{code} 1035\end{pkgcode}
958% \iffalse 1036% \iffalse
959%</example> 1037%</example>
960% \fi 1038% \fi
@@ -963,7 +1041,7 @@
963% 1041%
964% \section{Appendix} 1042% \section{Appendix}
965% Designing the layout of indices is out of the scope of this 1043% Designing the layout of indices is out of the scope of this
966% documentation. For information, the \package{tabto} package has been 1044% documentation. For information, the \pkg{tabto} package has been
967% used in the preamble in combination with the following |xindy| style 1045% used in the preamble in combination with the following |xindy| style
968% file:--- % 1046% file:--- %
969% \iffalse 1047% \iffalse
@@ -979,7 +1057,7 @@
979% 1057%
980% \subsection{Indices} 1058% \subsection{Indices}
981% \label{ref:indices} 1059% \label{ref:indices}
982% \subsubsection{Index of Passages Cited (modern authors)} 1060% \subsubsection{Index of Passages Cited (Modern Authors)}
983% \printindex[loccit] 1061% \printindex[loccit]
984% \needspace{8\baselineskip} 1062% \needspace{8\baselineskip}
985% \subsubsection{\emph{Index locorum citatorum}} 1063% \subsubsection{\emph{Index locorum citatorum}}
@@ -987,7 +1065,7 @@
987% \printindex[primary] 1065% \printindex[primary]
988% 1066%
989% \subsection{\texorpdfstring{\hologo{BibTeX} 1067% \subsection{\texorpdfstring{\hologo{BibTeX}
990% file used in this document}{BibTeX file used in this document}} 1068% File Used in this Document}{BibTeX File Used in this Document}}
991% \label{ref:icite-bib} 1069% \label{ref:icite-bib}
992% \tcbinputlisting{minted options={linenos, numbersep=1.5mm}, minted 1070% \tcbinputlisting{minted options={linenos, numbersep=1.5mm}, minted
993% language=bibtex, listing file=icite.bib, listing only} 1071% language=bibtex, listing file=icite.bib, listing only}
@@ -1021,7 +1099,7 @@
1021\ExecuteOptionsX{citecmd} 1099\ExecuteOptionsX{citecmd}
1022\ProcessOptionsX\relax 1100\ProcessOptionsX\relax
1023% \end{macrocode} 1101% \end{macrocode}
1024% The following packages are required by \package{icite}: 1102% The following packages are required by \pkg{icite}:
1025% \begin{macrocode} 1103% \begin{macrocode}
1026\RequirePackage{xparse} 1104\RequirePackage{xparse}
1027\RequirePackage{datatool} 1105\RequirePackage{datatool}
@@ -1032,7 +1110,7 @@
1032% \begin{macrocode} 1110% \begin{macrocode}
1033\NewDocumentCommand{\ic@nullcmd}{O{}O{}m}{} 1111\NewDocumentCommand{\ic@nullcmd}{O{}O{}m}{}
1034% \end{macrocode} 1112% \end{macrocode}
1035% Define fields to be used by \package{icite}: 1113% Define fields to be used by \pkg{icite}:
1036% \begin{macrocode} 1114% \begin{macrocode}
1037\define@reuse@key{author} 1115\define@reuse@key{author}
1038\define@reuse@key{indexauthor} 1116\define@reuse@key{indexauthor}
@@ -1044,13 +1122,13 @@
1044\define@reuse@key{entrysubtype} 1122\define@reuse@key{entrysubtype}
1045\define@reuse@key{shorthand} 1123\define@reuse@key{shorthand}
1046% \end{macrocode} 1124% \end{macrocode}
1047% This is the same as \cs{usebibentry} from \package{ebib}, but it 1125% This is the same as \cs{usebibentry} from \pkg{ebib}, but it
1048% does not return an error if the entry field is not found: 1126% does not return an error if the entry field is not found:
1049% \begin{macrocode} 1127% \begin{macrocode}
1050\def\get@bibentry#1#2{\@ifundefined{reuse@#1@#2}{} 1128\def\get@bibentry#1#2{\@ifundefined{reuse@#1@#2}{}
1051 {\@nameuse{reuse@#1@#2}}} 1129 {\@nameuse{reuse@#1@#2}}}
1052% \end{macrocode} 1130% \end{macrocode}
1053% Create a new database which \package{icite} will use to connect 1131% Create a new database which \pkg{icite} will use to connect
1054% Bib\LaTeX\ \enquote*{subtypes} to indices. 1132% Bib\LaTeX\ \enquote*{subtypes} to indices.
1055% \begin{macrocode} 1133% \begin{macrocode}
1056\DTLnewdb{icite@indices} 1134\DTLnewdb{icite@indices}
@@ -1112,7 +1190,40 @@
1112% citation command to be used, like so:\\ 1190% citation command to be used, like so:\\
1113% \cs{icite}\oarg{pre}\oarg{post}\marg{key}\oarg{command}\\ 1191% \cs{icite}\oarg{pre}\oarg{post}\marg{key}\oarg{command}\\
1114% Only standard citation commands are accepted, with the exception of 1192% Only standard citation commands are accepted, with the exception of
1115% qualified citation lists or so-called \enquote*{multicite} commands. 1193% qualified citation lists or so-called \enquote*{multicite}
1194% commands. As of v1.4, \pkg{icite} can process separate index entries
1195% from lists of numbers inserted in the \meta{postnote} argument of
1196% \cs{icite}. For this mechanism to work, the indexing commands used
1197% by \cs{icite} must be defined beforehand:---
1198% \begin{macrocode}
1199\NewDocumentCommand{\icite@dflt@index}{m}{%
1200 \index[\ic@dfltind]{\@sortedauthor!\@sortedtitle!#1}}
1201\NewDocumentCommand{\icite@std@index}{m}{%
1202 \index[\icite@index]{\@sortedauthor!\@sortedtitle!#1}}
1203\NewDocumentCommand{\icite@nodflt@index}{m}{%
1204 \index{\@sortedauthor!\@sortedtitle!#1}}
1205% \end{macrocode}
1206% Then \cs{process@index@list} is used to split the argument of
1207% |<postnote>| at each occurrence of the |;| punctuation mark:---
1208% \begin{macrocode}
1209\NewDocumentCommand{\process@index@list}
1210 {m > { \SplitList { ; } } m}{%
1211 \def\@tempa{#1}%
1212 \def\@dflt{dflt}%
1213 \def\@std{std}%
1214 \def\@nodflt{nodflt}%
1215 \ifx\@tempa\@dflt
1216 \ProcessList {#2} { \icite@dflt@index }%
1217 \else
1218 \ifx\@tempa\@std
1219 \ProcessList {#2} { \icite@std@index }%
1220 \else
1221 \ifx\@tempa\@nodflt
1222 \ProcessList {#2} { \icite@nodflt@index }%
1223 \fi\fi\fi
1224}
1225% \end{macrocode}
1226% The definition of \cs{icite} follows:---
1116% \begin{macrocode} 1227% \begin{macrocode}
1117\NewDocumentCommand{\icite}{o o m O{\ic@dfltcit}}{% 1228\NewDocumentCommand{\icite}{o o m O{\ic@dfltcit}}{%
1118 \edef\ic@argiv{#4}% 1229 \edef\ic@argiv{#4}%
@@ -1189,23 +1300,28 @@
1189 {\DTLifdbempty{icite@indices}{% 1300 {\DTLifdbempty{icite@indices}{%
1190 \ifno@index\else 1301 \ifno@index\else
1191 \ifdefault@index% 1302 \ifdefault@index%
1192 \index[\ic@dfltind]{\@sortedauthor!\@sortedtitle!#1}% 1303 \process@index@list{dflt}{#1}%
1304 %\index[\ic@dfltind]{\@sortedauthor!\@sortedtitle!#1}%
1193 \else% 1305 \else%
1194 \index{\@sortedauthor!\@sortedtitle!#1}% 1306 \process@index@list{nodflt}{#1}%
1307 %\index{\@sortedauthor!\@sortedtitle!#1}%
1195 \fi\fi% 1308 \fi\fi%
1196 }{% 1309 }{%
1197 \bgroup% 1310 \bgroup%
1198 \DTLforeach*{icite@indices}{% 1311 \DTLforeach*{icite@indices}{%
1199 \icite@subtype=subtype,\icite@index=index}{% 1312 \icite@subtype=subtype,\icite@index=index}{%
1200 \ifx\@subtype\icite@subtype% 1313 \ifx\@subtype\icite@subtype%
1201 \index[\icite@index]{\@sortedauthor!\@sortedtitle!#1}% 1314 \process@index@list{std}{#1}%
1315 %\index[\icite@index]{\@sortedauthor!\@sortedtitle!#1}%
1202 \dtlbreak% 1316 \dtlbreak%
1203 \else% 1317 \else%
1204 \ifno@index\else 1318 \ifno@index\else
1205 \ifdefault@index% 1319 \ifdefault@index%
1206 \index[\ic@dfltind]{\@sortedauthor!\@sortedtitle!#1}% 1320 \process@index@list{dflt}{#1}%
1321 %\index[\ic@dfltind]{\@sortedauthor!\@sortedtitle!#1}%
1207 \else% 1322 \else%
1208 \index{\@sortedauthor!\@sortedtitle!#1}% 1323 \process@index@list{nodflt}{#1}%
1324 %\index{\@sortedauthor!\@sortedtitle!#1}%
1209 \fi\fi% 1325 \fi\fi%
1210 \fi}% 1326 \fi}%
1211 \egroup}% 1327 \egroup}%
@@ -1223,23 +1339,28 @@
1223 {\DTLifdbempty{icite@indices}{% 1339 {\DTLifdbempty{icite@indices}{%
1224 \ifno@index\else 1340 \ifno@index\else
1225 \ifdefault@index% 1341 \ifdefault@index%
1226 \index[\ic@dfltind]{\@sortedauthor!\@sortedtitle!#2}% 1342 \process@index@list{dflt}{#2}%
1343 %\index[\ic@dfltind]{\@sortedauthor!\@sortedtitle!#2}%
1227 \else% 1344 \else%
1228 \index{\@sortedauthor!\@sortedtitle!#2}% 1345 \process@index@list{nodflt}{#2}%
1346 %\index{\@sortedauthor!\@sortedtitle!#2}%
1229 \fi\fi% 1347 \fi\fi%
1230 }{% 1348 }{%
1231 \bgroup% 1349 \bgroup%
1232 \DTLforeach*{icite@indices}{% 1350 \DTLforeach*{icite@indices}{%
1233 \icite@subtype=subtype,\icite@index=index}{% 1351 \icite@subtype=subtype,\icite@index=index}{%
1234 \ifx\@subtype\icite@subtype% 1352 \ifx\@subtype\icite@subtype%
1235 \index[\icite@index]{\@sortedauthor!\@sortedtitle!#2}% 1353 \process@index@list{std}{#2}%
1354 %\index[\icite@index]{\@sortedauthor!\@sortedtitle!#2}%
1236 \dtlbreak% 1355 \dtlbreak%
1237 \else% 1356 \else%
1238 \ifno@index\else 1357 \ifno@index\else
1239 \ifdefault@index% 1358 \ifdefault@index%
1240 \index[\ic@dfltind]{\@sortedauthor!\@sortedtitle!#2}% 1359 \process@index@list{dflt}{#2}%
1360 %\index[\ic@dfltind]{\@sortedauthor!\@sortedtitle!#2}%
1241 \else% 1361 \else%
1242 \index{\@sortedauthor!\@sortedtitle!#2}% 1362 \process@index@list{nodflt}{#2}%
1363 %\index{\@sortedauthor!\@sortedtitle!#2}%
1243 \fi\fi% 1364 \fi\fi%
1244 \fi}% 1365 \fi}%
1245 \egroup}% 1366 \egroup}%
diff --git a/icite.ins b/icite.ins
index d29cefb..9728be0 100644
--- a/icite.ins
+++ b/icite.ins
@@ -1,27 +1,28 @@
1%% 1%%
2%% icite -- Indices locorum citatorum 2%% icite -- Indices locorum citatorum
3%% 3%%
4%% Copyright (C) 2019--2020 by Robert Alessi <alessi@robertalessi.net> 4%% Copyright (C) 2019, 2020, 2021, 2023 by Robert Alessi
5%% <alessi@robertalessi.net>
5%% 6%%
7%% Permission to use, copy, modify, and distribute this software for any
8%% purpose with or without fee is hereby granted, provided that the above
9%% copyright notice and this permission notice appear in all copies.
10%%
11%% THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12%% WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13%% MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14%% ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15%% WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16%% ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17%% OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18%%
6%% Please send error reports and suggestions for improvements to Robert 19%% Please send error reports and suggestions for improvements to Robert
7%% Alessi <alessi@robertalessi.net> 20%% Alessi <alessi@robertalessi.net>
8%% 21%%
9%% This program is free software: you can redistribute it and/or modify
10%% it under the terms of the GNU General Public License as published by
11%% the Free Software Foundation, either version 3 of the License, or
12%% (at your option) any later version.
13%%
14%% This program is distributed in the hope that it will be useful, but
15%% WITHOUT ANY WARRANTY; without even the implied warranty of
16%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17%% General Public License for more details.
18%%
19%% You should have received a copy of the GNU General Public License
20%% along with this program. If not, see
21%% <http://www.gnu.org/licenses/>.
22%% 22%%
23%% This work consists of the file icite.dtx, icite.ins and a Makefile. 23%% This work consists of the file icite.dtx, icite.ins and a Makefile.
24%% Running "make" generates the derived files README.md, icite.pdf and icite.sty. 24%% Running "make" generates the derived files README.md, icite.pdf and
25%% icite.sty.
25%% Running "make inst" installs the files in the user's TeX tree. 26%% Running "make inst" installs the files in the user's TeX tree.
26%% Running "make install" installs the files in the local TeX tree. 27%% Running "make install" installs the files in the local TeX tree.
27%% 28%%
@@ -30,26 +31,29 @@
30\askforoverwritefalse 31\askforoverwritefalse
31\preamble 32\preamble
32 33
33icite -- Indices locorum citatorum 34This is a generated file.
34 35
35Copyright (C) 2019--2020 by Robert Alessi <alessi@robertalessi.net> 36This file is part of the `icite' package
36 37
37Please send error reports and suggestions for improvements to Robert 38icite -- Indices locorum citatorum
38Alessi <alessi@robertalessi.net> 39
40Copyright (C) 2019, 2020, 2021, 2023 by Robert Alessi
41<alessi@robertalessi.net>
39 42
40This program is free software: you can redistribute it and/or modify 43Permission to use, copy, modify, and distribute this software for any
41it under the terms of the GNU General Public License as published by 44purpose with or without fee is hereby granted, provided that the above
42the Free Software Foundation, either version 3 of the License, or 45copyright notice and this permission notice appear in all copies.
43(at your option) any later version.
44 46
45This program is distributed in the hope that it will be useful, but 47THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
46WITHOUT ANY WARRANTY; without even the implied warranty of 48WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
47MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 49MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
48General Public License for more details. 50ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
51WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
52ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
53OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
49 54
50You should have received a copy of the GNU General Public License 55Please send error reports and suggestions for improvements to Robert
51along with this program. If not, see 56Alessi <alessi@robertalessi.net>
52<http://www.gnu.org/licenses/>.
53 57
54This work consists of the file icite.dtx, icite.ins and a Makefile. 58This work consists of the file icite.dtx, icite.ins and a Makefile.
55Running "make" generates the derived files README.md, icite.pdf and icite.sty. 59Running "make" generates the derived files README.md, icite.pdf and icite.sty.