Biblatex + Beamer:参考书目中缺少引用缩写

Biblatex + Beamer:参考书目中缺少引用缩写

我最近从使用纳特比布比布拉特克斯并观察到一些奇怪的行为,试图用乳胶在演示文稿中打印参考书目投影机

经过一段时间的实验后,我认为我能够缩小问题的范围,但我不知道如何解决它:

我使用的是具有字母样式的 biblatex,但修改了外观以显示第一作者的姓名和年份。使用此设置,最后一张幻灯片上的印刷书目似乎有很大的余地:

边距示例 边距示例

经过一番尝试,我意识到事实上它似乎不是一个边距,而只是引文缩写无法渲染。如果我在第一张幻灯片中排除 [Edelsbrunner 1983] 的引文,使其不出现在参考书目中,那么边距就会小得多

-> 我假设空格应该只包含缩写 [Edelsbrunner 1983] 而不是普通空格(这对我来说完全没问题,不需要阻止边距,只需呈现缩写)。

您知道这是如何造成的以及怎样解决吗?

提前非常感谢,我希望我不会错过这里的一些愚蠢的点......

代码:

\documentclass[xcolor=dvipsnames]{beamer}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usetheme{Antibes}

\usepackage[style=alphabetic,maxalphanames=1,backend=biber]{biblatex}
\addbibresource{library.bib}

\renewcommand*{\labelalphaothers}{}

\DeclareLabelalphaTemplate{
  \labelelement{
    \field[final]{shorthand}
    \field{labelname}
    \field{label}
  }
  \labelelement{
    \literal{\addhighpenspace}
  }
  \labelelement{
    \field{year}
  }
}

\beamertemplatenavigationsymbolsempty
\setbeamertemplate{footline}[frame number]
\setbeamertemplate{bibliography item}[triangle]


\begin{document}

\begin{frame}
    \frametitle{Grundlagen}
    Aktuelles Vorgehen: \\
    \medskip
    \cite{edelsbrunner1983} \\
    \cite{efrat2004} \\
    \medskip
    Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut
    labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo 
    dolores et ea rebum.
\end{frame}

\begin{frame}[t,noframenumbering,allowframebreaks]
    \frametitle{Literatur}
    \printbibliography
\end{frame}

\end{document}

图书馆.bib:

@article{efrat2004,
  title={Covering with ellipses},
  author={Efrat, Alon and Hoffmann, Frank and Knauer, Christian and Kriegel, Klaus and Rote, G{\"u}nter and Wenk, Caola},
  journal={Algorithmica},
  volume={38},
  number={1},
  pages={145--160},
  year={2004},
  publisher={Springer}
}

@ARTICLE{edelsbrunner1983, 
author={Edelsbrunner, H. and Kirkpatrick, D. and Seidel, R.}, 
journal={Information Theory, IEEE Transactions on}, 
title={On the shape of a set of points in the plane}, 
year={1983}, 
month={Jul}, 
volume={29}, 
number={4}, 
pages={551-559}, 
keywords={Geometry;Image analysis, shape;Image shape analysis;Computer science;Concrete;Helium;Logic;Nearest neighbor searches;Pattern recognition;Shape;Sorting;Terminology;Visualization}, 
doi={10.1109/TIT.1983.1056714}, 
ISSN={0018-9448},}

答案1

现在\setbeamertemplate{bibliography item}[triangle]您要用三角形替换整个标签。您需要一些新模板:

\documentclass[xcolor=dvipsnames]{beamer}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
%\usetheme{Antibes}

\usepackage[style=alphabetic,maxalphanames=1,backend=biber]{biblatex}
\addbibresource{biblatex-examples.bib}

\renewcommand*{\labelalphaothers}{}

\DeclareLabelalphaTemplate{
  \labelelement{
    \field[final]{shorthand}
    \field{labelname}
    \field{label}
  }
  \labelelement{
    \literal{\addhighpenspace}
  }
  \labelelement{
    \field{year}
  }
}

\beamertemplatenavigationsymbolsempty
\setbeamertemplate{footline}[frame number]
%\setbeamertemplate{bibliography item}[triangle]
%\setbeamertemplate{bibliography item}[text]

\defbeamertemplate*{bibliography item}{triangletext}
{\scriptsize\raise1.25pt\hbox{\donotcoloroutermaths$\blacktriangleright$} \insertbiblabel}



\begin{document}

\begin{frame}
    \frametitle{Grundlagen}
    Aktuelles Vorgehen: \\
    \medskip
    \cite{doody} \\
    \cite{herrmann} \\
    \medskip
    Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut
    labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo
    dolores et ea rebum.
\end{frame}

\begin{frame}[t,noframenumbering,allowframebreaks]
    \frametitle{Literatur}
    \printbibliography
\end{frame}

\end{document}

在此处输入图片描述

相关内容