使用 `\DeclareSourcemap` 删除“作者”字段会插入不需要的句号和空格

使用 `\DeclareSourcemap` 删除“作者”字段会插入不需要的句号和空格

我试图从演示文稿author中删除该字段beamer,因为我希望引用尽可能紧凑。使用PLK 对“删除参考书目中的作者字段”问题的回答,即:

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \pertype{misc}
      \step[fieldset=author, null]
   }
 }
}

正在删除作者字段,但是,当使用此字段时,我在条目前得到一个句号,后面跟着一个空格journal

在此处输入图片描述

在我在这里提问之前,我查看过biblatexGitHub 存储库,但找不到该author字段在哪里包含句号和空格定义\newbibmacro*{author/...},所以我不确定如何删除它。我%在每一行后面都添加了\DeclareSourcemap,但没有效果。

有人知道我怎样才能去掉句号和空格吗?

MWE(我包含了一些样式,因此它在某种程度上与我的真实文档相匹配,以防相关):

% arara: pdflatex: {options: [-halt-on-error]}
% arara: biber
% arara: pdflatex: {options: [-halt-on-error]}

\begin{filecontents}[overwrite]{ref.bib}
@Article{Mehandia2020,
  author                 = {Mehandia, Seema and Sharma, S. C. and Arya, Shailendra Kumar},
  journal                = {Biotechnol. Rep. (Amst)},
  title                  = {Isolation and characterization of an alkali and thermostable laccase from a novel Alcaligenes faecalis and its application in decolorization of synthetic dyes.},
  year                   = {2020},
  pages                  = {e00413},
  volume                 = {25},
  doi                    = {10.1016/j.btre.2019.e00413},
}
@Article{Murugesan2009,
  author                 = {Murugesan, Kumarasamy and Kim, Young-Mo and Jeon, Jong-Rok and Chang, Yoon-Seok},
  journal                = {J Hazard Mater.},
  title                  = {Effect of metal ions on reactive dye decolorization by laccase from Ganoderma lucidum.},
  year                   = {2009},
  pages                  = {523-9},
  volume                 = {168},
  doi                    = {10.1016/j.jhazmat.2009.02.075},
}
\end{filecontents}

\documentclass{beamer}

\usepackage[backend=biber, style=numeric]{biblatex}

%% --- These are just commands to match my current bib style
\renewcommand*{\bibfont}{\normalfont}
\DeclareFieldFormat{journaltitle}{\mkbibemph{#1},}
\DeclareFieldFormat[article]{title}{}
\DeclareFieldFormat[article]{volume}{\textbf{#1}}
\DeclareFieldFormat[article]{pages}{#1}
\DeclareFieldFormat{doi}{#1}
\renewbibmacro{in:}{}
\renewbibmacro*{issue+date}{}
\renewbibmacro*{volume+number+eid}{%
  \setunit*{\addcomma\space}
  \usebibmacro{date}%
  \setunit{\addcomma\space}
  \printfield{volume}%
  \setunit*{\addcomma\space}
  }
%% ---- End

% https://tex.stackexchange.com/a/656907/273733
\DeclareSourcemap{%
  \maps[datatype=bibtex]{%
    \map{%
     \step[fieldset=author, null]%
   }%
 }%
}

\addbibresource{ref.bib}

\begin{document}

\begin{frame}
    \frametitle{First slide Title}
    Text \cite{Mehandia2020}\cite{Murugesan2009}
\end{frame}

\begin{frame}
\frametitle{References}
\printbibliography
\end{frame}

\end{document}

答案1

清除源映射中的标题,而不仅仅是通过更改其格式:

\DeclareSourcemap{%
  \maps[datatype=bibtex]{%
    \map{%
     \step[fieldset=author, null]%
   }%
   \map{\pertype{article}\step[fieldset=title, null]}
 }%
}

相关内容