我正在使用带有 IEEE 的 biblatex ,并且我得到了带有和不带有括号的日期,具体取决于我使用的条目类型(例如@journal
,,,等等)。@online
@misc
我曾尝试搜索 biblatex 文档(https://ctan.uib.no/macros/latex/contrib/biblatex/doc/biblatex.pdfmisc
) 和其他论坛帖子,但从未发现同样的问题。我制作了一个最小工作示例,其中显示了和条目类型的日期格式online
。我更喜欢第一个没有括号的。
有没有办法定制所有条目类型的日期格式,或者单独定制,以便删除括号?
梅威瑟:
\documentclass{article}
\usepackage[a4paper]{geometry}
\usepackage[style=ieee,dashed=false]{biblatex}
\begin{filecontents}{bibliography.bib}
@misc{source1,
author = {Name Nameson},
title = {Misc source},
date = {2022-01-13},
url = {google.com},
}
@online{source2,
author = {Name Nameson},
title = {Online source},
date = {2022-01-13},
url = {google.com},
}
\end{filecontents}
\addbibresource{bibliography.bib}
\begin{document}
This is the first source \cite{source1} and this is the second source \cite{source2}.
\printbibliography
\end{document}
答案1
此类格式化问题取决于样式。在这种情况下,日期和style=ieee,
非日期之间存在差异。您通常不会在文档中找到对此的讨论(样式文档和文档中都没有讨论)。@online
@online
biblatex
假设您想去掉括号,可以使用以下补丁。(没有针对不同样式的通用规则来告诉您需要做什么才能改变这样的事情。您必须查看所讨论样式的代码。在这种情况下,括号是由驱动程序中\printtext[parens]{...}
的包装器添加的。)\usebibmacro{date}
@online
\documentclass{article}
\usepackage[style=ieee,dashed=false]{biblatex}
\usepackage{xpatch}
\xpatchbibdriver{online}
{\printtext[parens]{\usebibmacro{date}}}
{\usebibmacro{date}}
{}{}
\begin{filecontents}{\jobname.bib}
@misc{source1,
author = {Name Nameson},
title = {Misc source},
date = {2022-01-13},
url = {google.com},
}
@online{source2,
author = {Name Nameson},
title = {Online source},
date = {2022-01-13},
url = {google.com},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
This is the first source \cite{source1} and this is the second source \cite{source2}.
\printbibliography
\end{document}
如果你还想更改逗号,请使用
\xpatchbibdriver{online}
{\printtext[parens]{\usebibmacro{date}}%
\newunit\newblock}
{\usebibmacro{date}%
\setunit{\addperiod\space}\newblock}
{}{}
反而。