[TxMt] LaTeX Bundle question
Geoff Vallis
gkv at Princeton.EDU
Thu Feb 7 22:33:09 UTC 2008
Brad
Following up with a slightly more explicit description. My bundle(s)
works, but not elegantly or well. I have a short script call
dvisync.sh that looks like the following:
#!/bin/tcsh
/usr/texbin/xdvi -sourceposition $1$2 $3
and then I have two(!) bundles, called dvisync1 and dvisync2 that look
like:
/pathto/dvisync.sh $TM_LINE_NUMBER $TM_FILEPATH ${TM_FILEPATH%.tex}.dvi
and
/pathto/dvisync.sh $TM_LINE_NUMBER $TM_FILEPATH ${TM_LATEX_MASTER%.tex}
The first works if and only if there is no master file, and the second
works if and only if there is one. I can't seem to get a single bundle
to work in both cases, and also TextMate doesn't seem to reset the
master file correctly all the time when I change the files I am editing.
Any suggestions would be appreciated.
Geoff
> On Feb 7, 2008, at 2:45 PM, Brad Miller wrote:
>
>>
>> On Feb 7, 2008, at 7:38 AM, Geoff Vallis wrote:
>>
>>> Brad,
>>>
>>> On Feb 6, 2008, at 9:47 PM, Brad Miller wrote:
>>>> How do you tell a running version of xdvi to change its position/
>>>> page from the shell? If it can be done from the shell I'll look
>>>> at adding it.
>>>
>>> The command to update xdvi is the same whether or not xdvi is
>>> already running. It is just:
>>> xdvi -sourceposition Lineno[:Column]Filename Masterfile[.dvi]
>>> with, I hope, obvious notation, and of course this command can be
>>> embedded in a shell script. The Column parameter is optional. If
>>> xdvi is already running, showing masterfile, this call will just
>>> bring the xdvi window to the front and switch positions
>>> accordingly. If not, the command will open an xdvi window with
>>> Masterfile showing.
>>
>> That is very easy. I've just never found X to be very pleasant on
>> the mac so I've mostly forgotten everything I used to know.
>>
>>>
>>>
>>> There are a million other options that you can see with a 'man
>>> xdvi' or 'xdvi --help'. Generally, you first open an xdvi window
>>> with the size and options you want, and then the syncing just uses
>>> that open window.
>>>
>>>
>>>> If it is a short shell script then it really would be very easy
>>>> for you to add your own bundle command.
>>>>
>>>> type ctrl-opt-cmd-b to bring up the bundle editor
>>>> You should see a bundle with your own name, or you can add the
>>>> command to the latex bundle.
>>>> click add new command in the lower left corner.
>>>> Give your new command a name: dvisync
>>>> Save: Nothing
>>>> Command(s) Whatever shell script tells xdvi to update itself.
>>>> The two variables you may want are:
>>>> TM_LINE_NUMBER and TM_FILEPATH or TM_FILENAME
>>>> Input: None
>>>> Output: discard
>>>> key equivalent: your choice
>>>> Scope Selector: text.tex.latex
>>>>
>>>> Brad
>>>>
>>>>
>>>> Close the bundle editor, and you've made your first TextMate
>>>> command.
>>>
>>>
>>> Thanks, I'll give this a shot, whether or not you decide to
>>> support xdvi. To be absolutely clear, can you say what the
>>> Textmate variables are that correspond to:
>>>
>>> linenumber of the file being edited where the cursor is at;
>>> column of the cursor of the file being edited (if available;
>>> filename of the file being edited;
>>> masterfilename (which will be the name of the dvi file).
>>>
>>
>> Geoff,
>>
>> You can see all of the environment variables exported by TM by
>> running the command Bundles --> Bundle Development --> Show TM_*
>> variables.
>>
>> linenumber is TM_LINE_NUMBER
>> columnnumber is TM_COLUMN_NUMBER
>> filename of the file being edited:
>> TM_FILENAME -- is the filename without any path information
>> TM_FILEPATH -- is the filename with full path
>> ${TM_FILENAME%.tex}.dvi will give you the name of the dvi file
>> without path
>> ${TM_FILEPATH%.tex}.dvi will give you the name of the dvi file
>> with the path
>>
>> Brad
>>
>>>
>>> Regards
>>> Geoff
>>>
>>>
>>>
>>>
>>> ______________________________________________________________________
>>> For new threads USE THIS: textmate at lists.macromates.com
>>> (threading gets destroyed and the universe will collapse if you
>>> don't)
>>> http://lists.macromates.com/mailman/listinfo/textmate
>>
>>
>> ______________________________________________________________________
>> For new threads USE THIS: textmate at lists.macromates.com
>> (threading gets destroyed and the universe will collapse if you
>> don't)
>> http://lists.macromates.com/mailman/listinfo/textmate
>
>
> ______________________________________________________________________
> For new threads USE THIS: textmate at lists.macromates.com
> (threading gets destroyed and the universe will collapse if you don't)
> http://lists.macromates.com/mailman/listinfo/textmate
More information about the textmate
mailing list