I am using Eclipse 4.2 with TeXlipse 1.5 (the version bundled with StatET 3.2) and MixTeX 2.9. I have no problem using TeXlipse, bibtex, and natbib to produce bibliographies. But I often want to include multiple bibliographies (i.e., lists of references) in the same document. natbib isn't up to this task. In these cases, I turn to the bibunits package.

The problem is that Texlipse doesn't work well with bibunits. When latex (or pdflatex, etc.) is run on a document that includes \usepackage{bib units}, it generates an .aux file for each bibliography that is to be created: bu1.aux, bu2.aux, and so on. If the bibliographies are to be produced, bibtex needs to process each of these .aux files:

bibtex bu1.aux
bibtex bu2.aux

and so on. But Texlipse doesn't seem to know this. So it doesn't, by default, direct bibtex to process those .aux files. The result is that the bibliographies don't display as they should.

Here is a complete example of a document that the command-line tools (pdflatex, bibtex) handle fine but that gives Texlipse a lot of trouble. Although it uses bibunits, it has only one bibliography (to keep things simple):

Is there a way to change the Texlipse configuration so that it can handle the .aux file that is generated when files like the example file are processed? Right now, I have rigged up a workaround (configuring BibTeX as an "external tool" to process the .aux files), but it is clunky.

1 Answer
1

Depending on the number of external tools TeXlipse needs to be configured against, I have had great success in setting up the builder configurations and sequencing numerous tasks. I use bibunits, glossaries, lillypond, xelatex, and tex4ht and I have also automated the production of certain types of tex files with external programs, and this approach allows me to call these command line accessible programs prior to compiling my latex project ensuring I always have uptodate files. Creating compile sequences inside TeXlipse I find too arduous and cumbersome for all these external programs.

On windows computers running MikTex, I use a bat file with a custom sequence that contains either hardcoded defaults, or command line arguments (or both). I setup TeXlipse to run this batch file as and external program and can setup TeXlipse to pass workspace variables via the command line from user specified workspace configurations in TeXlipse.

To address the bibunits specific nature of the question I use bu*.aux in a for loop

FOR /R %%A IN (bu*.aux) DO ( ECHO Will try and compile %%~dpA%%~nA with bibtex & "%MikTexPath%bibtex.exe" --include-directory="%srcPath%\..\..\ReferencesDirectory" "%%~dpA%%~nA")

This when in a batch file can be run with hardcoded locations or replaced with command line variables (as demonstrated in the more complicated example below) that TeXlipse can pass.

I don't profess to be an expert in batch file programming but this bibunits/glossaries/xelatex demo setup allows me to work on any computer with the base software that I can bring my project to.