[OS X TeX] On the "Typeset" menu
Josep Maria Font
jmfont at ub.edu
Tue Dec 16 06:29:18 EST 2008
This might be considered as a "feature request" for TeXShop, but it is
a rather conceptual issue, so I think it is worth discussing on the
list (since I may certainly be misguided). I have been wanting to
comment on this for some years:
To my taste, the "Typeset" menu is not logically organized, and the
way its keyboard shortcuts work are not entirely practical.
Currently, the Typeset menu gathers several different functions:
- Choosing among several TeX "formats" (in TeX language): plain,
- Choosing the "typsetting engine" (in TeXShop's dialect): pdf, TeX
and ghostcript, personal script.
- Making TeX run on the source file.
- Making one of the additional tools run: BibTeX, MakeIndex, MetaPost,
Some of the items in the menu just choose a certain option, others
besides make it run on the source file (and leave it selected). Some
of the items have a keyboard shortcut, and some can be inserted as a
button on the source file toolbar. There is one shortcut, command-T,
that changes its behaviour: it seems to run the item that was run for
the last time, be it a TeX format or one of the other tools.
For me, this mixture and behaviour are not only conceptually
confusing, but also inconvenient in practice. I hope I am able to
- In TeX world, I always thought "to typeset" meant to run (some
variant of) TeX. Running other programs such as BibTeX should not
appear under the same menu, and selecting one of them should not
affect the selection of TeX program.
- One thing is to choose the "method" (pdf or not, etc.) and quite a
different one to choose the "format" (plain, LaTeX, etc.). I have not
been following closely the latest developments, but I am aware that
there are new things such as ConTeXt and XeTeX, and there exists the
possibility of building "personal engines" incorporating many things;
I am not sure how these should be classified.
Practically: In the usual workflow of the common user (not the
developper or the expert), I think one selects a method and format (or
an engine) and works with these in a stable way (at least on a per
document basis): Typesetting will always mean running the same method
and format. So it is very useful that command-T is available to run
one's selection. But then one may use, say, BibTeX or MakeIndex, and
it is good they have their own shortcuts or toolbar buttons. But after
running them one *forcefully needs* to run TeX again (often two or
more times) in order to get the final result ... and now it happens
that one cannot hit command-T again! Running MakeIndex has caused the
selection of "format" in the menu to actually change to MakeIndex, and
command-T now runs it, until one chooses LaTeX manually (or with its
own shortcut, or button). This is both conceptually wrong (MakeIndex
is not an alternative to LaTeX, etc.) and practically annoying
(recently, I had to manually edit the .ind file after running
MakeIndex, and then command-T did not typeset but run MakeIndex again,
thus loosing all the changes...).
I think by now you all understand what I mean. So here comes my
- Call this menu "TeX" (or "Run" or "Go"... )
- Divide it into two main sections (or three or four):
- "Typeset": Selection and running of formats, methods, engines.
- "Tools": Run, independently, any of the other tools (BibTeX,
- In the Typeset sub-menu, separate the selection of format and method
or engine from the running of it. As for the shortcut, a single
shortcut should be enough: Command-T should always mean "typeset using
the selected format and method or engine".
- Also, in the Typeset sub-menu, separate the selection of format from
the selection of method. It is not clear to me where the engines
should be incorporated, as they may be comprehensive selections of all
the items, including also other tools, etc.
If space is available these two sub-menus might rather be two
independent menus: "Typeset" and "Tools". This might perhaps
facilitate the organization of the first one.
There are other mechanisms that also influence in typesetting: One is
the possibility of specifiying formats, methods and engines (and other
parameters such as root files, input enconding, etc.) at the beginning
of the source file, with the %%!TEX mechanism, which overrides the
selections in the menu. The other are the items in the "Macros" menu
that contain complete engines (there is also a mixing of functions in
the Macros menu: some are editor macros, other are typest macros,
others are file management macros... but this is less important, I
think). In principle it seems these do not affect the issue I am
discussing here, but ...
So what you think ? And, is it feasible ? Sorry for not being able to
contribute in the programming, I am just a user...
A final point: The item for the toolbar that contains a "typeset" menu
shows some formats not appearing in the "Typeset" menu: XeTeX and
XeLaTeX. Is this a bug or a feature ? And why it does not show the
choice between pdf or not... ?
Excuse me, I was too verbose for explaining such a simple idea, I
know. Sorry. Hope this helps!
More information about the MacOSX-TeX