![如何将月份名称打印为字符串?](https://linux22.com/image/269007/%E5%A6%82%E4%BD%95%E5%B0%86%E6%9C%88%E4%BB%BD%E5%90%8D%E7%A7%B0%E6%89%93%E5%8D%B0%E4%B8%BA%E5%AD%97%E7%AC%A6%E4%B8%B2%EF%BC%9F.png)
month
我知道我可以用(或) 将当前月份(或日期)打印为整数day
。
我如何利用本地化信息将其打印为字符串?
03 -> March
编辑:添加了 MWE
.bib 文件:
@ONLINE{IPAustraliaStandardPatentApplication,
author = {{IP Australia}},
title = {Standard patent application process | IP Australia},
year = 2013,
note = {http://www.ipaustralia.gov.au/get-the-right-ip/patents/patent-application-process/standard-patent-application-process/},
urldate = {2013-05-21},
}
宏:
% URL Dates
\renewbibmacro*{urldate}{%
\printtext[parens]{%
\printfield{urlday}%
\setunit*{\addspace}%
\printfield{urlmonth}%
\setunit*{\addspace}%
\printfield{urlyear}%
}%
\newunit%
}
我希望urlmonth
打印为,例如May
。
答案1
答案很简单:参考书目中的格式由包的选项urldate
控制。因此urldate
biblatex
\documentclass{article}
\usepackage[backend=biber,urldate=comp]{biblatex}
\addbibresource{test.bib}
\begin{document}
Test 1 \cite{IPAustraliaStandardPatentApplication}
\printbibliography
\end{document}
将产生所需的输出(转换urlmonth
为单词),假设您的参考书目为test.bib
。有关更多选项,请参阅手册第 3.1.2.1 节第 60 页biblatex
。
更新:要更改日期的确切格式,您必须修改mkbibdatelong
宏的定义。这是在特定语言的文件中定义的,因此对于您来说english.lbx
(假设您用英语书写)。
为了避免修改这些,您可以在序言中进行重新定义。下面我包含的代码应以“2013 年 5 月 21 日”格式打印日期。 我还没有测试所有特殊情况,比如只有一天但没有月份等等。
\documentclass{article}
\usepackage[backend=biber,urldate=comp]{biblatex}
\AtBeginDocument{
\protected\def\mkbibdatelong#1#2#3{% y/m/d
% taken from english.lbx
\iffieldundef{#3} %day
{}
{\stripzeros{\thefield{#3}}\space}%
\iffieldundef{#2} %month
{}
{\mkbibmonth{\thefield{#2}}%
\iffieldundef{#3}
{\iffieldundef{#1}{}{\space}}
{,\nobreakspace}}%
%\iffieldundef{#1}{}{,\space}
\stripzeros{\thefield{#1}} %year
}%
}
\addbibresource{test.bib}
\begin{document}
Test 1 \cite{IPAustraliaStandardPatentApplication}
\printbibliography
\end{document}