With the following entry in the .bib file

AUTHOR="M., J. J.",
TITLE="My Sample Title",
JOURNAL="Journal Name",

and with \bibliographystyle{plain} in the preamble, my PDF output displays the reference title with lower case, except for the first letter: "My sample title". How could I state that the title should be shown in PDF as I write it in the .bib file?

  • 2
    Afaik you could enclose the first letter into {} like My {S}ample {T}itle. But I haven't tried it and I really doubt that this is the best way ...
    – Thorsten
    Apr 23, 2012 at 14:25
  • 1
    Of course I could do so. The problem is that the .bib file I have on disposal has around 600 entries.
    – boy
    Apr 23, 2012 at 14:42
  • If you're a Vim user, you could add the braces with :g/^TITLE=/ s/\<\([A-Z]\)\([a-z]*\)\>/{\1}\2/g.
    – Martin
    Apr 23, 2012 at 15:22

2 Answers 2


of course, this isn't an answer to "how do i modify my .bib file"...

make a "myplain.bst" that is a copy of plain.bst, but replaces

FUNCTION {format.title}
{ title empty$
    { "" }
    { title "t" change.case$ }


FUNCTION {format.title}
{ title empty$
    { "" }
    { title }

and then change your document to use myplain.bst instead of plain.bst

do not, under any circumstances, change your plain.bst file! ... changing a fundamental part of the distribution will lead to tears, later.

  • Thanks. Could you be more specific on 1) where I could find plain.bst file, and 2) where do I specify that my .tex file uses "myplain.bst" file instead of "plain.bst"?
    – boy
    Apr 23, 2012 at 20:07
  • I suppose that changing \bibliographystyle{plain} to \bibliographystyle{myplain} would suffice for the second part, but I still need access to plain.bst file. Where could I find it, and should I place myplain.bst in the same directory with plain.bst?
    – boy
    Apr 24, 2012 at 15:28
  • The answer found here: tex.stackexchange.com/questions/31747/…
    – boy
    Apr 24, 2012 at 19:41

a simple solution: change all the entries of your database:

sed '/title/s/}/}}/' yourfile.bib > tmp.bib
sed '/title/s/{/{{/' tmp.bib > yourfile.bib
rm tmp.bib

Updated solution:

sed '/TITLE/s/"/{{/' yourfile.bib > tmp.bib
sed '/TITLE/s/"/}}/' tmp.bib > yourfile.bib
rm tmp.bib
  • Welcome to TeX.SX! Probably that's not what the OP wanted (not really LaTeX).
    – TeXnician
    Jun 5, 2017 at 10:15
  • Will this approach work if the contents of the title field are enclosed by double quotes instead of curly braces?
    – Mico
    Jun 5, 2017 at 10:18
  • By the way, the .bib file has fields delimited with quotes, not braces.
    – egreg
    Jun 5, 2017 at 10:23
  • Ty egreg. I updated the answer (Mico, now it works for titles enclosed in double quotes.).
    – Luca
    Jun 19, 2017 at 18:03
  • I prefer this solution. However it has several issues: it didn't exclude booktitle field updating; when the right brace is not the same line as title, it is not updated; when there are existing {{ or }}, it is not filtered out; when there are multiple { or }, it will only replace the first occurrence. Oct 14, 2019 at 6:17

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.