TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have spent many many hours failing to implement nomencl for my PhD thesis. The problem seems to be with invoking makeindex and creating the .nls file

I keep reading that I must invoke makeindex or write a Unix command:

makeindex filename.nlo  -s nomencl.ist -o filename.nls

But I don't know how to do this. I would be grateful for some instructions i.e. where do I type the command?

I am using TeXShop 2.43.

share|improve this question
Welcome to TeX.sx! -- First you work with the terminal and try whether it works or not. – Marco Daniel Dec 8 '11 at 12:47

Save a new file ~/Library/TeXShop/Engines/Nomenclature.engine with following contents:


bfname=$(dirname "$1")/"`basename "$1" .tex`"
makeindex "$bfname".nlo -s nomencl.ist -o "$bfname".nls

Make this new file executable using chmod u+x ~/Library/TeXShop/Engines/Nomenclature.engine from within a shell or set the executable bit at the file privileges. See, e.g., WikiHow for more information about how to change file privileges.

Restart TeXShop. Now you should have an entry Nomenclature in the drop down menu next to Typeset.

To get a nomenclature first run LaTeX, then Nomenclature, then LaTeX again.

share|improve this answer
I tried making the nomenclature engine but got the following message when I tried to execute: Nomenclature.engine does not have the executable bit set. – Peter Dec 8 '11 at 13:04
@Peter You have to say, from the Terminal, chmod a+x ~/Library/TeXShop/Engines/Nomenclature.engine. Unfortunately, this is not possible from the Finder. – egreg Dec 8 '11 at 13:50
@egreg: wikihow.com/Change-File-Properties shows, how you can do it from the Finder. Doesn't this work? – Schweinebacke Dec 8 '11 at 16:06
@Schweinebacke From the Finder it's possible only to set the reading and writing privileges, not the x bit (Leopard; no Snow Leopard or Lion machine now). – egreg Dec 8 '11 at 16:11
@egreg: Interesting! – Schweinebacke Dec 8 '11 at 16:19

These are detailed steps to accomplish it:

1) In the mac terminal, go to ~/Library/TeXShop/Engines/ and type:

vi Nomenclature.engine

2) In the terminal, press the key "i" (for insert) once.

3) From here, copy the following code:


bfname=$(dirname "$1")/"`basename "$1" .tex`"
makeindex "$bfname".nlo -s nomencl.ist -o "$bfname".nls

4) In the terminal, press "control+clic" and clic on "Copy" menu.

5) In the terminal, press "esc" then type ":qw" and enter (this writes and quits the file).

6) In the terminal, type:

sudo chmod a+x Nomenclature.engine

7) In the terminal, enter your password.

8) Quit TeXShop (if opened) and start it again.

9) Nomenclature is ready to be executed.

Remember to execute: Latex-Nomenclature-Latex to obtain the expected results.

share|improve this answer
Very nice struction to make nomenclature works in Texshop. – Admia Mar 4 at 2:31

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.