#!/bin/rcswitch($#*){ case 1 outfile = $1 infile = $1.ms case * outfile = $1 shift infile = $*}FONTS='.FP lucidasans'MACS ='.de BT.nr PX \\n(.s.nr PF \\n(.f.nr Bt 1.ft 1.ps \\n(PS''lt \\n(LTu.po \\n(POu.if \\n%>0 .tl \(ts\\*(LF\(ts\\*(CF\(ts\\*(RF\(ts.ft \\n(PF.ps \\n(PX...de PT.lt \\n(LLu.pc %.nr PN \\n%.nr Ps \\n(PS-1.if \\n(Bt>0 .if e .tl @\\n% \s\\n(Ps\\*(Au\s0@@@.if \\n(Bt>0 .if o .tl @@@\f2\\*(Tl\\f1 \\n%@.lt \\n(.lu..'macros = -msswitch($outfile){case 8½ acme gfx panel sam macros = ($macros -mpictures)}switch($outfile){case 9 comp 8½ utf acme macros = ($macros -mnihongo)}fn assemble{ switch($1){ case 9 pageno = 1 title = 'Plan 9 From Bell Labs' author = 'INTRODUCTION' case README pageno = 23 title = '\s-1README\s0' author = 'INTRODUCTION' case names pageno = 29 title = 'The Use of Name Spaces in Plan 9' author = 'INTRODUCTION' case net pageno = 35 title = 'The Organization of Networks in Plan 9' author = 'INTRODUCTION' case comp pageno = 49 title = 'How to Use the Plan 9 C Compiler' author = 'PROGRAMMING' case ape pageno = 63 title = 'APE \(em The ANSI/POSIX Environment' author = 'PROGRAMMING' case ug pageno = 67 title = 'Alef User''s Guide' author = 'PROGRAMMING' case alef pageno = 103 title = 'Alef Language Reference Manual' author = 'PROGRAMMING' case acidpaper pageno = 141 title = 'Acid: A Debugger Built From A Language' author = 'PROGRAMMING' case acid pageno = 155 title = 'Acid Manual' author = 'PROGRAMMING' case mk pageno = 181 title = 'Maintaining Files on Plan 9 with Mk' author = 'PROGRAMMING' case mkfiles pageno = 195 title = 'Plan 9 Mkfiles' author = 'PROGRAMMING' case asm pageno = 203 title = 'A Manual for the Plan 9 assembler' author = 'PROGRAMMING' case 8½ pageno = 211 title = '8½, the Plan 9 Window System' author = 'USER INTERFACES' case rc pageno = 221 title = 'Rc \(em The Plan 9 Shell' author = 'USER INTERFACES' case sam pageno = 237 title = 'The Text Editor Sam' author = 'USER INTERFACES' case acme # actually done in acme/mkfile pageno = 267 title = 'The Text Editor Sam' author = 'USER INTERFACES' case utf pageno = 283 title = 'Hello World, or \f1\S''12''Καλημέρα κόσμε\fP\S''0'', or \f(Jpこんにちは 世界\fP' author = 'IMPLEMENTATION' case compiler pageno = 295 title = 'Plan 9 C Compilers' author = 'IMPLEMENTATION' case libmach pageno = 305 title = 'Adding Application Support for a New Architecture' author = 'IMPLEMENTATION' case fs pageno = 313 title = 'The Plan 9 File Server' author = 'IMPLEMENTATION' case il pageno = 321 title = 'The IL Protocol' author = 'IMPLEMENTATION' case sleep pageno = 327 title = 'Process Sleep and Wakeup on a Shared-memory Multiprocessor' author = 'IMPLEMENTATION' case gfx pageno = 333 title = 'Raster Graphics in Plan 9' author = 'MISCELLANY' case panel pageno = 343 title = 'A Quick Introduction to the Panel Library' author = 'MISCELLANY' case lp pageno = 363 title = 'A Guide to the Lp Printer Spooler' author = 'MISCELLANY' case troff pageno = 371 title = 'Troff User''s Manual' author = 'MISCELLANY' case spin pageno = 411 title = 'Using SPIN' author = 'MISCELLANY' case port pageno = 439 title = 'The Various Ports' author = 'INSTALLATION' case install pageno = 447 title = 'Installing the Plan 9 Distribution' author = 'INSTALLATION' case * echo $1 page number not known >[2=1] exit page } echo $FONTS echo .pn $pageno echo .ds Tl "$title echo .ds Au "$author echo $MACS pic $infile | tbl | eqn}assemble $outfile | troff $macros | lp -m.9 -dstdout > $outfile.bs
#!/bin/rc
switch($#*){
case 1
outfile = $1
infile = $1.ms
case *
outfile = $1
shift
infile = $*
}
FONTS='.FP lucidasans'
MACS ='.de BT
.nr PX \\n(.s
.nr PF \\n(.f
.nr Bt 1
.ft 1
.ps \\n(PS
''lt \\n(LTu
.po \\n(POu
.if \\n%>0 .tl \(ts\\*(LF\(ts\\*(CF\(ts\\*(RF\(ts
.ft \\n(PF
.ps \\n(PX
..
.de PT
.lt \\n(LLu
.pc %
.nr PN \\n%
.nr Ps \\n(PS-1
.if \\n(Bt>0 .if e .tl @\\n% \s\\n(Ps\\*(Au\s0@@@
.if \\n(Bt>0 .if o .tl @@@\f2\\*(Tl\\f1 \\n%@
.lt \\n(.lu
..'
macros = -ms
switch($outfile){
case 8½ acme gfx panel sam
macros = ($macros -mpictures)
}
switch($outfile){
case 9 comp 8½ utf acme
macros = ($macros -mnihongo)
}
fn assemble{
switch($1){
case 9
pageno = 1
title = 'Plan 9 From Bell Labs'
author = 'INTRODUCTION'
case README
pageno = 23
title = '\s-1README\s0'
author = 'INTRODUCTION'
case names
pageno = 29
title = 'The Use of Name Spaces in Plan 9'
author = 'INTRODUCTION'
case net
pageno = 35
title = 'The Organization of Networks in Plan 9'
author = 'INTRODUCTION'
case comp
pageno = 49
title = 'How to Use the Plan 9 C Compiler'
author = 'PROGRAMMING'
case ape
pageno = 63
title = 'APE \(em The ANSI/POSIX Environment'
author = 'PROGRAMMING'
case ug
pageno = 67
title = 'Alef User''s Guide'
author = 'PROGRAMMING'
case alef
pageno = 103
title = 'Alef Language Reference Manual'
author = 'PROGRAMMING'
case acidpaper
pageno = 141
title = 'Acid: A Debugger Built From A Language'
author = 'PROGRAMMING'
case acid
pageno = 155
title = 'Acid Manual'
author = 'PROGRAMMING'
case mk
pageno = 181
title = 'Maintaining Files on Plan 9 with Mk'
author = 'PROGRAMMING'
case mkfiles
pageno = 195
title = 'Plan 9 Mkfiles'
author = 'PROGRAMMING'
case asm
pageno = 203
title = 'A Manual for the Plan 9 assembler'
author = 'PROGRAMMING'
case 8½
pageno = 211
title = '8½, the Plan 9 Window System'
author = 'USER INTERFACES'
case rc
pageno = 221
title = 'Rc \(em The Plan 9 Shell'
author = 'USER INTERFACES'
case sam
pageno = 237
title = 'The Text Editor Sam'
author = 'USER INTERFACES'
case acme # actually done in acme/mkfile
pageno = 267
title = 'The Text Editor Sam'
author = 'USER INTERFACES'
case utf
pageno = 283
title = 'Hello World, or \f1\S''12''Καλημέρα κόσμε\fP\S''0'', or \f(Jpこんにちは 世界\fP'
author = 'IMPLEMENTATION'
case compiler
pageno = 295
title = 'Plan 9 C Compilers'
author = 'IMPLEMENTATION'
case libmach
pageno = 305
title = 'Adding Application Support for a New Architecture'
author = 'IMPLEMENTATION'
case fs
pageno = 313
title = 'The Plan 9 File Server'
author = 'IMPLEMENTATION'
case il
pageno = 321
title = 'The IL Protocol'
author = 'IMPLEMENTATION'
case sleep
pageno = 327
title = 'Process Sleep and Wakeup on a Shared-memory Multiprocessor'
author = 'IMPLEMENTATION'
case gfx
pageno = 333
title = 'Raster Graphics in Plan 9'
author = 'MISCELLANY'
case panel
pageno = 343
title = 'A Quick Introduction to the Panel Library'
author = 'MISCELLANY'
case lp
pageno = 363
title = 'A Guide to the Lp Printer Spooler'
author = 'MISCELLANY'
case troff
pageno = 371
title = 'Troff User''s Manual'
author = 'MISCELLANY'
case spin
pageno = 411
title = 'Using SPIN'
author = 'MISCELLANY'
case port
pageno = 439
title = 'The Various Ports'
author = 'INSTALLATION'
case install
pageno = 447
title = 'Installing the Plan 9 Distribution'
author = 'INSTALLATION'
case *
echo $1 page number not known >[2=1]
exit page
}
echo $FONTS
echo .pn $pageno
echo .ds Tl "$title
echo .ds Au "$author
echo $MACS
pic $infile | tbl | eqn
}
assemble $outfile | troff $macros | lp -m.9 -dstdout > $outfile.bs