pages tagged biblatex
Don Armstrong
https://www.donarmstrong.com/tags/biblatex/
Don Armstrong
ikiwiki
2014-01-10T01:46:54Z
Biblatex format for Genes & Immunity
https://www.donarmstrong.com/posts/biblatex_gi_style/
2014-01-10T01:43:16Z
2014-01-10T01:01:33Z
<p>Here's a biblatex format for
<a href="http://www.nature.com/gene/index.html">Genes & Immunity</a> (a
<a href="http://www.nature.com">Nature</a> imprint) which I needed recently:</p>
<p>The following code in the preamble does almost all of the hard lifting:</p>
<div class="highlight-tex"><pre class="hl"><span class="hl kwa">\usepackage</span><span class="hl opt">[</span>backend=biber,hyperref=true,doi=true,url=false,isbn=false,maxbibnames=<span class="hl num">6</span>,minbibnames=<span class="hl num">6</span>,sorting=none,firstinits=true,terseinits=true,autocite=inline,style=numeric-comp<span class="hl opt">]{</span>biblatex<span class="hl opt">}</span>
<span class="hl kwa">\renewbibmacro</span><span class="hl opt">{</span>in:<span class="hl opt">}{</span><span class="hl slc">%</span>
<span class="hl kwa">\ifentrytype</span><span class="hl opt">{</span>article<span class="hl opt">}{}{</span><span class="hl slc">%</span>
<span class="hl kwa">\printtext</span><span class="hl opt">{</span><span class="hl kwa">\bibstring</span><span class="hl opt">{</span>in<span class="hl opt">}</span><span class="hl kwa">\intitlepunct</span><span class="hl opt">}}}</span>
<span class="hl slc">% from http://tex.stackexchange.com/questions/12806/guidelines-for-customizing-biblatex-styles</span>
\<span class="hl kwa">DeclareCiteCommand</span><span class="hl opt">{</span><span class="hl kwa">\parencite</span><span class="hl opt">}[</span><span class="hl kwa">\mkbibbrackets</span><span class="hl opt">]</span>
<span class="hl opt">{</span><span class="hl kwa">\usebibmacro</span><span class="hl opt">{</span>cite:init<span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\usebibmacro</span><span class="hl opt">{</span>prenote<span class="hl opt">}}</span>
<span class="hl opt">{</span><span class="hl kwa">\usebibmacro</span><span class="hl opt">{</span>citeindex<span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\usebibmacro</span><span class="hl opt">{</span>cite:comp<span class="hl opt">}}</span>
<span class="hl opt">{}</span>
<span class="hl opt">{</span><span class="hl kwa">\usebibmacro</span><span class="hl opt">{</span>cite:dump<span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\usebibmacro</span><span class="hl opt">{</span>postnote<span class="hl opt">}}</span>
\<span class="hl kwa">DeclareMultiCiteCommand</span><span class="hl opt">{</span><span class="hl kwa">\parencites</span><span class="hl opt">}[</span><span class="hl kwa">\mkbibbrackets</span><span class="hl opt">]{</span><span class="hl kwa">\parencite</span><span class="hl opt">}{</span><span class="hl kwa">\multicitedelim</span><span class="hl opt">}</span>
\<span class="hl kwa">DeclareFieldFormat</span>
<span class="hl opt">[</span>article,inbook,incollection,inproceedings,patent,thesis,unpublished,manual<span class="hl opt">]</span>
<span class="hl opt">{</span>title<span class="hl opt">}{</span><span class="hl kwc">#1</span><span class="hl kwa">\isdot</span><span class="hl opt">}</span>
\<span class="hl kwa">DeclareFieldFormat</span><span class="hl opt">{</span>journaltitle<span class="hl opt">}{</span><span class="hl kwa">\mkbibemph</span><span class="hl opt">{</span><span class="hl kwc">#1</span><span class="hl opt">}}</span>
\<span class="hl kwa">DeclareFieldFormat</span><span class="hl opt">[</span>article,periodical<span class="hl opt">]{</span>volume<span class="hl opt">}{</span><span class="hl kwa">\mkbibbold</span><span class="hl opt">{</span><span class="hl kwc">#1</span><span class="hl opt">}</span><span class="hl kwa">\addcolon</span><span class="hl opt">}</span>
\<span class="hl kwa">DeclareFieldFormat</span><span class="hl opt">{</span>year<span class="hl opt">}{</span><span class="hl kwc">#1</span><span class="hl opt">}</span>
\<span class="hl kwa">DeclareNameAlias</span><span class="hl opt">{</span>default<span class="hl opt">}{</span>last-first<span class="hl opt">}</span>
\<span class="hl kwa">DeclareFieldFormat</span><span class="hl opt">{</span>pages<span class="hl opt">}{</span><span class="hl kwc">#1</span><span class="hl opt">}</span>
<span class="hl slc">% from http://tex.stackexchange.com/questions/17583/biblatex-remove-commas-between-last-and-first-names-in-bibliography</span>
<span class="hl slc">% remove commas between authors and first inits</span>
<span class="hl kwa">\renewcommand</span>*<span class="hl opt">{</span><span class="hl kwa">\revsdnamepunct</span><span class="hl opt">}{}</span>
<span class="hl slc">% from http://tex.stackexchange.com/questions/40798/how-do-i-get-et-al-to-appear-in-italics-when-using-textcite-or-citeauthor-w</span>
<span class="hl slc">% make et al. /et al./</span>
<span class="hl kwa">\renewbibmacro</span>*<span class="hl opt">{</span>name:andothers<span class="hl opt">}{</span><span class="hl slc">% Based on name:andothers from biblatex.def</span>
<span class="hl kwa">\ifboolexpr</span><span class="hl opt">{</span>
test <span class="hl opt">{</span><span class="hl kwa">\ifnumequal</span><span class="hl opt">{</span><span class="hl kwa">\value</span><span class="hl opt">{</span>listcount<span class="hl opt">}}{</span><span class="hl kwa">\value</span><span class="hl opt">{</span>liststop<span class="hl opt">}}}</span>
and
test <span class="hl kwa">\ifmorenames</span>
<span class="hl opt">}</span>
<span class="hl opt">{</span><span class="hl kwa">\ifnumgreater</span><span class="hl opt">{</span><span class="hl kwa">\value</span><span class="hl opt">{</span>liststop<span class="hl opt">}}{</span><span class="hl num">1</span><span class="hl opt">}</span>
<span class="hl opt">{</span><span class="hl kwa">\finalandcomma</span><span class="hl opt">}</span>
<span class="hl opt">{}</span><span class="hl slc">%</span>
<span class="hl kwa">\andothersdelim\bibstring</span><span class="hl opt">[</span><span class="hl kwa">\emph</span><span class="hl opt">]{</span>andothers<span class="hl opt">}}</span>
<span class="hl opt">{}}</span>
<span class="hl slc">% \renewbibmacro{journal}{#1}%</span>
<span class="hl slc">% from http://tex.stackexchange.com/questions/6743/biblatex-changing-the-order-of-entries</span>
<span class="hl kwa">\renewbibmacro</span>*<span class="hl opt">{</span>journal+issuetitle<span class="hl opt">}{</span><span class="hl slc">%</span>
<span class="hl kwa">\setunit</span>*<span class="hl opt">{</span><span class="hl kwa">\addspace</span><span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\usebibmacro</span><span class="hl opt">{</span>journal<span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\setunit</span>*<span class="hl opt">{</span><span class="hl kwa">\addspace</span><span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\printfield</span><span class="hl opt">{</span>year<span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\setunit</span>*<span class="hl opt">{</span><span class="hl kwa">\addspace</span><span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\iffieldundef</span><span class="hl opt">{</span>series<span class="hl opt">}</span>
<span class="hl opt">{}</span>
<span class="hl opt">{</span><span class="hl kwa">\newunit</span>
<span class="hl kwa">\printfield</span><span class="hl opt">{</span>series<span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\setunit</span><span class="hl opt">{</span><span class="hl kwa">\addspace</span><span class="hl opt">}}</span><span class="hl slc">%</span>
<span class="hl kwa">\newunit</span><span class="hl opt">{</span><span class="hl kwa">\addsemicolon\space</span><span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\printfield</span><span class="hl opt">{</span>volume<span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\setunit</span>*<span class="hl opt">{</span><span class="hl kwa">\addspace</span><span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\newunit</span>
<span class="hl opt">}</span>
<span class="hl kwa">\renewbibmacro</span>*<span class="hl opt">{</span>title<span class="hl opt">}{</span><span class="hl slc">%</span>
<span class="hl kwa">\newunit</span>
<span class="hl kwa">\ifboolexpr</span><span class="hl opt">{</span>
test <span class="hl opt">{</span><span class="hl kwa">\iffieldundef</span><span class="hl opt">{</span>title<span class="hl opt">}}</span>
and
test <span class="hl opt">{</span><span class="hl kwa">\iffieldundef</span><span class="hl opt">{</span>subtitle<span class="hl opt">}}</span>
<span class="hl opt">}</span>
<span class="hl opt">{}</span>
<span class="hl opt">{</span><span class="hl kwa">\printtext</span><span class="hl opt">[</span>title<span class="hl opt">]{</span><span class="hl slc">%</span>
<span class="hl kwa">\printfield</span><span class="hl opt">[</span>titlecase<span class="hl opt">]{</span>title<span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\setunit</span><span class="hl opt">{</span><span class="hl kwa">\subtitlepunct</span><span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\printfield</span><span class="hl opt">[</span>titlecase<span class="hl opt">]{</span>subtitle<span class="hl opt">}}</span><span class="hl slc">%</span>
<span class="hl kwa">\newunit</span><span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\printfield</span><span class="hl opt">{</span>titleaddon<span class="hl opt">}}</span>
<span class="hl kwa">\renewbibmacro</span>*<span class="hl opt">{</span>publisher+location+date<span class="hl opt">}{</span><span class="hl slc">%</span>
<span class="hl kwa">\setunit</span>*<span class="hl opt">{</span><span class="hl kwa">\addspace</span><span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\printtext</span><span class="hl opt">[</span>parens<span class="hl opt">]{</span><span class="hl kwa">\printlist</span><span class="hl opt">{</span>location<span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\iflistundef</span><span class="hl opt">{</span>publisher<span class="hl opt">}</span>
<span class="hl opt">{</span><span class="hl kwa">\setunit</span>*<span class="hl opt">{</span><span class="hl kwa">\addcomma\space</span><span class="hl opt">}}</span>
<span class="hl opt">{</span><span class="hl kwa">\setunit</span>*<span class="hl opt">{</span><span class="hl kwa">\addcolon\space</span><span class="hl opt">}}</span><span class="hl slc">%</span>
<span class="hl kwa">\printlist</span><span class="hl opt">{</span>publisher<span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\newunit</span><span class="hl opt">}</span>
</pre></div>
Biblatex format for AJHG
https://www.donarmstrong.com/posts/biblatex_ajhg_style/
2014-01-10T01:46:54Z
2013-08-24T00:19:58Z
<p>I'm working on a paper on the genetic basis of lupus, which I'm
submitting to the
<a href="http://www.cell.com/AJHG/">American Journal of Human Genetics</a>, and
since I've recently switched to the wonderful
<a href="http://www.ctan.org/pkg/biblatex">biblatex</a> and
<a href="http://biblatex-biber.sourceforge.net/">biber</a> from the standard
bibtex, I've had to figure out how to customize the bibliography and
citation format to fit the
<a href="http://images.cell.com/images/EdImages/ajhg/AJHG_Information_for_Authors.pdf">standards of the journal</a>.
Luckily, there are lots of good examples on
<a href="http://tex.stackechange.com">TeX's stackexchange</a>, which enabled me
to figure out how to do all of this.</p>
<p>The following code in the preamble does almost all of the hard lifting:</p>
<div class="highlight-tex"><pre class="hl"><span class="hl kwa">\usepackage</span><span class="hl opt">[</span>backend=biber,hyperref=true,doi=false,url=false,isbn=false,maxbibnames=<span class="hl num">10</span>,minbibnames=<span class="hl num">10</span>,sorting=none,firstinits=true,autocite=superscript,style=numeric-comp<span class="hl opt">]{</span>biblatex<span class="hl opt">}</span>
<span class="hl kwa">\renewbibmacro</span><span class="hl opt">{</span>in:<span class="hl opt">}{</span><span class="hl slc">%</span>
<span class="hl kwa">\ifentrytype</span><span class="hl opt">{</span>article<span class="hl opt">}{}{</span><span class="hl slc">%</span>
<span class="hl kwa">\printtext</span><span class="hl opt">{</span><span class="hl kwa">\bibstring</span><span class="hl opt">{</span>in<span class="hl opt">}</span><span class="hl kwa">\intitlepunct</span><span class="hl opt">}}}</span>
<span class="hl slc">% from http://tex.stackexchange.com/questions/12806/guidelines-for-customizing-biblatex-styles</span>
\<span class="hl kwa">DeclareFieldFormat</span>
<span class="hl opt">[</span>article,inbook,incollection,inproceedings,patent,thesis,unpublished,manual<span class="hl opt">]</span>
<span class="hl opt">{</span>title<span class="hl opt">}{</span><span class="hl kwc">#1</span><span class="hl kwa">\isdot</span><span class="hl opt">}</span>
\<span class="hl kwa">DeclareFieldFormat</span><span class="hl opt">{</span>journaltitle<span class="hl opt">}{</span><span class="hl kwc">#1</span><span class="hl opt">}</span>
\<span class="hl kwa">DeclareFieldFormat</span><span class="hl opt">[</span>article,periodical<span class="hl opt">]{</span>volume<span class="hl opt">}{</span><span class="hl kwa">\mkbibemph</span><span class="hl opt">{</span><span class="hl kwc">#1</span><span class="hl opt">}}</span>
\<span class="hl kwa">DeclareFieldFormat</span><span class="hl opt">{</span>year<span class="hl opt">}{</span>(<span class="hl kwc">#1</span>)<span class="hl opt">}</span>
\<span class="hl kwa">DeclareNameAlias</span><span class="hl opt">{</span>default<span class="hl opt">}{</span>last-first<span class="hl opt">}</span>
\<span class="hl kwa">DeclareFieldFormat</span><span class="hl opt">{</span>pages<span class="hl opt">}{</span><span class="hl kwc">#1</span><span class="hl opt">}</span>
<span class="hl slc">%\renewbibmacro{journal}{#1}%</span>
<span class="hl slc">% from http://tex.stackexchange.com/questions/6743/biblatex-changing-the-order-of-entries</span>
<span class="hl kwa">\renewbibmacro</span>*<span class="hl opt">{</span>journal+issuetitle<span class="hl opt">}{</span><span class="hl slc">%</span>
<span class="hl slc">% \setunit*{\addspace}%</span>
<span class="hl slc">% (\printfield{year})%</span>
<span class="hl slc">% \usebibmacro{date}%</span>
<span class="hl kwa">\setunit</span>*<span class="hl opt">{</span><span class="hl kwa">\addspace</span><span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\usebibmacro</span><span class="hl opt">{</span>journal<span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\setunit</span>*<span class="hl opt">{</span><span class="hl kwa">\addspace</span><span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\iffieldundef</span><span class="hl opt">{</span>series<span class="hl opt">}</span>
<span class="hl opt">{}</span>
<span class="hl opt">{</span><span class="hl kwa">\newunit</span>
<span class="hl kwa">\printfield</span><span class="hl opt">{</span>series<span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\setunit</span><span class="hl opt">{</span><span class="hl kwa">\addspace</span><span class="hl opt">}}</span><span class="hl slc">%</span>
<span class="hl kwa">\newunit</span><span class="hl slc">%</span>
<span class="hl kwa">\printfield</span><span class="hl opt">{</span>volume<span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl slc">% \setunit{\addspace}% DELETED</span>
<span class="hl slc">% \usebibmacro{issue+date}% DELETED</span>
<span class="hl slc">% \setunit{\addcolon\space}% DELETED</span>
<span class="hl slc">% \usebibmacro{issue}% DELETED</span>
<span class="hl kwa">\newunit</span><span class="hl opt">}</span>
<span class="hl kwa">\renewbibmacro</span>*<span class="hl opt">{</span>title<span class="hl opt">}{</span><span class="hl slc">%</span>
<span class="hl kwa">\printfield</span><span class="hl opt">{</span>year<span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\setunit</span>*<span class="hl opt">{</span><span class="hl kwa">\addspace</span><span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\newunit</span>
<span class="hl kwa">\ifboolexpr</span><span class="hl opt">{</span>
test <span class="hl opt">{</span><span class="hl kwa">\iffieldundef</span><span class="hl opt">{</span>title<span class="hl opt">}}</span>
and
test <span class="hl opt">{</span><span class="hl kwa">\iffieldundef</span><span class="hl opt">{</span>subtitle<span class="hl opt">}}</span>
<span class="hl opt">}</span>
<span class="hl opt">{}</span>
<span class="hl opt">{</span><span class="hl kwa">\printtext</span><span class="hl opt">[</span>title<span class="hl opt">]{</span><span class="hl slc">%</span>
<span class="hl kwa">\printfield</span><span class="hl opt">[</span>titlecase<span class="hl opt">]{</span>title<span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\setunit</span><span class="hl opt">{</span><span class="hl kwa">\subtitlepunct</span><span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\printfield</span><span class="hl opt">[</span>titlecase<span class="hl opt">]{</span>subtitle<span class="hl opt">}}</span><span class="hl slc">%</span>
<span class="hl kwa">\newunit</span><span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\printfield</span><span class="hl opt">{</span>titleaddon<span class="hl opt">}}</span>
<span class="hl kwa">\renewbibmacro</span>*<span class="hl opt">{</span>publisher+location+date<span class="hl opt">}{</span><span class="hl slc">%</span>
<span class="hl kwa">\setunit</span>*<span class="hl opt">{</span><span class="hl kwa">\addspace</span><span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\printtext</span><span class="hl opt">[</span>parens<span class="hl opt">]{</span><span class="hl kwa">\printlist</span><span class="hl opt">{</span>location<span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\iflistundef</span><span class="hl opt">{</span>publisher<span class="hl opt">}</span>
<span class="hl opt">{</span><span class="hl kwa">\setunit</span>*<span class="hl opt">{</span><span class="hl kwa">\addcomma\space</span><span class="hl opt">}}</span>
<span class="hl opt">{</span><span class="hl kwa">\setunit</span>*<span class="hl opt">{</span><span class="hl kwa">\addcolon\space</span><span class="hl opt">}}</span><span class="hl slc">%</span>
<span class="hl kwa">\printlist</span><span class="hl opt">{</span>publisher<span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl slc">% \setunit*{\addcomma\space}%</span>
<span class="hl slc">% \usebibmacro{date}%</span>
<span class="hl opt">}</span><span class="hl slc">%</span>
<span class="hl kwa">\newunit</span><span class="hl opt">}</span>
</pre></div>
<p>This, coupled with:</p>
<div class="highlight-tex"><pre class="hl"><span class="hl kwa">\newcommand</span><span class="hl opt">{</span><span class="hl kwa">\citep</span><span class="hl opt">}[</span><span class="hl num">1</span><span class="hl opt">]{</span><span class="hl kwa">\autocite</span><span class="hl opt">{</span><span class="hl kwc">#1</span><span class="hl opt">}}</span>
<span class="hl kwa">\newcommand</span><span class="hl opt">{</span><span class="hl kwa">\citet</span><span class="hl opt">}[</span><span class="hl num">1</span><span class="hl opt">]{</span><span class="hl kwa">\citeauthor</span><span class="hl opt">{</span><span class="hl kwc">#1</span><span class="hl opt">}</span><span class="hl kwa">\autocite</span><span class="hl opt">{</span><span class="hl kwc">#1</span><span class="hl opt">}}</span>
</pre></div>
<p>enables my standard natbib workflow of \citep and \citet to work
properly too. Eventually I'll move to just using \autocite everywhere,
but for now, that's good enough.</p>