从样式中删除引号

从样式中删除引号

我在 latex 中使用标准样式,并想覆盖它,以从 Type 中删除引号Conference。在我的 bbx 文件中,我使用:

\RequireBibliographyStyle{standard}

我以为我可以使用下面的方法来删除所有引号。但那不起作用。

\DeclareFieldFormat{title}{#1}  

答案1

biblatex的字段格式允许特定类型的自定义。biblatex打印字段时,它首先检查当前条目的条目类型是否设置了特殊格式;如果是,则使用特定类型的格式,否则biblatex将返回该字段的通用格式。标准样式大量使用此方案,通常为具有不同输出的类型定义通用格式和特定​​类型的格式。

“通用”格式用 定义\DeclareFieldFormat{<field>}{<format code>},类型特定格式用定义\DeclareFieldFormat[<types>]{<field>}{<format code>}。星号形式\DeclareFieldFormat*{<field>}{<format code>}重置所有类型特定定义,然后仅定义通用格式。

如果直接使用\DeclareFieldFormat{<field>}{<format code>}没有达到预期效果,则可能需要使用特定于类型的格式。只有在样式实现时仔细检查才能确定。


字段格式title使用特定于类型的格式,默认值可以在biblatex.def,第 524-530 行并且是

\DeclareFieldFormat{title}{\mkbibemph{#1}}
\DeclareFieldFormat
  [article,inbook,incollection,inproceedings,patent,thesis,unpublished]
  {title}{\mkbibquote{#1\isdot}}
\DeclareFieldFormat
  [suppbook,suppcollection,suppperiodical]
  {title}{#1}

这意味着标题通常用 格式化\mkbibemph(基本上\emph,通常会给出斜体,如果嵌套则切换回直立),但第二个定义中列出的类型使用引号(\mkbibquote),而第三个定义中列出的类型没有特殊格式。

示例书目如下@suppcollection安克与梅勒), @book(马龙), @incollection(松树) 和@article西格弗里德森和赖德) 的标题格式如下(添加颜色只是为了更容易在视觉上区分不同的行/组,第一个为红色,第二个为蓝色,最后一个为绿色)。

@suppcollection 的标题没有特殊格式,@book 的标题以斜体显示,@incollection 和@article 有引号。


\DeclareFieldFormat{title}{#1}

只有没有特定定义的类型的格式才会改变。特别是,不会删除引号,因为这些引号是由特定类型的指令添加的;相反,您可以将标题从强调字体更改为正常字体(例如@book,,@online...)。

在我们上面的例子中,只有红色标题@book 马龙从斜体变为无格式。

@book 的标题没有特殊格式。


\DeclareFieldFormat*{title}{#1}

在应用新格式之前,您会清除所有类型特定的格式。这意味着现在所有类型都使用正常/当前字体:没有引号,也没有添加强调。

在本例中,所有条目都具有相同的字段格式,不添加任何格式。(所有标题都以相同的颜色显示,因为它们都共享一个通用的字段格式。)

所有标题均未格式化显示。


\DeclareFieldFormat
  [article,inbook,incollection,inproceedings,patent,thesis,unpublished]
  {title}{#1\isdot}

您只需更改那些带有引号的字段格式即可将其丢失。

在示例中,@incollection@article条目的蓝色标题删除了引号。

@incollectionand@article` 的标题周围没有引号。


平均能量损失

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

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

% double quotes for British English
\DeclareQuoteAlias[american]{english}{british}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@suppcollection{anker,
  author    = {Anker, Elizabeth S. and Meyler, Bernadette},
  pages     = {1--30},
  publisher = {Oxford University Press},
  editor    = {Anker, Elizabeth S. and Meyler, Bernadette},
  booktitle = {New Directions in Law and Literature},
  title     = {Introduction},
  year      = {2017},
  location  = {New York},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{document}
\nocite{sigfridsson,maron,anker,pines}
\printbibliography
\end{document}

至于为什么默认行为是这样的,我只能提供以下观察。

不同类型的作品的标题格式不同,这并不是 所独有的biblatex。众所周知的 APA 格式(https://apastyle.apa.org/style-grammar-guidelines/references/elements-list-entry#title) 和芝加哥风格 (https://www.chicagomanualofstyle.org/tools_citationguide/citation-guide-2.html) 也呈现出类似的模式。

粗略地说,biblatex将独立作品的标题(@books、@collections、整个期刊等)格式化为斜体,而仅构成整体一部分的从属作品(@inbook、、、等)的标题则用引号格式化。我喜欢这样想:如果您浏览本地图书馆,您会在书籍@incollection@article期刊的封面或书脊上找到斜体标题,并且通常无需打开书即可阅读。通常只有在打开书并查看目录或相关论文/章节/部分后才能找到引号中的标题。

相关内容