[OS X TeX] On the "Typeset" menu

Josep Maria Font jmfont at ub.edu
Tue Dec 16 12:29:18 CET 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,  
LaTeX, etc.
- 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,  
MetaFont.

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  
explain why.

Conceptually:
- 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  
proposal:

- 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,  
MakeIndex, etc.).
- 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!


JMaF




More information about the macostex-archives mailing list