yochju / latex-makefile

Automatically exported from code.google.com/p/latex-makefile
Other
0 stars 0 forks source link

make is broken when the .bib files are not in the current directory #3

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Have a document with \bibliography{mybib}
2. Have file mybib.bib NOT in the current (Makefile's) directory (but, say,
in ${HOME}/TeX)
3. set the BIBINPUTS environment variable: export BIBINPUTS=${HOME}/TeX:
4. type make

What is the expected output? What do you see instead?
Latex/BibTeX allows such a configuration and BibTeX is supposed to browse a
list of directories to find the .bib file(s). BTW latex;bibtex;latex;latex
works fine. However, the makefile is broken with:
No rule to make target `mybib.bib', needed by `document.aux.make'

What version of the product are you using? On what operating system?
2.0.9, Linux RHEL4

Please provide any additional information below.
I guess most people either 1) have their .bib file in the same directory as
their document, or 2) give the complete path to it in the \bibliography
command. However, my .bib files are shared with other people and I do not
want to duplicate them for each new document I write. I could use a
symbolic link but... it is not nice!
To give the exact path is never safe (what if my .bib files are moved) nor
portable (if the path separator of another OS is '\').
The 'brut force' latex/bibtex compiling (latex;bibtex;latex;latex) works
perfectly because I set the BIBINPUTS variable.

I have no easy solution for that one. I thought I would look at the
dependency tree to help but my IT support guys need to install graphviz first. 

a) I do not know if it portable to other *nix systems (and other latex
distributions) but on my system, the command 'kpsewitch myfile.bib' returns
the full path to the .bib file BibTeX will be using. Perhaps it can be used. 
b) I also have .bst files which are not in the current dir (and not in the
LaTeX default path) but the makefile has no problem to handle them
(provided the BSTINPUTS variable is set). The same for packages (.sty).
Perhaps is it posible to replicate the strategy for .bst and .sty files to
the .bib files?

Good luck.

PS: I am not used to the code.google interface and I cannot find a way to
signal this is should be a non severe issue, upgrade request.

Original issue reported on code.google.com by lavergne...@gmail.com on 4 Oct 2006 at 1:29

GoogleCodeExporter commented 9 years ago
Thanks for your bug report.  This is a known issue, and as such should probably 
be
added to the makefile header.  I recognize that many people use a shared .bib, 
so I
will look at this.

Meanwhile, please use a symlink.  I'll update the bug as I make progress.  If 
you are
conversant with GNU make, you are also welcome to submit a patch, as always.  
:-)

To change the label (Type-Defect, Priority-Medium, etc), just click on it.  A 
list
will appear.  If you think a standard label is missing, just let me know.  I 
can add
it to the list.  You can also type anything in there that you want.

Original comment by shiblon on 4 Oct 2006 at 2:13

GoogleCodeExporter commented 9 years ago
This was a pain to fix (mostly because I can't count on GNU sed being available
everywhere), but I think I nailed it.  Please test it and let me know.

Version bumped to 2.1.0, since this represents a pretty big feature enhancement
(though the code to make it work isn't all that big).

Original comment by shiblon on 5 Oct 2006 at 6:31

GoogleCodeExporter commented 9 years ago
Nice. It works fine if BIBINPUTS is provided. The usual '.bib file in the 
current
directory' works also fine. I cannot test on other systems or LaTeX 
distributions.

Original comment by lavergne...@gmail.com on 9 Oct 2006 at 7:52