抑制“在:” biblatex

抑制“在:” biblatex

如何隐藏 之前的“In: ” journaltitle?像这样:

出处:应用物理学杂志

答案1

装入包后插入比布拉特克斯

\renewbibmacro{in:}{}

或者如果您只需要它用于类型条目@article(可以轻松扩展到其他条目类型 - 见下文):

[...]
\usepackage{biblatex}
\renewbibmacro{in:}{%
  \ifentrytype{article}{}{\printtext{\bibstring{in}\intitlepunct}}}
[...]

在此处输入图片描述

如果您需要更多条目类型,请使用:

\renewbibmacro{in:}{%
  \ifboolexpr{%
     test {\ifentrytype{article}}%
     or
     test {\ifentrytype{inproceedings}}%
  }{}{\printtext{\bibstring{in}\intitlepunct}}%
}

答案2

请注意,接受的答案要简单得多,这个答案可能不应该使用

我不知道是否有一种简单的方法可以在文档中执行此操作。我解决这个问题的方法是.bbx在 biblatex 中定义我自己的样式,以修复其一些比较奇怪的默认值。[bibstyle=mybibstyle]当您加载 biblatex 时,此样式(此处命名为“mybibstyle”)会使用该选项加载。(我想这可以添加到文档的序言中,但我更喜欢不要将这种长篇修改添加到文档中。(这是人们会一直使用的东西。))

这是一个示例;代码是从standard.bbxbiblatex 中的文件复制而来的。它假设authoryear-compbiblatex 的样式作为起点,然后修改“文章”类型的参考书目驱动程序。(它还会从文章标题中删除引号;如果不需要,请删除该代码。)

如果有更简单的方法可以做到这一点,我会很高兴找到答案。

\ProvidesFile{mybibstyle.bbx}
\RequireBibliographyStyle{standard}
\RequireBibliographyStyle{authoryear-comp} % change this if you're not using author-year
\DeclareFieldFormat[article,incollection,unpublished]{title}{#1}%No quotes for article titles
\DeclareFieldFormat[thesis]{title}{\mkbibemph{#1}} % Theses like book titles
\DeclareBibliographyDriver{article}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/translator+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{bytranslator+others}%
  \newunit\newblock
  \printfield{version}%
  \newunit\newblock%
  \usebibmacro{journal+issuetitle}%
  \newunit
  \usebibmacro{byeditor+others}%
  \newunit
  \usebibmacro{note+pages}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{issn}}
    {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

如果你的资料​​库使用的是 bibstyle,而它本身会改变“文章”类型的格式,那么你应该复制定义到您的自定义 bbx 文件中作为起点。从驱动程序中删除的相关代码是\usebibmacro{in:}(这是我从标准 bbx 版本中删除的所有内容,以创建上述版本。)

答案3

因为它经常出现,biblatex-ext样式有一个选项可以删除仅适用于 s 的“in:” @article

环境

articlein=false,

删除“in:”@article。所有其他类型的“in:”均保留。另请参阅 §4.1常规选项biblatex-ext文档

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber, style=ext-authoryear, articlein=false]{biblatex}

\addbibresource{biblatex-examples.bib}

\begin{document}
\cite{sigfridsson,pines}
\printbibliography
\end{document}

Pines, Shlomo (1979)。《根据 Al-Farabi、ibn Bajja 和 Maimonides 的观点,人类知识的局限性》。《中世纪犹太历史和文学研究》。Isadore Twersky 编辑。马萨诸塞州剑桥:哈佛大学出版社,第 82-109 页。//Sigfridsson, Emma 和 Ulf Ryde (1998)。《从电势和电矩推导原子电荷的方法比较》。《计算化学杂志》19.4,第 377-395 页。doi:10.1002/(SICI)1096-987X(199803)19:4<377::AID-JCC1>3.0.CO;2-P。


如果应该删除所有条目类型的“in:”,则接受答案中的解决方案

\renewbibmacro{in:}{}

仍然是可行的方法(并且它并不比使用选项复杂得多)。

相关内容