4

Why do we have two different commands for citing? One when citing exactly one source (\autocite) and another one that is conceived to be used when citing more than one source (\autocites)?

If you always use \autocites you dont have to make any changes regarding the command when you reduce or extend the references, because it seems to work with any number of references (including exactly one). If you use \autocite you have to make adjustments as soon as you change the number of sources. It seems as if \autocite could be eliminated because it is included in the \autocites command (or it could be redefined in a way that it works like the \autocites). (The same holds true for \cite etc.)

\documentclass{article}

\usepackage[ngerman]{babel} %dt. Silbentrennung
\usepackage[applemac]{inputenc} 

\usepackage[]{biblatex}
\usepackage[babel,german=guillemets]{csquotes}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}

@inbook{hC77a,
author = {Herbert~H. Clark},
title = {Inferences in Comprehension},
pages = {243-263},
booktitle = {Basic processes in Reading},
booksubtitle = {Perception and Comprehension},
editor = {David LaBerge and S.~Jay Samuels},
year = {1977},
location = {Erlbaum},
} 


  @book{jS09,
   author = {John~I. Saeed},
   title = {Semantics},
   subtitle = {},
   year = {2009},
   publisher = {Wiley-Blackwell},
   location = {Malden, Mass. [u.a.]},
   }

\end{filecontents}

\addbibresource{\jobname.bib}


\begin{document}

Using autocites \autocites[152-169]{jS09} % this does work

Using autocites \autocites[152-169]{jS09}[252]{hC77a} % this does work

Using autocite \autocite[152-169]{jS09}

Using autocite \autocite[152-169]{jS09}[252]{hC77a} % this doesnt work

\end{document}

So: Is there any hidden difference?

| improve this question | | | | |
  • 1
    \autocites has a 'global' prenote and postnote. I don't think this is a 'hidden' difference, since it is documented, but it is a significant difference. I think the value of having \autocite and \autocites is that they follow an established biblatex pattern that is easy to remember. Your suggestion would make it harder to remember the biblatex command name philosophy. And you can of course do as you please through a combination of \let and \renewcommand. – jon May 15 '13 at 15:45
  • Even if both commands were actually identical: having both commands means that you can be a more lazy while typing. I like it if commands and options exit in more than one variant and you can choose more intuitively a suitable variant for the current context. – Ulrike Fischer May 16 '13 at 8:33
  • 1
    @jon & Ulrike Fischer: I know little about programming. But I got the impression that one of the fundamental principles is the creation of a lean command structure. The answers suggest that there are other reasons that guide command architecture such as name philosophy, mental capacities & choices. These dont feel entirely satisfying here. at jon: A reduced approach seems to make it easier to remember. at Ulrike Fischer: Generally, I like choices too. In this case having a choice seems to be unnecessary. Why bother with context dependent decisions where you can have a universal command? – Philip May 26 '13 at 17:18
  • @Philip -- Well, to each, their own. To me, and that's all I'm suggesting, it is easier to expect that all citation commands have a singular and plural form than that all but one citation commands do. At any rate, if this is something you feel strongly about, it seems like a better place to raise the issue is on the Github development page. If you are simply asking 'why', I think my comment explains the underlying philosophy ... but that's just a guess. (In fact, I never use \autocite or any plural citation command, so it hardly matters to me.) – jon May 26 '13 at 18:10
  • 1
    @jon: I would/will suggest that all commands being changed (if that doesnt have any other effects) in order to keep simplicity on the naming level and on the command level. And thank you for the link. – Philip May 26 '13 at 19:07
10

In short: No. \cite is a command used for generating unqualified citation lists. It follows the syntax:

\cite[<pre>][<post>]{<keys>}

This prints a list of citation labels for each of the entries specified in <keys> with a common prenote <pre> and postnote <post>. If sortcites is enabled, the citation list is sorted according to the order given by the load-time option setting sorting.

By default \cites is defined on the basis of \cite with:

\DeclareMultiCiteCommand{\cites}{\cite}{\multicitedelim}

It follows the syntax:

\cites(<pre>)(<post>)[<pre 1>][<post 1>]{<keys 1>}...[<pre n>][<post n>]{<keys n>}

This applies the basic \cite command to each of the n unqualified citation lists whose entries are specified by <keys 1>, <keys 2>, ... <keys n>. The entire citation list is qualified by individual prenotes and postnotes <pre 1>, ..., <pre n>, <post 1>, ..., <post n> and is printed with an overall prenote <pre> and postnote <post>. When sortcites is enabled, citation labels are sorted only within the n unqualified lists.

Similar properties hold for other standard citation commands and their multicite variants (e.g. \parencite and \parencites, \footcite and \footcites) as well as style-dependent citation commands (e.g. \textcite and \textcites, \smartcite and \smartcites, \supercite and \supercites). \autocite and \autocites are "style-independent" commands defined on the basis of \cite, \parencite, \footcite, \smartcite or \supercite. These allow the user to make parenthetical-type citations and freely switch between citation styles.

Further details can be found in the biblatex user guide in the section called "Citation Commands".

| improve this answer | | | | |
  • 2
    Also \autocites* makes no sense but \autocite* is very useful. – cfr Jan 24 '14 at 4:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.