2

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)

krlmlr
  • 12,530
  • 2
    If you are not that fond of reverse Polish notation, maybe I can interest you in biblatex. biblatex uses LaTeX-style syntax for its style files (.bbx and .cbx) and offers an extended seat of features. – moewe Aug 16 '15 at 14:35
  • Have you tried adding something along the lines of volume * or volume "volume" bibinfo.check output in the appropriate place of your .bst? – moewe Aug 16 '15 at 14:41
  • volume "volume" bibinfo.check output is on the right track. I need "vol. " somehow. – user877329 Aug 16 '15 at 14:57
  • Ahhh, sorry, I missed that. You will have to write you own function then. Maybe you can steal something from the question in Make volume bold in custom bibliography style .bst. – moewe Aug 16 '15 at 15:01
  • @moewe Could you write an MWE with some comments. – user877329 Aug 16 '15 at 15:36
  • If you give me a MWE to start from, I will try what I can do. My problem is that I cannot try any code, because I don't know what you have in front of you, so I'm just guessing away. – moewe Aug 16 '15 at 15:43
  • @moewe From the questions I have asked here, it appears that the TeX environment is so context sensitive that I need to push the entire report. Too bad Knuth :-(. I can give you pseudocode, or C code or what ever that does exactly what I want, without more. – user877329 Aug 16 '15 at 15:47
  • The .bst file with a very short document citing one or two sources would suufice. – moewe Aug 16 '15 at 15:53
  • The bst file is 40k, it is too long for a MVE. If the system is sane a MVE should be less than 20 lines. I gave you the output example. – user877329 Aug 16 '15 at 15:58
  • I agree that a 1.6K-line .bst file can hardly be seen as minimal, still it greatly helps to solve the problem :-). Also please only ever ask one question at a time. I have only answered the question in the title, the other about the order in @miscs seems to be more problematic and has to do with a very weird write.url function.... – moewe Aug 17 '15 at 14:24

2 Answers2

1

I found a way through XML. If someone wants to port this to bibtex, here is the equivalent in XSLT

https://gist.github.com/milasudril/c61abb7abe44fe2270e5

1

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.

moewe
  • 175,683