3

I am using apacite and I would like to enforce the ordering of citation in \citep{...} or at least make the ordering chronologically, that is, \citep{giebe03, bert14} into

(Giebe, 2003; Bert2014).

How can I do that?

5
  • 1
    Again, you're bumping up against APA style, which is to arrange citations alphabetically not chronologically (which makes your example seem weird, since Bert and Giebe should appear in that order.)
    – Alan Munn
    Jul 21, 2020 at 18:23
  • Is there again a hardcode way to change it? Btw. corrected the example. I am sooo grateful for your help!
    – Paul
    Jul 21, 2020 at 18:26
  • Not easily that I can see. The sorting is quite complex. Again, you may want to switch to biblatex if you have lots of these tweaks.
    – Alan Munn
    Jul 21, 2020 at 18:34
  • With BibTeX-based bibliographies you generally have two choices: Don't sort within \cite calls or sort \cite calls by the sort order from the bibliography (if your bibliography package supports that). There is in fact a way to get BibTeX-based solutions to sort citations differently from the bibliography, but that needs some work: tex.stackexchange.com/q/484172/35864, tex.stackexchange.com/q/549708/35864.
    – moewe
    Jul 23, 2020 at 6:32
  • Unfortunately, you didn't share an example document with us, which makes this a bit more tricky. The solution will depend on the exact bibliography setup you are using. You say you use apacite, but then you mention \citep, which is a natbib command and not an apacite command. There are ways to use natbib and apacite together, but there are several ways to do that (there are several wrong ways and I only know of one good way, but ...) and again an answer might depend on your exact method. We need to know what you are doing in order to be able to help properly.
    – moewe
    Jul 23, 2020 at 6:34

1 Answer 1

2

I recently encountered the same issue. As noted in the comments, the "formal" way to fix this is to amend the citation style and/or switch to biblatex to access other advanced configurations.

However, there is a quick-and-dirty way to enforce the order within parenthetical citations using bibtex with an uncooperative style. Presumably,

\citep{giebe03, bert14}

Renders as (Bert 2014, Giebe 2003)—which you do not want.

Instead, manually break apart the citations into a comma-delimited list within parenthesis, using the \citealp command to produce the un-adorned citation for each entry in order.

(\citealp{giebe03}, \citealp{bert14})

This should render as (Giebe 2003, Bert 2014), as desired.

Pros:

  • For the uninitiated, designing and debugging a custom bibtex or biblatex style to the right place could take days. This is wholly unacceptable, productivity-wise. Manual separation is certainly an improvement for short documents.
  • Flexibility to arbitrarily re-order and annotate as desired.

Cons:

  • Manual ordering in more verbose and labor intensive.Manual enforcing of sort-by-date is error-prone, automatic sorting could be nicer.
  • Citations will not be automatically merged into ranges, like (Geibe et al 2001,2005a,2005b,2006). You will need to typeset these manually and explicitly tell bibtex to add the corresponding entries. A properly designed bibliography will do this automatically with \citep.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .