Manuel López-Ibáñez
2015-04-16 11:49:42 UTC
Dear BibTeX maintainers,
I just wasted a few hours for something that could have been caught earlier if
BibTeX printed the full path to the bib files it uses. Small testcase:
$ cat <<EOF >test.tex
\documentclass{article}
\begin{document}
\cite{X}
\bibliographystyle{plain}
\bibliography{000O}
\end{document}
EOF
$ cat <<EOF >/tmp/000O.bib
@misc{X,
title = "Wrong one"
}
EOF
$ export BIBINPUTS=/tmp/:.
$ pdflatex test.tex
$ bibtex test.aux
This is BibTeX, Version 0.99d (TeX Live 2013/Debian)
The top-level auxiliary file: test.aux
The style file: plain.bst
Database file #1: 000O.bib
Now the problem is that if the search patch is set by other means (for example
by the distribution) and if I actually meant to include 0000.bib (note the typo
in the last character). I will have a hard time figuring out that the 000O.bib
included by bibtex is actually /tmp/000O.bib and not ./000O.bib. The latter
would have resulted in an error and then I would have noticed the typo.
The above is distilled from a real user-case in Ubuntu GNU/Linux where the file
/usr/share/texlive/texmf-dist/bibtex/bib/computational-complexity/journals.bib
is included by default and if I had intended to use ./journals.bib but my file
was misnamed ./journal.bib, then bibtex does not gives me any hint that
something is wrong.
What I would expect above is:
This is BibTeX, Version 0.99d (TeX Live 2013/Debian)
The top-level auxiliary file: test.aux
The style file: plain.bst
Database file #1: /tmp/000O.bib
that is, for bibtex to print the path to the file it uses. I would go as far as
to suggest the same for "The style file:".
BibTeX 0.99d (TeX Live 2013/Debian)
kpathsea version 6.1.1
Thanks,
Manuel.
I just wasted a few hours for something that could have been caught earlier if
BibTeX printed the full path to the bib files it uses. Small testcase:
$ cat <<EOF >test.tex
\documentclass{article}
\begin{document}
\cite{X}
\bibliographystyle{plain}
\bibliography{000O}
\end{document}
EOF
$ cat <<EOF >/tmp/000O.bib
@misc{X,
title = "Wrong one"
}
EOF
$ export BIBINPUTS=/tmp/:.
$ pdflatex test.tex
$ bibtex test.aux
This is BibTeX, Version 0.99d (TeX Live 2013/Debian)
The top-level auxiliary file: test.aux
The style file: plain.bst
Database file #1: 000O.bib
Now the problem is that if the search patch is set by other means (for example
by the distribution) and if I actually meant to include 0000.bib (note the typo
in the last character). I will have a hard time figuring out that the 000O.bib
included by bibtex is actually /tmp/000O.bib and not ./000O.bib. The latter
would have resulted in an error and then I would have noticed the typo.
The above is distilled from a real user-case in Ubuntu GNU/Linux where the file
/usr/share/texlive/texmf-dist/bibtex/bib/computational-complexity/journals.bib
is included by default and if I had intended to use ./journals.bib but my file
was misnamed ./journal.bib, then bibtex does not gives me any hint that
something is wrong.
What I would expect above is:
This is BibTeX, Version 0.99d (TeX Live 2013/Debian)
The top-level auxiliary file: test.aux
The style file: plain.bst
Database file #1: /tmp/000O.bib
that is, for bibtex to print the path to the file it uses. I would go as far as
to suggest the same for "The style file:".
BibTeX 0.99d (TeX Live 2013/Debian)
kpathsea version 6.1.1
Thanks,
Manuel.