类似杂项的 Biblatex 条目类型,标题采用类似文章的样式

类似杂项的 Biblatex 条目类型,标题采用类似文章的样式

我引用的大部分新闻文章。许多来自报纸和杂志,这种@article条目类型似乎很合适。然而,许多也来自通讯社(如美联社、法新社和路透社),我一直使用@misc。使用这种编码方案,通讯社报道的标题最终与期刊标题的样式相同,这对我来说没有意义。

理想情况下,我希望至少为非印刷新闻文章*分配一个自定义条目类型,@news 其工作方式类似于@misc文章样式的标题(即默认情况下在引号内使用罗马字体),同时保留@misc真正的杂项。但是,如果需要自己定义输出样式,我会谨慎定义新的条目类型,因为这只是一份手稿,而不是完成的书。我还没有真正决定使用哪种引文系统,现在也不想决定。我只希望新闻引文具有一致的外观。

任何简单的解决方案都将受到赞赏。这解决方案moewe 的这个定义似乎有点过了,但我并不反对一些新的定义,只要它们简单就行。谢谢。

* 我还没有决定是否应该指定此条目类型,而不是@article打印新闻文章,以实现完美的一致性。欢迎提出建议。

最小的例子。

\documentclass{article}
\usepackage[style=verbose-ibid]{biblatex}
\addbibresource{news.bib}
\usepackage{subfiles}

\begin{filecontents}{news.bib}

@article{NYT:Pelletiere:A_War_Crime,
    author   = {Pelletiere, Stephen C.},
    title    = {A War Crime Or an Act of War?},
    journal  = {New York Times},
    pages    = {A29},
    date     = {2003-01-31},
}

@misc{AP:Hunt:Bush_Says_Saddam,
    author   = {Terence Hunt},
    title    = {Bush Says Saddam Would `Get His Ass Kicked' in Gulf War},
    organization = {Associated Press},
    date     = {1990-12-20},
}

\end{filecontents}


\begin{document}

Foo\autocites{NYT:Pelletiere:A_War_Crime}{AP:Hunt:Bush_Says_Saddam}.

\end{document}

答案1

如果你想要一个新的条目类型,标准方法是定义一个新的条目类型,如下所示如何使用 BibLaTeX/Biber 创建全新的数据类型?。需要在数据模型中定义一个新的条目类型,并且需要一个参考书目驱动程序(该驱动程序可以是别名),因此需要一些额外的代码。

一种更便宜的替代方案是为文件设置一种新的条目类型.bib,然后由后端 (Biber) 将其重新映射到具有一些附加属性的已知条目类型。由于您希望除了标题格式之外的@news行为类似于,我们可以重新映射到+ 。然后我们检查格式。这与 的方法相同,后者被重新映射到+ 。@misc@news@miscentrysubtype = {news},titleentrysubtype = {news},biblatex@phdthesis@thesistype = {phdthesis},

请注意,使用这种设置,您只能通过其字段区分 a@news和 a 。特别是,您不能直接过滤,您需要过滤+ 。如果您想同时过滤和,这可能没有影响。@miscentrysubtype\printbibliography@news@miscentrysubtype = {news},@news@misc

\documentclass{article}
\usepackage[style=verbose-ibid]{biblatex}

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[typesource=news,       typetarget=misc]
      \step[fieldset=entrysubtype, fieldvalue=news]
    }
  }
}

\DeclareFieldFormat[misc]{title}{%
  \iffieldequalstr{entrysubtype}{news}
    {\mkbibquote{#1}}
    {\mkbibemph{#1}}}

\begin{filecontents}{\jobname.bib}
@article{NYT:Pelletiere:A_War_Crime,
  author   = {Pelletiere, Stephen C.},
  title    = {A War Crime Or an Act of War?},
  journal  = {New York Times},
  pages    = {A29},
  date     = {2003-01-31},
}
@news{AP:Hunt:Bush_Says_Saddam,
  author       = {Terence Hunt},
  title        = {Bush Says Saddam Would \mkbibquote{Get His Ass Kicked} in Gulf War},
  organization = {Associated Press},
  date         = {1990-12-20},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
Foo\autocites{NYT:Pelletiere:A_War_Crime}{AP:Hunt:Bush_Says_Saddam}.
\end{document}

Stephen C. Pelletiere。“战争罪还是战争行为?”,载于:《纽约时报》(2003 年 1 月 31 日),A29;Terence Hunt。“布什称萨达姆将在海湾战争中‘被痛扁’”。美联社,1990 年 12 月 20 日。

相关内容