all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Stephen J. Turnbull" <stephen@xemacs.org>
To: "Pascal J. Bourguignon" <pjb@informatimago.com>
Cc: emacs-devel@gnu.org
Subject: Re: Emacs as word processor
Date: Fri, 22 Nov 2013 15:37:07 +0900	[thread overview]
Message-ID: <878uwheycs.fsf@uwakimon.sk.tsukuba.ac.jp> (raw)
In-Reply-To: <878uwhxnqe.fsf@informatimago.com>

Pascal J. Bourguignon writes:

 > - define a page size + page margins for the document.

-1.  That should a function of printing (including previewing final
copy).  Just text width.  The interaction between page sizes and
margins is quite complex if you want a good-looking and readable page.

 > - define header, body and footer areas of the pages.

+1.  But see below for comments on how that would be done.

 >   They can be specified with versions for odd and even pages,

-0.5.  Just mirror the format for odd pages if you want the even pages
to be different.

 >   and with alternate versions for pages beginning chapters or
 >   sections.

-1.  Way unnecessary for the first cut.

 >   Since headers and footers can be edited with styles too, editing them
 >   would have to call up secondary WYSIWIG windows.

-1.  Just edit them in-place, and when leaving that area prompt for
whether it's that page only, or change the style for all pages.

 > - define styles, apply styles to tags.

+1

 > - assign parenthesized tags to text ranges (in a hierarchical structure
 >   similar to SGML).

??

 > - define a file format.  I'd propose SGML with a DTD usable by docbook
 >   for the data, extended with as metadata a description of the document
 >   layout (page size, styles, etc).  Perhaps DocBook XSL (style sheets)
 >   could be used for the metadata.

You're proposing yet another file format that would be useless for
exchange with non-Emacs users?  I don't see the point.

 > - then for the WYSIWIG aspect, we'd need to implement a rendering
 >   engine.  We have the basis with font faces, but more work is needed to
 >   give a WISIWIG representation of the page, and its computed layout.

-0.5.  All you really need is leading for the interword spaces when
presenting fully justified text.  I don't think Richard is thinking
about photorealistic display (which you can't get anyway, even Word
sometimes prints differently from what you see on screen).

 >   Scrolling and zooming would behave differently in those WISIWIG
 >   windows, since they're would contain essentially a graphic
 >   representation of the page, like when we render PDF files.

-1.  No, PDF is static, not editable.  If there's reason do movement
differently in WYSIWYG editing buffers, probably the option should be
available in all editing buffers.  But I don't really see this as
necessary at first.

 >   Page margins, paragraph margins (set in the paragraph style), and
 >   other elements could have graphical controllers overlaid for GUI
 >   interaction, as well as being editable with normal keyboard commands,
 >   like the scroll-bar, menu-bar and tool-bar options.

-1.  Way unnecessary for the first cut.

 > The reason why people have so much a hard time to use and apply
 > styles with word processors: they presence and definition is
 > hidden, since they're not "printed out", only their effect is
 > visible.

This is a Microsoft conspiracy to sell classes in Word use, I think.
The things that regular people need to do with styles in a simple
wordprocessor are relatively few.

 > A solution in emacs could be to use a second window, a metadata window
 > (a little like a minibuffer, but probably bigger), that would appear
 > automatically when editing a WYSIWIG window, so that when moving the
 > cursor on a cell in the WYSIWIG window, style and other metadata can be
 > displayed in the metadata window, and editing commands can then be given
 > that modify the metadata and are reflected WYSIWIGLY in the WYSIWYG
 > window.

-100 (maybe more).  Either you want to edit a markup language (a la
CSS) "out of band", or make changes GUI-ly.  Either way, we don' need
no steenkin' metadata windows getting in the way of a bigger picture
for the document we actually care about.

 > When you edit plain text, or plain text with markup (either "implicit"
 > thru formating like in reStructured Text or markdown, or tagged text in
 > the SGML family), you use the same command set to edit both the data and
 > the metadata.  Even to edit both at the same time!  
 > 
 >     M-x replace-string RET <p>The RET <br>And the RET
 > 
 > But in the case if a WYSIWIG word processor, as long as we don't provide
 > a plain text data+metadata buffer to be edited in emacs as plain text,
 > we need to define two sets of commands,

