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

Herbert Schulz herbs at wideopenwest.com
Sat Sep 22 21:34:08 CEST 2012


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

> 
> On Sep 22, 2012, at 15:11:45 -0500, Herbert Schulz <herbs at wideopenwest.com> wrote:
>> 
>> 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.
> 
> I tried what you suggested: duplicating pdflatexmk.engine, renaming the duplicate to pdflatexistmk.engine, and editing its last line so that it now reads:
> 
> "${LTMKBIN}"/latexmk -pdf -r "${LTMKEDIT}/latexmkrcedit" -r "${TSBIN}/pdflatexmkrc" -e '$makeindex = q/makeindex -s BOOKLB.IST %O -o %D %S/' "$1"
> 
> And I commented out the change I had previously made to ~/Library/TeXShop/bin/latexmkrcedit (to include a $makeindex = …" line.
> 
> But now typesetting my document using pdflatexistmk as choice does NOT apply the formatting prescribed by that specified .ist. And it makes no difference whether that .ist is in ~/Library/texmf/makeindex or the document's source directory.
> 
> Note that the method of editing latexmkrcedit did work (with pdflatexmk.engine).
> 
> Did I misunderstand something here?
> 

Howdy,

What is displayed on the Console when you run that command?

Could you try to add a ; just after the %S/ and before the final '? I'm not sure if that will do anything.

Good Luck,

Herb Schulz
(herbs at wideopenwest dot com)






More information about the macostex-archives mailing list