0

I am using bibtex to render my references in the paper. I have a problem in rendering the authors' first names. The bibtex references I am directly copying from Google Scholar. As an example, see the following bibtex entry:

@article{harikrishnan2006non,
  title={A non-subjective approach to the GP algorithm for analysing noisy time series},
  author={Harikrishnan, KP and Misra, Ranjeev and Ambika, G and Kembhavi, AK},
  journal={Physica D: Nonlinear Phenomena},
  volume={215},
  number={2},
  pages={137--145},
  year={2006},
  publisher={Elsevier}
}

Here, the authors' first names' abbreviations are written as KP and AK. However, in my pdf file, they appear as K and A respectively. One way to resolve this is to put space between these strings: K P and A K. However, I have a very long list of references and I think there has to be a better way to force bibtex to render these first names properly. Any ideas?

Mico
  • 506,678
Peaceful
  • 175
  • Please see the linked posting. What you need to do is write {\relax KP} and {\relax AK}, respectively, instead of just KP and AK. You may also want to switch to a bibliography style that doesn't place dots ("periods", "full stops") after the abbreviated initials. – Mico Mar 31 '17 at 07:16
  • I don't think know that's a dupe @Mico. The problem here is not a name that needs initials like "KP", it's a basic error in the file which should read "K. P." – Paul Stanley Mar 31 '17 at 07:42
  • @PaulStanley - I see it as a matter of how to handle Indian-style given names. Especially (but not exclusively) in southern India, a person's entire given name can consist of characters which, when rendered in Roman letters, show up as a couple of uppercase letters. (Cf "TN Srinivasan" and "SR Siddarth".) I think it's not correct or appropriate to view "K" and "P" as abbreviations of "full" given names. Rather, it's that "KP" is the given name. – Mico Mar 31 '17 at 07:50
  • @Mico: in that case you are right! – Paul Stanley Mar 31 '17 at 07:52
  • @Mico : Just by chance authors happened to be Indian in my entry and KP is not a given name, rather an abbreviation. But that is not the point. As an example, another entry from by bib file has author names: Albano, Alfonso M and Muench, J and Schwartz, C and Mees, AI and Rapp, PE – Peaceful Mar 31 '17 at 08:04
  • @Peaceful - You really ought to edit this author field so that it reads Albano, Alfonso M. and Muench, J. and Schwartz, C. and Mees, A.I. and Rapp, P.E.. (Can you spot the differences?) Otherwise, BibTeX has no way of knowing how to differentiate between Srinivasan, TN and Rapp, PE. If Google Scholar supplies the author fields without dots to terminate abbreviated names, then it's a matter of sloppiness and of accidents waiting to happen. It still behooves you to correct the input before it makes its way into your bibliography. – Mico Mar 31 '17 at 08:14

2 Answers2

0

You should not directly copy from Scholar, the database can be pretty funky at times (I stumbled upon books entered as articles with the publisher in the 'journal' field for example...).

Beyond good practice you have to keep in mind that if your .bib is not homogenous in terms of field formating, any attempt to modify the normal behavior will result in problems. Thus if you try some method you will also affect the Ranjeev Misra part of your entry.

You then have three equally good solutions :

  1. The one you have talked about, it's a good one.

  2. You can replace KP by {K P} which is a protected string.

  3. You have to replace KP by the full name of your author.

To ease the job, and this is not a bibtex solution, some text editor like SublimeText have a regexp finding ability with which you can research all words that have the structure UppercaseUppercaseSpace allowing you to replace them by the string {UppercaseUppercase}Space in about 2seconds, it's a little crafty but when you know the method it's a real time saver.

  • On what do you base your advice, "You can replace KP by {K P} which is a protected string"? The third suggestion won't work with many names of Indian origin, as the initials are de facto the given name(s) -- there is no "full" given name, at least not in the Western sense of the word. – Mico Mar 31 '17 at 07:12
0

My understanding is that if an 'author' field contains a comma, then BIBTeX treats any part of a name after the comma (and before the next 'and') as a first name. It has no way of telling whether a person's first name is 'KP' or whether that really refers to two names. I can't see how BIBTeX could be expected to know whether you intend 'KP' to actually be two initials rather than a name.

My suggestion would be to either manually edit your BIBTeX entries, or use some regular expression to convert all instances of a "comma followed by two or more capital letters" to include spaces and full stops after each capital letter.

JJAD
  • 239
  • 1
    That's sort-of right! You tell bibtex about initials using full stops. So these should be {Harikrishnan, K. P.} etc. Google Scholar is only ever a start and it's essential to check what it gives you. – Paul Stanley Mar 31 '17 at 07:08
  • Editing the file manually is an option of course as I said while asking a question. My question is, whether there is a better way. – Peaceful Mar 31 '17 at 08:09