如何使用 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選項以使用一月而不是一月。因此,我們可以從 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}

在此輸入影像描述

相關內容