0

To conform with the style of the journal Past and Present, I am hoping to use biblatex-chicago to produce the following output for inline citations of articles (in this case \cite{walsham}):

Alexandra Walsham, ‘The Reformation and the Disenchantment of the World Reassessed’, Historical Journal, li, 2 (2008).

where "li" is the Roman numeral for 51 and "2" is the issue number. Note also that there is a comma after the journal title and that the article's full page range is suppressed even in the absence of a specific page citation in the \cite command.

At the same time, if the volume field is left blank but the number field is not, the output should look like this (\cite{markiewicz}):

Christopher Markiewicz, ‘Europeanist Trends and Islamicate Trajectories in Early Modern Ottoman History’, Past and Present, no. 239 (2018).

i.e., still with a comma after the journal title, then no.~\unspace or the like and then the number field.

Is there a simple way to tweak the macros to do this?

MWE

\documentclass{article}

\usepackage[notes]{biblatex-chicago}

\begin{filecontents*}{\jobname.bib}
@article{walsham,
  author  = {Alexandra Walsham},
  journal = {Historical Journal},
  volume  = {51},
  number  = {2},
  pages   = {497--528},
  title   = {The Reformation and the Disenchantment of the World Reassessed},
  year    = {2008}
}

@article{markiewicz,
  title={Europeanist trends and Islamicate trajectories in early modern Ottoman history},
  author={Markiewicz, Christopher},
  journal={Past and Present},
  number={239},
  pages={265--281},
  year={2018}
}
\end{filecontents*}
\addbibresource{\jobname.bib}

\begin{document}
\cite{walsham}

\cite{markiewicz} 
\end{document}
6
  • 1
    Generally speaking, biblatex-chicago is a very specific style with a very specific purpose (implementing CMoS requirements for bibliography and citations). Because CMoS style is very complex, the code in biblatex-chicago also has to be fairly complex. So modifications that "should be easy" (or even modifications that are easy in the standard styles) can be pretty painful (or difficult). Hence, I usually recommend not using biblatex-chicago as a basis for a new style.
    – moewe
    May 17, 2023 at 14:10
  • In your case though, have you double checked that the journal can accept TeX submissions (if this is for a submission)? Do they have a TeX template if they do accept TeX submissions?
    – moewe
    May 17, 2023 at 14:11
  • I am planning to submit a PDF initially and then, if the article is accepted, to use tex4ht to produce odt/docx output. (This is my usual approach to publishing in humanities journals, where docx is the standard.) I had hoped that adding the comma after the journal title would be easy (for those who understand how biblatex works!), but if it's not, it will take finite time to add those in manually when the time comes. May 18, 2023 at 2:26
  • 1
    Note that markiewicz does have a volume and a number. Do you want the volume={239}, number={1}, to be number={239},?
    – moewe
    May 18, 2023 at 7:24
  • Yes, thank you for catching that! I will fix it in my MWE now. May 18, 2023 at 11:43

1 Answer 1

1

As mentioned in the comments, biblatex-chicago is a very complex beast and even supposedly simple modifications can be surprisingly complex themselves.

I'd suggest the following. Note that I removed the pages field in citations only for @article entries for now, since that is the only thing you asked about.

\documentclass{article}

\usepackage[notes]{biblatex-chicago}

\DeclareFieldFormat{jourvol}{%
  \ifinteger{#1}
    {\Rn{#1}}
    {#1}}
\DeclareFieldFormat{journum}{%
  \iffieldundef{volume}
    {\ifboolexpr{%
       test {\ifnumerals{#1}}%
       and
       not test {\ifnumeral{#1}}%
     }%
     {\bibstring{numbers}\addspace #1}%
     {\bibstring{number}\addspace #1}}
    {#1}}

\renewbibmacro*{cjournal+ser+vol+num}{%
  \usebibmacro{journal+sub}{in}%
  \setunit{\addspace}%
  \printlist[periodplace]{location}%
  \newcunit
  \printfield[jourser]{series}%
  \newcunit
  \printfield[jourvol]{volume}%
  \setunit{\addcomma\addspace}%
  \printfield[journum]{number}}
  
\AtEveryCitekey{%
  \ifentrytype{article}
    {\clearfield{pages}}
    {}}


\begin{filecontents*}{\jobname.bib}
@article{walsham,
  author  = {Alexandra Walsham},
  journal = {Historical Journal},
  volume  = {51},
  number  = {2},
  pages   = {497--528},
  title   = {The Reformation and the Disenchantment of the World Reassessed},
  year    = {2008},
}
@article{markiewicz,
  title   = {Europeanist trends and Islamicate trajectories in early modern Ottoman history},
  author  = {Markiewicz, Christopher},
  journal = {Past and Present},
  number  = {239},
  pages   = {265--281},
  year    = {2018},
}
\end{filecontents*}
\addbibresource{\jobname.bib}

\begin{document}
\cite{walsham}

\cite{markiewicz}

\printbibliography
\end{document}

Alexandra Walsham, “The Reformation and the Disenchantment of the World Reassessed,” Historical Journal, li, 2 (2008)
Christopher Markiewicz, “Europeanist trends and Islamicate trajectories in early modern Ottoman history,” Past and Present, no. 239 (2018)

1
  • That did it precisely! Thank you very much, it is always much more elegant for the macros to produce the citation correctly automatically. May 19, 2023 at 13:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .