[TxMt] Latex Config and backward compatibility questions

Brad Miller bmiller at luther.edu
Mon Jul 23 20:13:55 UTC 2007

On 7/23/07, Charilaos Skiadas <skiadas at hanover.edu> wrote:
> On Jul 23, 2007, at 2:54 PM, Brad Miller wrote:
> > Thanks for the comments, see below...
> >
> > --
> > Brad Miller
> > Assistant Professor, Computer Science
> > Luther College
> >
> > On 7/23/07, Mike Miller <mightymiller19 at gmail.com> wrote: >
> > > This one is more interesting.  We currently have two ways to
> > > specify a master/root file.  Using this variable, or using the
> > > TexShop %!TEX directive embedded directly in the file.  The TexShop
> > > way seems clearly superior to me since it allows for more
> > > flexibility than a single environment variable per directory or
> > > project.  So my proposal is that the environment variable goes away.
> >
> > I agree that the %!TEX directive allows for more flexibility, but I
> > think that there are several reasons that support for the environment
> > variable should not be dropped.  First, at least in my case, it has
> > always sufficed to use the TM_LATEX_MASTER environment variable, and
> > I'm not sure that I can imagine a realistic situation in which one
> > would need more than one master file per project.  Is there a common
> > scenario in which one uses several "master" files for the same
> > project?
> >
> > Here's my scenario in the book I am writing.  I have a master file
> > for the entire book which includes the master files for each
> > chapter.  But each chapter is broken down into individual files for
> > big sections.  This scenario breaks the TM_LATEX_MASTER approach.
> I assume then that one of the two levels of inclusion is with \input
> commands instead of \include commands, since \include commands can't
> be nested ASAIK?
> I have to say that I would like to keep TM_LATEX_MASTER and the %!TEX
> directives, and have the directives take precedence if present. I
> suppose this adds complexity which we are trying to avoid, but for me
> the fact that the directives need to be included in each file is
> quite bothersome, especially when moving files around to new projects
> or whatnot. But I can also see its usefulness in your case.
> I suppose the way I would organize your situation is that I would
> have a separate tmproj file for each chapter, when I want to work
> with a particular project.
> So, I assume that your are solving the problem of having each chapter
> compile on its own and at the same time be includable in the master
> document in the standard not very pretty method using conditionals?

> Second, if I'm not mistaken, the %!TEX directive must be placed
> > manually in every new file that is created in a project; however, if
> > one uses the TM_LATEX_MASTER environment variable, a new file in a
> > project is automatically assumed to have the same master file as the
> > environment variable.


I don't think that keeping TM_LATEX_MASTER around is that much extra work.
In fact I had already coded up using it before I started work on this
configuration interface.  I have plenty of old papers and projects that will
break if I remove TM_LATEX_MASTER so I don't know how strongly I feel about
getting rid of this one variable.

But, the question is how should we let the user set their root file?
Through the standard way of setting a project environment variable?  Tell
them to edit .textmate_init, or provide another dialog  that either writes
to .textmate_init or adds a line to the current file?  It seems a bit
confusing to give the user two totally different ways of configuring
something as simple as the master file.

> > This could be solved by modifying the standard latex templates, or
> > adding another command to the latex bundle that allows you to
> > quickly add a directive line to a new file.
> As well as edit an existing directive line. Would that command try to
> automatically figure out the name of the master file, or would the
> user be expected to type it in?

I suppose it could look for other .tex files in the same directory and if
they have a root directive already in place that could be suggested.

> >
> > Do we need a separate checkbox that says keep textmate html window
> > open?
> No, but we do need to make sure that it does stay open based on which
> of the three preferences the user has selected ;)

So, maybe we should be more clear in the preferences window:

Provide a checkbox that says:   Automatically start external Viewer

And the radio boxes should say:

Close output if no errors
Close output if no errors or warnings
Do not close output window

That may be a more direct way of saying what the ERRLVL variable is really
getting at.  What do you think??


> Brad
> >
> >
> > Thanks,
> >
> > Mike Miller
> Haris Skiadas
> Department of Mathematics and Computer Science
> Hanover College
> ______________________________________________________________________
> For new threads USE THIS: textmate at lists.macromates.com
> (threading gets destroyed and the universe will collapse if you don't)
> http://lists.macromates.com/mailman/listinfo/textmate

Brad Miller
Assistant Professor, Computer Science
Luther College
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macromates.com/textmate/attachments/20070723/4509e259/attachment.html>

More information about the textmate mailing list