如何在 biblatex 中删除 ieee 样式的标题 bibmacro 中的逗号?

如何在 biblatex 中删除 ieee 样式的标题 bibmacro 中的逗号?

我一直在谷歌上搜索一个非常简单的问题。在我的论文中,我使用biblatexbibtex 作为后端和 ieee bibstyle,并已将ngerman语言加载到 中babel。当我打印参考书目时,首先打印的是作者,然后是标题,标题用引号引起来。但是,在引号内的标题末尾有一个逗号(见下文)。

在此处输入图片描述

我只想删除这个逗号。我找到了一些使用 bst 文件的解决方案,但是biblatex不再使用 bst 文件了。你能给我一些建议吗?

先感谢您!

编辑:添加了 MWE 示例:

\begin{filecontents*}{sample.bib}
    @incollection{Bauernhansl.2016,
    author = {Bauernhansl, Thomas},
    title = {Die Vierte Industrielle Revolution -- Der Weg in ein wertschaffendes Produktionsparadigma},
    pages = {1--31},
    bookpagination = {page},
    publisher = {{Springer Berlin Heidelberg}},
    isbn = {978-3-662-53253-9},
    series = {VDI Springer Reference},
    editor = {Vogel-Heuser, Birgit and Bauernhansl, Thomas and ten Hompel, Michael},
    booktitle = {Handbuch Industrie 4.0 Bd.4},
    year = {2016},
    abstract = {},
    doi = {10.1007/978-3-662-53254-6_1},
    location = {Berlin, Heidelberg},
    booksubtitle = {Allgemeine Grundlagen},
    edition = {2nd ed.},
    file = {Bauernhansl 2016 - Die Vierte Industrielle Revolution:C\:\\Users\\Tolga\\Documents\\Citavi 6\\Dissertation\\Citavi Attachments\\Bauernhansl 2016 - Die Vierte Industrielle Revolution.pdf:pdf}
   }
\end{filecontents*}

\documentclass[ngerman]{scrreprt}

\usepackage[
    backend=bibtex,
    citestyle=numeric-comp,
    bibstyle=ieee,
    natbib=true]
    {biblatex}
\addbibresource{sample.bib}

\DeclareDelimFormat[bib]{nametitledelim}{\space}
\renewcommand{\intitlepunct}{}

\usepackage{xpatch}
\xpatchbibdriver{article}
    {\newunit\usebibmacro{title}}
    {\setunit{\printdelim{nametitledelim}}{}\usebibmacro{title}\printunit{\intitlepunct}}
    {}
    {}

\begin{document}

\cites{Bauernhansl.2016}
\printbibliography[title={Bibliographie}]

\end{document}

答案1

在此处输入图片描述

将以下内容添加到您的序言中

\DeclareDelimFormat[bib]{nametitledelim}{\addcomma\space}
\renewcommand{\intitlepunct}{}

\usepackage{xpatch}

\xpatchbibdriver{article}
{\newunit\usebibmacro{title}}
{\setunit{\printdelim{nametitledelim}}{}\usebibmacro{title}\printunit{\intitlepunct}}
{}
{}

\xpatchbibdriver{incollection}
{\usebibmacro{title}}
{\setunit{\printdelim{nametitledelim}}{}\usebibmacro{title}\printunit{\intitlepunct}}
{}
{}

平均能量损失

\begin{filecontents*}{sample.bib}
@article{aldaoudeyeh2021new,
    title={A new method to fit logistic functions with wind turbines power curves using manufacturer datasheets},
    author={Aldaoudeyeh, {Al-Motasem} Ihssan and Alzaareer, Khaled and Harasis, Salman and {Al-Odat}, Zeyad and Obeidat, Mohammad and Mansour, Ayman and Wu, Di and Salem, Qusay},
    journal={IET Renewable Power Generation},
    volume={15},
    number={16},
    year={2021},
    month={12},
    doi={https://doi.org/10.1049/rpg2.12309}
}
@incollection{Bauernhansl.2016,
    author = {Bauernhansl, Thomas},
    title = {Die Vierte Industrielle Revolution -- Der Weg in ein wertschaffendes Produktionsparadigma},
    pages = {1--31},
    bookpagination = {page},
    publisher = {{Springer Berlin Heidelberg}},
    isbn = {978-3-662-53253-9},
    series = {VDI Springer Reference},
    editor = {Vogel-Heuser, Birgit and Bauernhansl, Thomas and ten Hompel, Michael},
    booktitle = {Handbuch Industrie 4.0 Bd.4},
    year = {2016},
    abstract = {},
    doi = {10.1007/978-3-662-53254-6_1},
    location = {Berlin, Heidelberg},
    booksubtitle = {Allgemeine Grundlagen},
    edition = {2},
    file = {Bauernhansl 2016 - Die Vierte Industrielle Revolution:C\:\\Users\\Tolga\\Documents\\Citavi 6\\Dissertation\\Citavi Attachments\\Bauernhansl 2016 - Die Vierte Industrielle Revolution.pdf:pdf}
}
\end{filecontents*}

\documentclass[ngerman]{scrreprt}

\usepackage[
backend=biber,
citestyle=numeric-comp,
bibstyle=ieee,
natbib=true]
{biblatex}
\addbibresource{sample.bib}

\DeclareDelimFormat[bib]{nametitledelim}{\addcomma\space}
\renewcommand{\intitlepunct}{}

\usepackage{xpatch}

\xpatchbibdriver{article}
{\newunit\usebibmacro{title}}
{\setunit{\printdelim{nametitledelim}}{}\usebibmacro{title}\printunit{\intitlepunct}}
{}
{}

\xpatchbibdriver{incollection}
{\usebibmacro{title}}
{\setunit{\printdelim{nametitledelim}}{}\usebibmacro{title}\printunit{\intitlepunct}}
{}
{}


\begin{document}
    
    \nocite{*}
    \printbibliography[title={Bibliographie}]
    
\end{document}

编辑

要在引号后添加空格,请\intitlepunct按如下方式更新

\renewcommand{\intitlepunct}{\addbthinspace}

您也可以尝试替换\addbthinspace\addspace看看哪种选择最适合您

相关内容