1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
% !Mode:: "TeX:DE:UTF-8:Main"
% $UFDate: 2015-04-28 13:27:07 +0200 -- Commit: f04431e -- master$
\documentclass[DIV=12]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage[autostyle]{csquotes}
\usepackage{microtype}
\usepackage[style=authoryear-ibid,hyperref=false]{biblatex}
\usepackage{citeall}
\usepackage{fourier}
\usepackage{ydoc-desc,tabularx}
\usepackage{enumitem,needspace}
\makeatletter
\enitkv@key{enumitem}{compactsep}[true]{%
\divide\partopsep by 2\relax
\divide\topsep by 2\relax
\divide\itemsep by 2\relax
\divide\parsep by 2\relax}
\makeatother
\addbibresource{examples-citeall.bib}
\title{The \pkg{citeall} package, v1.2}
\author{Ulrike Fischer\thanks{fischer@troubleshooting-tex.de}}
\begin{document}
\maketitle
\section{Changes}
Version 1.2 adapts the package to biblatex 3.0 and correct some small bugs (e.g. unwanted spaces).
\section{Important}
\pkg{citeall} works only together with \pkg{biblatex}. \pkg{biblatex} should be loaded before \pkg{citeall}.
The package relies on some inner working of \pkg{biblatex}, so it could break with future versions.
\section{The aim of the package}
The \pkg{citeall} package is a package to help to adapt and debug \pkg{biblatex}
citation styles. When adapting such a style one often needs to inspect the
output of examples. While it is easy with \verb+\nocite{*}+ to output all entries of a bib-file in the bibliography it is more troublesome to show citations.
So I wrote a (very) small package which allows me to show citations of all entries of the bib-files.
\section{The command}
The main command of the package is called like the package and has two optional arguments:
\DescribeMacro\citeall[<list of commands>][<number of entries>]
The second optional argument sets the number of entries of the .bib (more precisely the .bbl-file) printed by \cs{citeall}. By default everything is cited.
The first optional argument is a comma separated list.
For each entrykey in the .bbl \cs{citeall} will loop through this list and pass to each item the entrykey as last argument. By default this list consist simply of a \cs{cite} command. The items don't need to be cite commands. As the examples show you can add text and other commands.
\begin{itemize}[compactsep]
\item The last command should be something that can handle the entry key argument.
\item If there are brackets e.g. from optional argument of a \cs{cite} you should protect them with braces.
\item If there are commas you should protect them with braces.
\item If you want to insert a paragraph break, use \cs{endgraf}
\item Don't overdo the system. It is meant for simple debbugging not for complicated citation printouts.
\end{itemize}
\section{Some examples}
\verb+\citeall+ \begin{tabular}[t]{p{0.3\textwidth}}
\citeall
\end{tabular}
\verb+\citeall[][1]+ \begin{tabular}[t]{p{0.3\textwidth}}
\citeall[][1]
\end{tabular}
\noindent
\verb+\citeall[\fullcite]+\begin{tabular}[t]{p{0.7\textwidth}}
\citeall[\fullcite]
\end{tabular}
\noindent
\verb+\citeall[\cite[15],\cite]+\begin{tabular}[t]{p{0.7\textwidth}}
\citeall[\cite[15],\cite]
\end{tabular}
\noindent
\verb+\citeall[Key: \textcolor{red},{\cite[15]},Test ibid: \cite]+
\begin{tabular}[t]{p{0.7\textwidth}}
\citeall[Key: \textcolor{red},{\cite[15]},Test ibid: \cite]
\end{tabular}
\noindent
\verb+\citeall[{\cite[15]},\endgraf \cite]+
\begin{tabular}[t]{p{0.7\textwidth}}
\citeall[{\cite[15]},\endgraf \cite]
\end{tabular}
\section{Printing the bibliography}
\cs{citeall} internally issues a \verb+\nocite{*}+, so \cs{printbibliography} will print all entries of the bib-file. Since version 1.1 \cs{citeall} adds all entries it cites to a category \enquote{citeall}. So if you restrict the number of citation with the second optional argument, you can also restrict the length of the bibliography with \verb+\printbibliography[category=citeall]+
\Needspace{8\baselineskip}
\section{Configuration}
\DescribeMacro\citeallgroupseparator
\DescribeMacro\citeallseparator
\DescribeMacro\citeallfinentry
\DescribeMacro\citealldefaultcite
By default the item of an entry are separated by a comma and a space. This can be changed by redefining \cs{citeallseparator}. The last item is finished by \cs{citeallfinentry} (default nothing). The entries are separated by a \cs{par}, this can be changed by redefining \cs{citeallgroupseparator}.
The default cite command used by \cs{citeall} is (\cs{cite}). This can be changed by redefining \cs{citealldefaultcite}.
\end{document}
|