First thing to do is to add a field for the journal abbreviation to the article entrytype, journalabbr
in the MWE. Therefore you need to declare a datamodel (an extra file; in the MWE I've used filecontents to simulate that) and you have to tell biblatex/biber to use it in the package options.
Then you have to modify the cite command, so it fits your needs. \citep
from the authoryear-style (your citestyle) uses the \cite
command. There you just have to add a switch, which checks if the field journalabbr
is empty or not, and prints it out or not.
Last but not least you have to add the abbreviation fields to the entries.
MWE:
\begin{filecontents}{min.bib}
@article{boisson2003unexpected,
title={Unexpected protein families including cell defense components feature in the N-myristoylome of a higher eukaryote},
author={Boisson, B. and Giglione, Carmela and Meinnel, Thierry},
journal={Journal of Biological Chemistry},
journalabbr={JBC},
year={2003},
publisher={ASBMB}
}
\end{filecontents}
\begin{filecontents}{authorjabbryear.dbx}
\ProvidesFile{authorjabbryear.dbx}
\DeclareDatamodelFields[type=field,datatype=literal]{journalabbr}
\DeclareDatamodelEntryfields[article]{journalabbr}
\end{filecontents}
\documentclass[fontsize=11pt, paper=a4, ngerman, DIV=calc]{scrartcl}
\usepackage[scaled]{helvet}
\renewcommand*\familydefault{\sfdefault}
\usepackage{fixltx2e}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{babel}
\usepackage[german=quotes]{csquotes}
\usepackage[style=authoryear-comp,sortcites=true,sorting=nyt,isbn=false,natbib=true, citestyle=authoryear,bibstyle=authoryear,backend=biber,maxnames=1,maxcitenames=1,
,datamodel=authorjabbryear%added!
] {biblatex}
\DefineBibliographyStrings{ngerman}{ andothers = {{et\,al\adddot}} }
\renewbibmacro*{cite}{%from authoryear.cbx
\iffieldundef{shorthand}
{\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
{\usebibmacro{cite:label}%
\setunit{\addspace}}
{\printnames{labelname}%
\setunit{\nameyeardelim}}%
\iffieldundef{journalabbr}{}{%
\printfield{journalabbr}%
\setunit{\nameyeardelim}%
}%
\usebibmacro{cite:labelyear+extrayear}}
{\usebibmacro{cite:shorthand}}}
\addbibresource{min.bib}
\begin{document}
\citep{boisson2003unexpected}
How it should look like:
(Boisson et al., JBC, 2003)
\printbibliography
\end{document}
On way to tackle this problem is to
1) set the default number of cites names maxcitenames=1
2) and for all cites, occuring the first time, increase this number \AtEveryCitekey{\ifciteseen{}{\defcounter{maxnames}{99}}}
%!TEX TS-program = xelatex
%!BIB TS-program = biber
%!TEX encoding = UTF-8 Unicode
\documentclass[hidelinks,12pt]{article}
\usepackage[authordate,
citetracker=true,
sortcites=true,
sorting=ynt,
pagetracker=true,
backref=true,
minnames=1,
maxbibnames=10,
minbibnames=7,
uniquelist=true,
uniquename=allfull,
maxcitenames=1]
{biblatex-chicago}
\usepackage{xpatch}
\usepackage{filecontents}
\usepackage{hyperref}
%bibfile
\begin{filecontents}{myfile.bib}
@article{miscztyn2005history,
title={The History of Economic Growth: An Econometric Perspective},
author={Miscztyn, Martinez and Shirleen, Venucci and Alfred, Villanueva},
journal={World Economics Review},
vol={56},
number={3},
pages={234--257},
year={2005},
publisher={Elsevier}
}
\end{filecontents}
%add bibfile
\addbibresource{myfile.bib}
\AtEveryCitekey{\ifciteseen{}{\defcounter{maxnames}{99}}}
\xpatchbibmacro{cite}
{\printnames{labelname}}
{\ifciteseen
{\printnames{labelname}}
{\printnames{labelname}}}
{}
{}
\xpatchbibmacro{textcite}
{\printnames{labelname}}
{\ifciteseen
{\printnames{labelname}}
{\printnames{labelname}}}
{}
{}
\begin{document}
This is the first citation \textcite{miscztyn2005history}. Names of all authors are displayed as specified in maxcitenames. Beginning with the second citation, I want to get Miscztyn et al. (2005). Instead, I am getting \textcite{miscztyn2005history} repeated just as with the first citation.
\begin{refcontext}[sorting=nyt]
\printbibliography
\end{refcontext}
\end{document}
Best Answer
The
annotation
field is ignored by the standardbiblatex
stylesbiblatex
documentation, p. 15, §2.2.2 Data Fields.You could use the
addendum
ornote
field insteadbiblatex
documentation, p. 15, §2.2.2 Data Fields.biblatex
documentation, p. 15, §2.2.2 Data Fields.biblatex-chicago
has theannotation
optionbiblatex-chicago
documentation, p. 23, §4.2 Entry Fields.and
biblatex-chicago
documentation, p. 58, §4.4.3 Style Options – Preamble.So in your MWE, all you have to do is to load
biblatex-chicago
with theannotation
optionMWE