Through the comments I understood that I had to use citestyle=numeric-comp
and bibstyle=ieee
to achieve the desired output.
MWE:
\documentclass{article}
\usepackage[english]{babel}
\usepackage{csquotes}
\usepackage[citestyle=numeric-comp,bibstyle=ieee,%
backend=biber,sortcites]{biblatex}
\renewbibmacro*{bbx:savehash}{} % Remove annoying dash
\addbibresource{ref.bib}
\begin{document}
Refs. \cite{Yang10,Yang09}\\
\end{document}
ref.bib
should be available. I am using lualatex
.
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}
Best Answer
Ad 1)
biblatex-ieee
setsmaxcitenames = 3, minnames = 3,
in the.cbx
andmaxnames = 999, minnames = 3,
in the.bbx
. This results inmaxcitenames=3, maxbibnames=999, mincitenames=3, minbibnames=3
.The
min<names>
counter must always be less or equal to themax<names>
counter, somaxnames=1,
conflicts with the min settings of3
. So you will have to change bothmaxcitenames
andmincitenames
.You would use
to change the citations only.
In the discussion below it emerged that you want to change (primarily) the behaviour in the bibliography, so
should give you what you want. As that changes both
maxcitenames
(for citations) andmaxbibnames
(for the bibliography) andmincitenames
(for citations) andminbibnames
(for the bibliography) respectively.Ad 2)
natbib=true
enables thenatbib
compatibility mode. You can then use\citep
as alias for\parencite
,\citet
for\textcite
. Additionally some ofnatbib
's cite alias feature is implemented. Note that the starred versions of the cite commands differ between standardbiblatex
andnatbib
mode. (See also §3.8.9natbib
Compatibility Commands of thebiblatex
documentation and Is there a disadvantage to using natbib=true withbiblatex
?.) If you don't need\citet
as alias for\textcite
, you probably don't neednatbib=true
.Ad 3) What is the "best" style is a purely subjective choice. If you happen to write for/under the supervision of anybody (that includes thesis instructors, publishers, journals, ...), the best style is what they tell you to use. If you don't have any instructions on style use what you like best or what seems to be the norm in your field.
The MWE
then gives