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}
You can do that with the xpatch
package. I think the following corresponds to what you want for online
entries:
\documentclass[12pt]{report}
\usepackage[a4paper,width=150mm,top=25mm,bottom=25mm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fourier}
\usepackage{filecontents}
\begin{filecontents}{referanser.bib}
@online{Ibsen90,
author = {Henrik Ibsen},
title = {Hedda {G}abler},
year = {1890},
url = {http://www.uia.no/no/portaler/bibliotek/finn_fagstoff}}
\end{filecontents}
\usepackage[norsk]{babel}
\usepackage[
backend=biber,
style=ieee,
sorting=none
]{biblatex}
\addbibresource{referanser.bib}
\DeclareFieldFormat[online]{title}{\mkbibemph{#1}\isdot}
\DefineBibliographyStrings{norsk}
{ bibliography = {Litteraturliste},
url = {Tilgjengelig},
}
\usepackage{xpatch}
\xpatchbibdriver{online}{%
\setunit{\adddot\addspace}%
\printtext[parens]{\usebibmacro{date}}%
}{%
\setunit{\addspace}%
\printtext[parens]{\usebibmacro{date}}%
}{}{}
\xpatchbibdriver{online}{%
\newunit\newblock%
\usebibmacro{url+urldate}%
}{%
\setunit{\adddot\space}\newblock%
\usebibmacro{url+urldate}%
}{}{}
\xpatchbibdriver{online}{%
\usebibmacro{finentry}}
{%
}{}{}
\begin{document}
\nocite{*}
\printbibliography
\addcontentsline{toc}{chapter}{Bibliographie}
\end{document}
![enter image description here](https://i.stack.imgur.com/E2HPS.png)
Best Answer
Only following entry types (fallbacks) use the
publisher
field:book, collection, inbook, incollection, inproceedings, manual and proceedings.
So you may choose one of those entry types, or you modify the bibdriver-macro for i.e. @online:
Using the package
xpatch
you can easily replace strings from a macro. So if you add following to your MWE:It will add the
publisher+location+date
macro after thenote
-field, which is default place and behaviour for those fields (see bibdrivers of the entry types above).If you - however - only want the field
publisher
, replace the string by: