Letters in roff
This commit is contained in:
parent
d9d4ae456d
commit
5d0034d74c
9
dj.mdwn
9
dj.mdwn
|
@ -39,10 +39,5 @@ I'm happy playing booty
|
||||||
rap, teen pop, salsa, 50s rock, bluegrass, line dances, or whatever else
|
rap, teen pop, salsa, 50s rock, bluegrass, line dances, or whatever else
|
||||||
your crowd likes.
|
your crowd likes.
|
||||||
|
|
||||||
I have about a year's worth of training from Toastmasters, and am happy to
|
I am currently only doing events for the derby team and team members.
|
||||||
perform Master of Ceremonies duties at your event. I can also help you with
|
This does, however, include parties and weddings.
|
||||||
modest interior design: my focus is always on making a nice environment on
|
|
||||||
a tight budget.
|
|
||||||
|
|
||||||
To discuss availability and pricing, call the number on my card or [email
|
|
||||||
me](mailto:neale@woozle.org).
|
|
||||||
|
|
|
@ -4,6 +4,7 @@ These are papers I have written. Most of them were written to explain a
|
||||||
concept to someone on woozle. Hopefully other people will find them
|
concept to someone on woozle. Hopefully other people will find them
|
||||||
useful, too.
|
useful, too.
|
||||||
|
|
||||||
|
|
||||||
Roller Derby Stuff
|
Roller Derby Stuff
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
|
@ -11,9 +12,11 @@ Roller Derby Stuff
|
||||||
* [Dirtbags DJ Setup](dj.html)
|
* [Dirtbags DJ Setup](dj.html)
|
||||||
* [Copyright Advice for Small Leagues](derby-copyright.html)
|
* [Copyright Advice for Small Leagues](derby-copyright.html)
|
||||||
|
|
||||||
|
|
||||||
Computer Nerd Stuff
|
Computer Nerd Stuff
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
|
* [Writing formal letters with roff](roff-letters.html)
|
||||||
* [Runit on Arch Linux](arch-runit.html)
|
* [Runit on Arch Linux](arch-runit.html)
|
||||||
* [Reply-To Munging Still Considered Harmful](reply-to-still-harmful.html)
|
* [Reply-To Munging Still Considered Harmful](reply-to-still-harmful.html)
|
||||||
* [Runnning PHP as a CGI](php-cgi.html) in anything other than Apache
|
* [Runnning PHP as a CGI](php-cgi.html) in anything other than Apache
|
||||||
|
@ -22,6 +25,7 @@ Computer Nerd Stuff
|
||||||
* [3-Minute HTML Tutorial](html-tutorial.html)
|
* [3-Minute HTML Tutorial](html-tutorial.html)
|
||||||
* [How DNS Works](DNS.html)
|
* [How DNS Works](DNS.html)
|
||||||
|
|
||||||
|
|
||||||
Everything Else
|
Everything Else
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,102 @@
|
||||||
|
Title: Writing formal letters with roff's "mm" package
|
||||||
|
|
||||||
|
I like using roff for quick things like letters and memos,
|
||||||
|
because it's already on every system,
|
||||||
|
works the same everywhere,
|
||||||
|
and lets me focus on content instead of presentation.
|
||||||
|
Because it uses plain text files for input,
|
||||||
|
I can use my favorite text editor to create roff documents.
|
||||||
|
LaTeX, for reasons unknown, encourages me to endlessly twiddle the formatting.
|
||||||
|
|
||||||
|
|
||||||
|
How to run roff
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
If you have a file called "letter.mm",
|
||||||
|
this will create "letter.ps":
|
||||||
|
|
||||||
|
groff -k -mm < letter.mm > letter.ps
|
||||||
|
|
||||||
|
The `-k` option tells groff that your input is UTF-8.
|
||||||
|
|
||||||
|
Your computer probably knows how to display PostScript if you double-click the file.
|
||||||
|
I use the `gv` program from the command line.
|
||||||
|
|
||||||
|
|
||||||
|
The Document
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.IA "Theodore Geisel" "Director of Illustration"
|
||||||
|
Hat Cat Heavy Industries
|
||||||
|
800 NW Jiboo Rd
|
||||||
|
Springfield, MO 17528
|
||||||
|
.IE
|
||||||
|
.WA "Neale Pickett" "Head Snark"
|
||||||
|
12423 Worrin Ave
|
||||||
|
Tres Brazos, NM 87923
|
||||||
|
.WE
|
||||||
|
.LO SA
|
||||||
|
.LT
|
||||||
|
.P
|
||||||
|
I found your advertisement in "Obscure Sports Quarterly".
|
||||||
|
I am writing to request a copy of your pamphlet,
|
||||||
|
"50 Ways to Sink A Bat".
|
||||||
|
.P
|
||||||
|
Please, if possible,
|
||||||
|
wrap the pamphlet in a leaf of lettuce or cabbage.
|
||||||
|
If it is not too much to ask,
|
||||||
|
could you also kiss the envelope before it is mailed?
|
||||||
|
I have found that mail fairies prefer kissed envelopes
|
||||||
|
and want to make sure your pamphlet arrives
|
||||||
|
as quickly as possible.
|
||||||
|
.FC
|
||||||
|
.SG
|
||||||
|
|
||||||
|
You should copy and paste this into a file called `letter.mm`,
|
||||||
|
and run roff on it,
|
||||||
|
to see what the output looks like.
|
||||||
|
|
||||||
|
|
||||||
|
What This All Means
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
In roff, any line beginning with a period is a command.
|
||||||
|
|
||||||
|
The file begins with `.IA`,
|
||||||
|
the command for "addressee".
|
||||||
|
It takes two arguments:
|
||||||
|
name (Theodore Geisel) and title (Director of Illustration).
|
||||||
|
This is followed by the address.
|
||||||
|
The end of the address is denoted by `.IE`.
|
||||||
|
|
||||||
|
Next up, the author's information.
|
||||||
|
This takes the same format as addressee,
|
||||||
|
using the `.WA` and `.WE` commands.
|
||||||
|
|
||||||
|
`.LO SA` tells roff that we'd like a salutation to open the letter.
|
||||||
|
The mm package uses "To whom it may concern:" by default,
|
||||||
|
but you can specify whatever you'd prefer as an argument:
|
||||||
|
|
||||||
|
.LO SA "Dear folks,"
|
||||||
|
|
||||||
|
`.LT` means this is a letter.
|
||||||
|
|
||||||
|
`.P` tells roff to start a new paragraph.
|
||||||
|
And then we have the actual text of the first paragraph.
|
||||||
|
Hopefully this part is self-explanatory!
|
||||||
|
|
||||||
|
`.FC` prints a closing.
|
||||||
|
This will be "Yours very truly," unless you specify an argument:
|
||||||
|
|
||||||
|
.FC "Sincerely,"
|
||||||
|
|
||||||
|
`.SG` leaves some space for a signature,
|
||||||
|
then prints your name and title.
|
||||||
|
|
||||||
|
|
||||||
|
More Information
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
`man groff_mm` describes the entire macro package.
|
||||||
|
When I need more control over formatting,
|
||||||
|
I switch to Google Drive or LibreOffice.
|
Loading…
Reference in New Issue