[TxMt] [Latex] Compiler selection logic

Robin Houston robin.houston at gmail.com
Sun Apr 15 20:33:14 UTC 2007

Hi Haris,

Thanks for the reply.

On 4/15/07, Charilaos Skiadas <skiadas at hanover.edu> wrote:
> Not sure we should really distinguish between mytex and mylatex. Any
> use cases where both are needed as options?

I agonised over this. The reason I proposed what I did is not because
I think it's crucial to have both, but because I don't think the
(of only supporting one) is important enough to break TeXShop compatibility

Perhaps we could just document one of them. That way we
a) don't overburden the user with possibilities, but
b) still meet the expectations (and support the documents) of someone
switching from TeXShop.

Also, what exactly do we mean when we say "compilation route is
> 'latex' "? latex would produce a dvi file. Do we then convert it to
> pdf, and if so how?

Yes, we convert it to PDF. As for how to do this, perhaps:
1. Look for simpdftex, and use it if present.
2. Look for altpdflatex, and use it if present.
3. Use tex, dvips, ps2pdf, if all are present.
4. Give up with an error.

Also, should the user have a way of specifying that they want dvi
> output instead of pdf output?

I reckon that if someone wants that (or any other weird combination of
things), they can just write a custom compilation script and use mylatex.

> 1. Use the %!TEX TS-program specification in the source file.
> > 2. Use the %!TEX TS-program specification in the master file.
> Actually those 1,2 are really one, using the options.sh/options.rb
> script/library. There might be other files between the source file
> and the master file, and those should be looked at as well. Also keep
> in mind that there are multiple ways to define what the master file
> is (I think options.sh/rb takes care of that).

Hmm. My ordering was quite careful here: options.sh actually does it the
wrong way round, i.e. the master file spec over-rides the one in the source
file itself! The Typeset & View script justifies this with the comment:

  # Yes, this means options in master files override options in the
individual file
  # this may not exactly be ideal, but it's easiest. Show me a file
structure that this
  # is a problem for, and I'll show a poorly-designed LaTeX file

which I think speaks for itself. (I'm not even convinced by the "easiest":
it's not exactly hard to do this properly!) As for chaining more than two
files: if you consider that an important feature, then consider it done.

Looks good overall.

Great! When we've reached agreeement on all the details, I'll get coding.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macromates.com/textmate/attachments/20070415/f429c487/attachment.html>

More information about the textmate mailing list