如何在 BibLaTeX 中引用标准(ISO等)?

如何在 BibLaTeX 中引用标准(ISO等)?

我想使用 BibLaTeX 引用 ISO 标准。我发现的所有 BibTeX 指南都建议使用misc和替换authoreditor字段,用一个number字段来表示 ISO 标准的完整字符串(例如“ISO 9241-210:2010”)。但是 BibLaTeX 不会显示number。我发现这个德国螺纹建议将miscBibliographyDriver 复制到新standard类型(如“2.1.3 不支持的类型”一节所建议的)BibLaTeX 文档)并替换

\usebibmacro{author/editor+others/translator+others} 

经过

\usebibmacro{series+number}

结果是standard.bbx文件的完整改编副本,但重命名为din.bbx。这是唯一/最佳解决方案吗?我不能只更改我需要的内容并以某种方式插入吗?


此链接与 TeX 无关,但可能有用:http://www.garshol.priv.no/blog/47.html

答案1

这是使用 biblatex 2.0/biber 1.0 的解决方案。您可以为此定义自己的条目类型,然后只需为新类型编写自己的驱动程序即可。由于您“拥有”此驱动程序,因此您可以用它做您想做的事情,添加新字段,按照您喜欢的方式格式化它们。这非常简单,我只是从standard.bbxbiblatex 中复制了一个现有驱动程序并对其进行了一些更改,使其成为“标准”驱动程序,并在数据模型声明(NUMBER 和 TYPE)中引用我允许此类型的字段。您实际上是在向数据模型添加内容,因为这已经指定了所有条目类型中都允许使用最常见的字段,例如 AUTHOR、YEAR 等。NUMBER 和 TYPE 不允许,所以我添加了它们。我不必在数据模型中实际定义这些字段,因为它们已经存在 - 当然,您可以用新名称创建全新的字段,但您需要一些\DeclareDatamodelFields声明。请参阅 biblatex 2.x 文档的第 4.5.3 节。

\begin{filecontents}{test1.bib}
@STANDARD{test1,
  author = {Alan Author},
  title = {I Claim This Technology},
  type = {ISO},
  number = {ISO 9241-210:2010},
  year = {2010}
}
\end{filecontents}
\documentclass{article}
\usepackage[style=numeric]{biblatex}
\addbibresource{test1.bib}
\DeclareDatamodelEntrytypes{standard}
\DeclareDatamodelEntryfields[standard]{type,number}
\DeclareBibliographyDriver{standard}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit\newblock
  \printfield{number}%
  \setunit{\addspace}\newblock
  \printfield[parens]{type}%
  \newunit\newblock
  \usebibmacro{location+date}%
  \newunit\newblock
  \iftoggle{bbx:url}
    {\usebibmacro{url+urldate}}
    {}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \usebibmacro{related}%
  \usebibmacro{finentry}}
\begin{document}
\cite{test1}
\printbibliography
\end{document}

在此处输入图片描述

答案2

根据ietf建议,建议使用@techreport 的 RFC 参考,并提供一些其他提示。它可能也适用于 ISO。

   @techreport{rfc1654,
   AUTHOR = "Yakov Rekhter and Tony Li",
   TITLE = "{A Border Gateway Protocol 4 (BGP-4)}",
   HOWPUBLISHED = {Internet Requests for Comments},
   TYPE="{RFC}",
   NUMBER=1654,
   PAGES = {1-56},
   YEAR = {1995},
   MONTH = {July},
   ISSN = {2070-1721},
   PUBLISHER = "{RFC Editor}",
   INSTITUTION = "{RFC Editor}",
   URL={http://www.rfc-editor.org/rfc/rfc1654.txt}
   }

我使用 natbib 包获取[RFC1654],查看此帖子

答案3

你可以尝试https://www.ctan.org/search?phrase=din1505,它根据德国 DIN 1505 标准实现了各种文档类型的正确引用。警告:整个文档都是德文的。

相关内容