Biblatex 和图书馆领域

Biblatex 和图书馆领域

我有许多 Bibtex 数据库文件,正在更新其biblatex格式。在 BibTeX 中,我创建了一个自定义图书馆字段,该字段以小写字母显示在书目条目的末尾。我通过创建新的书目样式来实现这一点。

我只想让图书馆字段出现在每个引用的末尾。我知道它可能在 262 页手册的某个地方,但坦率地说,即使对于使用 LaTeX 和 BibTeX 近 30 年的人来说,这本手册也相当难以理解(哦,这是一本很好的“快速入门”指南!)。任何关于如何快速轻松地做到这一点的指示都会受到欢迎。

我正在使用这种authoryear风格。

答案1

使用标准样式,您只需添加一个调用即可将library字段直接打印到宏中addendum+pubstate

\DeclareFieldFormat{library}{\textsc{call number}\addcolon\space#1}
\renewbibmacro*{addendum+pubstate}{%
  \printfield{addendum}%
  \newunit\newblock
  \printfield{pubstate}%
  \newunit\newblock
  \printfield{library}}

平均能量损失

\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@Book{pennington1981,
  editor =       {Pennington, Kenneth},
  title =        {Johannis {Teutonici} apparatus glossarum in
                  {Compilationem} tertiam},
  date =         1981,
  volume =       1,
  number =       3,
  series =       {Monumenta iuris canonici, Series A: Corpus glossatorum},
  location =     {Rome},
  publisher =    {Biblioteca apostolica vaticana},
  library =      {BV 104 .M81 ser.A v.3 t.1},
}
\end{filecontents*}

\documentclass{article}
\usepackage[backend=biber, style=authoryear]{biblatex}
\addbibresource{\jobname.bib}

\DeclareFieldFormat{library}{\textsc{call number}\addcolon\space#1}
\renewbibmacro*{addendum+pubstate}{%
  \printfield{addendum}%
  \newunit\newblock
  \printfield{pubstate}%
  \newunit\newblock
  \printfield{library}}

\begin{document}
\nocite{*}
\printbibliography
\end{document}

答案2

供(未来)参考,这种源映射相当简单。然而,Biber 是必需的。

\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@Book{pennington1981,
  editor =       {Pennington, Kenneth},
  title =        {Johannis {Teutonici} apparatus glossarum in
                  {Compilationem} tertiam},
  date =         1981,
  volume =       1,
  number =       3,
  series =       {Monumenta iuris canonici, Series A: Corpus glossatorum},
  location =     {Rome},
  publisher =    {Biblioteca apostolica vaticana},
  library =      {BV 104 .M81 ser.A v.3 t.1},
}


\end{filecontents*}

\documentclass{article}

\usepackage[backend=biber, style=authoryear]{biblatex}

\addbibresource{\jobname.bib}

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map[overwrite]{
       \step[fieldsource=library,]
       \step[fieldset=addendum, fieldvalue={\textsc{call number:}~}]
       \step[fieldset=addendum, origfieldval, append]
    }
  }
}

\begin{document}

\section{Publications}
\nocite{*}
\printbibliography

\end{document}

相关内容