I would like to create a simple and clean bibstyle for my citation. I know about the macro makebst to create a custom bibstyle, but this is a bit overkill for my usecase, since I only want to define one tag "mytag" and use this for all publications.

Maybe someone here knows the bibstyle syntax well enough to provide me an simple and easy template to start from instead of digging deep into the bibstyle syntax!?

The mybib.bib file would look like :

  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"

This should convert to a citation style like

[i] A. AuthorA, B. AuthorB, C. AuthorC et al., Title of the publication, My favourite Journal 0815, 2015, TAG1TYPE , TAG2TYPE, TAG3TYPE

Or put in words:

  • Show author Peter Pan and Captain Hook as "P. Pan, C. Hook"
  • Display only max 3 authors, suppress others with "et al."
  • Italic publication title
  • Three different link types to eprint of publication, each of them is shown in case its defined, else skipped.

A useful package for generating arbitrary styles is Bibulous. Using the *.bib file provided by the OP, together with the following Bibulous style *.bst file

mytag = <au>, \textit{<title>}, <journal>[ <volume>], <year>...
        [, <link1.35:-1>][, <link2.35:-1>][, <link3.35:-1>]

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>

maxauthors = 3
maxeditors = 3
etal_message = et al.

gives the following formatted reference

enter image description here

  • This package is indeed awesome and offers everything quick and easy as I want it, creating custom python formatting functions. Thanks alot for the hint! – HeXor Oct 21 '15 at 7:43
  • although this solution works fine on a minimal example, I have some problems with included *.tex files, see tex.stackexchange.com/questions/274344/… – HeXor Oct 22 '15 at 8:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.