Добавить значки в стиль библиографии в 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который новее и имеет больше иконок, чем awesomepackage.


Обновлять: Вы можете вставить изображение следующим \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файла. Просто добавив следующее в преамбулу: (ВдохновленоОтвет Эндрю Суонна)

 \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

введите описание изображения здесь

Связанный контент