如何在biblatex参考文献中大写文章、期刊及书籍标题
你当前的配置仅针对期刊/新闻类条目(@article/@magazine/@news)的标题实现了大写处理,因为\xpatchbibmacro{mag+news+title}只修改了这类条目的标题输出逻辑。而书籍(@book)的标题由独立的宏book:title处理,因此需要额外添加补丁配置。
修改步骤
在现有代码的xpatch配置后,添加针对书籍标题的补丁:
\xpatchbibmacro{book:title}{\printfield[titlecase]{title}}{\printfield[jtnoformat]{title}}{}{}
修改后的完整main.tex代码
\documentclass{scrbook} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} % Bibliography \usepackage[backend=biber, style=chicago-authordate, hyperref=auto, bibencoding=inputenc, refsection=chapter, doi=false, url=false, isbn=false, eprint=false]{biblatex} \usepackage[babel,autostyle=true]{csquotes} % Capitalize article titles and journal names \usepackage{mfirstuc} \MFUnocap{a} \MFUnocap{for} \MFUnocap{the} \MFUnocap{of} \MFUnocap{and} \MFUnocap{con} \MFUnocap{il} \DeclareFieldFormat{jtnoformat}{\capitalisewords{#1}} \usepackage{xpatch} \xpatchbibmacro{mag+news+title}{\printfield[noformat]{title}}{\printfield[jtnoformat]{title}}{}{} % 添加书籍标题大写补丁 \xpatchbibmacro{book:title}{\printfield[titlecase]{title}}{\printfield[jtnoformat]{title}}{}{} \addbibresource{sample.bib} \begin{document} Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec hendrerit tempor tellus. Donec pretium posuere tellus. Proin quam nisl, tincidunt et, mattis eget, convallis nec, purus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla posuere. Donec vitae dolor. Nullam tristique diam non turpis. Cras placerat accumsan nulla. Nullam rutrum. Nam vestibulum accumsan nisl \parencite{Poggi2008,Polachek1985}. \printbibliography \end{document}
原理说明
book:title是chicago-authordate样式中专门处理@book类条目标题的宏,通过xpatch将其中默认的titlecase格式替换为你自定义的jtnoformat格式,就能让书籍标题应用\capitalisewords的大写规则,同时保留你设置的功能词小写(con、il等)的规则。
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

