/contrib/groff/doc/meref.me
Unknown | 2223 lines | 2223 code | 0 blank | 0 comment | 0 complexity | 606f6b7bf39f4560265070e1c2c7aea8 MD5 | raw file
1.\" Copyright (c) 1986 The Regents of the University of California. 2.\" All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms are permitted 5.\" provided that the above copyright notice and this paragraph are 6.\" duplicated in all such forms and that any documentation, 7.\" advertising materials, and other materials related to such 8.\" distribution and use acknowledge that the software was developed 9.\" by the University of California, Berkeley. The name of the 10.\" University may not be used to endorse or promote products derived 11.\" from this software without specific prior written permission. 12.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 13.\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 14.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 15.\" 16.\" @(#)ref.me 6.4 (Berkeley) 7/17/89 17.\" 18.\" Modified by jjc@jclark.com for groff. 19.\"UC 7 20.ll 6.5i 21.lt 6.5i 22.\"pn 0 23.ds MO @VERSION@ 24.de TL \" *** title line 25.lp 26.di XX 27.. 28.ie \n(.g \{\ 29.de DE 30\?\h'|\\n(DIu'\c\? 31.. 32.\} 33.el \{\ 34.de DE 35\\\\h'|\\\\n(DIu'\\\\c 36.. 37.\} 38.am DE 39.br 40.di 41.in +\\n(DIu 42.ti 0 43.cu 1000 44.XX 45.rm XX 46.cu 0 47.. 48.ds G \s-1GROFF\s0 49.ds N \s-1NROFF\s0 50.ds T \s-1TROFF\s0 51.nr DI 1.5i 52.he '\-ME REFERENCE MANUAL''%' 53.de NR 54.b "\en\\$1" "\\$2" 55.. 56.de ST 57.b "\e*\\$1" "\\$2" 58.. 59.\"sc 60.\"eh 'USD:23-%''\-me Reference Manual' 61.\"oh '\-me Reference Manual''USD:23-%' 62.+c 63.ce 20 64.sz 14 65.b "\-ME REFERENCE MANUAL" 66.sz 67.sp 68.i "\*G Version \*(MO\(dg" 69.(f 70\(dgBased on Berkeley Release 2.31. 71.)f 72.sp 2 73.ul 74Eric P. Allman* 75.(f 76*Author's current address: 77Britton Lee, Inc., 781919 Addison Suite 105, 79Berkeley, California 94704. 80.)f 81.sp 82Project INGRES 83Electronics Research Laboratory 84University of California, Berkeley 85Berkeley, California 94720 86.sp 2 87.i "Modified for \*G by James Clark" 88.ce 0 89.sp 4 90.pp 91This document describes 92in extremely terse form 93the features 94of the 95.b \-me 96macro package 97for \*G. 98Some familiarity is assumed 99with 100\*G. 101Specifically, 102the reader should understand 103breaks, 104fonts, 105pointsizes, 106the use and definition of number registers 107and strings, 108how to define macros, 109and scaling factors for ens, points, 110.b v 's 111(vertical line spaces), 112etc. 113.pp 114For a more casual introduction 115to text processing 116using \*G, 117refer to the document 118.ul 119Writing Papers with \*G using \-me. 120.pp 121There are a number of macro parameters 122that may be adjusted. 123Fonts may be set to a font number only. 124Font 0 is no font change; 125the font of the surrounding text 126is used instead. 127Notice that font 0 is a 128.q pseudo-font ; 129that is, 130it is simulated by the macros. 131This means that although it is legal to set a font register 132to zero, 133it is not legal to use the escape character form, 134such as: 135.(b 136\ef0 137.)b 138.pp 139All distances 140are in basic units, 141so it is nearly always necessary 142to use a scaling factor. 143For example, 144the request 145to set the paragraph indent 146to eight one-en spaces is: 147.(b 148\&.nr pi 8n 149.)b 150and not 151.(b 152\&.nr pi 8 153.)b 154which would set the paragraph indent to eight basic units, 155or about 0.02 inch. 156Default parameter values are given in brackets 157in the remainder of this document. 158.pp 159Registers and strings 160of the form 161.b $ \c 162.i x 163may be used in expressions 164but should not be changed. 165Macros of the form 166.b $ \c 167.i x 168perform some function 169(as described) 170and may be redefined 171to change this function. 172This may be a sensitive operation; 173look at the body of the original macro 174before changing it. 175.pp 176All names in \-me 177follow a rigid naming convention. 178The user may define number registers, 179strings, 180and macros, 181provided that s/he 182uses single character upper case names 183or double character names 184consisting of letters and digits, 185with at least one upper case letter. 186In no case should special characters 187be used in user-defined names. 188Locally defined macros 189should all be of the form 190.b .* \c 191.i X , 192where 193.i X 194is any letter 195(upper or lower case) 196or digit. 197.pp 198This documentation applies to \*G version 199\*(MO 200of the \-me macros. 201.sh 1 "Paragraphing" 202.pp 203These macros are used 204to begin paragraphs. 205The standard paragraph macro 206is 207.b .pp ; 208the others are all variants 209to be used for special purposes. 210.pp 211After the first call to one of the paragraphing macros 212defined in this section 213or the 214.b .sh 215macro 216(defined in the next session), 217the effects of changing parameters 218which will have a global effect 219on the format of the page 220(notably page length and header and footer margins) 221are not well defined 222and should be avoided. 223.TL 224.b .lp 225.DE 226Begin left-justified paragraph. 227Centering and underlining 228are turned off if they were on, 229the font is set to 230.NR (pf 231[1] 232the type size 233is set to 234.NR (pp 235[10p], 236and a 237.NR (ps 238space is inserted 239before the paragraph 240[0.35v] 241The indent is reset 242to 243.NR ($i 244[0] 245plus 246.NR (po 247[0] 248unless the paragraph 249is inside a display. 250(see 251.b .ba ). 252At least 253the first two lines 254of the paragraph 255are kept together 256on a page. 257.TL 258.b .pp 259.DE 260Like 261.b .lp , 262except that it puts 263.NR (pi 264[5n] 265units of indent. 266This is the standard paragraph macro. 267.TL 268.b .ip 269.i T 270.i I 271.DE 272Indented paragraph 273with hanging tag. 274The body of the following paragraph 275is indented 276.i I 277spaces 278(or 279.NR (ii 280[5n] 281spaces 282if 283.i I 284is not specified) 285more than a non-indented paragraph 286(such as with 287.b .pp ) 288is. 289The title 290.i T 291is exdented (opposite of indented). 292The result is a paragraph 293with an even left edge 294and 295.i T 296printed in the margin. 297Any spaces in 298.i T 299must be unpaddable. 300If 301.i T 302will not fit in the space provided, 303.b .ip 304will start a new line. 305.TL 306.b .np 307.DE 308A variant of .ip which numbers paragraphs. 309Numbering is reset 310after a 311.b .lp , 312.b .pp , 313or 314.b .sh . 315The current paragraph number 316is in 317.NR ($p . 318.TL 319.b .bu 320.DE 321Like 322.b .np 323except that paragraphs are marked with bullets (\(bu). 324Leading space is eliminated to create compact lists. 325.sh 1 "Section Headings" 326.pp 327Numbered sections 328are similar to paragraphs 329except that a 330section number 331is automatically 332generated for each one. 333The section numbers are of the form 334.b 1.2.3 . 335The 336.i depth 337of the section 338is the count of numbers 339(separated by decimal points) 340in the section number. 341.pp 342Unnumbered section headings are similar, 343except that no number is attached 344to the heading. 345.TL 346.b .sh 347.i +N 348.i T 349.i "a b c d e f" 350.DE 351Begin numbered section 352of depth 353.i N . 354If 355.i N 356is missing 357the current depth 358(maintained in 359the number register 360.NR ($0 ) 361is used. 362The values of 363the individual parts of the section number 364are maintained in 365.NR ($1 366through 367.NR ($6 . 368There is a 369.NR (ss 370[1v] 371space before the section. 372.i T 373is printed 374as a section title 375in font 376.NR (sf 377[8] 378and size 379.NR (sp 380[10p]. 381The 382.q name 383of the section may be accessed via 384.ST ($n . 385If 386.NR (si 387is non-zero, 388the base indent 389is set to 390.NR (si 391times the section depth, 392and the section title 393is exdented. 394(See 395.b .ba .) 396Also, 397an additional indent of 398.NR (so 399[0] 400is added to the section title 401(but not to the body of the section). 402The font is then set 403to the paragraph font, 404so that more information may occur 405on the line 406with the section number 407and title. 408.b .sh 409insures that there is enough room 410to print the section head 411plus the beginning of a paragraph 412(about 3 lines total). 413If 414.i a 415through 416.i f 417are specified, 418the section number is set to that number 419rather than incremented automatically. 420If any of 421.i a 422through 423.i f 424are a hyphen 425that number is not reset. 426If 427.i T 428is a single underscore 429(\c 430.q _ ) 431then the section depth and numbering is reset, 432but the base indent is not reset 433and nothing is printed out. 434This is useful to automatically 435coordinate section numbers with 436chapter numbers. 437.TL 438.b .sx 439.i +N 440.DE 441Go to section depth 442.i N 443[\c 444.b \-1 ], 445but do not print the number 446and title, 447and do not increment the section number 448at level 449.i N . 450This has the effect 451of starting a new paragraph 452at level 453.i N . 454.TL 455.b .uh 456.i T 457.DE 458Unnumbered section heading. 459The title 460.i T 461is printed 462with the same rules for spacing, 463font, etc., 464as for 465.b .sh . 466.TL 467.b .$p 468.i T 469.i B 470.i N 471.DE 472Print section heading. 473May be redefined 474to get fancier headings. 475.i T 476is the title passed on the 477.b .sh 478or 479.b .uh 480line; 481.i B 482is the section number for this section, 483and 484.i N 485is the depth of this section. 486These parameters are not always present; 487in particular, 488.b .sh 489passes all three, 490.b .uh 491passes only the first, 492and 493.b .sx 494passes three, 495but the first two 496are null strings. 497Care should be taken if this macro 498is redefined; 499it is quite complex and subtle. 500.TL 501.b .$0 502.i T 503.i B 504.i N 505.DE 506This macro is called automatically 507after every call to 508.b .$p . 509It is normally undefined, 510but may be used 511to automatically put 512every section title 513into the table of contents 514or for some similar function. 515.i T 516is the section title 517for the section title which was just printed, 518.i B 519is the section number, 520and 521.i N 522is the section depth. 523.TL 524.b .$1 525\- 526.b .$6 527.DE 528Traps called just before printing that depth section. 529May be defined to 530(for example) 531give variable spacing 532before sections. 533These macros are called from 534.b .$p , 535so if you redefine that macro 536you may lose this feature. 537.sh 1 "Headers and Footers" 538.ds TP \fI\(aal\|\(aam\^\(aar\^\(aa\fP 539.pp 540Headers and footers 541are put at the top and bottom 542of every page 543automatically. 544They are set in font 545.NR (tf 546[3] 547and size 548.NR (tp 549[10p]. 550Each of the definitions 551apply as of the 552.i next 553page. 554Three-part titles 555must be quoted 556if there are two blanks adjacent 557anywhere in the title 558or more than eight blanks total. 559.pp 560The spacing 561of headers and footers 562are controlled by three number registers. 563.NR (hm 564[4v] 565is the distance from the top of the page 566to the top of the header, 567.NR (fm 568[3v] 569is the distance from the bottom of the page 570to the bottom of the footer, 571.NR (tm 572[7v] 573is the distance from the top of the page 574to the top of the text, 575and 576.NR (bm 577[6v] 578is the distance from the bottom of the page 579to the bottom of the text 580(nominal). 581The macros 582.b .m1 , 583.b .m2 , 584.b .m3 , 585and 586.b .m4 587are also supplied for compatibility 588with 589\s-1ROFF\s0 documents. 590.TL 591.b .he 592\*(TP 593.DE 594Define three-part header, 595to be printed on the top 596of every page. 597.TL 598.b .fo 599\*(TP 600.DE 601Define footer, 602to be printed at the bottom 603of every page. 604.TL 605.b .eh 606\*(TP 607.DE 608Define header, 609to be printed at the top of every 610even-numbered page. 611.TL 612.b .oh 613\*(TP 614.DE 615Define header, 616to be printed at the top of every 617odd-numbered page. 618.TL 619.b .ef 620\*(TP 621.DE 622Define footer, 623to be printed at the bottom 624of every even-numbered page. 625.TL 626.b .of 627\*(TP 628.DE 629Define footer, 630to be printed at the bottom 631of every odd-numbered page. 632.TL 633.b .hx 634.DE 635Suppress headers and footers 636on the next page. 637.TL 638.b .m1 639.i +N 640.DE 641Set the space between the top of the page 642and the header 643[4v]. 644.TL 645.b .m2 646.i +N 647.DE 648Set the space between the header 649and the first line of text 650[2v]. 651.TL 652.b .m3 653.i +N 654.DE 655Set the space 656between the bottom of the text 657and the footer 658[2v]. 659.TL 660.b .m4 661.i +N 662.DE 663Set the space 664between the footer 665and the bottom of the page 666[4v]. 667.TL 668.b .ep 669.DE 670End this page, 671but do not begin the next page. 672Useful for forcing out footnotes, 673but other than 674that hardly every used. 675Must be followed by a 676.b .bp 677or the end of input. 678.TL 679.b .$h 680.DE 681Called at every page 682to print the header. 683May be redefined 684to provide fancy 685(e.g., 686multi-line) 687headers, 688but doing so 689loses the function of the 690.b .he , 691.b .fo , 692.b .eh , 693.b .oh , 694.b .ef , 695and 696.b .of 697requests, 698as well as the chapter-style title feature 699of 700.b .+c . 701.TL 702.b .$f 703.DE 704Print footer; 705same comments apply 706as in 707.b .$h . 708.TL 709.b .$H 710.DE 711A normally undefined macro 712which is called 713at the top of each page 714(after putting out 715the header, 716initial saved floating keeps, 717etc.); 718in other words, 719this macro is called immediately before 720printing text 721on a page. 722It can be used for column headings 723and the like. 724.sh 1 "Displays" 725.pp 726All displays except centered blocks 727and block quotes 728are preceded and followed 729by an extra 730.NR (bs 731[same as 732.NR (ps ] 733space. 734Quote spacing is stored in a separate register; 735centered blocks have no default initial or trailing space. 736The vertical spacing of all displays except quotes 737and centered blocks 738is stored in register 739.NR ($V 740instead of 741.NR ($v . 742.TL 743.b .(l 744.i m 745.i f 746.DE 747Begin list. 748Lists are single spaced, 749unfilled text. 750If 751.i f 752is 753.b F , 754the list will be filled. 755If 756.i m 757[\c 758.b I ] 759is 760.b I 761the list is indented by 762.NR (bi 763[4m]; 764if 765.b M 766the list is indented to the left margin; 767if 768.b L 769the list is left justified with respect to the text 770(different from 771.b M 772only if the base indent 773(stored in 774.NR ($i 775and set with 776.b .ba ) 777is not zero); 778and if 779.b C 780the list is centered on a line-by-line basis. 781The list is set in font 782.NR (df 783[0]. 784Must be matched by a 785.b .)l . 786This macro is almost like 787.b .(b 788except that no attempt is made 789to keep the display on one page. 790.TL 791.b .)l 792.DE 793End list. 794.TL 795.b .(q 796.DE 797Begin major quote. 798These are single spaced, 799filled, 800moved in from the text 801on both sides 802by 803.NR (qi 804[4n], 805preceded and followed 806by 807.NR (qs 808[same as 809.NR (bs ] 810space, 811and are set in point size 812.NR (qp 813[one point smaller than surrounding text]. 814.TL 815.b .)q 816.DE 817End major quote. 818.TL 819.b .(b 820.i m 821.i f 822.DE 823Begin block. 824Blocks are a form of 825.i keep , 826where the text of a keep 827is kept together on one page 828if possible 829(keeps are useful 830for tables and figures 831which should not be broken 832over a page). 833If the block will not fit 834on the current page 835a new page is begun, 836.i unless 837that would leave more than 838.NR (bt 839[0] 840white space 841at the bottom of the text. 842If 843.NR (bt 844is zero, the threshold feature 845is turned off. 846Blocks are not filled 847unless 848.i f 849is 850.b F , 851when they are filled. 852The block will be left-justified 853if 854.i m 855is 856.b L , 857indented by 858.NR (bi 859[4m] 860if 861.i m 862is 863.b I 864or absent, 865centered 866(line-for-line) 867if 868.i m 869is 870.b C , 871and left justified to the margin 872(not to the base indent) 873if 874.i m 875is 876.b M . 877The block is set in font 878.NR (df 879[0]. 880.TL 881.b .)b 882.DE 883End block. 884.TL 885.b .(z 886.i m 887.i f 888.DE 889Begin floating keep. 890Like 891.b .(b 892except that the keep is 893.i floated 894to the bottom of the page 895or the top of the next page. 896Therefore, 897its position relative to the text changes. 898The floating keep is preceded and followed 899by 900.NR (zs 901[1v] 902space. 903Also, 904it defaults to mode 905.b M . 906.TL 907.b .)z 908.DE 909End floating keep. 910.TL 911.b .(c 912.DE 913Begin centered block. 914The next keep 915is centered as a block, 916rather than on a line-by-line basis 917as with 918.b ".(b C" . 919This call may be nested 920inside keeps. 921.TL 922.b .)c 923.DE 924End centered block. 925.sh 1 Annotations 926.TL 927.b .(d 928.DE 929Begin delayed text. 930Everything in the next keep 931is saved for output 932later with 933.b .pd , 934in a manner 935similar to footnotes. 936.TL 937.b .)d 938.i n 939.DE 940End delayed text. 941The delayed text number register 942.NR ($d 943and the associated string 944.ST # 945are incremented if 946.ST # 947has been referenced. 948.TL 949.b .pd 950.DE 951Print delayed text. 952Everything diverted via 953.b .(d 954is printed and truncated. 955This might be used 956at the end of each chapter. 957.TL 958.b .(f 959.DE 960Begin footnote. 961The text of the footnote 962is floated to the bottom 963of the page 964and set in font 965.NR (ff 966[1] 967and size 968.NR (fp 969[8p]. 970Each entry 971is preceded by 972.NR (fs 973[0.2v] 974space, 975is indented 976.NR (fi 977[3n] 978on the first line, 979and is indented 980.NR (fu 981[0] 982from the right margin. 983Footnotes line up underneath 984two column output. 985If the text of the footnote 986will not all fit on one page 987it will be carried over 988to the next page. 989.TL 990.b .)f 991.i n 992.DE 993End footnote. 994The number register 995.NR ($f 996and the associated string 997.ST * 998are incremented 999if they have been referenced. 1000.TL 1001.b .$s 1002.DE 1003The macro to output the footnote separator. 1004This macro may be redefined 1005to give other size lines or other types 1006of separators. 1007Currently 1008it draws a 1.5i line. 1009.TL 1010.b .(x 1011.i x 1012.DE 1013Begin index entry. 1014Index entries are saved in the index 1015.i x 1016[\c 1017.b x ] 1018until called up with 1019.b .xp. 1020Each entry is preceded 1021by a 1022.NR (xs 1023[0.2v] 1024space. 1025Each entry is 1026.q undented 1027by 1028.NR (xu 1029[0.5i]; 1030this register tells how far the page number 1031extends into the right margin. 1032.TL 1033.b .)x 1034.i P 1035.i A 1036.DE 1037End index entry. 1038The index entry 1039is finished with a row of dots 1040with 1041.i A 1042[null] 1043right justified on the last line 1044(such as for an author's name), 1045followed by P 1046[\c 1047.NR % ]. 1048If 1049.i A 1050is specified, 1051.i P 1052must be specified; 1053.NR % 1054can be used to print the current page number. 1055If 1056.i P 1057is an underscore, 1058no page number 1059and no row of dots 1060are printed. 1061.TL 1062.b .xp 1063.i x 1064.DE 1065Print index 1066.i x 1067[\c 1068.b x ]. 1069The index is formatted in the font, size, and so forth 1070in effect at the time it is printed, 1071rather than at the time it is collected. 1072.sh 1 "Columned Output" 1073.TL 1074.b .2c 1075.i +S 1076.i N 1077.DE 1078Enter two-column mode. 1079The column separation is set to 1080.i +S 1081[4n, 0.5i in ACM mode] 1082(saved in 1083.NR ($s ). 1084The column width, 1085calculated to fill the single column line length 1086with both columns, 1087is stored in 1088.NR ($l . 1089The current column 1090is in 1091.NR ($c . 1092You can test register 1093.NR ($m 1094[1] 1095to see if you are in single column 1096or double column mode. 1097Actually, 1098the request enters 1099.i N 1100[2] 1101column output. 1102.TL 1103.b .1c 1104.DE 1105Revert to single-column mode. 1106.TL 1107.b .bc 1108.DE 1109Begin column. 1110This is like 1111.b .bp 1112except that it begins a new column 1113on a new page 1114only if necessary, 1115rather than forcing a whole new page 1116if there is another column left 1117on the current page. 1118.sh 1 "Fonts and Sizes" 1119.TL 1120.b .sz 1121.i +P 1122.DE 1123The pointsize is set to 1124.i P 1125[10p], 1126and the line spacing is set proportionally. 1127The line spacing as a percentage of the pointsize expressed in units 1128is stored in 1129.NR ($v . 1130The percentage used internally 1131by displays and annotations 1132is stored in 1133.NR ($V 1134(although this is not used by 1135.b .sz ). 1136This size is 1137.i not 1138sticky beyond many macros: 1139in particular, 1140.NR (pp 1141(paragraph pointsize) 1142modifies the pointsize every time a new paragraph is begun 1143using the 1144.b \&.pp , 1145.b \&.lp , 1146.b \&.ip , 1147.b \&.np , 1148or 1149.b \&.bu 1150macros. 1151Also, 1152.NR (fp 1153(footnote pointsize), 1154.NR (qp 1155(quote pointsize), 1156.NR (sp 1157(section header pointsize), 1158and 1159.NR (tp 1160(title pointsize) 1161may modify the pointsize. 1162.TL 1163.b .r 1164.i W 1165.i X 1166.DE 1167Set 1168.i W 1169in roman font, 1170appending 1171.i X 1172in the previous font. 1173To append different font requests, 1174use 1175.i X 1176= 1177.b \ec . 1178If no parameters, 1179change to roman font. 1180.TL 1181.b .i 1182.i W 1183.i X 1184.DE 1185Set 1186.i W 1187in italics, 1188appending 1189.i X 1190in the previous font. 1191If no parameters, 1192change to italic font. 1193.TL 1194.b .b 1195.i W 1196.i X 1197.DE 1198Set 1199.i W 1200in bold font 1201and append 1202.i X 1203in the previous font. 1204If no parameters, 1205switch to bold font. 1206.TL 1207.b .u 1208.i W 1209.i X 1210.DE 1211Underline 1212.i W 1213and append 1214.i X . 1215This is a true underlining, 1216as opposed to the 1217.b .ul 1218request, 1219which changes to 1220.q "underline font" 1221(usually italics in \*G). 1222It won't work right 1223if 1224.i W 1225is spread or broken (including hyphenated). 1226In other words, 1227it is safe in nofill mode only. 1228.TL 1229.b .q 1230.i W 1231.i X 1232.DE 1233Quote 1234.i W 1235and append 1236.i X . 1237In \*G 1238this surrounds 1239.i W 1240with 1241.b \*(lq , 1242and 1243.b \*(rq . 1244.TL 1245.b .bi 1246.i W 1247.i X 1248.DE 1249Set 1250.i W 1251in bold italics 1252and append 1253.i X . 1254.TL 1255.b .bx 1256.i W 1257.i X 1258.DE 1259Sets 1260.i W 1261in a box, 1262with 1263.i X 1264appended. 1265It won't work right 1266if 1267.i W 1268is spread or broken (including hyphenated). 1269In other words, 1270it is safe in nofill mode only. 1271.TL 1272.b .sm 1273.i W 1274.i X 1275.DE 1276Sets 1277.i W 1278in a smaller pointsize, 1279with 1280.i X 1281appended. 1282.sh 1 "Roff Support" 1283.TL 1284.b .ix 1285.i +N 1286.DE 1287Indent, 1288no break. 1289Equivalent to 1290.b \(aain 1291.i N . 1292.TL 1293.b .bl 1294.i N 1295.DE 1296Leave 1297.i N 1298contiguous white space, 1299on the next page if not enough room 1300on this page. 1301Equivalent to a 1302.b .sp 1303.i N 1304inside a block. 1305.TL 1306.b .pa 1307.i +N 1308.DE 1309Equivalent to 1310.b .bp . 1311.TL 1312.b .ro 1313.DE 1314Set page number 1315in roman numerals. 1316Equivalent to 1317.b ".af % i" . 1318.TL 1319.b .ar 1320.DE 1321Set page number in Arabic. 1322Equivalent to 1323.b ".af % 1" . 1324.TL 1325.b .n1 1326.DE 1327Number lines in margin from one 1328on each page. 1329.TL 1330.b .n2 1331.i N 1332.DE 1333Number lines from 1334.i N , 1335stop if 1336.i N 1337= 0. 1338.TL 1339.b .sk 1340.DE 1341Leave the next output page blank, 1342except for headers and footers. 1343This is used to leave space 1344for a full-page diagram 1345which is produced externally 1346and pasted in later. 1347To get a partial-page paste-in display, 1348say 1349.b .sv \ \c 1350.i N , 1351where 1352.i N 1353is the amount of space 1354to leave; 1355this space will be output immediately 1356if there is room, 1357and will otherwise be output 1358at the top of the next page. 1359However, be warned: 1360if 1361.i N 1362is greater than the amount of available space 1363on an empty page, 1364no space will ever be output. 1365.sh 1 "Preprocessor Support" 1366.TL 1367.b .EQ 1368.i m 1369.i T 1370.DE 1371Begin equation. 1372The equation is centered 1373if 1374.i m 1375is 1376.b C 1377or omitted, 1378indented 1379.NR (bi 1380[4m] 1381if 1382.i m 1383is 1384.b I , 1385and left justified if 1386.i m 1387is 1388.b L . 1389.i T 1390is a title printed on the right margin 1391next to the equation. 1392See 1393.i "Typesetting Mathematics \- User's Guide" 1394by Brian W. Kernighan 1395and Lorinda L. Cherry. 1396.TL 1397.b .EN 1398.i c 1399.DE 1400End equation. 1401If 1402.i c 1403is 1404.b C 1405the equation must be continued 1406by immediately following 1407with another 1408.b .EQ , 1409the text of which 1410can be centered 1411along with this one. 1412Otherwise, 1413the equation is printed, 1414always on one page, 1415with 1416.NR (es 1417[0.5v] 1418space 1419above and below it. 1420.TL 1421.b .TS 1422.i h 1423.DE 1424Table start. 1425Tables are single spaced 1426and kept on one page 1427if possible. 1428If you have a large table 1429which will not fit on one page, 1430use 1431.i h 1432= 1433.b H 1434and follow the header part 1435(to be printed on every page of the table) 1436with a 1437.b .TH . 1438See 1439.i "Tbl \- A Program to Format Tables" 1440by M. E. Lesk. 1441.TL 1442.b .TH 1443.DE 1444With 1445.b ".TS H" , 1446ends the header portion of the table. 1447.TL 1448.b .TE 1449.DE 1450Table end. 1451Note that this table 1452does not float, 1453in fact, 1454it is not even guaranteed to stay on one page 1455if you use requests such as 1456.b .sp 1457intermixed with the text 1458of the table. 1459If you want it to float 1460(or if you use requests 1461inside the table), 1462surround the entire table 1463(including the 1464.b .TS 1465and 1466.b .TE 1467requests) 1468with the requests 1469.b .(z 1470and 1471.b .)z . 1472.TL 1473.b .PS 1474.i h 1475.i w 1476.DE 1477Begin 1478.i pic 1479picture. 1480.i H 1481is the height and 1482.i w 1483is the width, 1484both in basic units. 1485.TL 1486.b .PE 1487.DE 1488End picture. 1489.TL 1490.b .IS 1491.DE 1492Begin 1493.i ideal 1494picture. 1495.TL 1496.b .IE 1497.DE 1498End 1499.i ideal 1500picture. 1501.TL 1502.b .IF 1503.DE 1504End 1505.i ideal 1506picture (alternate form). 1507.TL 1508.b .GS 1509.i x 1510.DE 1511Begin 1512.i gremlin 1513picture. 1514.i X 1515can be either 1516.b C , 1517.b L , 1518or 1519.b R 1520to center, left, or right justify the 1521whole picture. 1522Default is centering the image. 1523.TL 1524.b .GE 1525.DE 1526End 1527.i gremlin 1528picture. 1529.TL 1530.b .GF 1531.DE 1532End 1533.i gremlin 1534picture (alternate form). 1535.sh 1 "Miscellaneous" 1536.TL 1537.b .re 1538.DE 1539Reset tabs every 0.5i. 1540.TL 1541.b .ba 1542.i +N 1543.DE 1544Set the base indent 1545to 1546.i +N 1547[0] 1548(saved in 1549.NR ($i ). 1550All paragraphs, 1551sections, 1552and displays 1553come out indented by this amount. 1554Titles and footnotes 1555are unaffected. 1556The 1557.b .sh 1558request performs a 1559.b .ba 1560request 1561if 1562.NR (si 1563[0] is not zero, 1564and sets the base indent to 1565.NR (si \c 1566.b * \c 1567.NR ($0 . 1568.TL 1569.b .xl 1570.i +N 1571.DE 1572Set the line length to 1573.i N 1574[6.0i]. 1575This differs 1576from 1577.b .ll 1578because it only affects the current environment. 1579.TL 1580.b .ll 1581.i +N 1582.DE 1583Set line length in all environments 1584to 1585.i N 1586[6.0i]. 1587This should not be used 1588after output has begun, 1589and particularly not in two-column output. 1590The current line length is stored in 1591.NR ($l . 1592.TL 1593.b .hl 1594.DE 1595Draws a horizontal line 1596the length of the page. 1597This is useful 1598inside floating keeps 1599to differentiate 1600between the text 1601and the figure. 1602.sh 1 "Standard Papers" 1603.TL 1604.b .tp 1605.DE 1606Begin title page. 1607Spacing at the top of the page 1608can occur, 1609and headers and footers are suppressed. 1610Also, 1611the page number 1612is not incremented 1613for this page. 1614.TL 1615.b .++ 1616.i m 1617.i H 1618.DE 1619This request defines the section of the paper 1620which we are entering. 1621The section type is defined by 1622.i m . 1623.b C 1624means that we are entering the chapter portion 1625of the paper, 1626.b A 1627means that we are entering the appendix portion 1628of the paper, 1629.b P 1630means that the material following 1631should be the preliminary portion 1632(abstract, table of contents, etc.) 1633portion of the paper, 1634.b AB 1635means that we are entering the abstract 1636(numbered independently from 1 1637in Arabic numerals), 1638and 1639.b B 1640means that we are entering the bibliographic 1641portion at the end of the paper. 1642Also, the variants 1643.b RC 1644and 1645.b RA 1646are allowed, 1647which specify renumbering of pages 1648from one at the beginning of each 1649chapter or appendix, 1650respectively. 1651The section type is available in register 1652.NR (_M 1653[1]; value 1 is equivalent to type 1654.b C 1655or 1656.b RC , 1657value 2 represents type 1658.b A 1659or 1660.b RA , 1661and values 3 to 5 are type 1662.b P , 1663.b B , 1664and 1665.b AB , 1666respectively. 1667The 1668.i H 1669parameter defines the new header. 1670If there are any spaces in it, 1671the entire header must be quoted. 1672If you want the header to have the chapter number 1673in it, 1674Use the string 1675.b "\e\e\e\en(ch" . 1676For example, to number appendixes 1677.b A.1 1678etc., 1679type 1680.b ".++ RA \(aa\(aa\(aa\e\e\e\en(ch.%\(aa" . 1681Each section 1682(chapter, appendix, etc.) 1683should be preceded by the 1684.b .+c 1685request. 1686It should be mentioned 1687that it is easier when using 1688\*T to put the front material 1689at the end of the paper, 1690so that the table of contents 1691can be collected and put out; 1692this material can then be physically 1693moved to the beginning of the paper. 1694.TL 1695.b .+c 1696.i T 1697.DE 1698Begin chapter with title 1699.i T . 1700The chapter number 1701is maintained in 1702.NR (ch . 1703This register is incremented 1704every time 1705.b .+c 1706is called with a parameter. 1707The title and chapter number 1708are printed by 1709.b .$c . 1710The header is moved to the footer 1711on the first page 1712of each chapter. 1713If 1714.i T 1715is omitted, 1716.b .$c 1717is not called; 1718this is useful for doing your own 1719.q "title page" 1720at the beginning of papers 1721without a title page proper. 1722.b .$c 1723calls 1724.b .$C 1725as a hook so that chapter titles can be inserted 1726into a table of contents automatically. 1727The footnote numbering is reset to one. 1728.TL 1729.b .$c 1730.i T 1731.DE 1732Print chapter number 1733(from 1734.NR (ch ) 1735and 1736.i T . 1737This macro can be redefined to your liking. 1738It is defined by default 1739to be acceptable 1740for a PhD thesis 1741at Berkeley. 1742This macro calls 1743.b $C , 1744which can be defined to make index entries, 1745or whatever. 1746.TL 1747.b .$C 1748.i K 1749.i N 1750.i T 1751.DE 1752This macro is called by 1753.b .$c . 1754It is normally undefined, 1755but can be used to automatically insert 1756index entries, 1757or whatever. 1758.i K 1759is a keyword, 1760either 1761.q Chapter 1762or 1763.q Appendix 1764(depending on the 1765.b .++ 1766mode); 1767.i N 1768is the chapter or appendix number, 1769and 1770.i T 1771is the chapter or appendix title. 1772.sh 1 "Predefined Strings" 1773.TL 1774.ST * 1775.DE 1776Footnote number, actually 1777.ST [ \c 1778.NR ($f \c 1779.ST ] . 1780This macro is incremented 1781after each call to 1782.b .)f . 1783.TL 1784.ST # 1785.DE 1786Delayed text number. 1787Actually 1788[\c 1789.NR ($d ]. 1790.TL 1791.ST { 1792.DE 1793Superscript. 1794This string gives upward movement 1795and a change to a smaller point size. 1796Extra space is left above the line 1797to allow room for the superscript. 1798.TL 1799.ST } 1800.DE 1801Unsuperscript. 1802Inverse to 1803.ST { . 1804For example, 1805to produce a superscript 1806you might type 1807.b x \c 1808.ST { \c 1809.b 2 \c 1810.ST } , 1811which will produce 1812.b x\*{2\*} . 1813.TL 1814.ST < 1815.DE 1816Subscript. 1817Extra space is left below the line 1818to allow for the subscript. 1819.TL 1820.ST > 1821.DE 1822Inverse to 1823.ST < . 1824.TL 1825.ST (dw 1826.DE 1827The day of the week, 1828as a word. 1829.TL 1830.ST (mo 1831.DE 1832The month, 1833as a word. 1834.TL 1835.ST (td 1836.DE 1837Today's date, 1838directly printable. 1839The date is of the form February 15, 2003. 1840Other forms of the date can be used 1841by using 1842.NR (dy 1843(the day of the month; 1844for example, 15), 1845.ST (mo 1846(as noted above) 1847or 1848.NR (mo 1849(the same, 1850but as an ordinal number; 1851for example, February is 2), 1852.NR (y4 1853(the current year), 1854and 1855.NR (y2 1856(the last two digits of the current year). 1857.TL 1858.ST (lq 1859.DE 1860Left quote marks. 1861.TL 1862.ST (rq 1863.DE 1864Right quote. 1865.TL 1866.ST \- 1867.DE 1868.ie \w'\(34'>0 \(34 1869.el 3/4 1870em dash. 1871.sh 1 "Special Characters and Marks" 1872.pp 1873There are a number of special characters 1874and diacritical marks 1875(such as accents) 1876available through \-me. 1877.ta 15 +5 +6 1878.nf 1879Name Usage Example 1880Acute accent \e*\(aa a\e*\(aa a\*' 1881Grave accent \e*\(ga e\e*\(ga e\*` 1882Umlaut \e*: u\e*: u\*: 1883Tilde \e*~ n\e*~ n\*~ 1884Caret \e*^ e\e*^ e\*^ 1885Cedilla \e*, c\e*, c\*, 1886Czech \e*v e\e*v e\*v 1887Circle \e*o A\e*o A\*o 1888There exists \e*(qe \*(qe 1889For all \e*(qa \*(qa 1890.fi 1891.sp 1i 1892.b Acknowledgments 1893.pp 1894I would like to thank 1895Bob Epstein, 1896Bill Joy, 1897and Larry Rowe 1898for having the courage 1899to use the \-me macros 1900to produce non-trivial papers 1901during the development stages; 1902Ricki Blau, 1903Pamela Humphrey, 1904and Jim Joyce 1905for their help with the documentation phase; 1906peter kessler 1907for numerous complaints, 1908most accompanied by fixes; 1909and the plethora of people who have contributed ideas 1910and have given support for the project. 1911.bp 1912.b Summary 1913.pp 1914This alphabetical list summarizes all macros, strings, and number registers 1915available in the \-me macros. 1916Selected 1917.i troff 1918commands, registers, and functions are included as well; 1919those listed can generally be used with impunity. 1920.pp 1921The columns are the name of the 1922command, macro, register, or string; 1923the type of the object, 1924and the description. 1925Types are 1926.b M 1927for macro or builtin command 1928(invoked with 1929.b \&. 1930or 1931.b \&\' 1932in the first input column), 1933.b S 1934for a string 1935(invoked with 1936.b \e* 1937or 1938.b \e*( ), 1939.b R 1940for a number register 1941(invoked with 1942.b \en 1943or 1944.b \en( ), 1945and 1946.b F 1947for a 1948.i troff 1949builtin function 1950(invoked by preceding it with a single backslash). 1951.pp 1952Lines marked with \(sc are 1953.i troff 1954internal codes. 1955Lines marked with \(dg or \(dd 1956may be defined by the user to get special functions; 1957\(dd indicates that these are defined by default 1958and changing them may have unexpected side effects. 1959Lines marked with \(de 1960are specific to 1961.i ditroff 1962(device-independent 1963.i troff ). 1964.de $H 1965.ev 1 1966.ta \w'\e(space)\(sc\ 'u +\w'TYPE 'u 1967NAME TYPE DESCRIPTION 1968.ev 1969.. 1970.(l 1971.$H 1972\e(space) F\(sc unpaddable space 1973\e" F\(sc comment (to end of line) 1974\e*# S optional delayed text tag string 1975\e$\fI\&N\fP F\(sc interpolate argument \fI\&N\fP 1976\en($0 R section depth 1977\&.$0 M\(dg invoked after section title printed 1978\en($1 R first section number 1979\&.$1 M\(dg invoked before printing depth 1 section 1980\en($2 R second section number 1981\&.$2 M\(dg invoked before printing depth 2 section 1982\en($3 R third section number 1983\&.$3 M\(dg invoked before printing depth 3 section 1984\en($4 R fourth section number 1985\&.$4 M\(dg invoked before printing depth 4 section 1986\en($5 R fifth section number 1987\&.$5 M\(dg invoked before printing depth 5 section 1988\en($6 R sixth section number 1989\&.$6 M\(dg invoked before printing depth 6 section 1990\&.$C M\(dg called at beginning of chapter 1991\&.$H M\(dg text header 1992\en($V R\(dd relative vertical spacing in displays 1993\en($c R current column number 1994\&.$c M\(dd print chapter title 1995\en($d R delayed text number 1996\en($f R footnote number 1997\&.$f M\(dd print footer 1998\&.$h M\(dd print header 1999\en($i R paragraph base indent 2000\en($l R column width 2001\en($m R number of columns in effect 2002\e*($n S section name 2003\en($p R numbered paragraph number 2004\&.$p M\(dd print section heading (internal macro) 2005\en($s R column indent 2006\&.$s M\(dd footnote separator (from text) 2007\en($v R\(dd relative vertical spacing in text 2008\en% R\(sc current page number 2009\e& F\(sc zero width character, useful for hiding controls 2010\e(\fI\&xx\fP F\(sc interpolate special character \fI\&xx\fP 2011\&.(b M begin block 2012\&.(c M begin centered block 2013\&.(d M begin delayed text 2014\&.(f M begin footnote 2015\&.(l M begin list 2016\&.(q M begin quote 2017\&.(x M begin index entry 2018\&.(z M begin floating keep 2019\&.)b M end block 2020\&.)c M end centered block 2021\&.)d M end delayed text 2022\&.)f M end footnote 2023\&.)l M end list 2024\&.)q M end quote 2025\&.)x M end index entry 2026\&.)z M end floating keep 2027\e*\fI\&x\fP F\(sc interpolate string \fI\&x\fP 2028\e*(\fI\&xx\fP F\(sc interpolate string \fI\&xx\fP 2029\e** S optional footnote tag string 2030\&.++ M set paper section type 2031\&.+c M begin chapter 2032\e*, S cedilla 2033\e\- F\(sc minus sign 2034\e*\- S 3/4 em dash 2035\e0 F\(sc unpaddable digit-width space 2036\&.1c M revert to single column output 2037\&.2c M begin two column output 2038\e*: S umlaut 2039\e*< S begin subscript 2040\e*> S end subscript 2041\&.EN M end equation 2042\&.EQ M begin equation 2043\eL\'\fI\&d\fP\' F\(sc vertical line drawing function for distance \fI\&d\fP 2044\&.GE M\(de end \fIgremlin\fP picture 2045\&.GF M\(de end \fIgremlin\fP picture (with flyback) 2046\&.GS M\(de start \fIgremlin\fP picture 2047\&.IE M\(de end \fIideal\fP picture 2048\&.IF M\(de end \fIideal\fP picture (with flyback) 2049\&.IS M\(de start \fIideal\fP picture 2050\&.PE M\(de end \fIpic\fP picture 2051\&.PF M\(de end \fIpic\fP picture (with flyback) 2052\&.PS M\(de start \fIpic\fP picture 2053\&.TE M end table 2054\&.TH M end header of table 2055\&.TS M begin table 2056\e*{ S begin superscript 2057\en(\&.$ R\(sc number of arguments to macro 2058\en(\&.i R\(sc current indent 2059\en(\&.l R\(sc current line length 2060\en(\&.s R\(sc current point size 2061\e*(\&\' S acute accent 2062\e*(\&\` S grave accent 2063\e(\' F\(sc acute accent 2064\e(\` F\(sc grave accent 2065\e*} S end superscript 2066\e^ F\(sc 1/12 em narrow space 2067\e*^ S caret 2068\&.ad M\(sc set text adjustment 2069\&.af M\(sc assign format to register 2070\&.am M\(sc append to macro 2071\&.ar M set page numbers in Arabic 2072\&.as M\(sc append to string 2073\&.b M bold font 2074\&.ba M set base indent 2075\&.bc M begin new column 2076\&.bi M bold italic 2077\en(bi R display (block) indent 2078\&.bl M blank lines (even at top of page) 2079\en(bm R bottom title margin 2080\&.bp M\(sc begin page 2081\&.br M\(sc break (start new line) 2082\en(bs R display (block) pre/post spacing 2083\en(bt R block keep threshold 2084\&.bx M boxed 2085\ec F\(sc continue input 2086\&.ce M\(sc center lines 2087\en(ch R current chapter number 2088\&.de M\(sc define macro 2089\en(df R display font 2090\&.ds M\(sc define string 2091\en(dw R\(sc current day of week 2092\e*(dw S current day of week 2093\en(dy R\(sc day of month 2094\ee F\(sc printable version of \e 2095\&.ef M set footer (even numbered pages only) 2096\&.eh M set header (even numbered pages only) 2097\&.el M\(sc else part of conditional 2098\&.ep M end page 2099\en(es R equation pre/post space 2100\ef\fI\&f\fP F\(sc inline font change to font \fI\&f\fP 2101\ef(\fI\&ff\fP F\(sc inline font change to font \fI\&ff\fP 2102\&.fc M\(sc set field characters 2103\en(ff R footnote font 2104\&.fi M\(sc fill output lines 2105\en(fi R footnote indent (first line only) 2106\en(fm R footer margin 2107\&.fo M set footer 2108\en(fp R footnote pointsize 2109\en(fs R footnote prespace 2110\en(fu R footnote undent (from right margin) 2111\eh\'\fI\&d\fP\' F\(sc local horizontal motion for distance \fI\&d\fP 2112\&.hc M\(sc set hyphenation character 2113\&.he M set header 2114\&.hl M draw horizontal line 2115\en(hm R header margin 2116\&.hx M suppress headers and footers on next page 2117\&.hy M\(sc set hyphenation mode 2118\&.i M italic font 2119\&.ie M\(sc conditional with else 2120\&.if M\(sc conditional 2121\en(ii R indented paragraph indent 2122\&.in M\(sc indent (transient, use .ba for pervasive) 2123\&.ip M begin indented paragraph 2124\&.ix M indent, no break 2125\el\'\fI\&d\fP\' F\(sc horizontal line drawing function for distance \fI\&d\fP 2126\&.lc M\(sc set leader repetition character 2127\&.ll M set line length 2128\&.lp M begin left justified paragraph 2129\e*(lq S left quote marks 2130\&.ls M\(sc set multi-line spacing 2131\&.m1 M set space from top of page to header 2132\&.m2 M set space from header to text 2133\&.m3 M set space from text to footer 2134\&.m4 M set space from footer to bottom of page 2135\&.mc M\(sc insert margin character 2136\&.mk M\(sc mark vertical position 2137\en(mo R\(sc month of year 2138\e*(mo S current month 2139\en\fI\&x\fP F\(sc interpolate number register \fI\&x\fP 2140\en(\fI\&xx\fP F\(sc interpolate number register \fI\&xx\fP 2141\&.n1 M number lines in margin 2142\&.n2 M number lines in margin 2143\&.na M\(sc turn off text adjustment 2144\&.ne M\(sc need vertical space 2145\&.nf M\(sc don't fill output lines 2146\&.nh M\(sc turn off hyphenation 2147\&.np M begin numbered paragraph 2148\&.nr M\(sc set number register 2149\&.ns M\(sc no space mode 2150\e*o S circle (e.g., for Norse A\*o) 2151\&.of M set footer (odd numbered pages only) 2152\&.oh M set header (odd numbered pages only) 2153\&.pa M begin page 2154\&.pd M print delayed text 2155\en(pf R paragraph font 2156\en(pi R paragraph indent 2157\&.pl M\(sc set page length 2158\&.pn M\(sc set next page number 2159\&.po M\(sc page offset 2160\en(po R simulated page offset 2161\&.pp M begin paragraph 2162\en(pp R paragraph pointsize 2163\en(ps R paragraph prespace 2164\&.q M quoted 2165\e*(qa S for all 2166\e*(qe S there exists 2167\en(qi R quote indent (also shortens line) 2168\en(qp R quote pointsize 2169\en(qs R quote pre/post space 2170\&.r M roman font 2171\&.rb M real bold font 2172\&.re M reset tabs 2173\&.rm M\(sc remove macro or string 2174\&.rn M\(sc rename macro or string 2175\&.ro M set page numbers in roman 2176\e*(rq S right quote marks 2177\&.rr M\(sc remove register 2178\&.rs M\(sc restore spacing 2179\&.rt M\(sc return to vertical position 2180\es\fI\&S\fP F\(sc inline size change to size \fI\&S\fP 2181\en(sf R section title font 2182\&.sh M begin numbered section 2183\en(si R relative base indent per section depth 2184\&.sk M skip next page 2185\&.sm M set argument in a smaller pointsize 2186\&.so M\(sc source input file 2187\en(so R additional section title offset 2188\&.sp M\(sc vertical space 2189\en(sp R section title pointsize 2190\en(ss R section prespace 2191\&.sx M change section depth 2192\&.sz M set pointsize and vertical spacing 2193\&.ta M\(sc set tab stops 2194\&.tc M\(sc set tab repetition character 2195\e*(td S today's date 2196\en(tf R title font 2197\&.ti M\(sc temporary indent (next line only) 2198\&.tl M\(sc three part title 2199\en(tm R top title margin 2200\&.tp M begin title page 2201\en(tp R title pointsize 2202\&.tr M\(sc translate 2203\&.u M underlined 2204\&.uh M unnumbered section 2205\&.ul M\(sc underline next line 2206\ev\'\fI\&d\fP\' F\(sc local vertical motion for distance \fI\&d\fP 2207\e*v S inverted `v' for czeck ``e\*v'' 2208\ew\'\fI\&S\fP\' F\(sc return width of string \fI\&S\fP 2209\&.xl M set line length (local) 2210\&.xp M print index 2211\en(xs R index entry prespace 2212\en(xu R index undent (from right margin) 2213\en(y2 R year (last two digits only) 2214\en(y4 R year (all digits) 2215\en(yr R\(sc year minus 1900 2216\en(zs R floating keep pre/post space 2217\e{ F\(sc begin conditional group 2218\e| F\(sc 1/6 em narrow space 2219\e} F\(sc end conditional group 2220\e*~ S tilde 2221\en(_M R section type (as set with .++ macro) 2222.)l 2223.rm $H