I would like to know the best practice to get "universal" cite commands.
Across the different articles, I have written, each has had a different template for a different publication venue. And, each template seems to be paired with their own unique commands for citations: \cite
, \autocite
, \citep
, \citeN
, \citeyear
, etc...
In the spirit of separating content and styling, I would like to make it so that I can easily switch templates, without having to --Replace All-- of one cite command for another.
So, my question is this: What is the best tactic to obtain universal cite commands? Does the choice of BibTex or BibLatex make a difference with regards to cite commands? Or should I define new commands that make use of template defined commands.
In addendum, I would like to ask, if defining new commands is the way to go, can you please supply an example of how to define new commands making use of existing cite commands?
Hope this is clear. Thanks in advance! =)
UPDATE:
I see that \autocite
allows for one to choose the formatting of the command to produce parenthesis or footnote citations. This is, however, not the functionality that I seek.
For example, if we look at the ACM latex template (acmsmall): http://www.acm.org/publications/latex_style/
The documentation states the following, "If you mention the work explicitly in your prose, you should use \citeN
command. This command generates for example, Nielson [1985] discusses denotational program transformations. Or, you use \citeyear
and say that Nielson [1985] discusses them." The documentation continues to define other commands like \citeNP
also.
If I format my text using these commands, but then switch templates, I must replace all the citation commands, depending on what is defined by the other templates. What I would like to do is define my own abstraction layer of commands, that I can change to adhere to each of the different templates. If I use \citeN
at the start of my sentence, but the next template doesn't define this command, I would like to define it myself. Thereby slowly building up a set of citation commands that are "universal". Is this the best practice, or is there a better way to go about this?
I see the possibility of declaring cite commands in: renewcommand \cite[99]{Turing} vs. \cite{Turing}
Please let me know if there is more confusion.
biblatex
, you can choose the behavior of\autocite
.biblatex
manual gives an overview on available commands inbiblatex
. If you want to normalise your writing, you might want to take that list as the starting point: Try to use only commands on that list, and if a particular style/template does not provide a command, define it yourself.Smith 2000
-- are treated (in English, at least) as a single noun phrase, where author-title citations are emphatically not noun phrases, but a noun (= author) + a location pointer (and thus almost a parenthetical aside). The two citation types thus fit into a sentence very differently from a grammatical point of view. I don't think an abstracted citation command will ever (trivially?) solve this problem...