在 scrbook 中将图标添加到参考书目样式

在 scrbook 中将图标添加到参考书目样式

我正在尝试获得如下图所示的结果。 在此处输入图片描述

目前我通过在作者字段中添加一行来获取它:

    Author = {{\includegraphics[scale = 0.03]{bullet3}}  Mosco Vicent}

但我想找到一种方法来自动执行此操作并根据来源添加不同的图标。我知道在 beamer 中可以做类似的事情。

我认为最好的方法是创建自定义书目样式。我使用以下样式:

https://drive.google.com/file/d/1ZXw4UA_d2rbcegvGrTGuMLuAdsiGE8XY/view?usp=sharing

有人可以指导我解决问题吗?

答案1

您可以通过编辑.bst书目样式文件来执行此操作:查找和替换

FUNCTION {start.entry}
{ newline$
  "\bibitem{" write$
  cite$ write$
  "}" write$
  newline$
  ""
  initialize.prev.this.status
}

经过

FUNCTION {start.entry}
{ newline$
  "\bibitem{" write$
  cite$ write$
  "}"  "\faBook\ " * write$
  newline$
  ""
  initialize.prev.this.status
}

并在前言中包含\usepackage{fontawesome}包并编译文件。其输出应类似于以下内容:

在此处输入图片描述

您可以在加载后通过以下方式更改其颜色\textcolor{blue}{\faBook}(这里是蓝色,您可以使用任何颜色)\usepackage{xcolor}并使用它来代替\faBook上面的代码。即

FUNCTION {start.entry}
{ newline$
  "\bibitem{" write$
  cite$ write$
  "}"  "\textcolor{blue}{\faBook}\ " * write$
  newline$
  ""
  initialize.prev.this.status
}

以下是图标列表您可以使用来自awesome包。(在我的示例中是\faBook。您\faNewspaperO也可以使用。)您还可以使用awesome5它比awesome包装更新并且具有更多的图标。


更新: 您可以按如下方式插入图像\includegraphics:(不要忘记加载\usepackage{graphicx}

FUNCTION {start.entry}
{ newline$
  "\bibitem{" write$
  cite$ write$
  "}" "\includegraphics[width=7pt, height=10pt]{Image-root}" * write$
  newline$
  ""
  initialize.prev.this.status
}

Image-root在上面添加适当的内容后,其输出应该是这样的:

在此处输入图片描述

或者你可以不进行编辑.bst文件。只需在序言中添加以下内容:(灵感来自Andrew Swann 的回答

 \makeatletter
 \def\@bibitem#1{\item\if@filesw \immediate\write\@auxout
    {\string\bibcite{#1}{\value{\@listctr}}}\fi\ignorespaces}
 \def\@biblabel#1{[#1] \includegraphics[width=7pt, height=10pt]{image-root}}
 \makeatother

在此处输入图片描述

相关内容