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
next prev parent 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.