I really don't see this.  When you're in a "cell" (header, footer,
body, object == table, figure), you should be able to edit that cell
directly, and have it reflected in the stylesheet without special
commands.  Yes, there will be special commands because the _content_
of specials is different (instead of a literal numeral, there will be
a "page_number" object in headers and footers, for example, and
selecting from the available objects -- including the non-portable
"sexp" of course!!).  So we will require a special insert command, but
not much more, I suspect.

 > And this is the fundamental problem with word processors and WYSIWIG
 > editors.  Since data and metadata is separated, a text editor becomes
 > useless to work on them.

Metadata will be applied via text properties and overlays, no?  I
don't see a real difference between that aspect of the current Emacs
buffer/redisplay model, and what you're talking about here.

 > So the bet here is that adding a new set of commands to edit the
 > metadata could be done in a way that's sufficiently practical and usable
 > to make editing WYSIWIG document a little more agreable than editing
 > plain tagged text (SGML, reStructuredText, LaTeX, etc).

I suspect all this is quite far from what Richard is thinking about at
this point.  I understand what he wants (as a first cut) to be
something like

    position cursor before the words "emphasize this text"
    type M-3 M-@ C-c C-f C-e
    see "emphasize this text" in italics

(Aside to Richard: the key sequence C-c C-f C-e is compatible with
AUCTeX, which uses C-c C-f as a common prefix for face-changing
commands: emphasize, italic, bold, typewriter, ....  Perhaps it would
be nice to make the "M-@" implicit -> C-3 C-c C-f C-e.)

Next step would be continuous leading for full justification.

Probably after that add very simple header and footer capability, with
a fixed number of lines per page (possibly using a very simple
modeline-like format spec?)  [Personally, I prefer to think of each
chapter as a long scroll, and editing doesn't care about headers/
footers.  YMMV of course, but that point of view suggests that
headers, footers, and WYSIWYG pagination in general can come later
than the within-page stuff.]

The following step would be text that flows around objects (tables,
figures).

And all the while we think about how to add complex capability without
adding complex UI. :-)

All above is IMHO YMMV IANAL TINLA etc....

Steve



  reply	other threads:[~2013-11-22  6:37 UTC|newest]

Thread overview: 239+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-17  7:28 Emacs as word processor Richard Stallman
2013-11-17  8:18 ` Jambunathan K
2013-11-18 18:44   ` Richard Stallman
2013-11-18 22:12     ` Rasmus
2013-11-19  6:02       ` Richard Stallman
2013-11-19  8:01         ` joakim
2013-11-19 23:42           ` Richard Stallman
2013-11-20  6:54             ` joakim
2013-11-20 18:01               ` Lennart Borgman
2013-11-23  6:07               ` Richard Stallman
2013-11-19 10:57         ` Jambunathan K
2013-11-19 12:20           ` Thorsten Jolitz
2013-11-19 14:35             ` Jambunathan K
2013-11-19 13:28         ` Sivaram Neelakantan
2013-11-20 18:35           ` Richard Stallman
2013-11-26  8:38     ` Tom
2013-11-26 15:58       ` Richard Stallman
2013-11-26 23:08         ` Bastien
2013-11-26 23:26           ` Lennart Borgman
2013-12-15 16:16         ` Steinar Bang
2013-11-17 11:16 ` Daniel Colascione
2013-11-17 13:02   ` Nic Ferrier
2013-11-17 13:55     ` Lennart Borgman
2013-11-17 14:15       ` Juergen Fenn
2013-11-17 18:57         ` chad
2013-11-18  4:20   ` Richard Stallman
2013-11-18  5:06     ` Stephen J. Turnbull
     [not found]       ` <"<l6dsng$6h4$1"@ger.gmane.org>
     [not found]         ` <"<87mwl04w3k.fsf"@zigzag.favinet>
     [not found]       ` <l6dsng$6h4$1"@ger.gmane.org>
     [not found]         ` <87mwl04w3k.fsf"@zigzag.favinet>
