
Я хотел бы создать простой и чистый bibstyle для моей цитаты. Я знаю о макросе makebst для создания пользовательского bibstyle, но это немного излишне для моего варианта использования, так как я хочу определить только один тег "mytag" и использовать его для всех публикаций.
Может быть, кто-то здесь достаточно хорошо знает синтаксис bibstyle, чтобы предоставить мне простой и удобный шаблон, с которого можно начать, вместо того, чтобы углубляться в синтаксис bibstyle!?
Файл mybib.bib будет выглядеть так:
@mytag{
author = "AuthorA, A and AuthorB, B and AuthorC, C and AuthorD, D and AuthorE, E",
title = "Title of the publication",
publisher = "My favourite Journal 0815",
year = "2015"
link1 = "http://www.publication-server1.com/TAG1TYPE"
link1tag = "TAG1TYPE"
link2 = "http://www.publication-server2.com/TAG2TYPE"
link2tag = "TAG2TYPE"
link3 = "http://www.publication-server3.com/TAG3TYPE"
link3tag = "TAG3TYPE"
}
Это должно преобразоваться в стиль цитирования, например:
[i] A. АвторA, B. АвторB, C. АвторC и др.,Название публикации, Мой любимый журнал 0815, 2015,ТЭГ1ТИП,ТЭГ2ТИП,ТЭГ3ТИП
Или выразить словами:
- Показать автора Питера Пэна и Капитана Крюка как «П. Пэн, К. Крюк»
- Отображать не более 3 авторов, остальных скрыть с помощью «et al».
- Название публикации курсивом
- Три различных типа ссылок на электронную версию публикации, каждый из них отображается, если он определен, в противном случае пропускается.
решение1
Полезный пакет для создания произвольных стилей —Пьяный. Используя *.bib
файл, предоставленный OP, вместе со следующим *.bst
файлом стиля Bibulous
TEMPLATES:
mytag = <au>, \textit{<title>}, <journal>[ <volume>], <year>...
[, <link1.35:-1>][, <link2.35:-1>][, <link3.35:-1>]
SPECIAL-TEMPLATES:
authorlist = <author.to_namelist()>
editorlist = <editor.to_namelist()>
authorname.n = [ <authorlist.n.first.initial()>. ][ <authorlist.n.middle.initial()>]<authorlist.n.last>[, <authorlist.n.suffix>]
au = <authorname.0>, ..., <authorname.9>
editorname.n = [ <editorlist.n.first.initial()>. ][ <editorlist.n.middle.initial()>]<editorlist.n.last>[, <editorlist.n.suffix>]
ed = <editorname.0>, ..., <editorname.9>
OPTIONS:
maxauthors = 3
maxeditors = 3
etal_message = et al.
дает следующую отформатированную ссылку