4

I am trying to create a bibliography that uses the APA style, but with numbered in-text citations (e.g. [#] ). At present, my in-text citations are in the more traditional form of (author, year). I have included a MWE of this below.

\documentclass[a4paper,12pt]{report}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage[a4paper,top=2.5cm,bottom=3cm,left=3cm,right=3cm]{geometry}
\usepackage{apacite}  
\usepackage{amsmath}

\begin{document}
Example \cite{kearon1998noninvasive}.
\interlinepenalty=10000
\bibliography{References.bib}
\bibliographystyle{apacite}
\end{document}

enter image description here

The example References.bib is given by

@article{kearon1998noninvasive,
  title={Noninvasive diagnosis of deep venous thrombosis},
  author={Kearon, Clive and Julian, Jim A and Math, M and Newman, Toni E and Ginsberg, Jeffrey S},
  journal={Annals of internal medicine},
  volume={128},
  number={8},
  pages={663--677},
  year={1998},
  publisher={American College of Physicians}
}

enter image description here

I have read through the apacite package manual and am unsure of how this can be achieved. Is it even possible?

13
  • 1
    The APA6 formatting guidelines, which are implemented in the apacite package and apacite bibliography style, allow authoryear-style citation call-outs only.
    – Mico
    Oct 12, 2021 at 4:41
  • @Mico Is there any way around this (perhaps using a different package)?
    – M B
    Oct 12, 2021 at 4:56
  • 1
    @Mico I hope so! Thank you for your responses.
    – M B
    Oct 12, 2021 at 5:44
  • 1
    @jarnosz Yes, if you're willing to make the link semi-permanent, like in a gihub repo, that would be fine. I have an "unsuported" repo that contains such things that I've accumulated over the years.
    – Alan Munn
    Oct 21, 2021 at 21:33
  • 1
    It's not quite clear what you want the output to be. Can you choose from the following options: A: numeric in text in order of citation, with numbered bibliography but formatted as 1. Author (year) ... , etc. B: numeric in text based on alphabetic sorting of the bibliography, with numbered bibliography 1. Author (year) ... etc.?
    – Alan Munn
    Oct 21, 2021 at 21:48

2 Answers 2

4
+150

This is quite easy to do with biblatex. I would not use the actual apa style, however, since it is not designed to be used like this. Instead use the more generic author-year style. Here I've used the ext-authoryear style which allows for some simple adjustments from the default author-year style. This implements option B in my comment on your question, where the numbering reflects the alphabetical order of the references not the citation order, which I think is the most sensible combination for this sort of bibliography.

Robust solution

As moewe notes in the comments, my original quick and dirty solution really fakes the numbering of the bibliography lines with respect to the references in the text, since there is no actual connection to them. Although this will work for many cases, it's not fully robust, so the proper way to do this is to use the actual formatting provided from the numeric.bbx code in biblatex. So this is the proper way to do things:

\documentclass{article}
\usepackage[citestyle=numeric,bibstyle=ext-authoryear,articlein=false]{biblatex}
\addbibresource{biblatex-examples.bib}

\defbibenvironment{bibliography}
  {\list
     {\printtext[labelnumberwidth]{%
        \printfield{labelprefix}%
        \printfield{labelnumber}}}
     {\setlength{\labelwidth}{\labelnumberwidth}%
      \setlength{\leftmargin}{\labelwidth}%
      \setlength{\labelsep}{\biblabelsep}%
      \addtolength{\leftmargin}{\labelsep}%
      \setlength{\itemsep}{\bibitemsep}%
      \setlength{\parsep}{\bibparsep}}%
      \renewcommand*{\makelabel}[1]{\hss##1}}
  {\endlist}
  {\item}
\DeclareFieldFormat[article]{pages}{#1}%
\DeclareFieldFormat{labelnumberwidth}{\mkbibbrackets{#1}}
\begin{document}
\cite{yoon,aksin}
\printbibliography
\end{document}

Quick and dirty solution

For a quick and dirty solution which will work for many cases, you can use the technique outlined in this question for the numbering of the bibliography.

\documentclass{article}
\usepackage[citestyle=numeric,bibstyle=ext-authoryear,articlein=false]{biblatex}
\addbibresource{biblatex-examples.bib}
\usepackage{enumitem}
\defbibenvironment{bibliography}
{\enumerate[label={[\arabic*]}]}
{\endenumerate}
{\item}
\DeclareFieldFormat[article]{pages}{#1}%
\begin{document}
\cite{yoon,aksin}
\printbibliography
\end{document}

output of code

2
  • Note that if you use enumerate for the numbering in the bibliography there is no real connection between the number you see in citations and the bibliography. The numbers will usually line up, but that is just 'accidental'. Things may go wrong in a split bibliography without defernumbers and things will also go wrong if there is an entry with shorthand. I'd copy the \defbibenvironment from numeric.bbx.
    – moewe
    Oct 23, 2021 at 8:06
  • @moewe Thanks. I've updated the answer with that solution.
    – Alan Munn
    Oct 23, 2021 at 14:23
3

Back in the days of yore (I mean: before biblatex) you had to concoct your own bst (bibliography style) file in pure BAFLL (BibTeX's Anonymous Forth Like Language) to process your bibliography with BibTeX, which was a pain, because... well, it was a FLL.

Fortunately, there is a nice little package called custom-bib which includes a nice little TeX program makebst to produce TeX batch files (dbj) to generate custom bst files trying to fulfill your expectations.

So, basically, you run

tex makebst

in your terminal, and the program leads you through an interactive interface, where you may select the options required to produce your style. At the end of the process, the program generates a dbj file, which is yet another TeX file you may run to produce the final bst file with your bibliographic style. This way, if you change your mind (of find out you fouled up), you may edit the dbj file, comment in/out the options of your choice, and produce yet another bst by running

tex yourstyle.dbj

You may still hack/kludge the final bst file a bit; but again, programming in pure BAFLL may be EXTREMELY PAINFUL if you are not used to it. makebst does a nice little job to jumpstart your task, and tweaking the byproducts is relatively easy.

Given the system's limits for answers, and following Alan Munn's advice in the comments, I am posting here a link to a first attempt to suit your needs: the batch file and generated bibliography style are posted on GitHub.

https://gist.github.com/jarnosz/931d6eb5ae1eef2c58407f8d3f9ec5ff

The bibliography style tries to implement what you ask for.

 %-------------------------------------------------------------------
 % This bibliography style file is intended for texts in ENGLISH
 % This is a numerical citation style, and as such is standard LaTeX.
 % It requires no extra package to interface to the main text.
 % The form of the \bibitem entries is
 %   \bibitem{key}...
 % Usage of \cite is as follows:
 %   \cite{key} ==>>          [#]
 %   \cite[chap. 2]{key} ==>> [#, chap. 2]
 % where # is a number determined by the ordering in the reference list.
 % The order in the reference list is alphabetical by authors.
 %---------------------------------------------------------------------

Just remember to declare your \bibliographystyle{plainad}: as the comment says, neither apacite.sty nor any other macro interface is required; so this bibstyle may work even in Plain TeX.

Here are the results:

citation

bibentry

You must log in to answer this question.

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