Universal `\cite` commands or defining new cite commands
If you really want to have one set of citation commands, a good starting point seems to be the list of commands provided by biblatex
(or rather its standard styles), as outlined in § 3.7 Citation Commands, p. 79 of the biblatex
documentation.
You should then use the appropriate command for the task at hand.
I have listed some of the commands I regard as elementary (and their use cases) below. Note that all biblatex
cite commands come with a 'capitalised version' (the first letter of the command name is capitalised) that should be used at the beginning of sentences, those commands capitalise the first word they print (e.g., \cite
and \Cite
).
Your go-to command should be
\autocite
or\cite
. I prefer\autocite
, but I can definitely understand if people prefer\cite
because it is shorter and more to the point.
If you only have one style for citations in your document, configure \autocite
so that it gives the expected output. If you have several different styles, configure \autocite
to give the most common style.
Use
\cite
to refer to the work itself as the subject (or object) of a sentence. For example:In \cite{foo} we can find a very interesting discussion of that matter.
\parencite
for parenthetical citations, for example to give the exact source of a particular quote:"The toaster is the greatest invention since sliced bread" \parencite[14]{foo}
Ideally, you wouldn't even use
\parencite
directly, you'd use the high-level\autocite
command together with the appropriateautocite
option for citations like these.\footcite
for citations in footnotes; in my experience the use cases of\parencite
and\footcite
are very similar, one will probably use one or the other, but there is\autocite
to take care of that.\textcite
to obtain the author/editor (as the subject of a sentence) and a parenthetical reference to the particular work.\Textcite{foo} found something.
\citeauthor
/\citeyear
/\citetitle
to print just the author, year, title the entry. Only use this if you need to refer to the year, title etc., do not use those commands to mimic the behaviour of\textcite
. That is: Do not write\citeauthor{foo} (\citetitle{foo}) found ...
if you use a author-title style, because you might change to a author-year style which would require\citeauthor{foo} (\citeyear{foo}) found ...
. Use\textcite{foo} found ...
instead.When \citeauthor{foo} wrote his first work titled \citetitle{foo} in \citeyear{foo} ...
Most (if not all) biblatex
styles should come with at least that set of commands. So you should be fine there.
If, however, you use templates that do not rely on biblatex
, you could try to define the set of commands below. In your example, \citeN
seems to be equivalent to \textcite
, so you could tell LaTeX to \let\textcite\citeN
and use \textcite
in your document. (Of course, the publisher might not be particularly happy about this seemingly nonsensical \let
ting around of macros, but that's another story.)
If you use a template with an author-year style that does not provide a \textcite
you might define it yourself via
\newcommand{\textcite}[1]{\citeauthor{#1} (\citeyear{#1})}
Of course this definition does not at all take care of pre- and postnotes, but it might be enough to get along in one document. If you use biblatex
you should use \DeclareCiteCommand
and internal bibmacros instead, but that might get more involved.
If your template does not offer an \autocite
but does have a \parencite
equivalent, do not hesitate to \let\autocite\parencite
so you can use \autocite
consistently throughout all of your documents.
You see, there is no easy solution that can be applied to normalise bibliography styles in different templates. One will always have to look very thoroughly at the commands provided, and - at best - can hope to find (or define) commands equivalent to the "standard" macros one expects to find. But this can at times be quite a tough ask.