2013-11-18 18:44       ` Richard Stallman
2013-11-18 19:42         ` Sean Sieger
2013-11-18 19:46           ` Sean Sieger
2013-11-19  6:01           ` Richard Stallman
2013-11-19  7:08             ` Andreas Röhler
2013-11-18 20:19         ` Allen S. Rout
2013-11-19  6:02           ` Richard Stallman
2013-11-19  8:46             ` Thien-Thi Nguyen
2013-11-19  9:39               ` Jambunathan K
2013-11-19 11:21               ` Jambunathan K
2013-11-19 14:35               ` Allen S. Rout
2013-11-19 15:54                 ` Thien-Thi Nguyen
2013-11-20 18:35                   ` Richard Stallman
2013-11-21 15:25                     ` Thien-Thi Nguyen
2013-11-21 16:18                       ` Eli Zaretskii
2013-11-21 21:27                       ` Richard Stallman
2013-11-21 22:03                         ` Lennart Borgman
2013-11-22  0:51                         ` Pascal J. Bourguignon
2013-11-22  6:37                           ` Stephen J. Turnbull [this message]
2013-11-22 21:06                             ` Pascal J. Bourguignon
2013-11-22 15:04                           ` Eli Zaretskii
2013-11-22 15:26                             ` Davis Herring
2013-11-22 16:06                               ` Lennart Borgman
2013-11-22 17:56                               ` Eli Zaretskii
2013-11-22 19:01                                 ` John Yates
2013-11-22 21:17                                   ` Eli Zaretskii
     [not found]                                     ` <CAJnXXoi2biZ0uOAB9s-0Y5=9EujpCV4a=CemR-K+wHeJVSB51A@mail.gmail.com>
     [not found]                                       ` <83a9gvcyq3.fsf@gnu.org>
