This message is not at all apropos of getting 1.2 released, so read it
when you're in a dreamy mood.

Something which I think would really be a *killer* feature for LyX
would be the ability to write plug-ins to handle custom environments.

As an example of the kind of thing I'm thinking of, categorists and
topologists often want to draw commutative diagrams.  I'm neither, but
I have attended a category theory course, and I wrote up my notes in
LyX.  I had to do with huge amounts of ERT (there may even have been
some posts from me here about it at that time).

What would really rock would be if I had been able to knock together a 
quick plug-in so that I could visually edit the diagrams.  The
interface would be rather like a table, except that every cell would
start in mathed mode, and there would be a gesture for adding arrows
between cells, and labelling them.

Of course, such a facility could, with some work, be hacked into the
main source code.  But then that's only good enough until I need some
new feature (two-cells, for example).

Personally, I'm somewhat on the path to becoming a LaTeX power-user, and 
I devise my own macros for complex notations.  It would be so
brilliant if, at the same time as I was devising the LaTeX macros, I
could knock together a package for a WYSIWYM editor in LyX.

I'm imagining an API accessible from python, although it doesn't have
to be python.  The reason I suggest python is that sketch
(http://sketch.sf.net ), which is a freehand-style vector editor
written in python, has an incredibly powerful plug-in architecture,
and plug-ins really can create new types of object etc..

The API would let you define a new type of inset, and build it up out
of existing insets.  My commutative diagram thing would use the
Tabular inset, I should think, but plonk a mathed inset inside each
cell.  The API would also give you access to some primitive
line-drawing commands (so I could draw my arrows), and let you
position the insets arbitrarily (so I could put some math insets
half-way along the arrows). And, of course, the API would let you
specify what LaTeX code to generate... (and, in principle, other
backends, but the plug-ins I'm imagining would be LaTeX-only).

Well, it's a nice thought, anyhow.

Jules


Reply via email to