如何将月份名称打印为字符串?

如何将月份名称打印为字符串?

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控制。因此urldatebiblatex

\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}

相关内容