如何使用 babel+biber+biblatex 从参考书目中的英式英语默认日期格式中删除“st”、“nd”和“th”?

如何使用 babel+biber+biblatex 从参考书目中的英式英语默认日期格式中删除“st”、“nd”和“th”?

根据剑桥语法,最常见的日期写法如下:

1993 年 1 月 20 日

并不是

1993 年 1 月 20 日

但是,“th”仍然默认由 biber+biblatex 产生:

\documentclass[british]{article}
\usepackage{babel}
\usepackage[backend=biber]{biblatex}
\begin{filecontents}{\jobname.bib}
  @book{mybook,
    author      =   {Author},
    date        =   {1993-01-20},
    title       =   {Wonderful Tiny Fact (WTF)}
  }
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\cite{mybook}
\printbibliography
\end{document}

结果如下所示: 运行 pdflatex-biber-pdflatex 循环的结果

虽然我并不反对或赞成在“Jan”后面使用句号,但我认为使用“th”与最普遍的风格背道而驰。除了上述语法链接外,请参阅巴斯大学的编辑风格,其中明确禁止这样做。我的英国英语老师也明确认为这是错误的。

当然,可能有一个技术解决方案来省略“th”(见LaTeX 中的日期格式为正文)。

  1. 如何省略参考书目中的日期后缀(“st”、“nd”和“th”)?

  2. 目前默认打印“th”的设置实际上可以归类为错误吗?

答案1

设置dateabbrev=false选项以使用 January 而不是 Jan。澳大利亚风格不使用序数。因此,我们可以从 australian.lbx 复制日期定义,如下所示:

\documentclass[british]{article}
\usepackage{babel}
% dateabbrev=false will stop abbreviation of months
\usepackage[backend=biber,dateabbrev=false]{biblatex}
\begin{filecontents}{\jobname.bib}
  @book{mybook,
    author      =   {Author},
    date        =   {1993-01-20},
    title       =   {Wonderful Tiny Fact (WTF)}
  }
\end{filecontents}
\addbibresource{\jobname.bib}
% Taken from australian.lbx which does not use ordinal numbers
\DefineBibliographyExtras{british}{%
  \protected\def\mkbibdatelong#1#2#3{%
    \iffieldundef{#3}
      {}
      {\stripzeros{\thefield{#3}}%
       \iffieldundef{#2}{}{\nobreakspace}}%
    \iffieldundef{#2}
      {}
      {\mkbibmonth{\thefield{#2}}%
       \iffieldundef{#1}{}{\space}}%
    \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\stripzeros{\thefield{#1}}}}%
  \protected\def\mkbibseasondateshort#1#2{%
    \mkbibseason{\thefield{#2}}%
    \iffieldundef{#1}{}{\space}%
    \mkyearzeros{\thefield{#1}}}%
  \protected\def\mkbibseasondatelong#1#2{%
    \mkbibseason{\thefield{#2}}%
    \iffieldundef{#1}{}{\space}%
    \mkyearzeros{\thefield{#1}}}%
}
\pagestyle{empty}
\begin{document}
\cite{mybook}
\printbibliography
\end{document}

在此处输入图片描述

相关内容