Skip to Content.
Sympa Menu

texmacs-users - Re: [TeXmacs] New paper on TeXmacs

Subject: mailing-list for TeXmacs Users

List archive

Re: [TeXmacs] New paper on TeXmacs


Chronological Thread 
  • From: Joris van der Hoeven <address@hidden>
  • To: address@hidden
  • Subject: Re: [TeXmacs] New paper on TeXmacs
  • Date: Mon, 17 Jul 2006 18:08:40 +0200

Hi,

On Mon, Jul 17, 2006 at 11:40:23AM -0400, David G. Wonnacott wrote:
> As per my recent emails to this list, I myself am rather focused on
> features for extending TeXmacs at this time. It looks like this paper
> contains a good overview of what is possible (macros and scheme
> functions) and a pointer to the help menus where one can get more
> details, but speaking as someone new to extending TeXmacs (but
> familiar with extending emacs and LaTeX), I would also like to see:
>
> 1) Something about how to learn what functions I can call from
> scheme. I know I can use things that I can type with "\" when I
> build macros, but I'm not sure how to figure out
>
> a) what I can call from scheme -- I've been using the "help" menu
> to search source code; is there a better way?
>
> b) whether (and how) I can call back into the macro language from a
> scheme function
>
> It may be that these details belong only in the "help" menu, but
> they also have a bearing on the question below, so I thought I'd
> start with them.

Sure, such documentation would be useful. Henri Lesourd has posted
several messages on this topic on the mailing list. However, the focus
of my paper is on newbies (and mostly with a scientific background).

> 2) A sentence or two about the relative limitations of the two
> mechanisms (macros vs. scheme) -- how do I decide which to use?

Scheme is more powerful, but slower. Also, the macro languages
is automatically analyzed, so TeXmacs *knows* about the number
and type of arguments of a macro.

> In emacs, I write just about everything in emacs lisp; in TeXmacs, I
> can do simple combinations of existing features as a macro, or more
> serious programming and configuration of the menus from scheme.
> This is stated in a clear and concise way at the start of Sections
> 7.1 and 7.2. But I'm not sure if there are other factors that
> should be influencing my choice between these two mechanisms. In
> particular, it seems that I can't easily just go to doing
> everything in scheme because:
>
> a) It seems that one can embed a macro or two at the start of a
> document, but that scheme programs _must_ be put in separate
> files and installed in the proper part of the file system and
> then requested properly from the document. So simple things that
> are only needed in one document are much more easily done as
> macros.

Yes, the scheme code must be puit somewhere else.
For security reasons, this is no surprise.

> b) If the answer to "b" above is "no", I can't use scheme for
> things that need to call back into stuff that's not available
> (or things that I can't locate) in scheme.
>
> It might be nice to have a sentence or two about which mechanism
> should be used for what purposes.

Easy markup macros should be written in the style language.
All other things in Scheme.

> These concerns are obivously heavily biased toward the things that
> I've been trying to figure out recently; I won't take offense if you
> don't address them in the paper, but you did ask for comments, so
> there you have them :-)
>
> All in all, it's nice to see more documentation that I can use to
> introduce other folks to TeXmacs (I've forwarded the URL's for this
> document and Henri's page to a colleague already).

Yes, we have to write more and more documentation.
Don't know when that will be ready though...

> P.S. regarding my "My first non-trivial macro" email of last
> Wednesday, can you shed any light on the question of why
>
> <include|<example-file-name|hello>>
>
> works (from the latest CVS version) but
>
>
> <assign|in-ex|<macro|ex-name|<include|<example-file-name|<arg|ex-name>>>>>
>
> doesn't?

I can't say straight away. The "include" primitive is a bit fragile.
In case of despair, don't hesitate to use the "quasi" primitive
(look in the documentation).

Best wishes, Joris



Archive powered by MHonArc 2.6.19.

Top of Page