![使用 `\DeclareSourcemap` 删除“作者”字段会插入不需要的句号和空格](https://linux22.com/image/455981/%E4%BD%BF%E7%94%A8%20%60%5CDeclareSourcemap%60%20%E5%88%A0%E9%99%A4%E2%80%9C%E4%BD%9C%E8%80%85%E2%80%9D%E5%AD%97%E6%AE%B5%E4%BC%9A%E6%8F%92%E5%85%A5%E4%B8%8D%E9%9C%80%E8%A6%81%E7%9A%84%E5%8F%A5%E5%8F%B7%E5%92%8C%E7%A9%BA%E6%A0%BC.png)
我试图从演示文稿author
中删除该字段beamer
,因为我希望引用尽可能紧凑。使用PLK 对“删除参考书目中的作者字段”问题的回答,即:
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\pertype{misc}
\step[fieldset=author, null]
}
}
}
正在删除作者字段,但是,当使用此字段时,我在条目前得到一个句号,后面跟着一个空格journal
:
在我在这里提问之前,我查看过biblatex
GitHub 存储库,但找不到该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]}
}%
}