diff options
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/latex/icite/Makefile | 50 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/icite/README.md | 112 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/icite/icite.dtx | 310 |
3 files changed, 275 insertions, 197 deletions
diff --git a/Master/texmf-dist/source/latex/icite/Makefile b/Master/texmf-dist/source/latex/icite/Makefile index 8709733dd9c..35bf3e4a63d 100644 --- a/Master/texmf-dist/source/latex/icite/Makefile +++ b/Master/texmf-dist/source/latex/icite/Makefile @@ -6,13 +6,27 @@ LOCAL = $(shell kpsewhich --var-value TEXMFLOCAL) UTREE = $(shell kpsewhich --var-value TEXMFHOME) exts := md bib ins dtx html -extsi := tex +texsamples := $(basename $(wildcard $(PWD)/samples/*.tex)) findopts := $(foreach ext,$(exts),-or -iname "*.$(ext)") -findoptsi := $(foreach ext,$(extsi),-or -iname "*.$(ext)") + + +# Look into this later +# $(if $(wildcard $(PWD)/TMP/$(notdir $1).bcf),biber $(PWD)/TMP/$(notdir $1),) + +define dosamples + lualatex --output-dir=$(PWD)/TMP --shell-escape $1 >/dev/null + lualatex --output-dir=$(PWD)/TMP --shell-escape $1 >/dev/null + if [ -f $(PWD)/TMP/$(notdir $1)-primary.idx ]; \ + then texindy -M $(PWD)/TMP/$(notdir $1).xdy $(PWD)/TMP/$(notdir $1)-primary.idx >/dev/null; fi + if [ -f $(PWD)/TMP/$(notdir $1).bcf ]; then biber $(PWD)/TMP/$(notdir $1) >/dev/null; fi + lualatex --output-dir=$(PWD)/TMP --shell-escape $1 >/dev/null + lualatex --output-dir=$(PWD)/TMP --shell-escape $1 >/dev/null +endef all: $(NAME).pdf # test -e README.md || exit 0 $(NAME).pdf: $(NAME).dtx + @ echo "Make documentation..." lualatex --shell-escape --recorder --interaction=batchmode $(NAME).dtx >/dev/null biber $(NAME) >/dev/null lualatex --shell-escape --recorder --interaction=batchmode $(NAME).dtx >/dev/null @@ -22,35 +36,16 @@ $(NAME).pdf: $(NAME).dtx if [ -f primary.idx ]; then texindy -M icite.xdy primary.idx >/dev/null; fi lualatex --shell-escape --recorder --interaction=nonstopmode $(NAME).dtx > /dev/null lualatex --shell-escape --recorder --interaction=nonstopmode $(NAME).dtx > /dev/null + @ echo "Make sample files..." if [ ! -d $(PWD)/TMP ]; then mkdir $(PWD)/TMP; fi cp $(PWD)/samples/*.bib $(PWD)/TMP - lualatex --output-dir=$(PWD)/TMP --shell-escape samples/icite-biblatex.tex - lualatex --output-dir=$(PWD)/TMP --shell-escape samples/icite-biblatex.tex - texindy $(PWD)/TMP/pr-sources.idx - biber $(PWD)/TMP/icite-biblatex - lualatex --output-dir=$(PWD)/TMP --shell-escape samples/icite-biblatex.tex - lualatex --output-dir=$(PWD)/TMP --shell-escape samples/icite-biblatex.tex - lualatex --output-dir=$(PWD)/TMP --shell-escape samples/icite-nobiblatex.tex - lualatex --output-dir=$(PWD)/TMP --shell-escape samples/icite-nobiblatex.tex - texindy $(PWD)/TMP/pr-sources.idx - lualatex --output-dir=$(PWD)/TMP --shell-escape samples/icite-nobiblatex.tex - lualatex --output-dir=$(PWD)/TMP --shell-escape samples/icite-nobiblatex.tex + $(foreach file,$(texsamples), $(call dosamples, $(file))) mv TMP/*.pdf samples/ samples: if [ ! -d $(PWD)/TMP ]; then mkdir $(PWD)/TMP; fi cp $(PWD)/samples/*.bib $(PWD)/TMP - lualatex --output-dir=$(PWD)/TMP --shell-escape samples/icite-biblatex.tex - lualatex --output-dir=$(PWD)/TMP --shell-escape samples/icite-biblatex.tex - texindy $(PWD)/TMP/pr-sources.idx - biber $(PWD)/TMP/icite-biblatex - lualatex --output-dir=$(PWD)/TMP --shell-escape samples/icite-biblatex.tex - lualatex --output-dir=$(PWD)/TMP --shell-escape samples/icite-biblatex.tex - lualatex --output-dir=$(PWD)/TMP --shell-escape samples/icite-nobiblatex.tex - lualatex --output-dir=$(PWD)/TMP --shell-escape samples/icite-nobiblatex.tex - texindy $(PWD)/TMP/pr-sources.idx - lualatex --output-dir=$(PWD)/TMP --shell-escape samples/icite-nobiblatex.tex - lualatex --output-dir=$(PWD)/TMP --shell-escape samples/icite-nobiblatex.tex + $(foreach file,$(texsamples), $(call dosamples, $(file))) mv TMP/*.pdf samples/ lualatex: @@ -61,7 +56,7 @@ clean: lualatex rm -rf .backup find -iname "*~" -or -iname "*.pdf" | xargs rm -rf find ./* -type f -iname "Makefile" $(findopts) > ls-R - find ./* -type f -iname "samples/*" $(findoptsi) >> ls-R + find ./* -type f -iname "*.tex" | grep '/samples/' >> ls-R rsync -avPr --files-from=ls-R . .backup rm -rf * cp -p -r .backup/* . @@ -109,9 +104,10 @@ package: distclean all cp -r samples/ doc/latex/$(NAME)/ mkdir -p source/latex/$(NAME)/ cp Makefile README.md $(NAME).{dtx,ins} source/latex/$(NAME)/ - zip -r $(NAME).tds.zip tex doc source + # zip -r $(NAME).tds.zip tex doc source rm -rf tex/ source/ doc/ - tar czf $(NAME)-$(VERS).tar.gz $(NAME).tds.zip $(NAME)/ + # tar czf $(NAME)-$(VERS).tar.gz $(NAME).tds.zip $(NAME)/ + tar czf $(NAME)-$(VERS).tar.gz $(NAME)/ rm -rf $(NAME)/ .PHONY: all lualatex clean distclean inst local uninst install uninstall zip package samples diff --git a/Master/texmf-dist/source/latex/icite/README.md b/Master/texmf-dist/source/latex/icite/README.md deleted file mode 100644 index 05846e536a7..00000000000 --- a/Master/texmf-dist/source/latex/icite/README.md +++ /dev/null @@ -1,112 +0,0 @@ ---- -author: -- Robert Alessi -title: 'The icite package – README file' ---- - -Overview -======== - -`icite` is designed to produce from BibTeX or BibLaTeX bibliographical -databases the different indices of authors and works cited which are -called _indices locorum citatorum_. It relies on a specific -`\icite` command and can operate with either BibTeX or BibLaTeX. - -License and disclamer -===================== - -icite – Indices locorum citatorum - -Copyright ⓒ 2019 Robert Alessi - -Please send error reports and suggestions for improvements to Robert -Alessi: - -- email: <alessi@robertalessi.net> - -- website: <http://www.robertalessi.net/icite> - -- comments, feature requests, bug reports: - <https://gitlab.com/ralessi/icite/issues> - -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. - -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. - -You should have received a copy of the GNU General Public License along -with this program. If not, see <http://www.gnu.org/licenses/>. - -This release of icite consists of the following source files: - -- `icite.dtx` - -- `icite.ins` - -- `Makefile` - -License applicable to the documentation ---------------------------------------- - -Copyright ⓒ 2019 Robert Alessi - -The documentation file `icite.pdf` that is generated from the -`icite.dtx` source file is licensed under the Creative Commons -Attribution-ShareAlike 4.0 International License. To view a copy of this -license, visit <http://creativecommons.org/licenses/by-sa/4.0/> or send -a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. - -Installation -============ - -1. Run `'latex icite.ins'` to produce the `icite.sty` - file; - -2. To finish the installation you have to move the `icite.sty` file into - a directory where LaTeX can find them. See the FAQ on `texfaq.org` - at <https://texfaq.org/FAQ-inst-wlcf> for more on this. - -Development, Git Repository -=========================== - -Browse the code ---------------- - -You can browse icite repository on the web: -<http://git.robertalessi.net/icite> - -From this page, you can download all the releases of `icite`. For -instructions on how to install `icite`, please see above. - -Comments, Feature requests, Bug Reports ---------------------------------------- - -<https://gitlab.com/ralessi/icite/issues> - -Download the repository ------------------------ - -`icite` 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). - -Use this command to download the repository - - git clone http://git.robertalessi.net/icite - -A new directory named icite will have been created, containing -`icite`. - -Git hosting ------------ - -Make an account on <https://gitlab.com> and navigate (while logged in) -to <https://gitlab.com/ralessi/icite>. Click *Fork* and you will -have in your account your own repository of `icite` where you will -be able to make whatever changes you like to. - diff --git a/Master/texmf-dist/source/latex/icite/icite.dtx b/Master/texmf-dist/source/latex/icite/icite.dtx index 64152276433..1e61a15d9c6 100644 --- a/Master/texmf-dist/source/latex/icite/icite.dtx +++ b/Master/texmf-dist/source/latex/icite/icite.dtx @@ -188,15 +188,27 @@ Running "make install" installs the files in the local TeX tree. %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] %<package>\ProvidesPackage{icite} %<*package> - [2019/03/12 v1.1 Make Indices locorum citatorum] + [2019/03/17 v1.2 Make Indices locorum citatorum] %</package> %<*driver> \documentclass{ltxdoc} \usepackage{filecontents} \begin{filecontents*}{\jobname.xdy} +(merge-rule "\*" "" :eregexp) (markup-locclass-list :open "\tabto{3.5cm}" :sep ", ") \end{filecontents*} \begin{filecontents*}{\jobname.bib} +@Book{Aristotle:Politica, + title = {Politica}, + date = 1964, + author = {Aristotle}, + editor = {Ross, W. D.}, + origdate = 1957, + entrysubtype = {classical}, + publisher = {Clarendon Press}, + location = {Oxford} +} + @Book{Bürgel2016, shorttitle = {Ärztliches Leben\ldots}, editortype = {reviser}, @@ -211,6 +223,16 @@ Running "make install" installs the files in the local TeX tree. author = {Bürgel, Johann Christoph} } +@Software{classics, + title = {The Classics package}, + subtitle = {Cite classic works}, + author = {Lourenço de Lima, Eduardo C.}, + publisher = {CTAN}, + url = {http://www.ctan.org/pkg/classics}, + date = {2013-02-02}, + version = {0.1} +} + @Article{Dols1987, author = {Dols, Michael W.}, title = {The Origins of the Islamic Hospital: Myth and @@ -222,6 +244,19 @@ Running "make install" installs the files in the local TeX tree. pages = {367--390} } +@InBook{Endress1992, + title = {Die Wissenschaftliche Literatur}, + date = 1992, + author = {Endress, Gerhard}, + booktitle = {Grundriß der arabischen Philologie}, + editor = {Fisher, Wolfdietrich}, + volume = 3, + note = {Supplement}, + publisher = {Reichert}, + location = {Wiesbaden}, + pages = {3--152} +} + @Book{IAUMuller, sortname = {Ibn abi Usaybia}, editor = {Müller, August}, @@ -238,32 +273,19 @@ Running "make install" installs the files in the local TeX tree. volumes = 2 } -@MVBook{al-Nadim, - author = {\prname{ibn al-nadIm}}, - title = {\arb[trans]{\uc{f}ihrist}}, - sortname = {Ibn al-Nadim}, - date = {1871/1872}, - shorthand = {\arb[trans]{\uc{f}ihrist}}, - editor = {Flügel, Gustav}, - volumes = 2, - location = {Leipzig}, - entrysubtype = {classical} -} - -@Book{al-Qifti, - sortname = {Ibn al-Qifti}, - entrysubtype = {classical}, - shorthand = {\prname{al-qif.tiyy}, \arb[trans]{\uc{t}a'rI_h}}, - location = {Leipzig}, - editor = {Lippert, Julius}, - date = 1903, - title = {\arb[trans]{\uc{t}a'rI_h al-.hukamA'}}, - author = {\prname{ibn al-qif.tiyy}} +@Software{imakeidx, + title = {The Imakeidx package}, + subtitle = {A package for producing multiple indexes}, + author = {Gregorio, Enrico and Beccari, Claudio}, + publisher = {CTAN}, + url = {http://www.ctan.org/pkg/imakeidx}, + date = {2016-10-15}, + version = {1.3e} } @Book{RaziShukuk, - author = {\prname{al-rAziyy}, \prname{mu.hammad - ibn zakariyyA'}}, + author = {\prname{al-rAziyy}, \prname{mu.hammad ibn + zakariyyA'}}, title = {\arb[trans]{\uc{k}itAb al-^sukUk `al_A \uc{^g}AlInUs}}, indextitle = {\arb[trans]{\uc{^s}ukUk}}, @@ -285,27 +307,37 @@ Running "make install" installs the files in the local TeX tree. author = {Ullmann, Manfred}, } -@InBook{Endress1992, - title = {Die Wissenschaftliche Literatur}, - date = 1992, - author = {Endress, Gerhard}, - booktitle = {Grundriß der arabischen Philologie}, - editor = {Fisher, Wolfdietrich}, - volume = 3, - note = {Supplement}, - publisher = {Reichert}, - location = {Wiesbaden}, - pages = {3--152} +@MVBook{al-Nadim, + author = {\prname{ibn al-nadIm}}, + title = {\arb[trans]{\uc{f}ihrist}}, + sortname = {Ibn al-Nadim}, + date = {1871/1872}, + shorthand = {\arb[trans]{\uc{f}ihrist}}, + editor = {Flügel, Gustav}, + volumes = 2, + location = {Leipzig}, + entrysubtype = {classical} +} + +@Book{al-Qifti, + sortname = {Ibn al-Qifti}, + entrysubtype = {classical}, + shorthand = {\prname{al-qif.tiyy}, \arb[trans]{\uc{t}a'rI_h}}, + location = {Leipzig}, + editor = {Lippert, Julius}, + date = 1903, + title = {\arb[trans]{\uc{t}a'rI_h al-.hukamA'}}, + author = {\prname{ibn al-qif.tiyy}} } @Software{usebib, - title = {The Usebib package}, - subtitle = {A simple bibliography processor}, - author = {Gregorio, Enrico}, - publisher = {CTAN}, - url = {http://www.ctan.org/pkg/usebib}, - date = {2012-04-13}, - version = {1.0a} + title = {The Usebib package}, + subtitle = {A simple bibliography processor}, + author = {Gregorio, Enrico}, + publisher = {CTAN}, + url = {http://www.ctan.org/pkg/usebib}, + date = {2012-04-13}, + version = {1.0a} } \end{filecontents*} \usepackage[english]{babel} @@ -317,10 +349,10 @@ Running "make install" installs the files in the local TeX tree. \newunicodechar{Ǧ}{Ǧ} % \usepackage{arabluatex} \SetTranslitConvention{loc} -\usepackage{varioref} \usepackage{xurl} \usepackage{uri} \usepackage{hyperxmp} +\usepackage{varioref} \usepackage[numbered]{hypdoc} \hypersetup{unicode=true, colorlinks, allcolors=blue, linktocpage=true, pdfauthor={Robert Alessi}, pdftitle={The @@ -335,9 +367,10 @@ Running "make install" installs the files in the local TeX tree. pdflicenseurl={https://creativecommons.org/licenses/by-sa/4.0/legalcode}, pdfmetalang={en-US}, pdftype={Text}, pdfkeywords={bibtex, biblatex, indexing}} +\usepackage{amsmath} +\usepackage{cleveref} \CodelineIndex \usepackage[citecmd=autocite,defaultindex]{\jobname} -\usepackage{cleveref} \IndexSubtypeAs{classical}{primary} \bibinput{icite} \usepackage[nonewpage,xindy]{imakeidx} @@ -346,11 +379,13 @@ Running "make install" installs the files in the local TeX tree. \makeindex \makeindex[name=loccit] \makeindex[name=primary] +\usepackage{needspace} \usepackage{tabto} \usepackage{classics} \newclassic{iau}{\classicsRoman{#1}|, #1|.#1} \newclassic{razi}{#1|.#1} \newclassic{nadim}{\classicsRoman{#1}|.#1|, #1} +\newclassic{aristotle}{#1|\textit{#1}|#1} \usepackage[scale=1.5]{ccicons} \usepackage{dox} \doxitem{Option}{option}{options} @@ -416,7 +451,7 @@ Running "make install" installs the files in the local TeX tree. %</driver> % \fi % -% \CheckSum{316} +% \CheckSum{352} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -619,9 +654,9 @@ Running "make install" installs the files in the local TeX tree. % \DescribeMacro{\bibinput} Once \package{icite} is loaded, it must be % connected to at least one bibliographic |.bib| file. To that end, % \package{icite} uses the same \cs{bibinput} command as -% \package{usebib}.\footnote{Please refer to \cite[1]{usebib} for more -% detailed information on how to use this command.} An example -% follows:--- +% \package{usebib}.\footnote{Please refer to \cite[1]{usebib} for +% more detailed information on how to use this command.} An example +% follows:--- % % \iffalse %<*example> % \fi @@ -636,6 +671,8 @@ Running "make install" installs the files in the local TeX tree. %</example> % \fi % +% \subsection{Preamble-only commands} +% The following commands may be found in the preamble only. % \paragraph{Styling the titles} % \DescribeMacro{\SetTitleStyle} By default, \package{icite} prints % the titles of the works cited in italics.\\ @@ -654,6 +691,21 @@ Running "make install" installs the files in the local TeX tree. % As this example shows, |#1| is the token that is replaced with the % actual title in the formatting directives of the \cs{SetTitleStyle} % command. +% +% \paragraph{Delimiters} +% \NEWfeature{v1.2}\DescribeMacro{\AuthorTitleDelim} +% \cs{AuthorTitleDelim}\marg{delimiter} sets the delimiter between +% authors and titles in the body text when the |nobibengine| option is +% set to |true|. The default delimiter is a comma and a space. +% +% \DescribeMacro{\TitlePageDelim} +% \cs{TitlePageDelim}\marg{delimiter} sets the delimiter between +% titles and pages in the body text when the |nobibengine| option is +% set to |true|. The default delimiter is a comma and a space. +% +% \subsection[\textsf{icite} for the Impatient]% +% {\package{icite} for the Impatient} +% Read \href{samples/icite-minimal.pdf}{\texttt{icite-minimal.pdf}}. % % \subsection{Entry fields} % \label{sec:entry-fields} @@ -873,9 +925,11 @@ Running "make install" installs the files in the local TeX tree. % those whose |entrysubtype| field does not match the string % |classical| should go into the default |loccit| index. As for those % whose |entrysubtype| matches |classical|, they should to into an -% index named |primary|. Furthermore, the \package{classics} package -% is used to format references in which a volume number is used. In -% this way, \package{xindy} only has numbers to handle:--- % +% index named |primary|. \label{ref:classics-pkg}Furthermore, the +% \package{classics} package is used to format references in which a +% volume number is used.\footnote{For more information, see below +% \vref{sec:classics-usage}.} In this way, \package{xindy} only has +% numbers to handle:--- % % \iffalse %<*example> % \fi @@ -964,6 +1018,109 @@ Running "make install" installs the files in the local TeX tree. % one can see, \prname{al-rAziyy} has been sorted under the letter R % and references to classical works have been formatted properly. % +% +% \subsection[The \textsf{classics} package]% +% {The \package{classics} package} % +% \label{sec:classics-usage} +% As said above \vpageref{ref:classics-pkg}, it is advisable to use +% the \package{classics} package to format volume, page, column, line +% numbers and the like which are inserted in the \meta{post} optional +% argument of the \cs{icite} command\autocite{classics}. An example of +% using \package{classics} to format references to Aristotle according +% to Bekker pagination follows:\footnote{See \cite[2]{classics} for +% more information.}--- % +% \iffalse +%<*example> +% \fi +\begin{code} + % preamble: + \usepackage{classics} + \newclassic{aristotle}{#1|\textit{#1}|#1} +\end{code} +% \iffalse +%</example> +% \fi +% \iffalse +%<*example> +% \fi +\begin{example} + In \emph{Politics}, Aristotle says that man is by nature a political + animal in the following passages: \aristotle{1253}[a][2--9] (Book~1) + and again in \aristotle{1278}[b][19] (Book~3). The latter passage + shows that one should read the whole section of Book~1 concerning + household management and the control of slaves + (\aristotle*{1253}[b][1]{1253}[b][39]). +\end{example} +% \iffalse +%</example> +% \fi +% The following prints the same body text while using \package{icite} +% to have the passages cited inserted in the \emph{Index locorum +% citatorum} (see below \vref{sec:index-loc-cit}):--- % +% \iffalse +%<*example> +% \fi +\begin{example} + In \emph{Politics}, Aristotle says that man is by nature a political + animal in the following passages: + \icite[\aristotle{1253}[a][2--9]]{Aristotle:Politica}[notecite] + (Book~1) and again in \icite[\aristotle{1278}[b][19]]% + {Aristotle:Politica}[notecite] (Book~3). The latter passage shows + that one should read the whole section of Book~1 concerning + household management and the control of slaves + \icite[\aristotle*{1253}[b][1]{1253}[b][39]]% + {Aristotle:Politica}[pnotecite]. +\end{example} +% \iffalse +%</example> +% \fi +% As can be seen, the \cs{notecite} and \cs{pnotecite} commands have +% been used to insert only the references in the body text. +% +% It is also advisable to use \package{xindy} to compile indices of +% passages cited because \package{xindy}, unlike \package{makeindex} +% or \package{xindex}, is able to sort numbers properly: for example, +% with \package{xindy}, such a number as 81 will come before 100, but +% will be sorted after 100 with the other two engines. +% \begin{tcblisting}{text only, title=Caveat} +% \package{xindy} (actually |texindy|) is also designed to ignore +% \TeX\ commands by default. However, due to a missing line in +% |xindy/modules/base/tex.xdy|,\footnote{As the time of writing, in +% \package{xindy} v2.5.1.} this does not apply to so-called +% \enquote*{starred} \TeX\ commands, such as \cs{aristotle*} from +% the example above. +% \end{tcblisting} +% One easy way to get around this issue is to create a style file with +% a single line that instructs \package{xindy} to ignore the asterisk +% when processing the index, like so:--- % +% \iffalse +%<*example> +% \fi +\begin{tcblisting}{minted language=lisp, listing only, title=icite.xdy} + (merge-rule "\*" "" :eregexp) +\end{tcblisting} +% \iffalse +%</example> +% \fi +% +% The following example shows how this simple rule can be +% applied:--- % +% \iffalse +%<*example> +% \fi +\begin{code} + % preamble: + \usepackage[xindy]{imakeidx} + \makeindex[name=loccit, options=-M icite.sty] + % document: + \printindex[loccit] +\end{code} +% \iffalse +%</example> +% \fi +% Of course, the document itself must be compiled with +% |--shell-escape|.\footnote{See \cite[2--4]{imakeidx}.} +% % \section{Appendix} % Designing the layout of indices is out of the scope of this % documentation. For information, the \package{tabto} package has been @@ -984,7 +1141,9 @@ Running "make install" installs the files in the local TeX tree. % \label{ref:indices} % \subsubsection{Index of Passages Cited (modern authors)} % \printindex[loccit] +% \needspace{8\baselineskip} % \subsubsection{\emph{Index locorum citatorum}} +% \label{sec:index-loc-cit} % \printindex[primary] % % \subsection{\texorpdfstring{\hologo{BibTeX} @@ -1028,6 +1187,11 @@ Running "make install" installs the files in the local TeX tree. \RequirePackage{datatool} \RequirePackage{usebib} % \end{macrocode} +% If |nobibengine| is set to true, then \cs{ic@dfltcit} will be +% redefined by \cs{icite} to \cs{ic@nullcmd} which does nothing. +% \begin{macrocode} +\NewDocumentCommand{\ic@nullcmd}{O{}O{}m}{} +% \end{macrocode} % Define fields to be used by \package{icite}: % \begin{macrocode} \define@reuse@key{author} @@ -1073,7 +1237,32 @@ Running "make install" installs the files in the local TeX tree. } \@onlypreamble\SetTitleStyle % \end{macrocode} -% +% \DescribeMacro{\AuthorTitleDelim} +% \changes{v1.2}{2019/03/17}{\cs{AuthorTitleDelim}: delimiter +% between authors and titles}\cs{AuthorTitleDelim}\marg{delimiter} +% sets the delimiter between authors and titles in the body text when +% the |nobibengine| option is set to |true|. The default delimiter is +% a comma. +% \begin{macrocode} +\def\ic@authtitdelim{, } +\NewDocumentCommand{\AuthorTitleDelim}{m}{% + \def\ic@authtitdelim{#1} +} +\@onlypreamble\AuthorTitleDelim +% \end{macrocode} +% \DescribeMacro{\TitlePageDelim} +% \changes{v1.2}{2019/03/17}{\cs{TitlePageDelim}: the delimiter +% between titles and pages}\cs{TitlePageDelim}\marg{delimiter} sets +% the delimiter between titles and pages in the body text when the +% |nobibengine| option is set to |true|. The default delimiter is a +% comma. +% \begin{macrocode} +\def\ic@titpgdelim{, } +\NewDocumentCommand{\TitlePageDelim}{m}{% + \def\ic@titpgdelim{#1} +} +\@onlypreamble\TitlePageDelim +% \end{macrocode} % \DescribeMacro{\icite} \cs{icite} both inserts a formatted citation % and an entry in the \emph{index locorum citatorum}. It is to be used % in place of any \hologo{BibTeX} or Bib\LaTeX\ citation command the @@ -1086,6 +1275,9 @@ Running "make install" installs the files in the local TeX tree. % qualified citation lists or so-called \enquote*{multicite} commands. % \begin{macrocode} \NewDocumentCommand{\icite}{o o m O{\ic@dfltcit}}{% + \edef\ic@argiv{#4}% + \edef\ic@null{ic@nullcmd}% + \ifno@bibengine\let\ic@argiv\ic@null\else\fi% \edef\@shorthand{\get@bibentry{#3}{shorthand}}% \edef\@subtype{\get@bibentry{#3}{entrysubtype}}% \edef\@author{\get@bibentry{#3}{author}}% @@ -1143,13 +1335,13 @@ Running "make install" installs the files in the local TeX tree. \fi}} \ifno@bibengine \ifx\@shorthand\empty% - \@useauthor, \TitleStyle{\@usetitle}% + \@useauthor\ic@authtitdelim\TitleStyle{\@usetitle}% \else% \@shorthand% \fi% \else% - \csname #4\endcsname{#3}% \fi% + \csname\ic@argiv\endcsname{#3}% } {\IfNoValueTF{#2}% {\DTLifdbempty{icite@indices}{% @@ -1175,13 +1367,14 @@ Running "make install" installs the files in the local TeX tree. \fi}}% \ifno@bibengine \ifx\@shorthand\empty% - \@useauthor, \TitleStyle{\@usetitle}, {#1}% + \@useauthor\ic@authtitdelim\TitleStyle{\@usetitle}% + \ic@titpgdelim{#1}% \else% \@shorthand, {#1}% \fi% \else% - \csname #4\endcsname[{#1}]{#3}% \fi% + \csname\ic@argiv\endcsname[{#1}]{#3}% } {\DTLifdbempty{icite@indices}{% \ifno@index\else @@ -1206,13 +1399,14 @@ Running "make install" installs the files in the local TeX tree. \fi}}% \ifno@bibengine \ifx\@shorthand\empty% - #1 \@useauthor, \TitleStyle{\@usetitle}, {#2}% + #1 \@useauthor\ic@authtitdelim\TitleStyle{\@usetitle}% + \ic@titpgdelim{#2}% \else% #1 \@shorthand, {#2}% \fi \else% - \csname #4\endcsname[#1][{#2}]{#3}% \fi% + \csname\ic@argiv\endcsname[#1][{#2}]{#3}% }% }% } |