From: gregw@minotaur.tansu.com.au (Greg Wilkins) Subject: Re: Why We Didn't Give You WYSIWYG troff Date: 7 Aug 1993 05:35:05 GMT
In article mj1@almaak.usc.edu, ajayshah@almaak.usc.edu (Ajay Shah) writes:
>
>A while ago a large internal documentation organization inside AT&T
>had a shoot-out between troff and one of the well-known Unix WYSIWYG
>formatters on a Sun 3. Two different, trained groups were given a
>large document to produce, one with troff, the other with WYSIWYG. The
>troff group finished substantially ahead. The experiment was deemed a
>failure (since it was supposed to show WYSIWYG improved productivity)
>and repeated. Same result.
>
>Subsequent analysis indicated that the WYSIWYG group spent a lot of
>time "prettying" up layout at an early stage of authoring; a good deal
>of this effort was undone by subsequent changes to the text. The
>troff group was more or less forbidden to address layout; they used an
>SGML-flavored set of macros, based on -mm, that automatically
>determined fonts, header placement, page breaks, etc.
This is a similar result to an experiment carried out in the early days of
PC and apple availability. A large group of university English students were
given computers to use. Half were given PCs, with basic wordpocessor packages
the other half were given Mac's with WYSYGs.
Initially the WYSYGs students started getting better marks for their essays, but
over time the non-WYSYG started getting better marks and by the end of the trial
were maintaining a substantial average lead.
This was put down to the markers initially being impressed with the better looks
of a WYSYG produced essay, but this effect dimminished over time. In the end it was
the extra time spent by non-WYSYG students on content that gave them better marks.
As an aside, I have a utility (based on BSD regex, not gnus :-( that takes
in plain text and produces troff output by taking clues from the layout of the text
file. I find this a really good half way house between formating languages and
WYSYG.
Really soon now I'll port it to Linux and upload it somewhere.
Here is a sample input and the (g/t/n)roff output produced. If you like it, mail
me and I can send you a sun version and I may port it to Linux sooner than later???
Here is the usage:
USAGE - wysroff [file]..
Character Styles:
<italic> [Bold] [[Big Bold]] [[[...]]]
Paragraph Style:
- Dash paragraph
+ Bullet paragraph
* Star paragraph
n) Numbered paragraph
0) Reset number paragraph
x) Alpha paragraph
a) Reset alpha paragraph
Line Styles:
|======| Set paragraph width
> line Centred line
X. head Level one heading
X.X. head Level two heading
X.X.X. hd etc up to 5 levels
0. head Reset heading
------- Page break
line$ Line break
text |text Horizontal Mark
Miscilaneous:
Indents preserved
Try make input LOOK like desired output
Special Characters may be Sloshed
Here is a sample input file:
|===================================================================|
> [[[THIS IS A HEADING]]]
X. Level One heading
This is a [bold] word and also and <Italics> word. We
can also do a [[Large Bold]] section. Or [[[Very Large]]] words.
Also we can do _underlined sections._
The quick brown fox jumped over the lazy dog.
The quick brown fox jumped over the lazy dog.
The quick brown fox jumped over the lazy dog.
And we can change the indent during a paragraph
And we can change the indent during a paragraph
And we can change the indent during a paragraph
Or for a new paragraph. Or for a new paragraph.
Or for a new paragraph. Or for a new paragraph.
Or for a new paragraph. Or for a new paragraph.
X.X level two heading
|=========================================|
I can use the line of equals to change the
margins of the document.
I can use the line of equals to change the
margins of the document.
I can use the line of equals to change the
margins of the document.
And the pipe char is used for aligning columns and the dollar
char inserts a new line$
Now is the time for all |good men to come$
to the aid of the |party.$
How now |brown cow.$
|===================================================================|
Exdent paragraphs are no problem, and I think they
almost make taged lists not necessary. But on with the
paragraph. paragraph of lots of stuff and it should work
great. paragraph of lots of stuff and it should work great.
tag |This is a back door way of making a tagged
paragraph with the correct lineup of stuff
paragraph of lots of stuff and it should work great.
paragraph of lots of stuff and it should work great.
X. Level One heading
Now is the time for all good men to come to the aid of the party.
X.X.X level three heading
Now is the time for all good men to come to the aid of the party.
X.X.X level heading
Now is the time for all good men to come to the aid of the party.
X.X.X.X level heading
Now is the time for all good men to come to the aid of the party.
X.X.X.X.X level heading
Now is the time for all good men to come to the aid of the party.
Now is the time for all good men to come to the aid of the party.
How now brown cow.
The quick brown fox jumped over the lazy dog.
- This is a list.
+ And some items can be very long and form an entire
paragraph of lots of stuff and it should work great.
paragraph of lots of stuff and it should work great.
+ And i can change the marker
paragraph of lots of stuff and it should work great.
paragraph of lots of stuff and it should work great.
* and change
* the indent
Now is the time for all good men to come to the aid of the party.
How now brown cow.
The quick brown fox jumped over the lazy dog.
0) list list list
n) list list list list list list list list list list list list list list
list list list list list list list list list
list list list list list list list list list
list list list list list list list list list
0) start again
a) list list list
x) list list list list list list list list list list list list list list
list list list list list list list list list
list list list list list list list list list
list list list list list list list list list
a) start again
|======================================|
Now is the time for all good men to come to the aid of the party.
How now brown cow.
How now brown cow.
How now brown cow.
The quick brown fox jumped over the lazy dog.
Here is the out put from the above, print it out with nroff, troff or groff.
nr HM 1i
nr FM 1i
nr PL 11i
if \n(mo-0 .ds MO January
if \n(mo-1 .ds MO February
if \n(mo-2 .ds MO March
if \n(mo-3 .ds MO April
if \n(mo-4 .ds MO May
if \n(mo-5 .ds MO June
if \n(mo-6 .ds MO July
if \n(mo-7 .ds MO August
if \n(mo-8 .ds MO September
if \n(mo-9 .ds MO October
if \n(mo-10 .ds MO November
if \n(mo-11 .ds MO December
ds DY \n(dy \*(MO 19\n(yr
pl 11i
de UL
if t \\$1\l'|0\(ul'
if n .ul 1
if n \\$1
.
de HD
'sp .2i
'ft B
'tl //-%-//
'ft
sp |\\n(HMu
.
de FT
'sp .4i
'ft B
'tl //\\*(DY//
'ft
'bp
.
wh 0 HD
wh \n(PLu-\n(FMu FT
nr LL 69n*(6.5i/1n)/65
ll \n(LLu
ce 1
\fB\s+2\s+2THIS IS A HEADING\s-2\s-2\fR
br
\s+4\fB1. Level One heading\s-4\fR
br
This is a \fBbold\fR word and also and \fIItalics\fR word. We
can also do a \fB\s+2Large Bold\s-2\fR section. Or \fB\s+2\s+2Very Large\s-2\s-2\fR words.
Also we can do
UL "underlined sections."
The quick brown fox jumped over the lazy dog.
The quick brown fox jumped over the lazy dog.
The quick brown fox jumped over the lazy dog.
'in 4n
And we can change the indent during a paragraph
And we can change the indent during a paragraph
And we can change the indent during a paragraph
'in 8n
Or for a new paragraph. Or for a new paragraph.
Or for a new paragraph. Or for a new paragraph.
Or for a new paragraph. Or for a new paragraph.
'in 0n
br
\s+2\fB1.1. level two heading\s-2\fR
br
nr LL 47n*(6.5i/1n)/65
ll \n(LLu
'in 4n
I can use the line of equals to change the
margins of the document.
I can use the line of equals to change the
margins of the document.
I can use the line of equals to change the
margins of the document.
'in 0n
And the pipe char is used for aligning columns and the dollar
char inserts a new line
br
Now is the time for all \h'|29n'good men to come
br
to the aid of the \h'|29n'party.
br
How now \h'|29n'brown cow.
br
nr LL 69n*(6.5i/1n)/65
ll \n(LLu
'in 4n
Exdent paragraphs are no problem, and I think they
'in 8n
almost make taged lists not necessary. But on with the
paragraph. paragraph of lots of stuff and it should work
great. paragraph of lots of stuff and it should work great.
'in 4n
tag \h'|6n'This is a back door way of making a tagged
'in 10n
paragraph with the correct lineup of stuff
paragraph of lots of stuff and it should work great.
paragraph of lots of stuff and it should work great.
'in 0n
br
\s+4\fB2. Level One heading\s-4\fR
br
Now is the time for all good men to come to the aid of the party.
br
\fB2.0.1. level three heading\fR
br
Now is the time for all good men to come to the aid of the party.
br
\fB2.0.2. level heading\fR
br
Now is the time for all good men to come to the aid of the party.
br
2.0.2.1. level heading
br
Now is the time for all good men to come to the aid of the party.
br
\fI2.0.2.1.1. level heading:\fR
Now is the time for all good men to come to the aid of the party.
Now is the time for all good men to come to the aid of the party.
How now brown cow.
The quick brown fox jumped over the lazy dog.
'in 6n
ti 4n
\(mi\h'|2n'This is a list.
ti 4n
\(bu\h'|2n'And some items can be very long and form an entire
paragraph of lots of stuff and it should work great.
paragraph of lots of stuff and it should work great.
ti 4n
\(bu\h'|2n'And i can change the marker
paragraph of lots of stuff and it should work great.
paragraph of lots of stuff and it should work great.
'in 8n
ti 6n
\(**\h'|2n'and change
ti 6n
\(**\h'|2n'the indent
'in 0n
Now is the time for all good men to come to the aid of the party.
How now brown cow.
The quick brown fox jumped over the lazy dog.
'in 8n
ti 4n
1)\h'|4n'list list list
ti 4n
2)\h'|4n'list list list list list list list list list list list list list list
list list list list list list list list list
list list list list list list list list list
list list list list list list list list list
ti 4n
1)\h'|4n'start again
ti 4n
a)\h'|4n'list list list
ti 4n
b)\h'|4n'list list list list list list list list list list list list list list
list list list list list list list list list
list list list list list list list list list
list list list list list list list list list
ti 4n
a)\h'|4n'start again
nr LL 40n*(6.5i/1n)/65
ll \n(LLu
'in 0n
Now is the time for all good men to come to the aid of the party.
How now brown cow.
How now brown cow.
How now brown cow.
The quick brown fox jumped over the lazy dog.