|
|
1.1 ! root 1: .\" (c) Copyright 1986 Xerox Corporation ! 2: .\" All rights reserved. ! 3: .ds f. maha.1.tbl ! 4: .\" tbl maha.1.tbl | troff -man ! 5: .TH MAHA 1 2/11/86 ! 6: .UC 4 ! 7: .tr -\- ! 8: .\" differences between troff and nroff compensated here: ! 9: .ie t .ds sc \(sc ! 10: .el .ds sc section\ ! 11: .ds lq \&"\" ! 12: .ds rq \&"\" ! 13: .if t \ ! 14: . ds lq `` ! 15: .if t \ ! 16: . ds rq '' ! 17: .SH NAME ! 18: maha - make and print interpress files ! 19: .SH SYNOPSIS ! 20: .B maha ! 21: [ options ] [ files ] ! 22: .SH DESCRIPTION ! 23: .I Maha ! 24: (maharani-the Interpress version of the program czarina) reads in text ! 25: files, converts them to interpress format and ships them to an ! 26: interpress printer. It also performs some simple page formatting. ! 27: .PP ! 28: The environment variable MAHA may be used to specify default options. ! 29: The value of MAHA is parsed as a string of arguments before the arguments ! 30: that appear on the command line. For example, "MAHA=`-f Classic/8'" sets ! 31: your default body font to 8 point Classic. ! 32: .PP ! 33: In case conflicting options are given, the last option seen takes precidence. ! 34: Options are processed left to right, first processing any options in the ! 35: MAHA environment variable, then any options given on the command line. ! 36: .PP ! 37: The possible options are: ! 38: .TP ! 39: .BI - n ! 40: Prints output ! 41: .I n ! 42: columns per page (note that ! 43: .I n ! 44: is limited to one digit) ! 45: .TP ! 46: .BI -b \ banner ! 47: Uses ! 48: .I ! 49: banner ! 50: to label the output. It will appear on the cover page ! 51: on the line labeled \*(lqDocument\*(rq. ! 52: .TP ! 53: .BI -c \ n ! 54: Causes ! 55: .I n ! 56: copies of the output to be printed. The default is 1. ! 57: .TP ! 58: .BI -f \ font\ \ \ \ \ ! 59: Sets the font to be used for the body of each page. ! 60: The default is \*(lqVintage-Printwheel/10\*(rq. ! 61: .TP ! 62: .BI -F \ font ! 63: Sets the font to be used for page headings. ! 64: The default is \*(lqModern-Bold/12\*(rq. ! 65: .TP ! 66: .BI -H \ header ! 67: Sets the format for page headings to the string ! 68: .IR header . ! 69: This overrides the ! 70: .B -t ! 71: option. ! 72: Certain formatting options can be embedded in this string. See the ! 73: section below entitled \*(lqHeader Format\*(rq. ! 74: The default header is constructed from the file name, its last ! 75: modification date, and a page and line number. ! 76: .TP ! 77: .BI -h \ header ! 78: Appends the string ! 79: .I header ! 80: to the current header format string. This can be used to append ! 81: something to the default header. ! 82: This overrides the ! 83: .B -t ! 84: option. ! 85: .TP ! 86: .B -l ! 87: Causes line printer simulation mode to be used: pages will be 66 lines ! 88: long and headers will be omitted. ! 89: Turns on the ! 90: .B -t ! 91: option. ! 92: .TP ! 93: .BI -n \ name ! 94: Sets the delivery address of your output (the \*(lqFor\*(rq field on the ! 95: cover sheet) to ! 96: .IR name . ! 97: The default is your full name as recorded in the gecos field of the password ! 98: file (\*(lq/etc/passwd\*(rq). ! 99: .TP ! 100: .BI -o \ file\ \ \ \ \ ! 101: The interpress code is written into ! 102: .IR file . ! 103: The default is generated from the process i.d. of the program. ! 104: .TP ! 105: .BI -P \ printer ! 106: Directs the interpresss code to ! 107: .I printer ! 108: for printing. ! 109: .TP ! 110: .B -r ! 111: Rotates the output 90 degrees on the page (landscape mode). ! 112: This is good for output that requires a wide page or for program listings ! 113: when specifying two columns. Some people like the program listings produced ! 114: by the command \*(lq\fBmaha -2 -r\fP files\*(rq. ! 115: .TP ! 116: .B -R ! 117: Forces portrait mode (default). This overrides the ! 118: .B -r ! 119: option. It is useful (for example) if the environment variable MAHA sets ! 120: .BR -r . ! 121: .TP ! 122: .BI -s \ pages ! 123: Selects pages to be printed. ! 124: .I Pages ! 125: may be a single page specification (eg. \*(lq5\*(rq), a range ! 126: of pages (\*(lq5-10\*(rq), ! 127: or a list of page specifications (eg. \*(lq3,11-13\*(rq). Note ! 128: that this syntax is identical to that accepted by the ! 129: .B -o ! 130: option of ! 131: .IR troff . ! 132: .TP ! 133: .B -t ! 134: Causes page headings (titles) to be omitted. ! 135: .sp ! 136: .PP ! 137: .B "Specifying Fonts" ! 138: .PP ! 139: The naming scheme for fonts is a slight variant on the universal naming ! 140: scheme used by interpress. See \*(sc3.2.2 in ! 141: .I "Interpress Electronic Printing Standard" ! 142: (\s8XSIS\s0 048404) for a description of universal names. ! 143: Each identifier of a universal font name is ! 144: separated by a slash (\*(lq/\*(rq). If the final identifier in ! 145: the name is nothing more than a series of digits, ! 146: as in \*(lqClassic/8\*(rq, then it is taken to be a point size. The actual ! 147: universal name is formed by removing this last identifier. ! 148: If the last part of the name is not strictly a number, then the ! 149: point size is assumed to be 10. ! 150: Since most ! 151: environments use the same prefix for a universal font name, ! 152: A standard prefix of several identifiers ! 153: is prepended to every font name given on the command line. ! 154: This can be overridden by placing a slash at the front of the given name ! 155: in which case the universal name is formed by simply removing the slash ! 156: from the front of the name. Note that the point size calculation mentioned ! 157: above will still be performed on this type of name. ! 158: .PP ! 159: Here are some examples that should clear the air: ! 160: .sp ! 161: .TS ! 162: .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 ! 163: .de 35 ! 164: .ps \n(.s ! 165: .vs \n(.vu ! 166: .in \n(.iu ! 167: .if \n(.u .fi ! 168: .if \n(.j .ad ! 169: .if \n(.j=0 .na ! 170: .. ! 171: .nf ! 172: .nr #~ 0 ! 173: .if n .nr #~ 0.6n ! 174: .ds #d .d ! 175: .if \(ts\n(.z\(ts\(ts .ds #d nl ! 176: .fc ! 177: .nr 33 \n(.s ! 178: .rm 80 81 82 ! 179: .nr 80 0 ! 180: .nr 38 \wName Given ! 181: .if \n(80<\n(38 .nr 80 \n(38 ! 182: .nr 38 \wClassic ! 183: .if \n(80<\n(38 .nr 80 \n(38 ! 184: .nr 38 \wModern/12 ! 185: .if \n(80<\n(38 .nr 80 \n(38 ! 186: .nr 38 \w/Rice/TimesRoman ! 187: .if \n(80<\n(38 .nr 80 \n(38 ! 188: .nr 38 \w/Rice/TimesRoman/Italic/8 ! 189: .if \n(80<\n(38 .nr 80 \n(38 ! 190: .nr 38 \w/Rice/VileBlob/8/10 ! 191: .if \n(80<\n(38 .nr 80 \n(38 ! 192: .80 ! 193: .rm 80 ! 194: .nr 81 0 ! 195: .nr 38 \wUniversal Name ! 196: .if \n(81<\n(38 .nr 81 \n(38 ! 197: .nr 38 \wXerox/XC1-1-1/Classic ! 198: .if \n(81<\n(38 .nr 81 \n(38 ! 199: .nr 38 \wXerox/XC1-1-1/Modern ! 200: .if \n(81<\n(38 .nr 81 \n(38 ! 201: .nr 38 \wRice/TimesRoman ! 202: .if \n(81<\n(38 .nr 81 \n(38 ! 203: .nr 38 \wRice/TimesRoman/Italic ! 204: .if \n(81<\n(38 .nr 81 \n(38 ! 205: .nr 38 \wRice/VileBlob/8 ! 206: .if \n(81<\n(38 .nr 81 \n(38 ! 207: .81 ! 208: .rm 81 ! 209: .nr 82 0 ! 210: .nr 38 \wPoint Size ! 211: .if \n(82<\n(38 .nr 82 \n(38 ! 212: .nr 38 \w10 ! 213: .if \n(82<\n(38 .nr 82 \n(38 ! 214: .nr 38 \w12 ! 215: .if \n(82<\n(38 .nr 82 \n(38 ! 216: .nr 38 \w10 ! 217: .if \n(82<\n(38 .nr 82 \n(38 ! 218: .nr 38 \w8 ! 219: .if \n(82<\n(38 .nr 82 \n(38 ! 220: .nr 38 \w10 ! 221: .if \n(82<\n(38 .nr 82 \n(38 ! 222: .82 ! 223: .rm 82 ! 224: .nr 38 1n ! 225: .nr 79 0 ! 226: .nr 40 \n(79+(0*\n(38) ! 227: .nr 80 +\n(40 ! 228: .nr 41 \n(80+(3*\n(38) ! 229: .nr 81 +\n(41 ! 230: .nr 42 \n(81+(3*\n(38) ! 231: .nr 82 +\n(42 ! 232: .nr TW \n(82 ! 233: .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 150 file maha.1.tbl is too wide - \n(TW units ! 234: .nr #I \n(.i ! 235: .in +(\n(.lu-\n(TWu-\n(.iu)/2u ! 236: .fc ! 237: .nr #T 0-1 ! 238: .nr #a 0-1 ! 239: .eo ! 240: .de T# ! 241: .ds #d .d ! 242: .if \(ts\n(.z\(ts\(ts .ds #d nl ! 243: .mk ## ! 244: .nr ## -1v ! 245: .ls 1 ! 246: .ls ! 247: .. ! 248: .ec ! 249: .ta \n(80u \n(81u \n(82u ! 250: .nr 31 \n(.f ! 251: .nr 35 1m ! 252: \&\h'|\n(40u'Name Given\h'|\n(41u'Universal Name\h'|\n(42u'Point Size ! 253: .ta \n(80u \n(81u \n(82u ! 254: .nr 31 \n(.f ! 255: .nr 35 1m ! 256: \&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u' ! 257: .ta \n(80u \n(81u \n(82u ! 258: .nr 31 \n(.f ! 259: .nr 35 1m ! 260: \&\h'|\n(40u'Classic\h'|\n(41u'Xerox/XC1-1-1/Classic\h'|\n(42u'10 ! 261: .ta \n(80u \n(81u \n(82u ! 262: .nr 31 \n(.f ! 263: .nr 35 1m ! 264: \&\h'|\n(40u'Modern/12\h'|\n(41u'Xerox/XC1-1-1/Modern\h'|\n(42u'12 ! 265: .ta \n(80u \n(81u \n(82u ! 266: .nr 31 \n(.f ! 267: .nr 35 1m ! 268: \&\h'|\n(40u'/Rice/TimesRoman\h'|\n(41u'Rice/TimesRoman\h'|\n(42u'10 ! 269: .ta \n(80u \n(81u \n(82u ! 270: .nr 31 \n(.f ! 271: .nr 35 1m ! 272: \&\h'|\n(40u'/Rice/TimesRoman/Italic/8\h'|\n(41u'Rice/TimesRoman/Italic\h'|\n(42u'8 ! 273: .ta \n(80u \n(81u \n(82u ! 274: .nr 31 \n(.f ! 275: .nr 35 1m ! 276: \&\h'|\n(40u'/Rice/VileBlob/8/10\h'|\n(41u'Rice/VileBlob/8\h'|\n(42u'10 ! 277: .fc ! 278: .nr T. 1 ! 279: .T# 1 ! 280: .in \n(#Iu ! 281: .35 ! 282: .TE ! 283: .if \n-(b.=0 .nr c. \n(.c-\n(d.-10 ! 284: .sp ! 285: If a font name has the unfortunate characteristic of containing nothing but ! 286: numbers in its last identifier, it can still be specified by always appending ! 287: a point size to the name, as in the last example above. ! 288: .sp ! 289: .PP ! 290: .B "Header Format" ! 291: .PP ! 292: The string that is used to build the header can have format options embedded ! 293: in it. Each formatting option is preceded with the character \*(lq%\*(rq in ! 294: a manner similar to ! 295: .IR printf (3S) ! 296: strings in C. The following format characters are recognized: ! 297: .sp ! 298: .TS ! 299: .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 ! 300: .de 35 ! 301: .ps \n(.s ! 302: .vs \n(.vu ! 303: .in \n(.iu ! 304: .if \n(.u .fi ! 305: .if \n(.j .ad ! 306: .if \n(.j=0 .na ! 307: .. ! 308: .nf ! 309: .nr #~ 0 ! 310: .if n .nr #~ 0.6n ! 311: .ds #d .d ! 312: .if \(ts\n(.z\(ts\(ts .ds #d nl ! 313: .fc ! 314: .nr 33 \n(.s ! 315: .rm 80 81 ! 316: .nr 80 0 ! 317: .nr 38 \wf ! 318: .if \n(80<\n(38 .nr 80 \n(38 ! 319: .nr 38 \wt ! 320: .if \n(80<\n(38 .nr 80 \n(38 ! 321: .nr 38 \wp ! 322: .if \n(80<\n(38 .nr 80 \n(38 ! 323: .nr 38 \wl ! 324: .if \n(80<\n(38 .nr 80 \n(38 ! 325: .80 ! 326: .rm 80 ! 327: .nr 81 0 ! 328: .nr 38 \wcurrent file name ! 329: .if \n(81<\n(38 .nr 81 \n(38 ! 330: .nr 38 \wlast modified time of the current file ! 331: .if \n(81<\n(38 .nr 81 \n(38 ! 332: .nr 38 \wcurrent page number ! 333: .if \n(81<\n(38 .nr 81 \n(38 ! 334: .nr 38 \wline number for the top line of the current page ! 335: .if \n(81<\n(38 .nr 81 \n(38 ! 336: .81 ! 337: .rm 81 ! 338: .nr 38 1n ! 339: .nr 79 0 ! 340: .nr 40 \n(79+(0*\n(38) ! 341: .nr 80 +\n(40 ! 342: .nr 41 \n(80+(3*\n(38) ! 343: .nr 81 +\n(41 ! 344: .nr TW \n(81 ! 345: .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 172 file maha.1.tbl is too wide - \n(TW units ! 346: .nr #I \n(.i ! 347: .in +(\n(.lu-\n(TWu-\n(.iu)/2u ! 348: .fc ! 349: .nr #T 0-1 ! 350: .nr #a 0-1 ! 351: .eo ! 352: .de T# ! 353: .ds #d .d ! 354: .if \(ts\n(.z\(ts\(ts .ds #d nl ! 355: .mk ## ! 356: .nr ## -1v ! 357: .ls 1 ! 358: .ls ! 359: .. ! 360: .ec ! 361: .ta \n(80u \n(81u ! 362: .nr 31 \n(.f ! 363: .nr 35 1m ! 364: \&\h'|\n(40u'f\h'|\n(41u'current file name ! 365: .ta \n(80u \n(81u ! 366: .nr 31 \n(.f ! 367: .nr 35 1m ! 368: \&\h'|\n(40u't\h'|\n(41u'last modified time of the current file ! 369: .ta \n(80u \n(81u ! 370: .nr 31 \n(.f ! 371: .nr 35 1m ! 372: \&\h'|\n(40u'p\h'|\n(41u'current page number ! 373: .ta \n(80u \n(81u ! 374: .nr 31 \n(.f ! 375: .nr 35 1m ! 376: \&\h'|\n(40u'l\h'|\n(41u'line number for the top line of the current page ! 377: .fc ! 378: .nr T. 1 ! 379: .T# 1 ! 380: .in \n(#Iu ! 381: .35 ! 382: .TE ! 383: .if \n-(b.=0 .nr c. \n(.c-\n(d.-7 ! 384: .sp ! 385: If a percent sign is followed by a character not in the list above, then ! 386: that character gets printed (without the leading percent sign). Note that a ! 387: percent sign can still be printed in the header by placing two in the ! 388: format. The default format string is: ! 389: .sp ! 390: .nf ! 391: .ce ! 392: "%f %t Page %p, line %l" ! 393: .fi ! 394: .SH ENVIRONMENT ! 395: .DT ! 396: MAHA strings of options to be used by ! 397: .IR maha . ! 398: .PP ! 399: .SH FILES ! 400: /etc/passwd contains information about system users ! 401: .SH "SEE ALSO" ! 402: cz(1) czarina ! 403: .PP ! 404: Interpress Electronic Printing Standard, \s8XSIS\s0 048404 ! 405: .SH BUGS ! 406: The document name doesn't appear on the banner page like it should. ! 407: This is really the fault of the queueing software. ! 408: .PP ! 409: .I Maha ! 410: will not ! 411: realize that a file is already in interpress format and skip the ! 412: conversion phase. ! 413: .PP ! 414: .I Maha ! 415: doesn't have any metric information. Thus it won't wrap or clip lines. ! 416: If you are using a fixed width font, use ``pr'' as pre-processor.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.