@thesis
我想更改输入字段的输出。目前,我使用的是biblatex
样式chem-acs
。
使用条目:
@thesis{ABC2019,
author = {LastName, A.},
school = {University of example},
title = {Title of fancy science stuff},
type = {PhD thesis},
year = {2019}
}
我得到:
姓氏,A. 花哨的科学东西的标题。,博士论文,例如大学,2019 年。
但是,我想遵循一些期刊引用规则,这些规则要求删除标题后的逗号分隔符。所以我的目标是:
姓氏,A。花哨科学内容的标题。博士论文,埃德蒙顿大学,2019 年。
有什么想法如何实现这一点吗?
答案1
无论您实际想要的输出是什么,您目前获得的输出看起来都不太正确。
吉尔,伯爵 I.,圣人、主教、吟游诗人和音乐,《十二世纪的奥克尼伯爵领地。音乐学研究》,博士论文,乌普萨拉:乌普萨拉大学,1985 年。
大多数人会认为双标点符号“。”是个错误。我已向https://github.com/josephwright/biblatex-chem/issues/16。
如果你想在标题后加逗号,解决方法很简单
\DeclareFieldFormat*{title}{#1}
但是您想要一个时期,因此还需要做更多的工作。
有几种可能的方法来解决这个问题,它们都有各自的优点和缺点。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=chem-acs, backend=biber]{biblatex}
\renewbibmacro*{title}{%
\ifboolexpr{
test {\iffieldundef{title}}
and
test {\iffieldundef{subtitle}}
}
{}
{\printtext[title]{%
\printfield[titlecase]{title}%
\setunit{\subtitlepunct}%
\printfield[titlecase]{subtitle}}%
\newunit}%
\printfield{titleaddon}%
\printunit{\addperiod\space}}
\addbibresource{biblatex-examples.bib}
\begin{document}
\cite{geer}
\printbibliography
\end{document}
吉尔,伯爵 I.,圣人、主教、吟游诗人和音乐,《十二世纪的奥克尼伯爵领地》。音乐学研究。博士论文,乌普萨拉:乌普萨拉大学,1985 年。