[TxMt] latex compilation with makeindex arguments

Charilaos Skiadas skiadas at hanover.edu
Fri Nov 3 15:34:22 UTC 2006


On Nov 3, 2006, at 6:23 AM, Jens Heipmann wrote:

> hi,
>
> i would like to use textmate to create latex docs that use the  
> nomencl package. that means i should tweak the compilation process.  
> if i have the file mytest.tex i could compile it manually like  
> following:
>
> 1. compile within textmate (TM_LATEX_COMPILER = latexmk.pl)
> 2. from the directory of "mytest.tex": makeindex mytest.nlo -s  
> nomencl.ist -o mytest.nls
> 3. compile again within textmate
>
> earlier i used texniccenter on windows where i created a project  
> related output profile postprocessor:
> - executable: C:\apps\editor\texmf\MiKTeX\bin\makeindex.exe
> - arguments: "%bm.nlo" -s nomencl.ist -o "%bm.nls"
>
> how could i achieve this with textmate?

Are you using TM_LATEX_MASTER, or is this always happening in the  
current file? Because it might be simpler to just write a command  
that does the makeindex stuff by itself, and then use a macro to get  
both commands to run, the Typeset first and the makeindex later, and  
then the Typeset again.

If TM_LATEX_MASTER is set you can still do it, but it would be more  
complicated.

To get you started, here is how you would do the makeindex command.  
You would probably need to create a new TextMate command that just  
does something like:

M=${TM_LATEX_MASTER:-$TM_FILEPATH}
makeindex "${M%.*}.nlo" -s "${M%.*}.ist" -o "${M%.*}.nls"

So, the first line above looks to see if the variable TM_LATEX_MASTER  
is set, and if it is it assigns it to M, otherwise it assigns the  
variable TM_FILEPATH to M.
The second line executes the makeindex command.  ${M%.*}.nlo tells  
the shell to look at the value of the variable M, and replace the  
first match from the right which consists of a dot followed by a  
series of things with .nlo.
So what this does is to change the .tex extension of M into a nlo  
extension. Then we put it in quotes for the case where the filename  
contains spaces, so we want the whole thing to be treated as the  
filename.

You probably want the input and output of the command to be none and  
discard respectively. Or perhaps Show tooltip, to see any errors that  
might come up.

Let me know if I can help more with this.

Haris





More information about the textmate mailing list