[texhax] Bugs in makebst?

Stefan Löffler st.loeffler at gmail.com
Mon Jul 18 17:52:43 CEST 2011


Hi,

I'm trying to create a custom BibTeX style for minimal formatting of
references (e.g., for a presentation, or a poster, where space is of the
essence and usually only absolutely essential data is given). Take for
example the following file test.bst:

@ARTICLE{test11,
  author = {Smith, John and Smith, Ben and Wang, Lee and Smith, Jane},
  title = {About something},
  journal = {Nat.},
  year = {2006},
  volume = {441},
  pages = {486--488},
}

Ideally, I'd like that formated as "Smith, Smith, et al.: Nat 441 (2006)
486". So, I've been playing around with makebst (custom-bib package in
TeXLive).

I performed the following steps:
1) run `latex makebst` with an output filename of "test.bst" and all
other values as default (gives test.dbj)
2) run `latex test.dbj` (gives test.bst)
3) run LaTeX and BibTeX sufficiently often on the following test file:

\documentclass{article}

\begin{document}

\nocite{*}

\bibliographystyle{test}

\bibliography{test}

\end{document}


This indeed gives the expected result. So far, so good.

Now for the customizations.
If in test.dbj I change
    %JOURNAL NAMES:
        %: (def) Periods in journal names
    % jxper,%: Dotless journal names
to
    %JOURNAL NAMES:
    %    %: (def) Periods in journal names
     jxper,%: Dotless journal names
and rerun the above from step 2), BibTeX spits out several errors of the
forms
z is an unknown function---line 156 of file test.bst
"Nat." is a string literal, not a function, for entry test11
You can't pop an empty literal stack for entry test11

Back to the start, changing in test.dbj instead
    %NUMBER OF AUTHORS IN BIBLIOGRAPHY:
        %: (def) All authors
    % nmlm,%: Limited authors
to
    %NUMBER OF AUTHORS IN BIBLIOGRAPHY:
    %    %: (def) All authors
     nmlm,%: Limited authors
and rerunning the above from step 2), gives me many error of the forms
"smith  john" is a string literal, not an integer, for entry test11
You can't pop an empty literal stack for entry test11
0 is an integer literal, "" is a string literal

And one more thing I've tried: Back to the original files, changing in
test.dbj the lines
    %AUTHOR NAMES:
      ed-au,%: Full, surname last
    % nm-revf,%: Full, surname first
    % nm-init,ed-au,%: Initials + surname
    % nm-rev,%: Surname + initials
    % nm-rv,%: Surname + dotless initials
    % nm-rvvc,%: Surname + comma + spaceless initials
    % nm-rvx,%: Surname + pure initials
    % nm-rvcx,%: Surname + comma + pure initials
    % nm-rvv,%: Surname + spaceless initials
    % nm-rev1,%: Only first name reversed, initials
    % nm-revv1,%: First name reversed, with full names
to activate either "Surname + dotless initials", "Surname + pure
initials", or "Surname + comma + pure initials" instead of "Full,
surname last" and rerunning the above from step 2) again gives me errors
of the forms
z is an unknown function---line 156 of file test.bst
"Smith J" is a string literal, not a function, for entry test11
You can't pop an empty literal stack for entry test11

FWIW, I use TeXLive'10 with latest updates on Ubuntu Linux.

Of course, I did some more extensive changes as well, but these were the
show-stopping errors I finally condensed everything down to.
Can someone tell me what's going wrong here? Maybe I've missed some
dependencies of the different values? Or I missed to include some packages?

Thanks in advance,
Stefan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://tug.org/pipermail/texhax/attachments/20110718/309f549f/attachment.html>


More information about the texhax mailing list