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.

  • 1
    What bibliography style are you using? – Martin Nyolt Aug 31 '16 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 '16 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 '16 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 '16 at 17:16
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}
  • 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 '16 at 6:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.