![在 biblatex 中用“page consulté le”重新定义法语书目字符串“visité le”](https://linux22.com/image/351124/%E5%9C%A8%20biblatex%20%E4%B8%AD%E7%94%A8%E2%80%9Cpage%20consult%C3%A9%20le%E2%80%9D%E9%87%8D%E6%96%B0%E5%AE%9A%E4%B9%89%E6%B3%95%E8%AF%AD%E4%B9%A6%E7%9B%AE%E5%AD%97%E7%AC%A6%E4%B8%B2%E2%80%9Cvisit%C3%A9%20le%E2%80%9D.png)
我试过
\DefineBibliographyStrings{french}{
urldate = {page consultée le},
}
在 Overleaf 中,但我收到了这个错误
Package xkeyval Error: `urldate' undefined in families `blx@lbx'.
我使用的是polyglossia
而不是babel
。 不是inputenc
也不是 UTF8。 XeLaTeX。
好的,从 urldate 切换到 urlseen 解决了一个问题。但是一旦我使用这个:
\DeclareFieldFormat{urldate}{%
\thefield{urlday}\adddot\addspace%
\mkbibmonth{\thefield{urlmonth}}\adddot\addspace%
\thefield{urlyear}\isdot}
它停止工作了。
答案1
正确的字符串是urlseen
而不是urldate
从中可以看出
\DeclareFieldFormat{urldate}{\mkbibparens{\bibstring{urlseen}\space#1}}
所以你需要
\DefineBibliographyStrings{french}{
urlseen = {page consultée le},
}
你可能想要的日期
\DefineBibliographyExtras{french}{%
\protected\def\mkbibdatelong#1#2#3{%
\iffieldundef{#3}
{}
{\thefield{#3}%
\iffieldundef{#2}{}{\nobreakspace}}%
\iffieldundef{#2}
{}
{\mkbibmonth{\thefield{#2}}%
\iffieldundef{#1}{}{\space}}%
\iffieldbibstring{#1}
{\bibstring{\thefield{#1}}}
{\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}}
连同选项urldate=long
。