我不知道为什么,但期刊标题字段错误地显示逗号。它看起来像“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}