Biblatex 期刊:期刊、数字标点

Biblatex 期刊:期刊、数字标点

我在报告类中使用 biblatex-biber,需要修改我的期刊脚注:

JOUR 24,无2(1998年)

更改为:

《杂志》24.2 (1998)

我使用的文档样式不是我创建的,我需要知道将宏放在何处,无论是在cbx还是其他任何文件中。更改包括 1) 用句号替换逗号,2) 删除“no.”和空格。如果没有发行号,则应省略句号。

答案1

您的样式文件包含以下行

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

其中no定义为\DeclareFieldFormat{no}{\bibsstring{number}~#1}

但我们不想在后面有逗号和空格volume,也不关心数字前缀,所以我们去掉了它

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

biblatex-chicago由于您使用从的样式派生的样式notes,因此我们必须重新定义其宏。(实际上,您要实现的行为是biblatex的标准样式中的默认行为。)

由于是biblatex-chicago专门设计来精确反映 CMS 的,所以有时修改可能会相当尴尬,正如我们将在此看到的。

相关宏cjournal+ser+vol+numcperiodical+ser+vol+num包含以下行

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

这对于我们的目的来说需要

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

模仿标准定义(见于standard.bbx

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

所以我们需要

\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}

平均能量损失

\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}

在此处输入图片描述

相关内容