# File mk, line 590
def parse_aux(basename)
  aux = "#{basename}.aux"
  bibs = []
  File.exist?(aux) or return []
  open(aux).readlines.each do |l|
    k,*x = l.scan(/\w+/)
    bibs += x if k == 'bibdata'
  end
  bibs.uniq!
  bibs.map! do |b|
    bbib = b + '.bib'
    bbib = kpsewhich(bbib) or quit("bib file #{bbib} not found",1)
    # following is needed because texi2dvi does not detect changes in
    # .bib files - if any included .bib file is newer than the .log
    # file, remove the .bbl file:
    File.exist?("#{b}.bbl") &&
    File.mtime(bbib) < File.mtime("#{basename}.log") and File.delete("#{basename}.bbl")
    bbib # add .bib extension to array elements
  end
  return bibs
end