[Tex/LaTex] Add custom field to bibtex entry, and print it

bibtexcustom-bib

I want to add a volume field to @manual. This is the @manual function generated by makebst

FUNCTION {manual}
{ output.bibitem
  format.authors output
  author format.key output
  format.date "year" output.check
  date.block
  format.btitle "title" output.check
  new.sentence
  organization "organization" bibinfo.check output
  address "address" bibinfo.check output
  format.edition output
  format.note output
  fin.entry
  write.url
}

It should print

author (year). title vol. volume …

if the volumefiled is given. Otherwise, i want it as it is.

Like

Intel Corporation (2015 June), Intel 64 and IA-32 Architectures Software Developer’s Manual vol. 1. Intel Corporation, 2200 Mission College Blvd. Santa Clara, CA
95054-1549 USA.

Here is the bib item:

@manual
    {
    intelman
    ,author={{Intel Corporation}}
    ,title={Intel® 64 and IA-32 Architectures Software Developer’s Manual}
    ,year={2015}
    ,month={June}
    ,language={English}
    ,organization={Intel Corporation}
    ,address={2200 Mission College Blvd. Santa Clara, CA 95054-1549 USA}
    ,volume={1}
    }

I am not really comfortable with with RPN, but this should be almost like "Hello, World".

BTW, is there any of

  • a system that uses raw XSLT as formatter? I am not a fan of XML, but XSLT is at least very well documented so with that, I should get everything like I want.
  • a screen-readable tutorial on "the beast", that is a webpage and not a PDF.

So what I want to do written in C

The bst file is here: https://gist.github.com/milasudril/d5fb8bf376937caaa450

Addendum

There is another problem with that style:

For @misc, I want howpublished before the url. Given

@misc
    {
    wavefront
    ,url={http://www.fileformat.info/format/wavefrontobj/egff.htm}
    ,howpublished={FileFormat.Info}
    ,title={Wavefront OBJ: Summary from the Encyclopedia of Graphics File Formats}
    ,note={2015-07-16}
    ,author={FileFormat.Info}
    ,year={2015}
    }

I want

FileFormat.Info (2015). Wavefront OBJ: Summary from the Encyclopedia of Graphics File Formats. FileFormat.Info
http://www.fileformat.info/format/wavefrontobj/egff.htm (2015-07-16)

Best Answer

Just your FUNCTION {manual} read

FUNCTION {manual}
{ output.bibitem
  format.authors output
  author format.key output
  format.date "year" output.check
  date.block
  format.btitle "title" output.check
  format.bvolume output
  new.sentence
  organization "organization" bibinfo.check output
  address "address" bibinfo.check output
  format.edition output
  format.note output
  fin.entry
  write.url
}

Where we added format.bvolume output after printing the title.

Related Question