从 biblatex 中的期刊标题中删除逗号

从 biblatex 中的期刊标题中删除逗号

我不知道为什么,但期刊标题字段错误地显示逗号。它看起来像“Journal title,”,但应该是“Journal title”,。我尝试了网上找到的 5 种修复方法,但都无济于事。

或者我可以接受重新格式化,但我不知道该怎么做。我的意思是让期刊标题像书名一样显示(例如,Journal title不带草书引号),让期刊名称字段以纯文本显示,不带草书。

这超出了问题的范围,但我也不知道如何删除作者姓名和姓氏之间的逗号。它显示Doe, J.但应该是Doe J.

\documentclass[a4paper,12pt]{article}
\usepackage[english]{babel}
\usepackage[nottoc,numbib]{tocbibind}
\usepackage[
bibstyle=ieee,
citestyle=numeric,
maxbibnames=99,
giveninits=true]{biblatex} 
\usepackage{csquotes}
\usepackage{multirow}
\usepackage{colortbl}

\addbibresource{bibliography.bib}
\usepackage{algorithm}
\usepackage{algpseudocode}
\usepackage{mathptmx}

\usepackage[titles]{tocloft} 
\setcounter{secnumdepth}{2} 
\setcounter{tocdepth}{2} 
\renewcommand{\cftsecleader}{\cftdotfill{\cftdotsep}} 

\DeclareNameAlias{sortname}{family-given}
\DeclareNameAlias{author}{sortname}

\DeclareDelimAlias{finalnamedelim}{multinamedelim}

\title{Example}
\author{Overleaf}

\begin{document}

\maketitle

\tableofcontents

\section{First Section}
Cite. 
\cite{author00} \cite{author01} \cite{author02}

\printbibliography
\addcontentsline{toc}{section}{\refname}
\end{document}

参考书目文件:

@book{author00,
    title = {Book Title},
    author = {John Doe and Adam Smith and Peter Parker and John Edwards and George R. Martin},
    year = {2023},
    publisher = {Publisher}
}

@book{author01,
    title = {Book Title Part 2},
    author = {John Goldberg and Adam Peterson and Peter Parker and John Edwards and George R. Martin},
    year = {2023},
    publisher = {Publisher}
}

@article{author02,
    title = {Journal Title},
    author = {John Doe},
    year = {2020},
    journal = {Journal Name},
    volume = {11},
    number = {6}
}

答案1

这种逗号位置是美式英语的典型特征:后面的标点符号被移到引号内,即使它“从逻辑上”不属于那里。参见https://en.wikipedia.org/wiki/Quotation_marks_in_English#American_style

此行为通常仅适用于biblatex美国本地化,而不适用于通用的english,但biblatex-ieee明确请求了它\uspunctuation(参见长 34 英寸ieee.bbx。)你可以用一个简单的来反驳这一点\stdpunctuation

通常\uspunctuation\stdpunctuation应该在里面使用\DefineBibliographyExtras,但是既然biblatex-ieee在外面用,我们也会在外面反击它。

\documentclass[a4paper,12pt]{article}
\usepackage[english]{babel}
\usepackage[
  bibstyle=ieee,
  citestyle=numeric,
  maxbibnames=99,
  giveninits=true,
]{biblatex} 
\usepackage{csquotes}


\DeclareNameAlias{sortname}{family-given}
\DeclareNameAlias{author}{sortname}

\DeclareDelimAlias{finalnamedelim}{multinamedelim}

\stdpunctuation
%\DefineBibliographyExtras{english}{\stdpunctuation}


\begin{filecontents}{\jobname.bib}
@book{author00,
    title = {Book Title},
    author = {John Doe and Adam Smith and Peter Parker and John Edwards and George R. Martin},
    year = {2023},
    publisher = {Publisher}
}
@book{author01,
    title = {Book Title Part 2},
    author = {John Goldberg and Adam Peterson and Peter Parker and John Edwards and George R. Martin},
    year = {2023},
    publisher = {Publisher}
}
@article{author02,
    title = {Journal Title},
    author = {John Doe},
    year = {2020},
    journal = {Journal Name},
    volume = {11},
    number = {6}
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
\tableofcontents

\section{First Section}
Cite. 
\cite{author00,author01,author02}

\printbibliography[heading=bibintoc]
\end{document}

Doe,J.,“期刊标题”,期刊名称,第 11 卷,第 6 期,2020 年。

相关内容