I am looking for a certain kind of citing in my thesis. Unfortunality there is no option in biblatex for my needs. Is the best thing to declare an new "short journal"-field in the bib file or does LaTex recognice the initials of the Journal?

I added a full minimal example to show what i am actually working wiht:

 \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},
  year={2003},
  publisher={ASBMB}
}
\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[babel, 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] {biblatex} \addbibresource{min.bib} \DefineBibliographyStrings{ngerman}{ andothers = {{et\,al\adddot}} }

\begin{document}

\citep{boisson2003unexpected} \[1em] How it should look like: \[1em] (Boisson et al., JBC, 2003)

\printbibliography

\end{document}<code>

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}
  • 3
    Why don't you use the shortjournal field for the abbreviation? Then you wouldn't have to extend the datamodel. – Ulrike Fischer Jul 31 '14 at 7:34

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.