[OS X TeX] How specify .ist for index?

Herbert Schulz herbs at wideopenwest.com
Fri Sep 21 16:11:45 EDT 2012


On Sep 21, 2012, at 2:51 PM, Murray Eisenberg <murrayeisenberg at gmail.com> wrote:

> On Sep 21, 2012, at 15:44:48 -0500, Herbert Schulz <herbs at wideopenwest.com> wrote:
> 
>> 
>> On Sep 20, 2012, at 3:36 PM, Murray Eisenberg <murrayeisenberg at gmail.com> wrote:
>> 
>>> 
>>> On Sep 20, 2012, at 10:17:31 -0500, Herbert Schulz <herbs at wideopenwest.com> wrote:
>>> 
>>>> On Sep 20, 2012, at 10:07 AM, Murray Eisenberg <murrayeisenberg at gmail.com> wrote:
>>>> 
>>>>> 
>>>>> On Sep 19, 2012, at 10:48:48 +0200, Claus Gerhardt <claus.gerhardt at uni-heidelberg.de> wrote:
>>>>> 
>>>>>> You have to use a shell script specifying that .ist file, see the [linked attachment]  where I use a german.ist file. The .ist file should be saved in texmf/makeindex where texmf is your personal texmf folder.
>>>>>> 
>>>>>> The shell script can be called by an Applescript.
>>>>>> 
>>>>>> Claus….
>>>>>> 
>>>>>> Url : http://email.esm.psu.edu/pipermail/macosx-tex/attachments/20120919/f6ec0d64/makeindexc-0001.zip
>>>>>> 
>>>>>> On Sep 19, 2012, at 3:11, Murray Eisenberg <murrayeisenberg at gmail.com> wrote:
>>>>>> 
>>>>>>> How does one go about specifying a .ist file to be used when makeindex is run automatically from within TeXShop?
>>>>>>> 
>>>>>>> (In my .ist file I use the usual settings so that each letter of the alphabet is typeset large and bold just before all the index entries that start with that letter.)
>>>>> 
>>>>> Is there some way to integrate this into TeXShop? So that either using the MakeIndex choice for Typeset -- or even, preferably, being able to do it all with the the pdflatexmk choice -- can be directed to use a particular .ist?
>>>>> 
>>>>> After having such a lovely front end to TeX as TeXShop, it seems a great shame to have to go to a command line to call a script.
>>>>> 
>>>> 
>>>> If you want to integrate it into the pdflatexmk engine (actually this will do it for all of the latexmk based engines --- if that's no good let me know) just add the line
>>>> 
>>>> $makeindex = "makeindex  -s my.ist %O -o %D %S";
>>>> 
>>>> (on a separate line) where my.ist is the index style file you want to use to ~/Library/TeXShop/bin/latexmkrcedit. Note: from then on the my.ist file will always be used. Note that the my.ist file needs to be where TeX can find it; e.g., ~/Library/texmf/makeindex for personal .ist files---create that folder if necessary.
>>> 
>>> That works very nicely, thank you! (Although not as easily as would be the case if one could just use the TeXShop preferences to specify the file. Yes, that's a feature request!)
>>> 
>>> I note that this still works if I use a symlink in  ~/Library/texmf/makeindex to the actual .ist file. So then when I want to change the index style file, I don't have to copy a new file to that location, just re-create the symlink to the new one.
>>> 
>> 
>> 
>> If you wish to you can actually create an engine file, pdflatexistmk (?), that will set that ist for makeindex and then use that engine when you wish.
> 
> Is creating a separate pdflatexistmk (say) better for some reason than just editing latexmkrcedit if I'm going to be changing from one .ist to another for different jobs?
> 

Howdy,

Editing the latexmkrcedit file changes the behavior of all of the latexmk based engines while creating the pdflatexistmk.engine (answering your question below) localizes the change to that engine alone.

> If I do create such an engine, do I correctly understand that you're referring to something named, say, pdflatexistmk.engine that goes into ~/Library/TeXShop/Engines? And that it would be similar, say, to pdflatexmk.engine but _somehow_ add the needed information about the .ist for makeindex? 
> 

Yes. What you would do is duplicate the pdflatexmk.engine file, rename it pdflatexistmk.engine and edit it. Change the line

"${LTMKBIN}"/latexmk -pdf -r "${LTMKEDIT}/latexmkrcedit" -r "${TSBIN}/pdflatexmkrc" "$1"

(that's all one line even if it looks wrapped on your screen) to

"${LTMKBIN}"/latexmk -pdf -r "${LTMKEDIT}/latexmkrcedit" -r "${TSBIN}/pdflatexmkrc" -e '$makeindex = q/makeindex -s my.ist %O -o %D %S/' "$1"

(again all on one line).

> The crux of pdflatexmk.engine seems to be that it calls ~/Library/TeXShop/bin/tslatexmk/latexmk with some options, one of which refers to latexmkrcedit. So are you suggesting that I create a new option for latexmk, which would involve modifying latexmk, or is there a way within the proposed pdflatexistmk.engine to pass an additional option to latexmk? 
> 
> (I see several options of the form "-r …" in the call to latexmk from within pdflatexistmk.engine, but I don't see how they get used in latexmk. Is this some universally understood bash or perl parameter?)


Not exactly a new -r option, which tells latexmk to read a specific initialization file which contain perl code, but the -e option, which actually contains perl code.

Good Luck,

Herb Schulz
(herbs at wideopenwest dot com)






More information about the MacOSX-TeX mailing list