2013-11-23 15:13                                         ` John Yates
2013-11-23 15:24                                           ` Eli Zaretskii
2013-11-23 16:43                                             ` Lennart Borgman
2013-11-23 17:52                                               ` Eli Zaretskii
2013-11-23 21:12                                                 ` Lennart Borgman
2013-11-25 17:51                                             ` John Yates
2013-11-25 18:02                                               ` Lennart Borgman
2013-11-25 18:40                                                 ` Eli Zaretskii
2013-11-25 18:54                                                   ` Lennart Borgman
2013-11-25 18:52                                               ` Jambunathan K
2013-11-26  7:26                                                 ` Jambunathan K
2013-11-22 21:06                             ` Pascal J. Bourguignon
2013-11-22 21:38                               ` Eli Zaretskii
2013-11-22 22:01                                 ` John Yates
2013-11-22 22:56                                   ` Pascal J. Bourguignon
2013-11-23  7:55                                   ` Eli Zaretskii
2013-11-22 22:53                                 ` Pascal J. Bourguignon
2013-11-23  8:22                                   ` Eli Zaretskii
2013-11-23 13:42                                     ` Pascal J. Bourguignon
2013-11-24  8:13                                       ` PJ Weisberg
2013-11-24 17:44                                         ` Drew Adams
2013-11-25 20:42                                     ` Allen S. Rout
2013-11-25 21:15                                       ` Eli Zaretskii
2013-11-25 21:21                                         ` Allen S. Rout
2013-11-25 21:54                                         ` Pascal J. Bourguignon
     [not found]                     ` <<877gc14vzs.fsf@zigzag.favinet>
     [not found]                       ` <<E1Vjbn0-0005Bd-4Z@fencepost.gnu.org>
2013-11-21 22:12                         ` Drew Adams
2013-11-22  7:34                           ` Eli Zaretskii
2013-11-22 13:56                             ` Stefan Monnier
2013-11-22 14:48                               ` Eli Zaretskii
2013-11-22 14:50                                 ` Lennart Borgman
2013-11-22 15:39                                 ` Yuri Khan
2013-11-22 16:07                                   ` John Yates
2013-11-23  6:06                                     ` Richard Stallman
2013-11-23  8:07                                       ` Eli Zaretskii
2013-11-23 21:12                                         ` Richard Stallman
2013-11-24  4:53                                           ` Eli Zaretskii
2013-11-24 18:37                                             ` Richard Stallman
2013-11-24 20:21                                               ` Eli Zaretskii
2013-11-24 20:52                                                 ` Lennart Borgman
2013-11-24 21:06                                                 ` Thien-Thi Nguyen
2013-11-24 21:10                                                   ` Eli Zaretskii
2013-11-25  2:15                                                     ` Stephen J. Turnbull
2013-11-25  3:55                                                       ` Eli Zaretskii
2013-11-25  5:20                                                         ` Stephen J. Turnbull
2013-11-25 17:39                                                           ` Eli Zaretskii
2013-11-26  2:35                                                             ` Stephen J. Turnbull
2013-11-26  3:58                                                               ` Eli Zaretskii
2013-11-26  7:05                                                                 ` Stephen J. Turnbull
2013-11-26 15:34                                                                   ` John Yates
2013-11-26 16:57                                                                     ` Lennart Borgman
2013-11-26 18:47                                                                       ` John Yates
2013-11-26 15:04                                                               ` Drew Adams
2013-11-26 19:51                                                                 ` Pascal J. Bourguignon
2013-11-26 20:36                                                                   ` Drew Adams
2013-11-26 19:48                                                               ` Emacs as word processor / Text Properties Pascal J. Bourguignon
2013-11-27  2:35                                                                 ` Richard Stallman
2013-11-27 22:26                                                                 ` T.V. Raman
2013-11-27 23:01                                                                   ` Drew Adams
2013-11-27 23:06                                                                     ` T.V. Raman
2013-11-27 23:48                                                                       ` Drew Adams
2013-11-28  0:50                                                                         ` T.V. Raman
2013-11-28  1:27                                                                           ` Lennart Borgman
2013-11-28  4:04                                                                             ` Stephen J. Turnbull
2013-11-28  6:03                                                                               ` Drew Adams
2013-11-28  7:13                                                                                 ` Stephen J. Turnbull
2013-11-28  7:34                                                                                 ` Bastien
2013-11-28  8:53                                                                                   ` Andreas Röhler
2013-11-29  8:44                                                                           ` Jambunathan K
2013-11-29  8:49                                                                             ` Jambunathan K
2013-11-29  8:52                                                                               ` Bastien
2013-11-29  9:01                                                                                 ` Jambunathan K
2013-11-29  9:05                                                                                   ` Bastien
2013-11-29  9:10                                                                             ` Eli Zaretskii
2013-11-29  9:51                                                                               ` Jambunathan K
2013-11-29 11:43                                                                                 ` Eli Zaretskii
2013-11-29 13:42                                                                                   ` Jambunathan K
2013-11-29 14:25                                                                                     ` Eli Zaretskii
2013-11-29 16:47                                                                                       ` Jambunathan K
2013-11-29 19:38                                                                                         ` Eli Zaretskii
2013-11-29 14:18                                                                                   ` Jambunathan K
2013-11-29 15:22                                                                                     ` Eli Zaretskii
2013-11-29 10:06                                                                             ` Andreas Röhler
2013-11-29  6:50                                                                   ` Jambunathan K
2013-11-30  1:09                                                                     ` Richard Stallman
2013-12-02 20:04                                                               ` Emacs as word processor Hendrik Boom
2013-11-25  3:06                                                   ` Yuri Khan
2013-11-26  0:04                                                     ` Richard Stallman
2013-11-22 17:58                                   ` Eli Zaretskii
2013-11-23  0:00                                     ` Stefan Monnier
2013-11-23  6:06                               ` Richard Stallman
2013-11-23  6:05                             ` Richard Stallman
2013-11-23  6:05                           ` Richard Stallman
2013-12-15 16:39                     ` Steinar Bang
2013-12-16 17:19                       ` Richard Stallman
2013-12-16 18:02                         ` Jambunathan K
2013-12-16 18:38                         ` Allen S. Rout
2013-12-17 10:52                           ` Richard Stallman
2013-12-17 11:39                             ` Steinar Bang
2013-12-16 19:10                         ` Steinar Bang
2013-12-17 10:52                           ` Richard Stallman
2013-12-16 20:37                         ` Juan M. Gonzalez
2013-12-17 10:53                           ` Richard Stallman
2013-12-17 11:41                             ` Steinar Bang
2013-12-17 11:48                             ` Achim Gratz
2013-12-17 12:22                               ` Steinar Bang
2013-12-17 21:06                               ` Richard Stallman
2013-12-19  7:28                                 ` Bastien
2013-12-19 18:23                                   ` Richard Stallman
2013-12-19 18:45                                     ` Bastien
2013-12-19 23:24                                   ` Xue Fuqiao
2013-11-20 18:35                 ` Richard Stallman
2013-11-21  6:02                   ` Stephen J. Turnbull
2013-11-21 14:34                     ` Allen S. Rout
2013-11-21 21:16                       ` Tom
2013-11-22  6:54                         ` Richard Stallman
2013-11-22  7:22                           ` Ivan Andrus
2013-11-22 13:26                       ` Rüdiger Sonderfeld
2013-11-22  6:54                     ` Richard Stallman
2013-11-20 18:35               ` Richard Stallman
2013-11-20 18:53                 ` Eli Zaretskii
2013-11-21  8:00                   ` Andreas Röhler
2013-11-21 16:21                     ` Eli Zaretskii
2013-11-21 18:34                       ` Andreas Röhler
2013-11-21 19:06                         ` Eli Zaretskii
2013-11-22  7:28                           ` Andreas Röhler
2013-11-21  9:15                   ` Bastien
2013-11-21  9:22                     ` Bastien
2013-11-21 16:26                     ` Eli Zaretskii
2013-11-21 17:43                       ` Bastien
2013-11-22 10:18                         ` Eli Zaretskii
2013-11-22 20:44                         ` Thorsten Jolitz
2013-11-22  6:54                     ` Richard Stallman
2013-11-22  7:48                       ` Eli Zaretskii
2013-11-22  7:52                         ` Bastien
2013-11-22 11:36                       ` Rasmus
2013-11-19  8:04         ` Stephen J. Turnbull
2013-11-19 23:42           ` Richard Stallman
2013-11-19  9:02         ` Christoph
2013-11-19 19:22           ` chad
2013-11-20 18:35             ` Richard Stallman
2013-11-18 13:59     ` Rasmus
2013-11-17 15:27 ` Andreas Röhler
2013-11-18 17:26 ` Christopher Allan Webber
2013-11-18 17:31   ` Tom Tromey
2013-11-19  9:20     ` Jambunathan K
2013-11-19  6:01   ` Richard Stallman
2013-11-19  7:44     ` Andreas Röhler
2013-11-19 13:32     ` Jay Belanger
2013-11-19 15:16     ` Lennart Borgman
2013-11-20  1:50     ` Pascal J. Bourguignon
2013-11-20 18:35       ` Richard Stallman
2013-12-15 17:28     ` Steinar Bang
2013-12-15 18:18       ` Stephen J. Turnbull
2013-12-16  0:17         ` T.V. Raman
2013-12-16 10:20           ` Juan M. Gonzalez
2013-11-19  6:14   ` Stephen J. Turnbull
2013-11-22 16:19 ` Karl Voit
2013-11-22 18:18   ` Eli Zaretskii
2013-11-24 11:11     ` Emacs will never be a WYSIWYG-editor and should not try to (was: Emacs as word processor) Karl Voit
2013-11-24 15:01       ` Emacs will never be a WYSIWYG-editor and should not try to Thien-Thi Nguyen
2013-11-24 16:53       ` Eli Zaretskii
2013-11-24 17:27         ` Pascal J. Bourguignon
2013-11-25 12:24         ` Richard Stallman
2013-11-26  7:01           ` Bastien
2013-11-26  9:10             ` Andreas Röhler
2013-11-26  9:15               ` Bastien
2013-11-26  9:34                 ` Andreas Röhler
2013-11-26  9:34                   ` Bastien
2013-11-26 15:58               ` Richard Stallman
2013-11-26 18:28                 ` Andreas Röhler
2013-11-26 21:45                   ` Achim Gratz
2013-11-27  7:44                     ` Andreas Röhler
2013-11-26 15:58             ` Richard Stallman
2013-11-26 21:33               ` Achim Gratz
2013-11-24 18:36       ` Emacs will never be a WYSIWYG-editor and should not try to (was: Emacs as word processor) Richard Stallman
2013-11-23  6:06   ` Emacs as word processor Richard Stallman
2013-12-02 19:30 ` Hendrik Boom
2013-12-03  6:24   ` Thien-Thi Nguyen
2013-12-03  9:54   ` René Kyllingstad
2013-12-03 11:36     ` Jambunathan K
2013-12-03 16:32       ` T.V. Raman
2013-12-03 17:45         ` Eli Zaretskii
2013-12-08 17:08       ` Andreas Röhler
2013-12-13 22:28 ` Juan M. Gonzalez
  -- strict thread matches above, loose matches on Subject: below --
2013-11-23 21:03 Anas R.
2013-11-25 12:25 ` Richard Stallman
     [not found] <E1Vhwmp-0001x4-Pa"@fencepost.gnu.org>
     [not found] <"<E1Vhwmp-0001x4-Pa"@fencepost.gnu.org>

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=878uwheycs.fsf@uwakimon.sk.tsukuba.ac.jp \
    --to=stephen@xemacs.org \
    --cc=emacs-devel@gnu.org \
    --cc=pjb@informatimago.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.