diff options
-rw-r--r-- | icite.dtx | 281 |
1 files changed, 269 insertions, 12 deletions
@@ -92,6 +92,52 @@ Running "make install" installs the files in the local TeX tree. | |||
92 | \documentclass{ltxdoc} | 92 | \documentclass{ltxdoc} |
93 | \usepackage{filecontents} | 93 | \usepackage{filecontents} |
94 | \begin{filecontents*}{\jobname.bib} | 94 | \begin{filecontents*}{\jobname.bib} |
95 | @Book{Bürgel2016, | ||
96 | shorttitle = {Ärztliches Leben\ldots}, | ||
97 | editortype = {reviser}, | ||
98 | editor = {Käs, Fabian}, | ||
99 | number = 135, | ||
100 | series = {Islamic History and Civilization}, | ||
101 | location = {Leiden}, | ||
102 | publisher = {Brill}, | ||
103 | date = 2016, | ||
104 | title = {Ärztliches Leben und Denken im arabischen | ||
105 | Mittelalter}, | ||
106 | author = {Bürgel, Johann Christoph} | ||
107 | } | ||
108 | |||
109 | @Article{Dols1987, | ||
110 | author = {Dols, Michael W.}, | ||
111 | title = {The Origins of the Islamic Hospital: Myth and | ||
112 | Reality}, | ||
113 | shorttitle = {The Origins of the Islamic Hospital}, | ||
114 | journaltitle = {Bulletin of the History of Medicine}, | ||
115 | date = 1987, | ||
116 | volume = 61, | ||
117 | pages = {367--390} | ||
118 | } | ||
119 | |||
120 | @Book{Ullmann1970, | ||
121 | location = {Leiden}, | ||
122 | publisher = {Brill}, | ||
123 | title = {Die Medizin im Islam}, | ||
124 | date = 1970, | ||
125 | author = {Ullmann, Manfred}, | ||
126 | } | ||
127 | |||
128 | @InBook{Endress1992, | ||
129 | title = {Die Wissenschaftliche Literatur}, | ||
130 | date = 1992, | ||
131 | author = {Endress, Gerhard}, | ||
132 | booktitle = {Grundriß der arabischen Philologie}, | ||
133 | editor = {Fisher, Wolfdietrich}, | ||
134 | volume = 3, | ||
135 | note = {Supplement}, | ||
136 | publisher = {Reichert}, | ||
137 | location = {Wiesbaden}, | ||
138 | pages = {3--152} | ||
139 | } | ||
140 | |||
95 | @software{usebib, | 141 | @software{usebib, |
96 | title = {The Usebib package}, | 142 | title = {The Usebib package}, |
97 | subtitle = {A simple bibliography processor}, | 143 | subtitle = {A simple bibliography processor}, |
@@ -109,6 +155,9 @@ Running "make install" installs the files in the local TeX tree. | |||
109 | \usepackage{newunicodechar} | 155 | \usepackage{newunicodechar} |
110 | \newunicodechar{ǧ}{ǧ} % Old Standard does not include ǧ/Ǧ | 156 | \newunicodechar{ǧ}{ǧ} % Old Standard does not include ǧ/Ǧ |
111 | \newunicodechar{Ǧ}{Ǧ} % | 157 | \newunicodechar{Ǧ}{Ǧ} % |
158 | \usepackage{arabluatex} | ||
159 | \SetTranslitConvention{loc} | ||
160 | \usepackage{varioref} | ||
112 | \usepackage{hyperxmp} | 161 | \usepackage{hyperxmp} |
113 | \usepackage{uri} | 162 | \usepackage{uri} |
114 | \usepackage[numbered]{hypdoc} | 163 | \usepackage[numbered]{hypdoc} |
@@ -126,12 +175,14 @@ Running "make install" installs the files in the local TeX tree. | |||
126 | pdfmetalang={en-US}, pdftype={Text}, pdfkeywords={bibtex, biblatex, | 175 | pdfmetalang={en-US}, pdftype={Text}, pdfkeywords={bibtex, biblatex, |
127 | indexing}} | 176 | indexing}} |
128 | \CodelineIndex | 177 | \CodelineIndex |
129 | \usepackage[citecmd=footcite,defaultindex]{\jobname} | 178 | \usepackage[citecmd=autocite,defaultindex]{\jobname} |
179 | \usepackage{cleveref} | ||
130 | \bibinput{icite} | 180 | \bibinput{icite} |
131 | \usepackage[nonewpage,xindy]{imakeidx} | 181 | \usepackage[nonewpage,xindy]{imakeidx} |
132 | \indexsetup{level=\section} | 182 | \indexsetup{level=\section} |
133 | \makeindex[intoc] | 183 | \makeindex[columns=3] |
134 | \makeindex[name=loccit, title=Modern Authors] | 184 | \makeindex[columns=3,name=loccit, title=Index of Passages Cited |
185 | (modern authors)\label{ind:loccit}] | ||
135 | \usepackage[scale=1.5]{ccicons} | 186 | \usepackage[scale=1.5]{ccicons} |
136 | \usepackage{dox} | 187 | \usepackage{dox} |
137 | \doxitem{Option}{option}{options} | 188 | \doxitem{Option}{option}{options} |
@@ -143,7 +194,8 @@ Running "make install" installs the files in the local TeX tree. | |||
143 | \usepackage[lot]{multitoc} | 194 | \usepackage[lot]{multitoc} |
144 | \usepackage{nameref} | 195 | \usepackage{nameref} |
145 | \usepackage{csquotes} | 196 | \usepackage{csquotes} |
146 | \usepackage[style=oxnotes]{biblatex} | 197 | \usepackage[style=oxnotes, hyperref=false]{biblatex} |
198 | \DeclareFieldFormat{postnote}{\mkpageprefix[pagination][\mknormrange]{#1}} | ||
147 | \addbibresource{icite.bib} | 199 | \addbibresource{icite.bib} |
148 | \usepackage{hologo,metalogox} | 200 | \usepackage{hologo,metalogox} |
149 | \usepackage{relsize} | 201 | \usepackage{relsize} |
@@ -155,8 +207,8 @@ Running "make install" installs the files in the local TeX tree. | |||
155 | \usepackage[breakable, skins, xparse, minted]{tcolorbox} | 207 | \usepackage[breakable, skins, xparse, minted]{tcolorbox} |
156 | \tcbset{colback=white, boxrule=.15mm, colframe=red!50!white, left=6mm, | 208 | \tcbset{colback=white, boxrule=.15mm, colframe=red!50!white, left=6mm, |
157 | breakable} | 209 | breakable} |
158 | \newtcblisting{iexample}{minted options=linenos} | 210 | \newtcblisting{example}{minted options=linenos} |
159 | \newtcblisting{icode}{minted options=linenos, listing only} | 211 | \newtcblisting{code}{minted options=linenos, listing only} |
160 | \usepackage{etoc} | 212 | \usepackage{etoc} |
161 | \etocsettocdepth{paragraph} | 213 | \etocsettocdepth{paragraph} |
162 | \newcommand{\icitetableofcontents}{% | 214 | \newcommand{\icitetableofcontents}{% |
@@ -178,9 +230,9 @@ Running "make install" installs the files in the local TeX tree. | |||
178 | \tableofcontents | 230 | \tableofcontents |
179 | \endgroup} | 231 | \endgroup} |
180 | \EnableCrossrefs | 232 | \EnableCrossrefs |
181 | %\CodelineIndex | 233 | %\CodelineIndex |
182 | \RecordChanges | 234 | \RecordChanges |
183 | %\OnlyDescription | 235 | %\OnlyDescription |
184 | \begin{document} | 236 | \begin{document} |
185 | \DocInput{\jobname.dtx} | 237 | \DocInput{\jobname.dtx} |
186 | \PrintChanges | 238 | \PrintChanges |
@@ -330,12 +382,217 @@ Running "make install" installs the files in the local TeX tree. | |||
330 | % The \package{icite} package is but a modest piece of software which | 382 | % The \package{icite} package is but a modest piece of software which |
331 | % addresses this situation. It relies on citation commands, but does | 383 | % addresses this situation. It relies on citation commands, but does |
332 | % not require Bib\LaTeX. Instead, \hologo{BibTeX} can be used as | 384 | % not require Bib\LaTeX. Instead, \hologo{BibTeX} can be used as |
333 | % \package{icite} uses the \package{usebib} package\icite{usebib} to | 385 | % \package{icite} uses the \package{usebib} |
334 | % build the indices by drawing directly from the bibliographic | 386 | % package\footnote{\cite{usebib}} to build the indices by drawing |
335 | % database. | 387 | % directly from the bibliographic database. |
388 | % | ||
389 | % | ||
390 | % \section[The \package{icite} package]{The \textsf{icite} package} | ||
391 | % The \package{icite} package is loaded as usual like so:--- | ||
392 | % \iffalse | ||
393 | %<*example> | ||
394 | % \fi | ||
395 | \begin{code} | ||
396 | \usepackage[<options>]{icite} | ||
397 | \end{code} | ||
398 | % \iffalse | ||
399 | %</example> | ||
400 | % \fi | ||
401 | % | ||
402 | % \package{icite} may be loaded with two optional \enquote*{named | ||
403 | % arguments} either of which is set using the syntax | ||
404 | % \meta{key}$=$\meta{value}. The description of the optional arguments | ||
405 | % follows:--- | ||
406 | % | ||
407 | % \DescribeOption{citecmd} | ||
408 | % |citecmd|$=$\meta{command}\hfill\tcboxverb{Default: cite}\\ | ||
409 | % \meta{command} may be any citation command accepted by | ||
410 | % \hologo{BibTeX} or Bib\LaTeX. This option is used by the \cs{icite} | ||
411 | % command that is described below. By default, \cs{icite} uses the | ||
412 | % \cs{cite} command to insert citations in the body text. | ||
413 | % | ||
414 | % \DescribeOption{defaultindex} | ||
415 | % |defaultindex|$=$|none|\verb+|+\meta{index\_name}\hfill% | ||
416 | % \tcboxverb{Default: not set}\\ | ||
417 | % \meta{index\_name} is the name of the index in which all passages | ||
418 | % cited with the \cs{icite} command are to be found by default. As | ||
419 | % this option is not initally set, \cs{icite} naturally inserts cited | ||
420 | % passages in the default general index, unless |defaultindex| is set | ||
421 | % to the value |none|, in which case indexing is disabled. It must be | ||
422 | % noted that this named argument does not need a value as it defaults | ||
423 | % to |loccit| if it is used alone. This is an easy way to have all | ||
424 | % passages cited indexed in a separate index named |loccit|. | ||
425 | % | ||
426 | % \paragraph{Bibliographic database} | ||
427 | % \DescribeMacro{\bibinput} Once \package{icite} is loaded, it must be | ||
428 | % connected to at least one bibliographic |.bib| file. To that end, | ||
429 | % \package{icite} uses the same \cs{bibinput} command as | ||
430 | % \package{usebib}.\footnote{Please refer to \cite[1]{usebib} for more | ||
431 | % detailed information on how to use this command.} An example | ||
432 | % follows:--- | ||
433 | % \iffalse | ||
434 | %<*example> | ||
435 | % \fi | ||
436 | \begin{code} | ||
437 | % load icite, have \icite use \autocite by default, and insert cited | ||
438 | % passages in a separate index named 'loccit': | ||
439 | \usepackage[citecmd=autocite, defaultindex]{icite} | ||
440 | % note that the .bib file must be stripped of its extension: | ||
441 | \usebib{bibliography} % that is: load bibliography.bib | ||
442 | \end{code} | ||
443 | % \iffalse | ||
444 | %</example> | ||
445 | % \fi | ||
446 | % | ||
447 | % \paragraph{Styling the titles} | ||
448 | % \DescribeMacro{\SetTitleStyle} By default, \package{icite} prints | ||
449 | % the titles of the works in | ||
450 | % italics. \cs{SetTitleStyle}\marg{for\-matting directives} can be used | ||
451 | % in the preamble only to customize the way titles are displayed in | ||
452 | % the indices, like so:--- % | ||
453 | % \iffalse | ||
454 | %<*example> | ||
455 | % \fi | ||
456 | \begin{code} | ||
457 | \SetTitleStyle{\textbf{#1}} | ||
458 | \end{code} | ||
459 | % \iffalse | ||
460 | %</example> | ||
461 | % \fi | ||
462 | % As this example shows, |#1| is the token that is replaced with the | ||
463 | % actual title in the formatting directives of the \cs{SetTitleStyle} | ||
464 | % command. | ||
465 | % | ||
466 | % \subsection{Entry fields} | ||
467 | % \subsubsection{Author names} | ||
468 | % To process author names, \package{icite} uses the following entry | ||
469 | % fields: | ||
470 | % \begin{description} | ||
471 | % \item[author] As for example in |author = {Ullmann, Manfred}|, which | ||
472 | % is satisfactory in most cases. | ||
473 | % \item[indexauthor] This field is not set by Bib\LaTeX. However, it | ||
474 | % may be used as a fallback field for multiple or complex names. | ||
475 | % \item[sortname] This standard Bib\LaTeX\ which is never printed may | ||
476 | % be used to modify the sorting order of the index entries. | ||
477 | % \end{description} | ||
478 | % | ||
479 | % \paragraph{Example} | ||
480 | % From a given entry such as: \\[1ex]% | ||
481 | % |author = {|\prname{.hunayn ibn 'is.hAq al-`ibAdiyy, 'abU | ||
482 | % zayd}|}|\\[1ex]% | ||
483 | % it may prove useful to define an additional |indexauthor| field to | ||
484 | % have printed in the index only the relevant part of the name, like | ||
485 | % so: \\[1ex]% | ||
486 | % |indexauthor = {|\prname{.hunayn ibn 'is.hAq}|}|\\[1ex] | ||
487 | % But in the end, the |sortname| field is also needed because the name | ||
488 | % must be sorted without the diacritics:\\[1ex]% | ||
489 | % |sortname = {|Hunayn ibn Ishaq|}| | ||
490 | % | ||
491 | % \subsection{Titles} | ||
492 | % To process titles, \package{icite} uses the following entry fields: | ||
493 | % \begin{description} | ||
494 | % \item[title] The full title of the work. | ||
495 | % \item[shorttitle] The title in an abbriged form. If this entry is | ||
496 | % set, it takes precedence over the |title| field in the printed index. | ||
497 | % \item[indextitle] This field may be used to have a title such as | ||
498 | % \emph{The {\TeX}Book} printed in the index as \emph{{\TeX}Book, The}. | ||
499 | % \item[indexsorttitle] Like |sortname| for author names, this field is | ||
500 | % used for sorting only and is never printed. From the previous | ||
501 | % example, it may be used like so: \\% | ||
502 | % |indexsorttitle = {TEXBook}| | ||
503 | % \end{description} | ||
504 | % | ||
505 | % \section{Basic use} | ||
506 | % \DescribeMacro{\icite} \package{icite} provides the \cs{icite} | ||
507 | % command which both inserts a formatted citation in the body text and | ||
508 | % an entry corresponding to the passage cited in the index. This | ||
509 | % command is to be used in place of any \hologo{BibTeX} or Bib\LaTeX\ | ||
510 | % citation command the syntax of which is | ||
511 | % \cs{command}\oarg{pre}\oarg{post}\marg{key}. It must be noted that | ||
512 | % only standard citation commands are supported, with the exception of | ||
513 | % those mentioned as qualified citation lists or so-called | ||
514 | % \enquote*{multicite} commands. The full syntax of \cs{icite} | ||
515 | % follows:--- % | ||
516 | % \iffalse | ||
517 | %<*example> | ||
518 | % \fi | ||
519 | \begin{code} | ||
520 | \icite[pre][post]{key}[command] | ||
521 | \end{code} | ||
522 | % \iffalse | ||
523 | %</example> | ||
524 | % \fi | ||
525 | % Where \oarg{command} can be used as a further optional argument to | ||
526 | % specify a standard citation command that \cs{icite} should emulate | ||
527 | % instead of the default \cs{cite} command or any other command set as | ||
528 | % default in the preamble by means of the |citecmd| global option. | ||
529 | % | ||
530 | % \paragraph{Example} The following example illustrates how | ||
531 | % \package{icite} can be used in combination with Bib\LaTeX\ and the | ||
532 | % \package{imakeidx} package to have the passages cited sorted and | ||
533 | % printed in a separate, specific \enquote*{Index of Passages | ||
534 | % Cited}:--- % | ||
535 | % \iffalse | ||
536 | %<*example> | ||
537 | % \fi | ||
538 | \begin{code} | ||
539 | % preamble | ||
540 | % load icite, have \icite use \autocite by default, and insert cited | ||
541 | % passages in a separate index named 'loccit': | ||
542 | \usepackage[citecmd=autocite, defaultindex]{icite} | ||
543 | % load bibliography.bib | ||
544 | \usebib{bibliography} | ||
545 | |||
546 | % load biblatex (with oxnotes, \autocite acts as \footcite) | ||
547 | \usepackage[style=oxnotes]{biblatex} | ||
548 | \addbibresource{bibliography.bib} % mind the extension here | ||
549 | |||
550 | % load imakeidx and use xindy to have the numbers sorted properly | ||
551 | \usepackage[xindy]{imakeidx} | ||
552 | \makeindex[name=loccit, title=Index of passages cited] | ||
553 | \end{code} | ||
554 | % \iffalse | ||
555 | %</example> | ||
556 | % \fi | ||
557 | % | ||
558 | % Then \cs{icite} can be used like so:--- % | ||
559 | % \iffalse | ||
560 | %<*example> | ||
561 | % \fi | ||
562 | \begin{example} | ||
563 | \section*{\cs{icite} in action} | ||
564 | Let us start with four citations of the same reference, to make sure | ||
565 | that they are all indexed and sorted properly: | ||
566 | one\icite[123]{Ullmann1970}, two,\icite[231]{Ullmann1970} | ||
567 | three,\icite[81]{Ullmann1970} and four.\icite[18]{Ullmann1970} | ||
568 | |||
569 | Let us continue with four other citations out of two other | ||
570 | references: one,\icite[90]{Bürgel2016} two,\icite[370]{Dols1987} | ||
571 | three,\icite[205]{Bürgel2016} and four.\icite[380]{Dols1987} | ||
572 | |||
573 | Finally, let us have \cs{icite} use \cs{textcite} to cite | ||
574 | \icite[123]{Endress1992}[textcite], and again, this time in a | ||
575 | footnote.\icite[86]{Endress1992} | ||
576 | \end{example} | ||
577 | % \iffalse | ||
578 | %</example> | ||
579 | % \fi | ||
580 | % | ||
581 | % The resulting \emph{Index of passages cited} can be found below | ||
582 | % (\vref{ind:loccit} \vpageref{ind:loccit}). As can be seen from the | ||
583 | % bibliography generated in the footnotes, \package{icite} prints as | ||
584 | % expected the abbridged forms of the titles when they are | ||
585 | % available. Furthermore, as a default citation command set in the | ||
586 | % preamble, the \enquote*{oxnotes} Bib\LaTeX\ option of | ||
587 | % \package{biblatex-oxref} style package makes \cs{autocite} behave | ||
588 | % like \cs{footcite}. Finally, the page numbers in the index are | ||
589 | % sorted properly: for example, two-digit numbers, like 81, are listed | ||
590 | % before 123. | ||
591 | % | ||
592 | % \section{Refined use} | ||
593 | % | ||
336 | % | 594 | % |
337 | % \printindex[loccit] | 595 | % \printindex[loccit] |
338 | % \printbibliography[heading=bibnumbered] | ||
339 | % | 596 | % |
340 | %\StopEventually{} | 597 | %\StopEventually{} |
341 | % | 598 | % |