Bibliography and citation formatting is complicated, and that's why the biblatex
package, which has thought through the issues extremely thoroughly, is also complicated. As end users, we tend to think of simple cases without realizing that making the simple case more general is not always simple.
For this reason, especially if you are a beginner, (and even if you're not) you should try to adapt to some of the standard styles offered by the biblatex
package itself, or use one of the many excellent user contributed styles that implement most of the major schemes. This is especially true if you have any flexibility in your choice of styles (i.e., you are not bound to a very particular style by a specific journal, for example.)
For a list of available styles see the biblatex
section of:
For author/year citations, the apa
style for biblatex
is an excellent implementation of the APA style.
Citation styles and bibliography styles
There are two main formatting considerations for any citation system: the formatting of the citations themselves in the text, and the formatting of the bibliography items in the bibliography. The biblatex
package treats both of these separately, although there are obviously dependencies between the two. In this answer I will discuss only author/year and numeric schemes, which are common in the natural and social sciences. Footnote style citations as used in the humanities are quite different, and pose their own set of problems (although biblatex
is also designed to deal with them.)
Citation commands
There are three basic citation commands in biblatex
plus some automatic ones. All of the citation commands allow two optional arguments: a prenote and a postnote.
\cite
standard citation
\parencite
standard citation in parentheses
\footcite
like \cite
but puts the citation in a footnote.
There are many variants of these commands. See ยง3.7 of the biblatex
manual for more details.
Among the more useful special cite commands are:
\textcite
is like \cite
but puts the label text (like the year in an author/year system) in parentheses.
\autocite
is designed for (almost) seamlessly transitioning between \parencite
and \footcite
, for example, and provides a higher level markup that can be mapped to either command.
Author/Year Style
\begin{filecontents}{\jobname.bib}
@book{Labov1972,
Address = {Philadelphia},
Author = {William Labov},
Publisher = {University of Pennsylvania Press},
Title = {Sociolinguistic Patterns},
Year = {1972}}
@book{Chomsky1957,
Address = {The Hague},
Author = {Noam Chomsky},
Publisher = {Mouton},
Title = {Syntactic Structures},
Year = {1957}}
}
\end{filecontents}
\documentclass{article}
\usepackage[style=authoryear]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
Some famous linguists wrote a couple of books \autocite{Labov1972,Chomsky1957}.
\printbibliography
\end{document}
Numeric style
\documentclass{article}
\usepackage[style=numeric]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
Some famous linguists wrote a couple of books \autocite{Labov1972,Chomsky1957}.
\printbibliography
\end{document}
Author/year citations with numeric bibliography
\documentclass{article}
\usepackage[citestyle=authoryear,bibstyle=numeric]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
Some famous linguists wrote a couple of books \autocite{Labov1972,Chomsky1957}.
\printbibliography
\end{document}
Compiling documents that use biblatex
As with other bibliography packages, compiling documents with biblatex
requires a multi-step process. First you compile your document using your regular TeX engine (pdflatex
, xelatex
, or lualatex
) and then you run a separate program biber
which processes the bibliography. For example, if you are compiling any of the of the MWEs shown above, using the filename test.tex
, then the full compilation command chain would be the following. (Replace pdflatex
with xelatex
or lualatex
as needed.)
pdflatex test.tex
biber test
pdflatex test.tex
pdflatex test.tex
where biber test
is short-hand for biber test.bcf
.
Since most people use IDEs to process their source documents, it's helpful to know how to set up your editor to use biber
instead of bibtex
. See this question for details on that.
Do I have to use biber
? Why can't I use bibtex
?
Although it's possible with some biblatex
styles to use bibtex
to process the bibliography by passing the [backend=bibtex]
option to the package, most modern styles depend on the use of biber
so you should generally not use bibtex
to process documents that use biblatex
.
Best Answer
If you just wish to reverse the numbering - not the order - then you can use the following approach:
The idea is to count the number of references by tapping into each "
\bibitem
". Once all is counted, we insert a\label
at the end of the document (using\AtEndDocument
). This label is retrieved and used in a calculation (thanks to the expandable\getrefnumber
fromrefcount
) to reverse the numbering.For multiple bibliographies per document, you could use
\citesinthissection{<num>}
as defined below:Remember to update the count of items whenever you add elements to your bibliography. Use the
defernumbers=true
global option andresetnumbers=true
option from the second\printbibliography
onwards. You may need to use options likekeyword
/notkeyword
options in order to print exactly only what you want in each bibliography part.