idnits 2.17.1 draft-hain-msword-template-03.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. Miscellaneous warnings: ---------------------------------------------------------------------------- -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (November 2000) is 8556 days in the past. Is this intentional? -- Found something which looks like a code comment -- if you have code sections in the document, please surround them with '' and '' lines. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Missing reference section? '3' on line 373 looks like a reference -- Missing reference section? '1' on line 496 looks like a reference -- Missing reference section? '2' on line 497 looks like a reference -- Missing reference section? '0' on line 448 looks like a reference Summary: 3 errors (**), 0 flaws (~~), 1 warning (==), 7 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 M. Gahrns 3 Internet Draft T. Hain 4 Document: draft-hain-msword-template-03.txt Microsoft 5 Expires: May 2001 November 2000 7 Using Microsoft Word to create Internet Drafts and RFC's 9 Status of this Memo 11 This document is an Internet-Draft and is in full conformance 12 with all provisions of Section 10 of RFC2026. 14 Internet-Drafts are working documents of the Internet Engineering 15 Task Force (IETF), its areas, and its working groups. Note that 16 other groups may also distribute working documents as Internet- 17 Drafts. 19 Internet-Drafts are draft documents valid for a maximum of six 20 months and may be updated, replaced, or obsoleted by other documents 21 at any time. It is inappropriate to use Internet-Drafts as 22 reference material or to cite them other than as "work in progress." 24 The list of current Internet-Drafts can be accessed at 25 http://www.ietf.org/ietf/1id-abstracts.txt 26 The list of Internet-Draft Shadow Directories can be accessed at 27 http://www.ietf.org/shadow.html. 29 Abstract 31 This document will describe the steps to configure the Microsoft 32 Word application to produce documents in Internet Draft and RFC 33 format. 35 Table of Contents 37 Status of this Memo................................................1 38 Abstract...........................................................1 39 Overview...........................................................2 40 Conventions used in this document..................................2 41 Instructions for producing Internet drafts and RFCs................2 42 Defining Microsoft Word Page Layout and Styles.....................3 43 Positioning the document identifiers on the first page.............5 44 Automatic reference numbering......................................5 45 Final fixup: the CRLF program......................................7 46 Formal Syntax.....................................................10 47 Security Considerations...........................................10 48 References........................................................11 49 Author's Addresses................................................11 50 Using Microsoft Word to create November 2000 51 Internet Drafts and RFC's 53 Overview 55 This document describes the steps to create a Microsoft Word 97 or 56 later template to assist those producing Internet drafts. The 57 resulting configuration allows for simple WYSIWYG editing of drafts 58 and RFCs while producing output that is in accordance with IETF 59 draft and RFC submission specifications. (72 Characters per line, 58 60 lines per page, each line terminated by a CRLF, and each page 61 followed by a LF, etc.) Using Word's text justification and table 62 capabilities may facilitate creating ASCII stick drawings. 64 While the authors happen to be employed by Microsoft at the time of 65 this writing, this document is not a product of Microsoft and is 66 unsupported. 68 Included is a detailed description of how the RFC Text and RFC 69 Heading styles are defined. This should prove useful to those 70 wishing to do further customization work or create a similar 71 template for other versions of Microsoft Word. 73 It also includes a description and the source of the CRLF.EXE 74 program that is needed to create the final text file output. A pre- 75 configured copy of the template in RTF format and the CRLF.EXE 76 program, can also be found at ftp://ftp.ietf.org/internet-drafts 78 Conventions used in this document 80 In this document the steps for walking a pull-down tree are indented 81 on subsequent lines. This allows abbreviation rather than a barrage 82 of 'then click' or 'select' strings in a paragraph form. Example: 84 Help 85 About Microsoft Word 87 Instructions for producing Internet drafts and RFCs 89 1) The "auto-formatting" Microsoft Word does can result in some 90 undesired characters when creating the IETF standardized format. 91 (E.g. it will insert special characters for quotation marks, add 92 special formatting when creating lists, etc.) To avoid this, turn 93 off "auto formatting" 94 Tools 95 Autocorrect 96 On the property pages 'AutoFormat' and 'AutoFormat As You Type', 97 turn off all of the auto formatting options. 99 2) Two special styles need to be defined: RFC Heading and RFC Text. 100 If you choose automatic reference numbering or table of contents 101 (defined below), the style for Endnote Reference, Endnote Text, and 102 TOC need to be modified. The entire draft must be written using 103 these styles for the spacing to come out correctly. *** Do not use 104 bold, underlining, italics, etc., or you will loose the WYSIWYG 105 Using Microsoft Word to create November 2000 106 Internet Drafts and RFC's 108 editing feature since these settings affect the number of characters 109 that can occur on a line. When the resulting Internet draft is saved 110 as plain text, all that formatting will be lost anyway. *** 112 3) Print the document to the Generic Text Printer, and save the 113 output to file. If you do not have the Generic Text Printer driver 114 installed, install it from the Control Panel. (Printers, Add 115 Printer, local/My Computer, any LPT port (you will be printing to a 116 file), select Generic, Generic/Text Only from the combo box). When 117 you print to a file a pop-up will ask for the file name. 119 4) Run the CRLF program to automatically add carriage returns. 120 Usage is CRLF 121 Where is the name of the file produced by printing to the 122 generic text printer, and is the name of the text 123 draft you are producing. Example: crlf draft-00.prn draft-00.txt 125 Defining Microsoft Word Page Layout and Styles 127 These are settings used to define the RFC Text and RFC Heading 128 styles. Note: the menu options to set these are enclosed in 129 parenthesis and are listed for Microsoft Word 97. They may differ 130 slightly for other versions of Microsoft Word. 132 1) Set measurement units to points. 133 Tools 134 Options 135 General 136 Measurement units = points 138 2) Set margins as follows: (File, Page Setup, Margins) 139 Top: 24 pts 140 Bottom: 0 pts 141 Left: 0 pts 142 Right: 93.6 pts 143 Gutter: 0 pts 144 Header: 0 pts 145 Footer: 0 pts 147 The right margin is what determines 72 characters per line. Using 12 148 pt font, 10 chars/inch, 72 chars = 7.2". Using paper that is 8.5" 149 wide. 8.5" - 7.2" = 1.3" = 93.6 pts If you get "one or more 150 margins are outside the printable area" message, select Ignore. 151 This seems to depend on the printer you currently have selected. 153 3) Set paper size as follows: 154 File 155 Page Setup 156 Paper Size 157 Width: 612 pt (8.5") 158 Height: 696 pt (12pt * 58 lines per page) 160 The height of the paper is what determines 58 lines per page. 162 Using Microsoft Word to create November 2000 163 Internet Drafts and RFC's 165 4) Set headers/footers to be different for the first page. 166 File 167 Page Setup 168 Layout 170 5) Define a RFC Heading Style. 171 Format 172 Style 173 New 174 RFC Heading: Heading1 + Font: Courier New, 12pt, Not Bold, Line 175 spacing exactly 12pt., Space before 0 pt after 0 pt, Level 1 177 NOTE: Line Spacing Exactly 12pt is very important. Set this through 178 Format: Paragraph 180 6) Define a RFC Text Style. 181 Format 182 Style 183 New 184 RFC Text: Normal+Font: Courier New, 12pt, Indent: Left 21.6pt, Line 185 Spacing Exactly 12 pt. 187 Line Spacing and indent are set through Format, Paragraph. This 188 leaves a 3 character left indent for the RFC text 190 7) Fix the Header Style. 191 Format 192 Style 193 Header 194 Header: Normal+Font: Courier New, 12pt, Line Spacing Exactly 12 pt, 195 Clear the tabs previously defined, and add Tabs 252 pt Centered, 504 196 pt Right Flush 198 8) Fix the Footer Style. 199 Format 200 Style 201 Footer 202 Footer: Normal+Font: Courier New, 12pt, Line Spacing Exactly 12 pt, 203 Tabs 252 pt Centered, 504 pt Right Flush 205 9) Define your headers and footers for the first page. 206 View 207 Headers 208 (on first page) 209 Header: No Header 210 Footer: Carriage Return 211 AuthorName 213 10) Define subsequent headers and footers. 214 View 215 Headers 216 (on second page) 217 Using Microsoft Word to create November 2000 218 Internet Drafts and RFC's 220 Header: Title Month, Year 221 Footer: Carriage Return 222 AuthorName Category & Expiration 224 11) Fix the Table-of-contents Styles. Repeat for each level. 225 Format 226 Style 227 TOC1 228 TOC1: RFC text +, Automatically update 229 TOC2: RFC text + Indent: Left 0.14", Automatically update 230 TOC3: RFC text + Indent: Left 0.28", Automatically update 232 Positioning the document identifiers on the first page 234 The 'Table' tool can be used to assist with justification of the 235 document identifiers on the first page. Each cell in the table 236 maintains its own justification characteristics, so getting left and 237 right justification on the same line is simplified. On the Toolbar 238 select the icon that looks like a grid with a dark bar across the 239 top. This will pop-up a table array. Drag the mouse across to select 240 the number of rows and columns (for the opening header 4 rows x 2 241 columns, unless there are several authors). Select the table that 242 was just inserted by click-and-hold in the left margin, and then 243 clear the boarders. 244 Format 245 Borders and Shading 246 None 248 Select the cells on the right (position the cursor just above the 249 top cell, when the cursor becomes an arrow pointing down, click) and 250 set justification right. (The default is to take justification from 251 the line it is being positioned on, so the left column shouldn't 252 need changing.) 253 Format 254 Paragraph 255 Right 257 Move the center divider to the right if necessary for the document 258 title. Select the left column of cells, then position the cursor 259 over the dividing line. When it changes to parallel bars with 260 right/left arrows, click-and-hold, then drag the line as necessary. 262 Automatic reference numbering 264 To support automatic updates of reference numbers, make the 265 following changes. (Requires the document to be a single section 266 prior to the Reference heading.) 268 1) Insert a section break on the line after Reference heading. 269 Insert 270 Break 271 Section Break 272 Continuous 273 Using Microsoft Word to create November 2000 274 Internet Drafts and RFC's 276 2) Format the style of the Endnote References and Text. 277 Format 278 Style 279 Endnote reference 280 Modify 281 Based on 'underlying paragraph' 282 Format Font 283 clear the check box for 'superscript' 284 Endnote text 285 Modify 286 Based on 'RFC text' 287 Format Paragraph 288 Indentation 289 Left .3 290 Special 291 Hanging .3 293 3) Set up the location of the references, and number style. 294 Insert 295 Footnote 296 Endnote 297 Autonumber 298 Options 299 Place at 'End of section' 300 Numeric style '1,2,3' 302 4) Select the location for the first reference. Between the user 303 typed [ ] characters insert an endnote. 304 Insert 305 Footnote (endnote will already be selected, as will auto 1,2,3) 306 OK 307 When the endnote is inserted the lower pane will appear. Type in the 308 text for the reference. The first time a reference is inserted the 309 Endnote Separator should be cleared (the continuation separator may 310 need it as well). Find the pull down just above the reference text, 311 and change it to each of the options to make sure all but the 'All 312 Endnotes' are cleared. 313 Endnote Separator 314 Select and delete any text 316 The reference number in the text and the endnote table will 317 automatically track as changes are made. If the endnote window is 318 closed and changes need to be made, select 319 View 320 Footnotes 321 Using Microsoft Word to create November 2000 322 Internet Drafts and RFC's 324 Final fixup: the CRLF program 326 Each line needs to be terminated by a CRLF, but when printing your 327 document to the Generic Text Printer driver, some blank lines will 328 be terminated only with a line feed. Consider a traditional text 329 line printer, printing a line of text, followed by 3 blank lines. 330 The output would look as follows: 332 Line of Text. 334 This was done because there was no need to move the print carriage 335 head for the blank lines, only line feeds were necessary. 337 CRLF.EXE is a Win16/32 program to fix up the output from the various 338 versions of the Generic Text Printer driver so that each line is 339 terminated by a CRLF. An extra line that makes the first page be 59 340 lines, instead of the required 58 is also removed. 342 Following example provides source for a CRLF fixup program. 343 /*************************************************************** 344 * CRLF.C - Sample source code to format documents produced by 345 * the MS Word IETF template so that they comply to IETF draft 346 * and RFC guidelines 347 ****************************************************************/ 349 #include 350 #include 351 #include 352 #include 353 #include 354 #include 355 #include 356 #include 358 #define CR 13 359 #define LF 10 360 #define FF 12 361 #define TRUE 1 362 #define FALSE 0 364 typedef int BOOL; 366 int main(int argc, char *argv[]) 367 { 368 int fSrc, fDest; 369 int iNumBytesRead; 370 char cr = CR; 371 char lf = LF; 372 char ff = FF; 373 unsigned char buff[3]; 374 BOOL bPrecedingCR = FALSE; 375 BOOL FirstCol = TRUE; 376 Using Microsoft Word to create November 2000 377 Internet Drafts and RFC's 379 if(argc != 3) 380 { 381 printf("Usage:\n\n"); 382 printf(" crlf \n\n"); 383 return 0; 384 } 386 fSrc = _open(argv[1], _O_RDONLY | _O_BINARY); 387 fDest = _open(argv[2], _O_CREAT | _O_RDWR | _O_BINARY | 388 _O_TRUNC, _S_IREAD | _S_IWRITE); 390 if(fSrc == -1) 391 { 392 printf("Could not open file (%s) for reading.\n", 393 argv[1]); 394 printf( strerror(errno)); 395 return 0; 396 } 398 if(fDest == -1) 399 { 400 printf("Count not open file (%s) for writing.\n", 401 argv[2]); 402 printf( strerror(errno)); 403 return 0; 404 } 406 // Using the MS Word with the generic text printer, an extra 407 // CR LF starts the file. Skip over these first 2 bytes, 408 // otherwise the first page will have 59 lines instead of 58 409 iNumBytesRead = _read(fSrc, buff, 2); 411 // Prepare to parse through the file 412 iNumBytesRead = _read(fSrc, buff, 1); 413 while(iNumBytesRead > 0) 414 { 415 if (buff[0] == LF && bPrecedingCR == FALSE) 416 { 417 // Found a LF without a preceding CR 418 // Inject a CR to precede the LF 419 if (FirstCol == TRUE) 420 { 421 //only write CR if in the first col 422 _write(fDest, &cr, 1); 423 _write(fDest, &(buff[0]), 1); 424 } 425 else 426 { 427 //ignore the random LF 428 } 429 } 430 else if ( buff[0] == CR ) 431 Using Microsoft Word to create November 2000 432 Internet Drafts and RFC's 434 { 435 // Track whether we will have a preceding 436 // CR for the next byte we read 437 bPrecedingCR = TRUE; 438 FirstCol = TRUE; 439 _write(fDest, &(buff[0]), 1); 440 } 441 else 442 { 443 bPrecedingCR = FALSE; 444 FirstCol = FALSE; 445 _write(fDest, &(buff[0]), 1); 446 } 447 // Read next byte 448 iNumBytesRead = _read(fSrc, &buff[0], 1); 449 } 450 _close(fSrc); 451 _close(fDest); 453 return 0; 454 } 455 Using Microsoft Word to create November 2000 456 Internet Drafts and RFC's 458 Known problems 460 Printing 462 If you try to print the draft you are working on from within 463 Microsoft Word to an actual printer (not to a file using the Generic 464 Text printer driver), you may receive an error message indicating 465 the margins are outside of the printable area of the printer. If 466 you continue printing, the first 2 characters of each heading will 467 be truncated. It is recommended you produce a printed copy of the 468 draft you are working on by using the CRLF program to produce a text 469 file, and then redirect it to a printer (so that you do not need to 470 deal with other programs like NOTEPAD, etc. adding their own 471 margins.) Example: 473 - Print to a file using the generic text printer 474 - CRLF draft.prn draft.txt 475 - NET USE lpt1 <\\printername\sharename> 476 - TYPE draft.txt > LPT1 478 As an alternative, if the final draft.txt file is opened with Word, 479 setting all 4 margins to .65" will position it on the page. 480 File 481 Page Setup 482 Top .65 483 Bottom .65 484 Left .65 485 Right .65 487 The Underscore character 489 If you use the underscore character "_" within the RFC Text and RFC 490 Heading style, it will not be displayed on most screens. (It 491 appears as a blank space.) It will print correctly and will appear 492 as an underscore character in the final draft output. 494 Formal Syntax 496 The formal definition of RFC format is defined in RFC-2223 [1] and 497 Internet Draft instructions are available at [2]. 499 Security Considerations 501 Caution is advised when opening any document that may contain a 502 macro virus. The template files originally provided to the Internet- 503 drafts & RFC editors did not contain any macros, and unless tampered 504 with should not now. If there are concerns about using the template 505 doc file, the instructions provided here will allow creation of one 506 from scratch. Further details about Microsoft Word macro virus 507 concerns are available at: http://www.microsoft.com/ . To find the 508 current documents, search for 'macro virus'. 510 Using Microsoft Word to create November 2000 511 Internet Drafts and RFC's 513 References 515 1 RFC 2223 J. Postel, J. Reynolds, " Instructions to RFC Authors", 516 RFC 2223, October 1997 518 2 http://www.ietf.org/ietf/1id-guidelines.txt 520 Author's Addresses 522 Mike Gahrns 523 Microsoft 524 One Microsoft Way Phone: 1-425-936-9833 525 Redmond, Wa. USA Email: mikega@microsoft.com 527 Tony Hain 528 Microsoft 529 One Microsoft Way Phone: 1-425-703-6619 530 Redmond, Wa. USA Email: tonyhain@microsoft.com