0

I use biblatex-biber in a report class, and need to modify my journal footnote from this:

JOUR 24, no. 2 (1998)

to this:

JOUR 24.2 (1998)

I am using a document style I did not create, and need to know where to place the macros, whether in cbx or any other file. The changes involve 1) replacement of comma with period, 2) elimination of "no." and space. In case there is no issue number, the period should be omitted.

  • How can we possibly know 'where to place the macros' if you don't give us code? Please post a minimal working example (MWE). – cfr Feb 22 '15 at 19:30
  • Without knowing the .sty/.cls file, it's hard to say something useful. – Bernard Feb 22 '15 at 19:31
  • 1
    As Volume.Number is the default, you clearly need to show us a minimal example. – MaxNoe Feb 22 '15 at 19:39
  • I would gladly provide a MWE but this complex document class given to me does not afford that. Most if not all macros rely on each other across several files. I am thinking on how to provide that. – Nhaps Feb 23 '15 at 15:20
  • 1
    The document class itself will in most cases have no bearing on bibalatex's output. You could check if the problem persists, if you use, say, the article class. We will, however, not be able to come up with a proper answer without the appropriate information - you haven't even told us the biblatex style you use. – moewe Feb 23 '15 at 16:29
4

Your style file contains the lines

\renewbibmacro*{volume+number+eid}{%
  \printfield{volume}%
  \setunit{\addcomma\space}%
  \printfield[no]{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}}

where no is defined as \DeclareFieldFormat{no}{\bibsstring{number}~#1}.

But we don't want a comma and space after the volume and don't care for the number prefix, so we get rid of it

\renewbibmacro*{volume+number+eid}{%
  \printfield{volume}%
  \setunit*{\adddot}%
  \printfield{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}}

Since you use a style derived from biblatex-chicago's notes style, we will have to redefine its macros. (Indeed the behaviour you seek to achieve is the default behaviour in biblatex's standard styles.)

Since biblatex-chicago is specifically designed to exactly mirror the CMS, at times modifications can be quite awkward, as we will see here.

The relevant macros cjournal+ser+vol+num and cperiodical+ser+vol+num both contain the lines

\printfield[jourvol]{volume}%
\setunit*{\adddot}%
\printfield[journum]{number}%

which for our purposes need to be

\printfield[jourvol]{volume}%
\setunit*{\adddot}%
\printfield{number}%

mimicking the standard definition (found in standard.bbx) of

\newbibmacro*{volume+number+eid}{%
  \printfield{volume}%
  \setunit*{\adddot}%
  \printfield{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}}

So we need to

\renewbibmacro*{cjournal+ser+vol+num}{%
  \usebibmacro{journal+sub}%
  \setunit*{\addspace}%
  \printlist[periodplace]{location}%
  \setunit*{\addspace}%
  \iffieldundef{series}
    {}
    {\newcunit
      \printfield[jourser]{series}%
      \newcunit}%\setunit*{\addspace}?
  \printfield[jourvol]{volume}%
  \setunit*{\adddot}%
  \printfield{number}%
  \setunit{\addcomma\addspace}%
  \printfield{eid}%
  \newunit}

\renewbibmacro*{cperiodical+ser+vol+num}{% For periodical entries,
  \printtext[title]{% article subtype
    \printfield[noformat]{title}%
    \setunit{\addcolon\addspace}%
    \printfield[noformat]{subtitle}}% 
  \setunit*{\addspace}%
  \printlist[periodplace]{location}%
  \setunit*{\addspace}%
  \iffieldundef{series}
    {}
    {\newcunit
      \printfield[jourser]{series}%
      \newcunit}%\setunit*{\addspace}?
  \printfield[jourvol]{volume}%
  \setunit*{\adddot}%
  \printfield{number}%
  \setunit{\addcomma\addspace}%
  \printfield{eid}%
  \newunit}

MWE

\documentclass{article}
\usepackage[notes,backend=biber]{biblatex-chicago}
\addbibresource{biblatex-examples.bib}

\renewbibmacro*{cjournal+ser+vol+num}{%
  \usebibmacro{journal+sub}%
  \setunit*{\addspace}%
  \printlist[periodplace]{location}%
  \setunit*{\addspace}%
  \iffieldundef{series}
    {}
    {\newcunit
      \printfield[jourser]{series}%
      \newcunit}%\setunit*{\addspace}?
  \printfield[jourvol]{volume}%
  \setunit*{\adddot}%
  \printfield{number}%
  \setunit{\addcomma\addspace}%
  \printfield{eid}%
  \newunit}

\renewbibmacro*{cperiodical+ser+vol+num}{% For periodical entries,
  \printtext[title]{% article subtype
    \printfield[noformat]{title}%
    \setunit{\addcolon\addspace}%
    \printfield[noformat]{subtitle}}% 
  \setunit*{\addspace}%
  \printlist[periodplace]{location}%
  \setunit*{\addspace}%
  \iffieldundef{series}
    {}
    {\newcunit
      \printfield[jourser]{series}%
      \newcunit}%\setunit*{\addspace}?
  \printfield[jourvol]{volume}%
  \setunit*{\adddot}%
  \printfield{number}%
  \setunit{\addcomma\addspace}%
  \printfield{eid}%
  \newunit}

\begin{document}
\cite{baez/article,bertram,doody}

\printbibliography
\end{document}

enter image description here

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.