![Biblatex:我希望在参考书目中的“博士论文”或“硕士论文”后面使用逗号而不是句号](https://linux22.com/image/375243/Biblatex%EF%BC%9A%E6%88%91%E5%B8%8C%E6%9C%9B%E5%9C%A8%E5%8F%82%E8%80%83%E4%B9%A6%E7%9B%AE%E4%B8%AD%E7%9A%84%E2%80%9C%E5%8D%9A%E5%A3%AB%E8%AE%BA%E6%96%87%E2%80%9D%E6%88%96%E2%80%9C%E7%A1%95%E5%A3%AB%E8%AE%BA%E6%96%87%E2%80%9D%E5%90%8E%E9%9D%A2%E4%BD%BF%E7%94%A8%E9%80%97%E5%8F%B7%E8%80%8C%E4%B8%8D%E6%98%AF%E5%8F%A5%E5%8F%B7.png)
我正在编写硕士论文的参考书目,其格式要求非常严格,其中大部分都是在以下人员的帮助下完成的:这里。
对我来说剩下的最后一件事是在硕士和博士论文的论文类型后使用逗号。这是我目前得到的:
我想要的是:
博士论文,大学...
硕士论文,大学...
提出的解决方案这里对我来说不起作用;我得到了完全相同的输出。
这是我的代码:
% Produce modified CMS citations and bibliography using bastardized MLA style
\usepackage[
citestyle=numeric, % force numeric inline citations
bibstyle=mla, % vanilla mla
natbib=true, % not sure why this is required
backend=biber, % compiling stuff
maxnames=7, % DTM guideline is up to 10
minnames=7, % biblatex defaults to minnames when max is exceeded, but need 7 per DTM
showmedium=false, % don't print publication medium
sorting=nty, % sort name, title, year
language=american % proper comma inside quotation behavior
]{biblatex}
\addbibresource{thbib.bib}
\DeclareFieldFormat{journalvolume}{#1} % Remove italicized formatting from journal volumes
\DeclareFieldFormat{booktitle}{#1} % Remove italicized formatting from journal volumes
\defbibheading{bibliography}{% % Change "Works Cited" to "Bibliography"
\section*{Bibliography}}
% \DeclareFieldFormat[thesis]{type}{#1\addcomma}
\DefineBibliographyStrings{american}{phdthesis = {PhD diss}}
\DefineBibliographyStrings{american}{mathesis = {Master's thesis}}
如果我尝试添加该行,\DeclareFieldFormat[thesis]{type}{#1\addcomma}
我会得到以下结果:
它删除了我对博士和硕士的字符串定义。
答案1
看起来
\renewbibmacro*{mla:thesis:type}{%
\iffieldundef{type}%
{\printtext[mla:capital]{\bibstring{phdthesis}\addcomma}}%
{\usebibmacro{mla:all:type}\addcomma}}
bibstring
只要你将定义更改为:就会做你想做的事
\DefineBibliographyStrings{american}{phdthesis = {PhD diss\adddot}}