diff options
Diffstat (limited to 'doc/rfc/rfc5385.txt')
-rw-r--r-- | doc/rfc/rfc5385.txt | 1123 |
1 files changed, 1123 insertions, 0 deletions
diff --git a/doc/rfc/rfc5385.txt b/doc/rfc/rfc5385.txt new file mode 100644 index 0000000..8b98f78 --- /dev/null +++ b/doc/rfc/rfc5385.txt @@ -0,0 +1,1123 @@ + + + + + + +Independent Submission J. Touch +Request for Comments: 5385 USC/ISI +Obsoletes: 3285 February 2010 +Category: Informational +ISSN: 2070-1721 + + + Version 2.0 Microsoft Word Template + for Creating Internet Drafts and RFCs + +Abstract + + This document describes the properties and use of a revised Microsoft + Word template (.dot) for writing Internet Drafts and RFCs. It + replaces the initial template described in RFC 3285 to more fully + support Word's outline modes and to be easier to use. This template + can be direct-printed and direct-viewed, where either is line-for- + line identical with RFC Editor-compliant ASCII output. This version + obsoletes RFC 3285. + + The most recent version of this template and post-processing scripts + are available at http://www.isi.edu/touch/tools. + +Status of This Memo + + This document is not an Internet Standards Track specification; it is + published for informational purposes. + + This is a contribution to the RFC Series, independently of any other + RFC stream. The RFC Editor has chosen to publish this document at + its discretion and makes no statement about its value for + implementation or deployment. Documents approved for publication by + the RFC Editor are not a candidate for any level of Internet + Standard; see Section 2 of RFC 5741. + + Information about the current status of this document, any errata, + and how to provide feedback on it may be obtained at + http://www.rfc-editor.org/info/rfc5385. + + + + + + + + + + + + + +Touch Informational [Page 1] + +RFC 5385 Version 2.0 Microsoft Word Template February 2010 + + +Copyright Notice + + Copyright (c) 2010 IETF Trust and the persons identified as the + document authors. All rights reserved. + + This document is subject to BCP 78 and the IETF Trust's Legal + Provisions Relating to IETF Documents + (http://trustee.ietf.org/license-info) in effect on the date of + publication of this document. Please review these documents + carefully, as they describe your rights and restrictions with respect + to this document. + +Table of Contents + + 1. Introduction ....................................................3 + 2. Use .............................................................3 + 2.1. Setting up Your Version of Word to Edit RFCs ...............4 + 2.2. Editing ....................................................4 + 2.3. Saving the File ............................................6 + 2.4. Generating Output ..........................................6 + 2.4.1. Printing Direct to a Printer ........................6 + 2.4.2. Printing the Text File ..............................6 + 2.4.3. XML Support .........................................7 + 3. Changes from RFC 3285 ...........................................7 + 3.1. Heading Styles .............................................7 + 3.2. References Style ...........................................8 + 3.3. Boilerplate ................................................9 + 3.4. Simplification .............................................9 + 3.5. Ability to Direct Print and Direct View ....................9 + 4. Compatibility Issues ...........................................10 + 5. Security Considerations ........................................10 + 6. Acknowledgments ................................................10 + Appendix A. Template Configuration Details ........................11 + A.1. Configure Styles ..........................................11 + A.1.1. Redefine Existing Styles ...........................11 + A.1.2. Add New Styles .....................................12 + A.1.3. Hidden Styles ......................................13 + A.2. Define Page Layout ........................................13 + A.3. Insert Boilerplate ........................................14 + A.4. Automatic Fields ..........................................15 + Appendix B. Post-Processor Script (Perl) ..........................17 + Informative References ............................................20 + + + + + + + + + +Touch Informational [Page 2] + +RFC 5385 Version 2.0 Microsoft Word Template February 2010 + + +1. Introduction + + Internet Drafts and RFCs are predominantly written in embedded-text, + compile-based formatting systems [1][4][5]. The primary and first + such system is NROFF, a text-formatting utility based on manual entry + of embedded configuration commands, such as ".p" for new paragraphs. + XML is a more recent alternative that uses structure tags instead of + explicit formatting commands to allow a single file (.xml) to be + 'compiled' into ASCII output, HTML, or a variety of other formats as + desired [7]. + + Although XML adds more modern semantic information to the structure + tags, neither system supports modern WYSIWYG (what-you-see-is-what- + you-get) editing. Editors such as Microsoft Word and Corel + WordPerfect provide not only WYSIWYG editing, but also semantic tags + as well as outline-mode capabilities. To that end, a Word template + called 2-Word.template.rtf was created that supports authoring RFCs, + as described in RFC 3285 [6]. That version succeeded in enabling + Word-based RFC editing, but did not support Word's outline mode + renumbering capabilities. + + This document describes the properties and use of a revised Microsoft + Word template (.dot) file that supports Internet Draft and RFC + formatting, intended as an update to that of RFC 3285. This version, + called 2-Word-v2.0.template.dot, addresses a number of issues with + the preliminary version: + + o redefines basic styles (Normal, Heading1, etc.) rather than + creating new styles, + + o updates the boilerplate according to BCP 78, + + o uses more conventional methods for autonumbered references and + figures, including support for name-based references (e.g., + "[Tou2005]"), and + + o supports direct output to a printer from the .doc source, as well + as RFC-3285-style 'print to text' with post-processing on Windows- + based PCs. + + This document assumes familiarity with Microsoft Windows operating + systems and the Word application. + +2. Use + + To use this template, double-click on it in Windows (it may work in + MacOS and/or OpenOffice, but this has not been confirmed). The + result should be a 'new' document. Do NOT open this document from + + + +Touch Informational [Page 3] + +RFC 5385 Version 2.0 Microsoft Word Template February 2010 + + + within Word, e.g., via the File->Open menu; this will edit the + template, rather than using the template to create a new template- + based document. + +2.1. Setting up Your Version of Word to Edit RFCs + + Unfortunately, Word does not have a way to save some useful settings + in a template. It may be useful to configure autoformatting to avoid + using smart quotes or hyphens. However, this template is compatible + with these features as its post-processor script translates such non- + standard character codes into their RFC-compatible ASCII equivalents. + +2.2. Editing + + The template provides a number of styles for use (for details, see + Appendix A). Some are redefined internal styles and some are new, as + follows. Throughout the document, avoid the use of bold, italics, or + any other character formatting, as well as any graphics or paragraph + or table borders. Smart hyphens and quotes need not be avoided and + will be translated during post-processing. + + The current styles allow existing hyphens to break (wrap) across + lines, but do not add hyphenation. To insert a non-breaking hyphen, + type <CTL-_> (control-underscore); this is particularly useful in + URLs, which are more readable if not line-wrapped. + + Note that it is critical NOT to use any styles other than those + provided by this template. + + o Redefined internal styles for general use: + + Normal, Heading1-9, Caption, Header, Footer: + + Use in the normal fashion. Tabs can be used as desired. + + o New styles: + + RFC Title: + + For the document title only. + + RFC Figure: + + For ASCII-art figures. Single spaced, kept together. + + RFC List Bullet: + + For bulleted lists. + + + +Touch Informational [Page 4] + +RFC 5385 Version 2.0 Microsoft Word Template February 2010 + + + RFC List Numbered: + + For numbered lists. Use 'restart numbering' as desired for new + list sequences. + + RFC References: + + For normative and informative references. Do not restart + numbering for informative references. + + NOTE: references can use an alternate unnumbered style that + relies on use of Word's bookmark feature to set cross-reference + tags. + + RFC App: + + For appendix titles, using "Appendix A." format. Starts at the + top of a new page. If appendices are used, start the + references (after appendices) at the top of a new page (insert + 'page break'). + + RFC App H1-5: + + For appendix headings ("A.1." format). + + NOTE: these headings will NOT auto-renumber when + promoted/demoted in outline mode. + + o Redefined internal styles not generally accessed by users: + + TOC1-9: + + For table of contents entries. + + RFC Instructions: + + For instructions to authors. These notes must be deleted. + + RFC H1 - no num: + + For unnumbered headings in end boilerplate text. + + RFC H1 - no TOC no num: + + For unnumbered, unlisted (in TOC) headings in front boilerplate + text. + + + + + +Touch Informational [Page 5] + +RFC 5385 Version 2.0 Microsoft Word Template February 2010 + + +2.3. Saving the File + + The template is provided as a Word 97-2003 ".dot" template; Word 2007 + uses an XML-based variant called ".dotx". Word 2007 can use ".dot" + templates in "Compatibility Mode". If the file is saved in that + mode, it has a ".doc" suffix; if saved in native Word 2007 mode, it + has a ".docx" format. It does not matter which saved file format is + used. + +2.4. Generating Output + + This template supports printing similar output both to regular + printers (8.5 x 11 inch paper) and as Internet-Draft/RFC-compatible + text files. Printing to a printer is designed for Windows XP and + Vista and may work with earlier versions of Windows; it has not been + tested with other OS's. The template is currently in a Word 97-2003 + format (.dot); this can be used in "Compatibility Mode" in Word 2007. + + Printing to text is supported only for Windows at this time. There + is no current support for XML. Details are provided as follows. + +2.4.1. Printing Direct to a Printer + + The template produces output direct to a printer that is line-for- + line, page-for-page identical with the text-only version, with a few + minor exceptions: + + o Single and double quotes may be angled (left quote, right quote), + rather than straight, depending on whether 'smart quotes' are + enabled in Tools->Autocorrect options. + + o Hyphens may print as an em dash or en dash, depending on whether + 'smart hyphens' are enabled in Tools->Autocorrect options. + +2.4.2. Printing the Text File + + Printing to an ASCII text file is currently known to work only on + Windows-XP and Windows-Vista PCs; appropriate ASCII-output drivers + for MacOS or Unix boxes running OpenOffice are not currently known. + + To generate .txt output on a Windows-XP or Windows Vista PC, use a + two-step process. First, generate a .prn file by printing the + document to a text-only printer. Second, apply post-processing to + clean up the text and apply 'new page' characters. + + + + + + + +Touch Informational [Page 6] + +RFC 5385 Version 2.0 Microsoft Word Template February 2010 + + + Install the "Generic/Text Only" printer, as found under "Generic" in + the available print drivers list. Configure the printer to save to a + file or click 'save to file' when printing. A printed file will have + a .prn file suffix. + + The printed output needs to be run through a post-processor to + generate valid Internet-Draft or RFC formatted text. Run the .prn + file through the post-processing as described in Appendix B. This + performs the following operations: + + o Omits <CR>s (converts <CR><LF> to <LF> and omits bare <CR>s). + + o Converts smart quotes and hyphens to their ASCII counterparts. + + o Omits blank lines between the footer of one page and the header of + the next, and inserts a <CTL-L> (form-feed) between the two. + + o Checks for remaining illegal characters (not printable ASCII, CR, + LF), as required. + +2.4.3. XML Support + + There is no current support for XML in this template. Although Word + 2003 provides XML support, its use is counterintuitive to most Word + users. XML fields are edited using a separate database editor, + rather than in the native Word input screen. Future support for XML + is being considered for a future revision of this template. + +3. Changes from RFC 3285 + + This document and the ".dot" template borrow heavily from RFC 3285 + [6]. Notably, all specifics of point sizes, tab locations, and the + automatic date fields are directly from that template. This document + builds on that information as follows. + +3.1. Heading Styles + + This document redefines Normal, Heading1-9, Header, Footer, and + Caption, rather than defining new RFC-named styles as in RFC 3285. + The use of internal style names is required for proper operation of + outline mode, notably when promoting/demoting sections of text with + subsequent renumbering of headings therein. + + Note that this use of redefined standard styles is the common + practice, both in Microsoft-supplied templates as well as templates + from the IEEE and ACM, among others. + + + + + +Touch Informational [Page 7] + +RFC 5385 Version 2.0 Microsoft Word Template February 2010 + + + Additional heading styles RFC App and RFC App H1-9 were added to + support alternate numbering used in appendices, although these styles + exhibit the previous deficiency of custom styles in outline mode + (will not auto-renumber on promote/demote). + +3.2. References Style + + There are two different reference styles -- RFC References, and RFC + References Bookmark. The former cross-references using numbers + (e.g., [1]); the latter uses Word's bookmarking cross-reference + features to support name/year cross-references (e.g., [Tou2005]). + The latter is expected to be the preferred format for future I-Ds and + RFCs. + + RFC References is a body text paragraph style that autonumbers based + on the "[1]" format. Again, it is common practice, both among + Microsoft-supplied templates as well as templates from the IEEE and + ACM, to use autonumbered paragraphs in the body text for references. + This differs from RFC 3285, in which references were inserted as + endnotes, rather than as main body text. + + Putting references in endnotes has unexpected behavior. In + particular, the reference is defined by its first use as a citation + and is cross-referenced by subsequent citations. Removing the first + citation removes the reference entirely, despite other cross- + references. This is not the case with body text autonumbered + paragraphs, which persist regardless of which cross-references are + deleted. + + Note that Word does not provide a way to ensure that all RFC + Reference paragraphs are cross-referenced, i.e., users can insert + references that are not cited. This can be desired, however, e.g., + for bibliographies of supplemental material. + + RFC References Bookmark is a body text paragraph style that does not + use autonumbering. Currently, authors are expected to manually + format their references using name-based tags between square brackets + ("[]"). There is no required format, but a suggested format would + use the first three letters of the first author, together with the + four numbers of the document year, e.g., for this document's + reference "[2]", the reference would now appear as: + + [Bra2004] Bradner, S., "IETF Rights..." + + + + + + + + +Touch Informational [Page 8] + +RFC 5385 Version 2.0 Microsoft Word Template February 2010 + + + The author is expected to select the text of the reference + "[Bra2004]" and insert a bookmark at that point with whatever name is + convenient for the author. It can then be cited as usual as a cross- + reference to the bookmark: [Bra2004]. Note that Word bookmark names + must start with a letter, and may include numbers but not spaces. + + When two references collide, e.g., for two papers written by Bradner + in 2004, a trailing lowercase letter should be used to distinguish + them, e.g., [Bra2004a] and [Bra2004b]. + +3.3. Boilerplate + + The boilerplate in this template was updated to conform with current + RFC Editor requirements, notably BCP 78 rights statements, as well as + pending guidelines for Internet Draft and RFC authors [2][3][5]. + + The boilerplate is written in regular text, and can be easily edited + by authors to keep the template up-to-date as BCP 78 is revised. + +3.4. Simplification + + Headers and footers use more conventional tabbing to control + formatting, rather than tables. + + Users no longer need to avoid the use of smart quotes or hyphens; + these are automatically translated to RFC-compliant ASCII characters + during post-processing. + + A number of styles include grouping configuration, designed to + provide more readable output. In particular, all headings are "keep + with next" to avoid widowed heading lines, and all list items, + references, and figure lines are "keep together" to avoid inadvertent + splitting across page boundaries. + +3.5. Ability to Direct Print and Direct View + + This template can print directly to a printer, generating output that + is line-for-line, page-for-page identical with the compliant ASCII + text output, excepting minor formatting of hyphens and quotes. + + Further, this template can be previewed in File->Print Preview or + View->Print Layout, again generating screen images that are line- + for-line, page-for-page identical with the compliant ASCII text + output. This allows true WYSIWYG (what-you-see-is-what-you-get) + editing and printing. + + + + + + +Touch Informational [Page 9] + +RFC 5385 Version 2.0 Microsoft Word Template February 2010 + + +4. Compatibility Issues + + There are no known compatibility issues at this time. This version + of the template was designed under Windows XP and Word 2002, and has + also been tested under Windows Vista and Word 2007. It is not yet + known whether previous versions of Windows/Word are supported using + this template. + + As noted in Sec. 3.1, this template redefines predefined styles, + which is common practice. + +5. Security Considerations + + There are many security issues in the general use of Microsoft + operating systems and applications. This template is not known to + expose any new security issues; it contains no macros as developed + and deployed. The author considered including the MD5 signatures of + the current versions of the .dot template and .pl post-processor + files. The current processor .pl file is included in this document + as an appendix. The .dot file is updated to track the current + requirements of the IETF boilerplate, so its MD5 signature cannot be + included here, but is posted on our website for verification. + +6. Acknowledgments + + The author acknowledges the substantial efforts of the authors of the + previous version of the Word template, Mike Gahrns and Tony Hain [6]. + This document is intended to build upon their work. Thanks also to + Lars-Erik Jonsson for feedback on this template and post-processor + script, as well as suggestions on making it more generic to support + earlier versions of Windows, and to Jixiong Dong for finding an + obscure bug in the formatting. + + This document was prepared using 2-Word-v2.0.template.dot. + + + + + + + + + + + + + + + + + +Touch Informational [Page 10] + +RFC 5385 Version 2.0 Microsoft Word Template February 2010 + + +Appendix A. Template Configuration Details + + The Word 97-2003 ".dot" template, compatible with Word 2007, consists + of a set of default configuration settings, a set of modified and + newly-defined styles, and an initial template of text. This section + in particular assumes familiarity with Microsoft Word configuration + and modification of styles. Note that use of the template does not + require understanding this section; this merely documents the + settings already in the ".dot" file. + +A.1. Configure Styles + + Modify paragraph styles as indicated. In general use, only the + redefined existing styles Normal, Heading1-9, Header, Footer, and + Caption, and new styles RFC Figure, RFC References, RFC List Bullet, + RFC List Numbered, RFC App, and RFC App H1-5 need be used by authors. + + Other styles, such as redefined TOC1-9, RFC Hidden, RFC H1 - no num, + and RFC H1 - no TOC no num are used by the template, but are + typically hidden in the styles list, and need not be explicitly + applied by authors. + + All measurement units below are in points. Change measurement units + to points to set. + +A.1.1. Redefine Existing Styles + + Redefine the Normal style first; all others are based on Normal, + except as noted. + + 1. Normal: font Courier New, font size 12 point, next style Normal, + line spacing EXACTLY 12 point, spacing before 0 pt, spacing after + 12 pt, indent left 21.6 pts, widow/orphan control, left tabs at + every 3 spaces (1 space = 7.2 points, given 72 points/inch and 10 + characters/inch): 21.6, 43.2, 64.8, 86.4, 108, 129.6, 151.2,172.8, + 194.4, 216, 237.6, 259.2, 280.8, 302.4, 324, 345.6,367.2, 388.8, + 410.4, 432, 453.6, 475.2, 496.8. + + NOTE: 12 point fonts are 12 points tall, i.e., 6 lines/inch + vertically; 12-point Courier is 10 characters/inch horizontally. + + 2. Heading 1-9: Normal + indent left 0 pt, hanging 21.6 pts, keep + with next, set autonumbering as "1. ", "1.1. ", "1.1.1. ", etc. + Note the space after the right-most period; type this in the + + "number format" field, and leave the "follow number with" field as + 'nothing' (click on the 'more' button to see this field if it is + not already visible). + + + +Touch Informational [Page 11] + +RFC 5385 Version 2.0 Microsoft Word Template February 2010 + + + NOTE: change the autonumbering ONCE and in ONE format; in that + format, change all subsequent levels. + + 3. TOC 1-9: Normal + paragraph flush, clear tabs, add new Right tab + at 504 pts that includes a "..." leader. Add indent left as + follows: TOC 1: 21.6, TOC 2: 43.2, TOC 3: 64.8, TOC 4: 86.4, TOC + 5: 108, TOC 6: 129.6, TOC 7: 151.2, TOC 8: 172.8, TOC 9: 194.4. + + 4. Header: Normal + space after 0 pts, next style Header, clear tabs, + and add centered tab at 252 pts, tab right at 504 pts. + + 5. Footer: Header + next style Footer. + + 6. Caption: Normal + centered, autonumbered "Figure #". + +A.1.2. Add New Styles + + NOTE: "keep lines together" is optional for lists and references; it + helps avoid breaking individual items across pages. + + 1. RFC Figure: Normal + space after 0 pts, keep with next, keep lines + together, next style RFC figure (also used for authors' + addresses). + + 2. RFC List Bullet: Normal + custom bulleted, "o" bullet style, + aligned at 21.6 pts, bullet tab after 43.2 pts, bullet indent at + 43.2 pts, next style RFC List Bullet, keep lines together. + + 3. RFC List Numbered: Normal + custom numbered, "1. " number format, + aligned at 21.6 pts, bullet tab after 43.2 pts, bullet indent at + 43.2 pts, next style RFC List Numbered, keep lines together. + + 4. RFC References: Normal + hanging 43.2 pts, outline level body + text, remove tabs at 21.6 and 43.2 pts, custom numbering with + format "[1]", numbering left aligned 21.6 pts, number tab space + after at 64.8 pts, number text indent at 64.8 pts, next style RFC + References, keep lines together (used for both normative and + informative references). + + 5. RFC References Bookmark: Normal + hanging 72 pts, no num, remove + tabs less than 72 pts, keep lines together (used for both + normative and informative references). + + 6. RFC Title: Normal + space after 24 pts, centered (used for + document title). + + + + + + +Touch Informational [Page 12] + +RFC 5385 Version 2.0 Microsoft Word Template February 2010 + + + 7. RFC App: RFC H1 - no num + page break before, custom outline + numbered, outline number style "Appendix A.", outline level 1, + follow number with nothing, outline number at 0 pts, outline + indent text at 0 pts, (used for Appendix titles). + + 8. RFC App H1-5: RFC H1 - no num + paragraph level 2-6, custom + outline numbered, outline number style "A.1." - "A.1.1.1.1.1.", + follow number with nothing, outline number at 0 pts, outline + indent text at 0 pts, (link with RFC App at level 2-6), (used for + Appendix heading levels). + +A.1.3. Hidden Styles + + These are used for pre-formatted components or instructions and are + configured to be hidden from the list of available styles. + + 1. RFC H1 - no num: Normal + indent left 0 pts, outline Level 1, keep + with next (used for base template trailer headers -- Copyright, + etc.). + + 2. RFC H1 - no TOC nonum: Normal + indent left 0 pts, (outline level + body text, as with Normal), keep with next (used for base template + front matter headers -- Abstract, Status, TOC header, etc.). + + 3. RFC Instructions: Normal, character bold. This style is not + normally shown and is used for instructions that should be removed + before publication. + +A.2. Define Page Layout + + Configure Page Setup as follows: + + 1. Margins: + + Portrait orientation. + + Top: 72 pts + Bottom: 60 pts (72 + 60 +_660 [55 lines] = 792 [11 in]) + Left: 36 pts (5 characters at 7.2 pts/char) + Right: 57.6 pts (8.5"-7.2" = 1.3in = 93.6 pts - 36 for left) + Gutter: 0 pts + Header: 0 pts + Footer: 0 pts + + If the error message "One or more margins are outside the + printable area" appears, select Ignore. This may depend on the + printer currently selected. + + + + +Touch Informational [Page 13] + +RFC 5385 Version 2.0 Microsoft Word Template February 2010 + + + 2. Paper size: + + Paper size "letter". + + Width: 612 pts + Height: 792 pts (55 lines/page + 132 for top and bottom margins) + + 3. Layout: + + Different headers and footers on the first page. + + Header: 72 pts from edge + Footer: 60 pts from edge + +A.3. Insert Boilerplate + + See below for definitions of {ACDt}, {ACDy}, {AEM}, {AEY}, {AP}. + + First page header: + + {blank line} + {blank line} + <Working Group Name>{tab}<Initial. Lastname> + Internet Draft{tab}<Affiliation> + Intended status: <e.g., Informational>{tab}{ACDy} + Expires: {AEM}{AEY} + {blank line} + {blank line} + + Footer (same on first and subsequent pages): + + {blank line} + {blank line} + {blank line} + <Lastname>{tab}Expires: {AEM} {ACDy}, {AEY}{tab}[Page {AP}] + {blank line} + + The front text and end text are as specified in BCP 78 [2]. For + Internet Drafts, the sentence declaring the expiration dates uses + automatic fields as needed, as with the headers and footers. Note + that some of these fields will not be updated properly until the + document has been saved and/or printed. + + A basic document outline with examples is provided in the Word + template to demonstrate the use of automatic fields, including a + table of contents. + + + + + +Touch Informational [Page 14] + +RFC 5385 Version 2.0 Microsoft Word Template February 2010 + + +A.4. Automatic Fields + + Most of these are self-explanatory; the expiry month is set 6 months + in advance. The expiry year rolls-over (+1), if needed. The expiry + day is a copy of the current date. + + NOTE: expiry date can generate invalid dates, e.g., April 31, + February 30, etc. + + o {AEM} means auto expiry month, and is a field code = + + { IF { SAVEDATE \@ "M" \* MERGEFORMAT } = 1 + July + { IF { SAVEDATE \@ "M" \* MERGEFORMAT } = 2 + August + { IF { SAVEDATE \@ "M" \* MERGEFORMAT } = 3 + September + { IF { SAVEDATE \@ "M" \* MERGEFORMAT } = 4 + October + { IF { SAVEDATE \@ "M" \* MERGEFORMAT } = 5 + November + { IF { SAVEDATE \@ "M" \* MERGEFORMAT } = 6 + December + { IF { SAVEDATE \@ "M" \* MERGEFORMAT } = 7 + January + { IF { SAVEDATE \@ "M" \* MERGEFORMAT } = 8 + February + { IF { SAVEDATE \@ "M" \* MERGEFORMAT } = 9 + March + { IF { SAVEDATE \@ "M" \* MERGEFORMAT } = 10 + April + { IF { SAVEDATE \@ "M" \* MERGEFORMAT } = 11 + May + { IF { SAVEDATE \@ "M" \* MERGEFORMAT } = 12 + June + "Fail" *\ MERGEFORMAT + } *\ MERGEFORMAT } *\ MERGEFORMAT } *\ MERGEFORMAT } *\ MERGEFORMAT } + *\ MERGEFORMAT } *\ MERGEFORMAT } *\ MERGEFORMAT } *\ MERGEFORMAT + } *\ MERGEFORMAT } *\ MERGEFORMAT } *\ MERGEFORMAT } + + o {ACDt} means auto current date, and is a field code = + + { SAVEDATE \@ "MMMM d, yyyy" } + + o {ACDy} means auto current day, and is a field code = + + { SAVEDATE \@ "d " } + + + + +Touch Informational [Page 15] + +RFC 5385 Version 2.0 Microsoft Word Template February 2010 + + + o {AEY} means auto expiry year, and is a field code = + + { IF { SAVEDATE \@ "M" \* MERGEFORMAT } < 7 + { SAVEDATE \@ "YYYY" \* MERGEFORMAT } + { IF { SAVEDATE \@ "M" \* MERGEFORMAT } > 6 + { = { SAVEDATE \@ "YYYY" \* MERGEFORMAT } + 1 + \* MERGEFORMAT } + "FAIL" \* MERGEFORMAT \* MERGEFORMAT + } \* MERGEFORMAT + } + + o {AP} means auto page, and is a field code = + + { Page } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Touch Informational [Page 16] + +RFC 5385 Version 2.0 Microsoft Word Template February 2010 + + +Appendix B. Post-Processor Script (Perl) + + #!/local/bin/perl + # ------------------------------------------------------------------ + # 2-Word-post-v2.0 + # Perl post-processor for MS Word RFC/Internet-draft template output + # + # J. Touch + # touch@isi.edu + # http://www.isi.edu/touch + # + # USC Information Sciences Institute (USC/ISI) + # Marina del Rey, California 90292, USA + # Copyright (c) 2004-2009 + # + # Revision date: May 5, 2009 + # ------------------------------------------------------------------ + # + # usage: + # 2-Word-post-v2.0.pl [inputfile.txt] > [outputfile.txt] + # + # function: + # removes indent on each line (blank print margin, typ. 5 chars) + # converts cr/lf to cr + # converts 'smart quotes' to regular quotes (single and double) + # converts 'smart hyphens' (em dash, en dash) to regular hyphen + # omits blank lines between footer and next-page header + # inserts formfeed (ff) between footer and next-page header + # removes end-of-line whitespace + # checks for illegal chars (not printable ASCII, cr, lf, ff) + # checks for page lengths exceeded + # checks for line lengths exceeded + # prints errors indicating page and line on that page + # + # illegal character errors are posted to STDERR + # + # returns the logical OR of codes indicating errors found: + # 0x00 no error + # 0x01 if any illegal characters found + # 0x02 if any page length exceeds $maxpagelen + # 0x04 if any line length exceeds $maxlinelen + # + # ------------------------------------------------------------------ + + + + + + + + +Touch Informational [Page 17] + +RFC 5385 Version 2.0 Microsoft Word Template February 2010 + + + # ------------------------------------------------------------------ + # VARIABLES + # ------------------------------------------------------------------ + + $pagenum = 1; # start on page 1, not 0 + + $maxpagelen = 66; # max lines per page + + $maxlinelen = 72; # max chars per line + + # specific error codes + %codes = ( + 'none' => 0x00, + 'char' => 0x01, + 'page' => 0x02, + 'line' => 0x04, + ); + + %codestrings = ( + 'none' => '(no error)', + 'char' => 'invalid character code', + 'line' => 'exceeded $maxpagelen lines per page', + 'page' => 'exceeded $maxlinelen chars per line', + ); + + $errorcode = $codes{'none'}; + + $indentlen = -1; # how many spaces to eat from the beginning + # of each line; ought to be 5. negative flag + # means it is not yet initialized + + $indentstr = " "; # until known otherwise, assume 5 spaces + + $killwhite = 1; # flag kills space between footer, header + # start in 'between footer and header' mode, + # so eats all whitespace before the first line + + # ------------------------------------------------------------------ + # ERROR SUBROUTINE + # ------------------------------------------------------------------ + sub printerr ($) { + my ($errstring) = shift; + + print STDERR "ERROR: $codestrings{$errstring} ", + "on line $linenum on page $pagenum of text input file\n"; + $errorcode |= $codes{$errstring}; + return; + } + + + +Touch Informational [Page 18] + +RFC 5385 Version 2.0 Microsoft Word Template February 2010 + + + # ------------------------------------------------------------------ + # MAIN + # ------------------------------------------------------------------ + + while ($line = <>) { + $line =~ s/\r//g; # remove Unix-style end-of-line + # if this line is NOT empty, start printing again (see below) + if ($line !~ /^\s*$/) { + $killwhite = 0; + if ($indentlen < 0) { + # discover margin indent + $line =~ /^((\s)*)/; + $indentstr = $1; + $indentlen = length($indentstr); + } + } + # remove the margin indent + $line =~ s/^($indentstr)//; + # change special hyphens, quotes to regular ones + $line =~ tr/\221\222\223\224\226\227/\'\'\"\"\-\-/; + # omit end-of-line whitespace + $line =~ s/\s+\n/\n/g; + # print unless we're between the end of one page + # and the beginning of the next + if ($killwhite != 1) { + # check to see if we have any invalid characters left + # 012 = new line, 014 = form feed, 015 = carriage return + # 040-176 = printable ASCIIs + if ($line !~ /^([\012\014\015\040-\176])*$/) { + printerr('char'); + # note -- we don't stop here, so we can find all the + # unprintable characters in one pass + } + $linenum++; + if ($linenum > $maxpagelen) { + printerr('page'); + } + if ($#line > $maxlinelen) { + printerr('line'); + } + print $line; + } + # check to see if this is the end of a page; + # if so, then print a form feed (ctl-L), and + # kill the printing of subsequent empty lines + if ($line =~ /\[Page \d+\]\s+$/) { + print "\f\n"; + $killwhite = 1; + + + +Touch Informational [Page 19] + +RFC 5385 Version 2.0 Microsoft Word Template February 2010 + + + $linenum = 0; + $pagenum++; + } + } + exit($errorcode); + +Informative References + + [1] Reynolds, J., Ed., and R. Braden, Ed., "Instructions to Request + for Comments (RFC) Authors", Work in Progress, August 2004. + + [2] Bradner, S., Ed., and J. Contreras, Ed., "Rights Contributors + Provide to the IETF Trust", BCP 78, RFC 5378, November 2008. + + [3] Bradner, S., Ed., "Intellectual Property Rights in IETF + Technology", BCP 79, RFC 3979, March 2005. + + [4] RFC Editor, "Formatting RFCS", + http://www.rfc-editor.org/formatting.html. + + [5] IETF, "Guidelines to Authors of Internet Drafts". Available as + 1id-guidelines.txt at http://www.ietf.org. + + [6] Gahrns, M. and T. Hain, "Using Microsoft Word to create + Internet Drafts and RFCs", RFC 3285, May 2002. + + [7] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629, June + 1999. + +Author's Address + + Joe Touch + USC/ISI + 4676 Admiralty Way + Marina del Rey, CA 90292-6695 + U.S.A. + + Phone: +1 (310) 448-9151 + Fax: +1 (310) 448-9300 + EMail: touch@isi.edu + + + + + + + + + + + +Touch Informational [Page 20] + |