1

Now I hard work on the book, so don't have enough time to plunge deeply into technical details.

In brief: for bibliography, I use natbib with options [square,numbers,longnamesfirst] and this works as I want, except the view of references list. I wish make the references to look like:

  1. FirstAuthor A. B., SecondAuthor A. B., [...], Last Author A. B. Source description

That is, all authors should be listed without "and", "&", "et al." and other similar things as well as initials go after author name without punctuation.

4
  • 1
    What bibliography style are you using? Aug 31, 2016 at 14:31
  • 1
    Welcome to TeX.SE. Hacking an existing bibliography style file can be an error-prone and frustrating experience. You may be better off running the makebst utility, part of the custom-bib package, to create your own bespoke bibliography style.
    – Mico
    Aug 31, 2016 at 14:32
  • I use \bibliographystyle{plainnat}. I've read about custom-bib, but hope, that a simpler method to address the issue exists...
    – Konstantin
    Aug 31, 2016 at 14:41
  • Off-topic: The option longnamesfirst makes no sense (and hence has no effect) if the numbers option is set.
    – Mico
    Aug 31, 2016 at 17:16

1 Answer 1

1

I take it that you're OK with the way that the plainnat bibliography style formats bibliographic items except for the way the authors' names are listed. I guess you want the surnames to be listed before the first and middle initials, without a comma between the surnames and associated initials, and with commas (but no "and" conjunctions) between authors.

If this understanding is correct, I suggest you proceed as follows:

  • Find the file plainnat.bst in your TeX distribution. Make a copy of this file and call the copy, say, plainnat-mod.bst. (Don't edit an original file from your TeX distribution directly.

  • Open the file plainnat-mod.bst in a text editor. Locate the function called format.names. (It starts on line 216 in my copy of the file.)

  • Inside this function, locate the following line:

        { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
    

    Change this line to

        { s nameptr "{vv~}{ll}{, jj}{ f.}" format.name$ 't :=
    

    You can probably guess that ff stands for "full first name" and that f. stands for "truncate the first name and append a period (aka "full stop").

  • A few lines further down in the bst file, locate the following group of lines:

             { numnames #2 >
                { "," * }
                'skip$
              if$
              t "others" =
                { " et~al." * }
                { " and " * t * }
              if$
    

    Delete the first block of four instructions, i.e., change the preceding group to

            { t "others" =
                { " et~al." * }
                { ", " * t * }
              if$
    
  • Save the file plainnat-mod.bst either in the directory where your main tex file is located, or save it in a directory that's searched by BibTeX. If you choose the latter option, you should also update the filename database of your TeX distribution suitably.

  • In your main tex file, change the instruction \bibliographystyle{plainnat} to \bibliographystyle{plainnat-mod}. Be sure to rerun LaTeX, BibTeX, and LaTeX twice more to fully propagate all changes.

Happy BibTeXing!


An MWE (minimum working example):

enter image description here

\RequirePackage{filecontents}
\begin{filecontents}{mybib.bib}
@article{abc, 
  author = "Anna X. Author and Bertha Y. Buthor and Carla Z. Cuthor",
  title  = "Thoughts",
  journal= "Circularity Today",
  year   = 3000,
  volume = 1,
  number = 2,
  pages  = "3-4",
}
@article{ab, 
  author = "Anna X. Author and Bertha Y. Buthor",
  title  = "Deep Thoughts",
  journal= "Circularity Today",
  year   = 3005,
  volume = 6,
  number = 7,
  pages  = "8-9",
}
@article{a, 
  author = "Anna X. Author",
  title  = "Final Thoughts",
  journal= "Circularity Today",
  year   = 3010,
  volume = 11,
  number = 12,
  pages  = "13-14",
}
\end{filecontents}

\documentclass{article}
\usepackage[square,numbers]{natbib}
\bibliographystyle{plainnat-mod}

\begin{document}
\cite{a} \cite{ab} \cite{abc}
\bibliography{mybib}
\end{document}
1
  • Thank you for your answer. You understood me completely, I have begun using custom-bib, but got some confused results. So your method, I hope, will be more appropriate in conditions of lack of time.
    – Konstantin
    Sep 1, 2016 at 6:45

You must log in to answer this question.

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