1

This post shows how an author-year-journal citation style can be realized by minimal modification of the \cite macro. I adapted the MWE from that post to create an author-journal-year style; however, the comma which should separate the journal from the year appears only if the journal name does not contain a terminal period. Is it possible to add the comma regardless of any terminal punctuation?

The \cite macro is modified by adding the following three lines:

 \setunit{\addcomma\space}%
 \usebibmacro{journal}%
 \setunit{\addcomma\space}%

The complete MWE is as follows:

\documentclass{beamer}
\usepackage[english]{babel}
\usepackage[style=authoryear]{biblatex}
\addbibresource{biblatex-examples.bib}
\usetheme{Madrid}


\renewbibmacro*{cite}{%
  \iffieldundef{shorthand}
    {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
       {\usebibmacro{cite:label}%
        \setunit{\addspace}}
       {\printnames{labelname}%
        \setunit{\nameyeardelim}}%
     \setunit{\addcomma\space}%
     \usebibmacro{journal}%
     \setunit{\addcomma\space}%
     \usebibmacro{cite:labelyear+extrayear}%
    }
    {\usebibmacro{cite:shorthand}}}

\begin{document}
\begin{frame}{Polaron Transformation}

\begin{itemize}

\item The original theory was  developed by Munn-Silbey{\tiny \footcite{cicero}\footcite{aksin}\footcite{angenendt}} and further refined by Zhao et al. \footcite{bertram}\footcite{doody}

\end{itemize}
\end{frame}
\end{document}

It produces the following output: enter image description here

As can be seen, the 3rd and 5th references include a comma between the journal and the year, while the 2nd and 4th do not. I would like the 2nd, for example, to appear as "Aksin et al., J. Organomet. Chem., 2006.".

Separately, can the \cite macro be easily modified to place parentheses around the year? In this case, the desired formatting of the 2nd reference would be "Aksin et al., J. Organomet. Chem. (2006).".

  • I suggest you ask about the second point (parentheses around the year) in a new question. – moewe Apr 27 at 16:48
2

On my system (biblatex v3.14) I get the expected output

Aksın et al., J. Organomet. Chem., 2006.

It seems that you are running an older version of biblatex that doesn't yet add \isdot to the journaltitle format, see https://github.com/plk/biblatex/issues/851 for background.

Update your system if possible. If that is not possible,

\DeclareFieldFormat{journaltitle}{\mkbibemph{#1\isdot}}

should suffice as a workaround.


Note that I just updated my answer to Add journal name to biblatex references to avoid outdated bibmacros.

| improve this answer | |
  • Thanks moewe, your suggested workaround resolved the issue with my version of biblatex. I will attempt to update (I encountered unresolvable issues during my last update attempt). As you suggested, I created a second question about parenthesizing the year. – user001 Apr 27 at 17:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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