[Tex/LaTex] Bibliography numbering style

bibliographiescustom-bibnumbering

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?

Best Answer

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

Related Question