10

I'm creating a bibliography for a paper submission to The Bulletin of Math Biology. I've created a custom .bst file with custom-bib, but haven't been able to get the numbering correct. I'm not sure if I've missed an option in custom-bib, if I need to do something unusual with custom-bib, or if this must be controlled elsewhere.

Here's the current/required versions of the numbering style (everything else is correct, sorry about the poor image quality in the "required")

Current:

Current numbering Required:

Required numbering

How do I go about changing this?

2
  • 3
    Do you need this only in the "References" section (with brackets in citations and without in the bibliography)? If so, a \makeatletter\renewcommand{\@biblabel}[1]{#1.}\makeatother in your preamble should work
    – henrique
    Nov 30, 2012 at 17:21
  • @henrique This changes the numbering style to be correct, but still leaves the indent on the second line. How would I modify your command so the indent does not occur?
    – Sevenless
    Nov 30, 2012 at 17:32

2 Answers 2

10

Removing the brackets from the item's label in the bibliography

To remove the brackets from the item's label in the bibliography, you just need to redefine \@biblabel. It's original definition is

% latex.ltx, line 6161:
\def\@biblabel#1{[#1]}

So you can change it with \renewcommand to print, instead of [<arg>], <arg>.:

\makeatletter
\renewcommand\@biblabel[1]{#1.}
\makeatother

Removing the hanging indent in the bibliography

We must redefine thebibliography environment, which is a \list. To make things easy, I checked the definition of asparaenum environment, from the paralist package and reproduced the lenghts in the thebibliography environment (which we need to redefine). Assuming you're working with article class:

\makeatletter
\renewenvironment{thebibliography}[1]
 {\section*{\refname}%
  \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}%
  \list{\@biblabel{\@arabic\c@enumiv}}%
    \@openbib@code
    \usecounter{enumiv}%
    \let\p@enumiv\@empty
    \renewcommand\theenumiv{\@arabic\c@enumiv}%
  \sloppy
  \clubpenalty4000
  \@clubpenalty \clubpenalty
  \widowpenalty4000%
  \sfcode`\.\@m
% We redefine the lenghts here
    \setlength{\labelwidth}{0pt}
    \setlength{\labelsep}{.5em}
    \setlength{\leftmargin}{0pt}
    \parsep\parskip
    \setlength{\itemsep}{0pt}
    \setlength{\topsep}{0pt}
    \partopsep\parskip
    \itemindent\parindent
    \advance\itemindent\labelsep
    }
 {\def\@noitemerr
   {\@latex@warning{Empty `thebibliography' environment}}%
  \endlist}
\makeatother

Here's a MWE:

\documentclass{article}
\begin{filecontents}{\jobname.bib}
@article{Geddes:2003,
  author = {Geddes, Chris D. and
            Parfenov, Alex and
            Gryczynski, Ignacy and
            Lakowicz, Joseph R.},
  title = {Luminescent Blinking from Silver Nanostructures},
  journal = {The Journal of Physical Chemistry B},
  volume = {107},
  number = {37},
  pages = {9989-9993},
  year = {2003},
}
\end{filecontents}
\makeatletter
\renewcommand{\@biblabel}[1]{#1.}
% article.cls, line 570:
\renewenvironment{thebibliography}[1]
 {\section*{\refname}%
  \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}%
  \list{\@biblabel{\@arabic\c@enumiv}}%
    \@openbib@code
    \usecounter{enumiv}%
    \let\p@enumiv\@empty
    \renewcommand\theenumiv{\@arabic\c@enumiv}%
  \sloppy
  \clubpenalty4000
  \@clubpenalty \clubpenalty
  \widowpenalty4000%
  \sfcode`\.\@m
% We redefine the lenghts here
    \setlength{\labelwidth}{0pt}
    \setlength{\labelsep}{.5em}
    \setlength{\leftmargin}{0pt}
    \parsep\parskip
    \setlength{\itemsep}{0pt}
    \setlength{\topsep}{0pt}
    \partopsep\parskip
    \itemindent\parindent
    \advance\itemindent\labelsep
    }
 {\def\@noitemerr
   {\@latex@warning{Empty `thebibliography' environment}}%
  \endlist}
\makeatother
\begin{document}
\cite{Geddes:2003}
\bibliographystyle{plain}
\bibliography{\jobname}
\end{document}

And the output:

Example

0
0

I don't think "everything else is correct":

  1. Your author list is abbreviated after the first author, while this is not so in the required version. Change your custom-bib answer for "MAX AUTHORS BEFORE ET AL" from the default one to at least 4, or change the corresponding dbj option from mct-1 to at least mct-4.
  2. The required version uses a comma after the author list, the year, and the title, while your style uses a period. Change your custom-bib answer to "PUNCTUATION BETWEEN SECTIONS (BLOCKS):" to c, or add the corresponding option blk-com to the dbj file.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .