目前我通过在作者字段中添加一行来获取它:
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