aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile17
-rw-r--r--icite.dtx172
-rw-r--r--icite.ins71
3 files changed, 209 insertions, 51 deletions
diff --git a/Makefile b/Makefile
index 1b4c7c6..237b560 100644
--- a/Makefile
+++ b/Makefile
@@ -8,12 +8,15 @@ all: $(NAME).pdf
8 test -e README.txt && mv README.txt README || exit 0 8 test -e README.txt && mv README.txt README || exit 0
9$(NAME).pdf: $(NAME).dtx 9$(NAME).pdf: $(NAME).dtx
10 lualatex --shell-escape --recorder --interaction=batchmode $(NAME).dtx >/dev/null 10 lualatex --shell-escape --recorder --interaction=batchmode $(NAME).dtx >/dev/null
11 biber $(NAME) >/dev/null
11 if [ -f $(NAME).glo ]; then makeindex -q -s gglo.ist -o $(NAME).gls $(NAME).glo; fi 12 if [ -f $(NAME).glo ]; then makeindex -q -s gglo.ist -o $(NAME).gls $(NAME).glo; fi
12 if [ -f $(NAME).idx ]; then makeindex -q -s gind.ist -o $(NAME).ind $(NAME).idx; fi 13 if [ -f $(NAME).idx ]; then makeindex -q -s gind.ist -o $(NAME).ind $(NAME).idx; fi
14 texindy loccit.idx >/dev/null
13 lualatex --shell-escape --recorder --interaction=nonstopmode $(NAME).dtx > /dev/null 15 lualatex --shell-escape --recorder --interaction=nonstopmode $(NAME).dtx > /dev/null
14 lualatex --shell-escape --recorder --interaction=nonstopmode $(NAME).dtx > /dev/null 16 lualatex --shell-escape --recorder --interaction=nonstopmode $(NAME).dtx > /dev/null
15clean: 17clean:
16 rm -f $(NAME).{aux,fls,glo,gls,hd,idx,ilg,ind,ins,log,out,toc,listing} 18 rm -f $(NAME).{aux,fls,glo,gls,hd,idx,ilg,ind,log,out,toc,listing,bcf,bib,bbl,blg,run.xml}
19 rm -f loccit.*
17 rm -f *~ 20 rm -f *~
18 rm -rf auto/ 21 rm -rf auto/
19distclean: clean uninst 22distclean: clean uninst
@@ -25,6 +28,10 @@ inst: uninst all
25 cp $(NAME).dtx $(UTREE)/source/latex/$(NAME) 28 cp $(NAME).dtx $(UTREE)/source/latex/$(NAME)
26 cp $(NAME).sty $(UTREE)/tex/latex/$(NAME) 29 cp $(NAME).sty $(UTREE)/tex/latex/$(NAME)
27 cp $(NAME).pdf $(UTREE)/doc/latex/$(NAME) 30 cp $(NAME).pdf $(UTREE)/doc/latex/$(NAME)
31local: uninst
32 lualatex $(NAME).ins
33 mkdir -p $(UTREE)/{tex,source,doc}/latex/$(NAME)
34 cp $(NAME).sty $(UTREE)/tex/latex/$(NAME)
28uninst: 35uninst:
29 rm -rf $(UTREE)/{tex,source,doc}/latex/$(NAME) 36 rm -rf $(UTREE)/{tex,source,doc}/latex/$(NAME)
30#install: all 37#install: all
@@ -38,13 +45,13 @@ zip: all
38 rm $(NAME) 45 rm $(NAME)
39package: distclean all 46package: distclean all
40 mkdir $(NAME)/ 47 mkdir $(NAME)/
41 cp README *.dtx *.pdf $(NAME)/ 48 cp README $(NAME).{dtx,ins,pdf} $(NAME)/
42 mkdir -p tex/latex/$(NAME)/ 49 mkdir -p tex/latex/$(NAME)/
43 cp *.sty tex/latex/$(NAME)/ 50 cp $(NAME).sty tex/latex/$(NAME)/
44 mkdir -p doc/latex/$(NAME)/ 51 mkdir -p doc/latex/$(NAME)/
45 cp *.pdf doc/latex/$(NAME)/ 52 cp $(NAME).pdf doc/latex/$(NAME)/
46 mkdir -p source/latex/$(NAME)/ 53 mkdir -p source/latex/$(NAME)/
47 cp Makefile *.dtx source/latex/$(NAME)/ 54 cp Makefile README $(NAME).{dtx,ins} source/latex/$(NAME)/
48 zip -r $(NAME).tds.zip tex doc source 55 zip -r $(NAME).tds.zip tex doc source
49 rm -rf tex/ source/ doc/ 56 rm -rf tex/ source/ doc/
50 tar czf $(NAME)-$(VERS).tar.gz $(NAME).tds.zip $(NAME)/ 57 tar czf $(NAME)-$(VERS).tar.gz $(NAME).tds.zip $(NAME)/
diff --git a/icite.dtx b/icite.dtx
index 49a2599..35d314d 100644
--- a/icite.dtx
+++ b/icite.dtx
@@ -90,11 +90,25 @@ Running "make install" installs the files in the local TeX tree.
90%</package> 90%</package>
91%<*driver> 91%<*driver>
92\documentclass{ltxdoc} 92\documentclass{ltxdoc}
93\usepackage{filecontents}
94\begin{filecontents*}{\jobname.bib}
95@software{usebib,
96 title = {The Usebib package},
97 subtitle = {A simple bibliography processor},
98 author = {Gregorio, Enrico},
99 publisher = {CTAN},
100 url = {http://www.ctan.org/pkg/usebib},
101 date = {2012-04-13},
102 version = {1.0a}
103}
104\end{filecontents*}
105\usepackage[english]{babel}
93\usepackage[letterpaper,margin=25mm,left=50mm,nohead]{geometry} 106\usepackage[letterpaper,margin=25mm,left=50mm,nohead]{geometry}
94\usepackage{dox} 107\usepackage{fontspec}
95\doxitem{Option}{option}{options} 108\setmainfont{Old Standard}[RawFeature={+ss05;+ss06}]
96\usepackage{\jobname} 109\usepackage{newunicodechar}
97\usepackage{metalogox} 110\newunicodechar{ǧ}{ǧ} % Old Standard does not include ǧ/Ǧ
111\newunicodechar{Ǧ}{Ǧ} %
98\usepackage{hyperxmp} 112\usepackage{hyperxmp}
99\usepackage{uri} 113\usepackage{uri}
100\usepackage[numbered]{hypdoc} 114\usepackage[numbered]{hypdoc}
@@ -111,13 +125,26 @@ Running "make install" installs the files in the local TeX tree.
111 pdflicenseurl={https://creativecommons.org/licenses/by-sa/4.0/legalcode}, 125 pdflicenseurl={https://creativecommons.org/licenses/by-sa/4.0/legalcode},
112 pdfmetalang={en-US}, pdftype={Text}, pdfkeywords={bibtex, biblatex, 126 pdfmetalang={en-US}, pdftype={Text}, pdfkeywords={bibtex, biblatex,
113 indexing}} 127 indexing}}
128\CodelineIndex
129\usepackage[citecmd=footcite,defaultindex]{\jobname}
130\bibinput{icite}
131\usepackage[nonewpage,xindy]{imakeidx}
132\indexsetup{level=\section}
133\makeindex[intoc]
134\makeindex[name=loccit, title=Modern Authors]
135\usepackage[scale=1.5]{ccicons}
136\usepackage{dox}
137\doxitem{Option}{option}{options}
138\usepackage{enumitem}
139\setlist{nosep}
140\setlist[itemize]{label=\textendash}
141\setlist[enumerate,1]{label=(\alph*)}
142\setlist[enumerate,2]{label=\roman*.}
114\usepackage[lot]{multitoc} 143\usepackage[lot]{multitoc}
115\usepackage{fontspec} 144\usepackage{nameref}
116\setmainfont{Old Standard}[RawFeature={+ss05;+ss06}]
117\usepackage{newunicodechar}
118\newunicodechar{ǧ}{ǧ} % Old Standard does not include ǧ/Ǧ
119\newunicodechar{Ǧ}{Ǧ} %
120\usepackage{csquotes} 145\usepackage{csquotes}
146\usepackage[style=oxnotes]{biblatex}
147\addbibresource{icite.bib}
121\usepackage{hologo,metalogox} 148\usepackage{hologo,metalogox}
122\usepackage{relsize} 149\usepackage{relsize}
123\usepackage{units} 150\usepackage{units}
@@ -128,8 +155,8 @@ Running "make install" installs the files in the local TeX tree.
128\usepackage[breakable, skins, xparse, minted]{tcolorbox} 155\usepackage[breakable, skins, xparse, minted]{tcolorbox}
129\tcbset{colback=white, boxrule=.15mm, colframe=red!50!white, left=6mm, 156\tcbset{colback=white, boxrule=.15mm, colframe=red!50!white, left=6mm,
130 breakable} 157 breakable}
131\newtcblisting{example}{minted options=linenos} 158\newtcblisting{iexample}{minted options=linenos}
132\newtcblisting{code}{minted options=linenos, listing only} 159\newtcblisting{icode}{minted options=linenos, listing only}
133\usepackage{etoc} 160\usepackage{etoc}
134\etocsettocdepth{paragraph} 161\etocsettocdepth{paragraph}
135\newcommand{\icitetableofcontents}{% 162\newcommand{\icitetableofcontents}{%
@@ -151,13 +178,18 @@ Running "make install" installs the files in the local TeX tree.
151 \tableofcontents 178 \tableofcontents
152 \endgroup} 179 \endgroup}
153\EnableCrossrefs 180\EnableCrossrefs
154\CodelineIndex 181%\CodelineIndex
155\RecordChanges 182\RecordChanges
156%\OnlyDescription 183%\OnlyDescription
157\begin{document} 184\begin{document}
158 \DocInput{\jobname.dtx} 185 \DocInput{\jobname.dtx}
159 \PrintChanges 186 \PrintChanges
160 \PrintIndex 187 \indexprologue{Numbers written in italic refer to the page where the
188 corresponding entry is described; numbers underlined refer to the
189 code line of the definition; numbers in roman refer to the code
190 lines where the entry is used.}
191 \printindex
192 %\PrintIndex
161\end{document} 193\end{document}
162%</driver> 194%</driver>
163% \fi 195% \fi
@@ -220,43 +252,91 @@ Running "make install" installs the files in the local TeX tree.
220%\changes{v1.00}{2019/02/22}{First public release} 252%\changes{v1.00}{2019/02/22}{First public release}
221% 253%
222% \begin{abstract} 254% \begin{abstract}
223% \package{biblatex} |indexing| option 255% \package{icite} is designed to produce from \hologo{BibTeX} or
256% Bib\LaTeX\ bibliographic databases the different indices of cited
257% authors and works which are called \emph{indices locorum
258% citatorum}. It relies on a specific \cs{icite} command and can
259% operate with either \hologo{BibTeX} or Bib\LaTeX.
224% \end{abstract} 260% \end{abstract}
225% 261%
226% \section{Usage} 262% \section*{License and disclamer}
263% \addcontentsline{toc}{section}{License and disclamer}
264% \subsection*{License applicable to the software}
265% \label{sec:license-software}
266%
267% \package{icite} --- \emph{Indices locorum citatorum}\\
268% Copyright \textcopyright\ 2019 Robert Alessi
269%
270% Please send error reports and suggestions for improvements to Robert
271% Alessi:
272% \begin{itemize}
273% \item email: \mailto[icite package]{alessi@roberalessi.net}
274% \item website: \url{http://www.robertalessi.net/icite}
275% \item development: \url{http://git.robertalessi.net/icite}
276% \item comments, feature requests, bug reports:
277% \url{https://gitlab.com/ralessi/icite/issues}
278% \end{itemize}
279%
280% \marginpar{\texttt{gpl3+}}
281% This program is free software: you can redistribute it and/or modify
282% it under the terms of the GNU General Public License as published by
283% the Free Software Foundation, either version 3 of the License, or
284% (at your option) any later version.
285%
286% This program is distributed in the hope that it will be useful, but
287% WITHOUT ANY WARRANTY; without even the implied warranty of
288% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
289% General Public License for more details.
227% 290%
228% ==== Put descriptive text here. ==== 291% You should have received a copy of the GNU General Public License
229% \DescribeOption{boup}\hfill\tcboxverb{default}\\ Ceci est le boup. 292% along with this program. If not, see
293% <http://www.gnu.org/licenses/>.
294%
295% This release of \package{icite} consists of the following
296% source files:
297% \begin{itemize}
298% \item |icite.dtx|
299% \item |Makefile|
300% \end{itemize}
230% 301%
231% \DescribeMacro{\dummyMacro} 302% \subsection*{License applicable to this document}
232% This macro does nothing.\index{doing nothing|usage} It is merely an 303% \label{sec:documentation-license}
233% example. If this were a real macro, you would put a paragraph here 304% Copyright \textcopyright\ 2019 Robert Alessi
234% describing what the macro is supposed to do, what its mandatory and 305%
235% optional arguments are, and so forth. 306% \ccbysa\marginpar{\texttt{CC BY-SA 4.0}}
236% \DescribeEnv{dummyEnv} 307% This document is licensed under the Creative Commons
237% This environment does nothing. It is merely an example. 308% Attribution-ShareAlike 4.0 International License. To view a copy of
238% If this were a real environment, you would put a paragraph here 309% this license, visit
239% describing what the environment is supposed to do, what its 310% \url{http://creativecommons.org/licenses/by-sa/4.0/} or send a
240% mandatory and optional arguments are, and so forth. 311% letter to Creative Commons, PO Box 1866, Mountain View, CA 94042,
241%\iffalse 312% USA.
242%<*example> 313%
243%\fi 314% \section{Introduction}
244\begin{example} 315% \label{sec:introduction}
245 \emph{tchic} 316% Bib\LaTeX\ features a very powerful internal mechanism which
246\end{example} 317% supports indexing of citations and bibliographic entries and can be
247%\iffalse 318% activated by a simple |indexing| option in the preamble. However, by
248%</example> 319% default, only the authors and the works cited are inserted in the
249%\fi 320% index. Furthermore, authors and works are indexed separately and
250%\iffalse 321% only inserted in the global index that is generated by
251%<*example> 322% \cs{makeindex}. Another limitation is that the references are also
252%\fi 323% excluded from the index.
253\begin{code}
254\vroum[tchic]{tchic}
255\end{code}
256%\iffalse
257%</example>
258%\fi
259% 324%
325% Notwithstanding these limitations, it is quite possible to typeset
326% \emph{indices locorum citatorum} with Bib\LaTeX, but this remains an
327% intricate business and requires knowing how to redefine and/or patch
328% standard and internal Bib\LaTeX\ commands.
329%
330% The \package{icite} package is but a modest piece of software which
331% addresses this situation. It relies on citation commands, but does
332% not require Bib\LaTeX. Instead, \hologo{BibTeX} can be used as
333% \package{icite} uses the \package{usebib} package\icite{usebib} to
334% build the indices by drawing directly from the bibliographic
335% database.
336%
337% \printindex[loccit]
338% \printbibliography[heading=bibnumbered]
339%
260%\StopEventually{} 340%\StopEventually{}
261% 341%
262% \section{Implementation} 342% \section{Implementation}
diff --git a/icite.ins b/icite.ins
new file mode 100644
index 0000000..0654f14
--- /dev/null
+++ b/icite.ins
@@ -0,0 +1,71 @@
1%%
2%% This is file `icite.ins',
3%% generated with the docstrip utility.
4%%
5%% The original source files were:
6%%
7%% icite.dtx (with options: `install')
8%%
9%% Copyright (C) 2019 by Robert Alessi <alessi@robertalessi.net>
10%%
11%% Please send error reports and suggestions for improvements to Robert
12%% Alessi <alessi@robertalessi.net>
13%%
14%% This program is free software: you can redistribute it and/or modify
15%% it under the terms of the GNU General Public License as published by
16%% the Free Software Foundation, either version 3 of the License, or
17%% (at your option) any later version.
18%%
19%% This program is distributed in the hope that it will be useful, but
20%% WITHOUT ANY WARRANTY; without even the implied warranty of
21%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
22%% General Public License for more details.
23%%
24%% You should have received a copy of the GNU General Public License
25%% along with this program. If not, see
26%% <http://www.gnu.org/licenses/>.
27%%
28%% This work consists of the file icite.dtx and a Makefile.
29%% Running "make" generates the derived files README, icite.pdf and icite.sty.
30%% Running "make inst" installs the files in the user's TeX tree.
31%% Running "make install" installs the files in the local TeX tree.
32%%
33\input docstrip.tex
34\keepsilent
35\askforoverwritefalse
36\preamble
37
38Copyright (C) 2019 by Robert Alessi <alessi@robertalessi.net>
39
40Please send error reports and suggestions for improvements to Robert
41Alessi <alessi@robertalessi.net>
42
43This program is free software: you can redistribute it and/or modify
44it under the terms of the GNU General Public License as published by
45the Free Software Foundation, either version 3 of the License, or
46(at your option) any later version.
47
48This program is distributed in the hope that it will be useful, but
49WITHOUT ANY WARRANTY; without even the implied warranty of
50MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
51General Public License for more details.
52
53You should have received a copy of the GNU General Public License
54along with this program. If not, see
55<http://www.gnu.org/licenses/>.
56
57This work consists of the file icite.dtx and a Makefile.
58Running "make" generates the derived files README, icite.pdf and icite.sty.
59Running "make inst" installs the files in the user's TeX tree.
60Running "make install" installs the files in the local TeX tree.
61
62\endpreamble
63
64\usedir{tex/latex/icite}
65\generate{
66 \file{\jobname.sty}{\from{\jobname.dtx}{package}}
67}
68\endbatchfile
69\endinput
70%%
71%% End of file `icite.ins'.