根據劍橋文法,最常見的日期寫法如下:
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}
雖然我並不贊成或反對“Jan”之後的句號,但我認為使用“th”是反對最普遍的風格。除了上面的語法連結外,請參閱巴斯大學的編輯風格,明確禁止它。我的英國英語老師也明確認為這是錯的。
當然,可能有一個技術解決方案可以省略“th”(參見LaTeX 中的日期格式為正文)。
如何省略參考書目中日期中的字尾(「st」、「nd」和「th」)?
目前可以預設列印“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}