It sounds to me like you must have TM_LATEX_MASTER set in a project file or in .textmate_init in a project or something. The latex bundle does not set TM_LATEX_MASTER, it only uses the variable if its set. Are you sure it is always the previous master file?
Try typing this into a latex file and then pressing ctrl-r This will tell you what the environment variable is set to without running any latex commands. If it does not return a blank line then you need to hunt through your environment and see where it is set.
echo $TM_LATEX_MASTER
Brad
On Feb 7, 2008, at 7:06 PM, Geoff Vallis wrote:
You should add a line something like this:
DVIFILE=${TM_LATEX_MASTER:-$TM_FILEPATH}
Then use ${DVIFILE%.tex}.dvi on the /path/dvisync...... command
That will depend on how and where you are setting TM_LATEX_MASTER. This variable is around only for backward compatibility with previous versions of the latex bundle. The preferred method for setting the master file is to put
%!TEX root = /path/to/root in your tex file. BUT that will not help you in your situation. I thought you said you were working with one giant file.
In fact I have files that are stand-alone, and others that sit under a root file. And I do use the %!TEX root method of setting the master file, not any other - it seems similar to what texshop and bbedit use.
I've tried using DVIFILE=${TM_LATEX_MASTER:-$TM_FILEPATH} in my bundle, and it kind of works. But if I go from editing and latexing a collection of files which has a master file, to editing a stand- alone file, then textmate still tries to use the previous master file when dvi-syncing the stand-alone file, which obviously doesn't work. I can work around it with two bundles, or restarting textmate, but that seems very clunky.
But thanks for your input. I realize that there's not a whole lot of folk using xdvi with textmate.
Geoff
For new threads USE THIS: textmate@lists.macromates.com (threading gets destroyed and the universe will collapse if you don't) http://lists.macromates.com/mailman/listinfo/textmate