From: grodan@cyklop.nada.kth.se (Mats G L|fdahl)
Newsgroups: comp.text.tex
Subject: Re: The possibility of almost WYSIWYG TeX
Date: 8 Apr 92 18:06:52 GMT
	<GRODAN.92Apr7122044@cyklop.nada.kth.se>
	<1992Apr8.031655.590@cs.aukuni.ac.nz>
Organization: Royal Institute of Technology, Stockholm, Sweden
Originator: grodan@cyklop.nada.kth.se


Jeremy Gibbons writes:

   I still think this is a misguided desire. The kind of editing you can
   reasonably *expect* to be able to do in terms of the printed page---
   correcting spelling mistakes, adding an extra word, etc---are just as
   easily done in terms of the TeX source code.

Well, there is a lot of things I'd like to be able to do in the
wysiwyg way. Building formulas, for example, by clicking on buttons.

Clicking on a summation sign would then not just insert a Sigma
bitmap (or whatever) but actually enter the \sum control sequence into
the TeX file. With the cursor on a symbol (e.g. the Sigma), clicking
on a superscript symbol would perhaps move the cursor to the
superscript position and allow you to build a superscript (or, in case
of the \sum control sequence, an upper limit of the summation).

   The kind of editing you'd
   *like* to be able to do in terms of the printed page---changing the skip
   between list items, fiddling with tolerances and penalties and so
   forth---are exactly the things that are well nigh impossible to translate
   back to changes in the source (when you adjusted that skip at the top of
   the list, did you mean topsep or partopsep? and was that penalty an
   interline penalty, or a widow penalty, or a hyphen demerit, or what?)

The parameters of a list environment is most often decided in the
preamble, or style file, isn't it?

Anyway, the point I'm trying to make is that changes in either window
should reflect in changes in the TeX source rather than in the dvi
format. The big problem would be that of cursor position, rather than
that of backward translation.

What if you had a button that would pop up a window with a list of the
parameters of the current paragraph (or the current list or the
current environment)? Editing that list could put changes to those
parameters in that paragraph (if necessary inside a group).

Please bear with me if I continue with some more wishful thinking. I
enjoy it, and I think I've worked enough with TeX and LaTeX to know
what I'd like to have. I do not know if what I have in mind can be
done, however, so if you just tell me why it can't I'll shut up. 

o Marking a piece of text and clicking on the "\it" button could
  surround the text with "{\it ... }". (\em, \bf, \Huge,...)

o Clicking on a \section (in LaTeX) symbol would enter "\section{}" in
  the TeX source, and position the cursor so that what I type next
  would get in between the curly parentheses. (\subsection etc,
  \figure, \table, \caption,...)

o Cut and paste would not just copy the symbols on the screen, but
  rather the text and control sequences in the marked region. If you
  cut something from one environment and paste it into another, it
  should be typeset according to the new environment, thus perhaps
  producing very different output in the previewer screen. A simple
  example is just copying text from an italicized region into a
  bold-faced. 

o Make the whole thing customizable, so it would recognize the most
  common style files, and you could make your own customization for
  your favourite LaTeX style or Plain TeX definition file.

   Way back when I was doing my BSc, my final year project was to produce just
   such a previewer/editor (I was dead chuffed with the name `PrEditor'!). (It
   was written in a homegrown programming language, on a homegrown machine, on
   top of a homegrown text formatter, so don't get excited about it.) I
   connected the previewer to a (homegrown!) text editor, and implemented
   simple changes like editing the text and shifting columns of tables around;
   I added a quick-and-dirty update (simply shifting bits of the page image
   around) as well as a complete page reformat. I didn't realise the inherent
   limitations when I started, and I don't really think I did when I finished
   either, but looking back it all seems a great waste of time.

Aha, so you've had some experience with this kind of problems. What
was it that made it impossible? I mean, if you had been working in a
bit less "homegrown" environment, would you still not have been able
to make something useful? 

	/Mats

--
 Mats Lofdahl, Stockholm Observatory, S-133 36 Saltsjobaden | +46 - 8 16 44 75 
 -----------------------------------------------------------------------------
 Internet: lofdahl@astro.su.se | Bitnet: grodan@sekth | Sunet: royacs::lofdahl
-- 
 Mats Lofdahl, Stockholm Observatory, S-133 36 Saltsjobaden | +46 - 8 16 44 75 
 -----------------------------------------------------------------------------
 Internet: lofdahl@astro.su.se | Bitnet: grodan@sekth | Sunet: royacs::lofdahl