[cl-typesetting-devel] Couple of silly questions

C Y smustudent1 at yahoo.com
Mon Jan 9 20:49:20 UTC 2006


--- Marc Battyani <marc.battyani at fractalconcept.com> wrote:

> "C Y" <smustudent1 at yahoo.com> wrote:
> 
> >Hi!  Just starting to look at cl-typesetting, and I had a 
> >couple of dumb questions:
> >
> >a)  Is there a user manual somewhere?
> 
> Not yet. Sorry. You have to look at the examples.

No problem.  I just thought it was around and I couldn't find it, which
is a bit embarrassing :-)

> >b)  Can cl-typesetting read files written with TeX syntax?
> 
> No. cl-typesetting has a simple Lisp syntax so that it's 
> easy to implement higher level syntaxes like TeX, make macros,
> etc.

Cool!  How much of TeX do you think cl-typesetting could support, in
theory?  I've got a copy of TeX - The Program on order so maybe I could
use that to get some ideas.  

> A lot of people said they will implement front-ends
> like this but to far AFAIK only Klaus Weidner and 
> Peter Seibel have done so.

Which ones did they implement?

> >c)  If a program wants to use cl-typesetting as (say) a
> >backend to a word-processing like editing environment (I 
> >know it's not designed for that, but bear with me) how do
> >the clauses in the license impact that kind of usage?  The
> >only ones I've seen discuss the implications of the
> >cl-typesetting license are Debian-legal
> >(http://lists.debian.org/debian-legal/2005/04/msg00217.html) 
> >and I don't know that they resolved anything one way or the
> >other.
> 
> They didn't resolved anything IIRC. In fact I adapted it from
> the SSL licence and even Debian uses SSL. For sure, it doesn't
> prevent you to do whatever you want to do with it. I
> will probably change it anyway.

Cool.  The only reason I ask is I'm returning to an idea I had a while
back (and may have actually discussed with you once, a long time back)
of implementing a real mathematical GUI for Axiom and Maxima.  Given
the Axiom project's goal of literate programming and use of TeX, and
the normal text problems that will need to be solved by a notebook
style interface anyway (I'm just starting to appreciate the difficulty
of line breaking + Mathematics, even for suboptimal solutions) the most
logical thing to do seems to be to use cl-typesetting's rendering and
layout abilities as the foundation for a notebook style UI (possibly
using Garnet, which is beginning to show some life again).  Axiom is
Modified BSD licensed, which so far has seemed a lot simpler than the
GPL issues Maxima occasionally delt with, so I'm hoping as much as
possible to base a GUI solution on Modified BSD licensed code so
everyone can use it.  I just wan't sure how cl-typesetting's license
played into that, and experience has taught me that if things are clear
at the beginning it pays off big down the road.

Anyway.  I have a few notions about 2D mathematical line breaking,
inspired by the breqn package and comments by Knuth in the TeXbook. 
Knuth was aware of the problem but purposefully avoided imposing a
solution at the TeX level, since there is no one "right way" to line
break equations.  He did illustrate some ways for a human to break
things up, which were very instructive and taught me things about TeX I
didn't know.  That's fine when a human being is doing it, but for CAS
output there are lots of cases where no sane human wants to deal with
it and so some kind of reasonable ruleset is needed.  I figure
cl-typesetting would be the perfect place to define that logic, if
indeed it can be defined and would be of interest to the project.  I'd
rather not do it at the Garnet level since I would like both Garnet and
McCLIM to be viable GUI options (although I'm a bit concerned about the
license on the CLIM specification document) and it seems like something
that cl-typesetting could benefit from if I can manage to pull it off.

I THINK, as a first cut, that the way to handle things will be to treat
each input "object as its own "mini-document" and avoid calling the
full typesetting logic on the whole document on a per-keypress basis. 
Math notebooks are fairly structured in the vertical direction,
although the height of "lines" might change.  Perhaps the thing to do
is simply "move" objects over if an insertion is being done, and when
the changes propagate to a "hard" edge (e.g. a margin) re-render
everything that needs it inside the input line, and simply shift
everything else down the specific change in the height of the input
object.  I expect reading the TeXbook and the cl-typesetting code will
help me think about those points.  Can cl-typesetting do that kind of
"localized" rendering?

The main problem is that until the math editing environment is
addressed there isn't much point in doing anything else GUI wise, since
everything else is so trivial compared to that problem.  :-/

Cheers, and thanks!

CY


		
__________________________________________ 
Yahoo! DSL – Something to write home about. 
Just $16.99/mo. or less. 
dsl.yahoo.com 




More information about the cl-typesetting-devel mailing list