1

I need a reference list in the format

1. ...
2. ...

instead of

[1] ...
[2] ...

I would like to know what to change in a .bst file, e.g. naturemag.bst, to achieve that.

I want to do this without calling extra packages and without adding any new definitions to the preamble, because such approach has been already explored here.

fcpenha
  • 619
  • The LaTeX document class usually provides a basic definition of the thebibliography environmen. It's in in this definition that you'll find[ and ] being use to surround the item numbers. (The naturemag bibliography style does not redefine the thebibliography environment.) Which document class do you use? – Mico Sep 11 '16 at 15:09
  • I am using the book class. – fcpenha Sep 11 '16 at 15:11

1 Answers1

2

The book document class provides the following default setup for the thebibliography environment:

\newenvironment{thebibliography}[1]
     {\chapter*{\bibname}%
      \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}%
      \list{\@biblabel{\@arabic\c@enumiv}}%
           {\settowidth\labelwidth{\@biblabel{#1}}%
            \leftmargin\labelwidth
            \advance\leftmargin\labelsep
            \@openbib@code
            \usecounter{enumiv}%
            \let\p@enumiv\@empty
            \renewcommand\theenumiv{\@arabic\c@enumiv}}%
      \sloppy
      \clubpenalty4000
      \@clubpenalty \clubpenalty
      \widowpenalty4000%
      \sfcode`\.\@m}
     {\def\@noitemerr
       {\@latex@warning{Empty `thebibliography' environment}}%
      \endlist}

The book document class also provides the following definitions for \bibindent and \bibname:

\newdimen\bibindent
\setlength\bibindent{1.5em}
\newcommand\bibname{Bibliography}

The macro \@biblabel is defined as follows in the LaTeX kernel (see latex.ltx):

\def\@biblabel#1{[#1]}

The \list and \endlist instructions are also defined in the LaTeX kernel.

Unless a citation management package -- e.g., natbib, harvard, or cite, which provides its own definitions of these macros -- is loaded, the default definitions will be used in your document.


Let's examine the first argument of \list:

\@biblabel{\@arabic\c@enumiv}

You can probably guess that \@arabic\c@enumiv generates the arabic-numeral representation of the counter enumiv and that \@biblabel{...} encases this numeral in square brackets -- unless, of course, \@biblabel has been changed, either by hand or by having loaded a suitable LaTeX package.

To sum up, if you want the numeric "labels" that are placed before the bib items not to appear as [1], [2], etc, and if you don't want to load a suitable package (say, natbib) to handle this chore, you need to modify the \@biblabel macro "by hand". That's what was done in the answer you linked to in your posting:

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

Finally, as the bibliography style naturemag does not modify the thebibliography environment, editing naturemag.bst won't let you achieve your stated formatting goal.

Mico
  • 506,678