mailing-list for TeXmacs Users

Text archives Help


Re: [TeXmacs] questions from an envious user


Chronological Thread 
  • From: Henri Lesourd <address@hidden>
  • To: address@hidden
  • Subject: Re: [TeXmacs] questions from an envious user
  • Date: Tue, 11 Mar 2008 09:47:13 +0100

Michael Lachmann wrote:

It seems textmate is quite a nice editor - maybe TeXmacs could copy
some of its features...

I had a look at Texmate, its quite a nice software.


The first observation was that it seems that interfacing from textmate
to external programs is easier in textmate than it is in TeXmacs.

Not really, in fact its quite easy to redefine keyboard
shortcuts and/or to populate menus with your own stuff.

As soon as you can do it, then you write Scheme code to
communicate with external systems and/or access the TeXmacs
document (there is an API similar to DOM inside TeXmacs
that you can use for this purpose).

---
As an attachment to this email, you will find
an archive. Put the "spreadsheet0" directory inside
your .TeXmacs/plugins directory, and then open the
file in the directory spreadsheet0/examples.

This code demonstrates all the various ways to
access TeXmacs documents from inside Scheme, and
how to hook keyboard events, too.

You need to know Scheme to understand this code (feel
free to raise questions if you need some info about
that). There is also a tutorial I did at :
<<
http://www.ags.uni-sb.de/~henri/texmacs/aTeXmacsTutorial.pdf
>>

, although it doesn't covers Scheme, it can also be useful.


this I inferred only from the fact that there are so many interfaces
written for texmate and that my demonstrator commented that it is very
easy to interface with textmate.

There are dozens of external systems which have
an interface to TeXmacs. Among them (but this
list is not exhaustive, there are also other
important ones, like Mathematica, or GNUPlot,
for example):
http://www.texmacs.org/tmweb/plugins/plugins.en.html


It could be (I actually think that is true) that interfacing in
TeXmacs is just as easy, it just isn't made clear how easy it is.

Btw, there is also lots of information about that
in the official TeXmacs documentation. One can have
a look in the Help menu:
Help->Manual->TeXmacs plugins
Help->Interfacing
Help->Scheme extensions [this one is to be completed]


I think it is trivial in textmate to say "send this text to this and
this command, get the reply back, and interpret it as html (or just
insert it as text)". I think TeXmacs is perfectly capable of doing
something like this, but it just isn't made clear exactly how easy it
is, or how to do it.


All the information about that is in Help->Interfacing,
if you want to use the standard TeXmacs pipe interface.

Otherwise, you can also use the technique discussed
in the beginning of this email, i.e., trapping keyboard
shortcuts and populating menus, and implementing your
communications directly in Scheme (e.g., by means of
sockets).


First is syntax highlighting. It seems that to add syntax highlighting
to textmate, you just need to define a couple of regular expressions,
that say what a certain expression is (i.e. comment, function, string,
etc.)


Syntax highlighting is not as easy in TeXmacs, although
it has been recently added to Scheme code displayed
in Scheme sessions. But currently, it's not user-programmable.

Another problem is that for displaying source code,
the TeXmacs renderer is too slow : currently, I
dont see how it could beat the speed of editors
directly implemented inside a UNIX term, like
emacs or vi.

Things could perhaps change in the future, but
currently, it is more realistic to say that although
it can do it, TeXmacs is not designed for these
kinds of applications (editing source code).

Rather, TeXmacs primarily shines in applications
where you need a very high quality in displaying
complex information (e.g. : mathematical texts...),
thus the display algorithms reflect this.


Second, paren matching. Is it hard to implement paren-matching in TeXmacs?


It's feasible.


Third is pop-ups. Is it possible to popup a menu to get a user response?
The way it was used in textmate was that you type an R function. Then
you press a key (something like tab completion), and the interface
pops up a menu

Yes there is a pop-up menu in TeXmacs (click the
right button of the mouse, and you will see it).

Its definitely possible (for some people I'm working
with did it) to redefine the content of the TeXmacs
pop up menu in such a way that it changes depending
on the context (i.e., depending on the data surrounding
the cursor).


Finally, I just have an almost unrelated bug/comment. I actually wrote
a tab-completion module for the R interface in TeXmacs. It works
sometimes, but sometimes has problems.
My main problem is, however, that whenever there is some bug in the
tab-completion, TeXmacs gets stuck. In that case you can not click on
"stop", or "interrupt" among the icons in TeXmacs. It seeems TeXmacs
is waiting for a reply from the program, the program probably sent
something wrong, and now nothing will ever come back. Is it possible
to make the tab-completion interface more interruptable? This way it
will be more forgiving to errors.


This I don't know.

Attachment: spreadsheet0.tar
Description: Unix tar archive




Archive powered by MHonArc 2.6.19.

Top of page