[texhax] BibTeX middle initials disappearing; has this problem been solved?

Tom Schneider toms at ncifcrf.gov
Sun May 16 04:20:17 CEST 2010


Mark:

> http://www.tug.org/TUGboat/Articles/tb19-2/tb59patash.pdf
>
> ever been resolved?  That is, if my .bib file contains an author
> field such as
>
> author = "D.E. Knuth"
>
> and the .bst file that I use abbreviates first names to initials, is
> there any way to change that .bst file so that the "E." doesn't
> disappear from the final .bbl file (while first names are still
> abbreviated to initials)?  Or is the only solution still to manually
> change the author fields in the .bib file to
>
> author = "D. E. Knuth"
>
> I ask this only because the article I linked to is from 1998.

Under Unix (Mac OS X Terminal or probably windows cygwin) you could
make a script and use sed to do the job:

----

strawberry 101% cat dotspace
#!/bin/tcsh -f
#(ie run the tshell on this but don't read the .cshrc or .tcshrc)

#echo version = 1.00 of dotspace 2010 May 15
#  2010 May 15, 1.00: origin 

cat |\
sed 's/\./. /' |\
cat
strawberry 102% cat in
D.E. Knuth and D. E. Burble
strawberry 103% dotspace < in > out
strawberry 104% cat out
D. E. Knuth and D. E. Burble

----

(Many other languages could be used, but this almost certainly will
work on any flavor of Unix.)

Of course make sure that DOT is not in the 'in' file.
Finally, do a diff to make sure that all the changes are what you want:

diff in out

or

sdiff in out

Note that EVERY period will be changed to 'period space' ... which may
mess up other things.  So you might want to do this in an editor (eg
vim) and search ('/\.' for vim) and insert the space after the period
('a [escape]') (then '.' to repeat previous command or 'n' to skip to
the next).

Tom

  Thomas D. Schneider, Ph.D.
  National Institutes of Health
  schneidt at mail.nih.gov
  toms at alum.mit.edu (permanent)
  http://alum.mit.edu/www/toms (permanent)


More information about the texhax mailing list