Annotation of embedaddon/bird/doc/sbase/dist/birddoc/groff/mapping, revision 1.1.1.1

1.1       misho       1: % linuxdoc replacement file
                      2: % translates into nroff, using ms macros
                      3: % manpages can be processed using the man macros
                      4: % does not use neqn for math.
                      5: 
                      6: % Based on qwertz replacement file by Tom Gordon
                      7: % linuxdoc mods by mdw
                      8: 
                      9: % Groff dependencies are few.  To port to another roff:
                     10: % 1. Check and modify, if necessary, font changes.  (e.g. In psroff the
                     11: % same fonts have other names.)
                     12: % 2. Check the code for including Encapsulated PostScript, generated
                     13: % for eps elements.
                     14: % 3. Also make versions of general.grops and math.grops, which are sed
                     15: % scripts translating character entities into groff character references.
                     16: 
                     17: 
                     18: <birddoc>      +       ".nr PS 11\n"
                     19: 
                     20:                        % Hacked by mdw
                     21:                        ".nr PI 3n\n"
                     22:                        ".ds CF \\\\n\%\n"
                     23:                        ".ds CH \\&\n"
                     24:                        ".ds dR $\n"   % dollar, to avoid EQN conflicts
                     25: 
                     26:                        % Start with no TOC
                     27:                        ".ds printtoc\n"
                     28: 
                     29:                        % Footnote style
                     30:                        ".nr FF 1\n"
                     31: 
                     32:                        % James Clark's trick to prevent unintended paragraph
                     33:                        % breaks
                     34: 
                     35:                        ".tr \\&\n"
                     36: 
                     37:                        % horizontal line
                     38:                        ".de hl\n"
                     39:                        ".br\n"
                     40:                        "\\l'\\\\n(.lu-\\\\n(.iu'\n"
                     41:                        "..\n"
                     42: 
                     43:                        % paragraph spacing
                     44:                        ".if n .nr PD 1v\n"
                     45: 
                     46:                        % margins added by mdw
                     47:                         ".nr PO 0.25i\n"
                     48:                        ".po 0.25i\n"
                     49:                         ".nr LL 7.0i\n"
                     50:                         ".nr TL 7.0i\n"
                     51:                         ".nr HM 0i\n"
                     52:                         ".nr FM 0i\n"
                     53: 
                     54:                        % Turn off right-margin filling
                     55:                        ".na\n"
                     56: 
                     57:                        % h is 1 if first paragraph after heading
                     58: 
                     59:                        ".nr h 0\n"
                     60: 
                     61:                        % initialize heading level
                     62: 
                     63:                        ".nr il 1\n"
                     64: 
                     65:                        % Number registers for list
                     66: 
                     67:                        ".nr bi 0\n"  % initialize begin items
                     68:                        ".nr ll 0\n"  % list level, stores current level
                     69:                        ".nr el 0\n"  % current enumeration level
                     70: 
                     71:                        % Not all list levels are enumerations, as
                     72:                        % itemizations can be embedded within enumerations
                     73:                        % and vice versa
                     74: 
                     75:                        % type of list level is in \n(t\n(ll, where
                     76:                        % 0 : itemize, 1 : enumerate, 2: description
                     77: 
                     78:                        % enumerator for an enumeration level is in
                     79:                        % \n(e\n(el -- i.e. \n(e1=2 means current item of
                     80:                        % enumeration level 1 is 2
                     81: 
                     82:                        % context-sensitive paragraph macro
                     83: 
                     84: % Bug: There's some problem using this to re-start paragraphs after the
                     85: % </verb> and </code>, so after verb and code I insert .LP. That's fine
                     86: % except that is loses indentation when using verb or code inside of a list.
                     87: 
                     88: ".de Pp\n"
                     89: ".ie \\\\n(ll>0 \\{\\\n"        % within list?
                     90: ".ie \\\\n(bi=1 \\{\\\n"   % first par element of item?
                     91: ".nr bi 0\n"    % reset bi flag
                     92: % if itemization, mark with a bullet
                     93: ".if \\\\n(t\\\\n(ll=0 \\{.IP \\\\(bu\\}\n" % itemize
                     94: %  if enumeration: increment and print enumerator
                     95: % for this enumeration level
                     96: ".if \\\\n(t\\\\n(ll=1 \\{.IP \\\\n+(e\\\\n(el.\\}\n"
                     97: % if first par element of descrip, do nothing
                     98: ".\\}\n"
                     99: ".el .sp \n"           % subsequent par element of item
                    100: ".\\}\n"
                    101: ".el \\{\\\n"                  % not within list
                    102: ".ie \\\\nh=1 \\{\\\n" % first par after heading
                    103: ".LP\n"
                    104: ".nr h 0\n"    % reset h flag
                    105: ".\\}\n"
                    106: ".el .LP \n"   % Changed from .PP, mdw
                    107: ".\\}\n"
                    108: ".nh\n"
                    109: "..\n"
                    110: 
                    111: 
                    112: 
                    113:                        % for each level, a number register is created
                    114:                        % to store its type and current item number, where
                    115:                        % -1=bullet of an itemized list.
                    116: 
                    117:                        % Format of list level enumerators
                    118: 
                    119:                        ".ds f1 1\n"
                    120:                        ".ds f2 a\n"
                    121:                        ".ds f3 i\n"
                    122:                        ".ds f4 A\n"
                    123: 
                    124:                        % Number registers for theorems
                    125:                        ".nr def 0\n"
                    126:                        ".nr prop 0\n"
                    127:                        ".nr lemma 0\n"
                    128:                        ".nr coroll 0\n"
                    129:                        ".nr proof 0\n"
                    130:                        ".nr theorem 0\n"
                    131: 
                    132:                        % Reference commands
                    133: 
                    134: % redefine superscript strings so that refer tags look like [this]
                    135: 
                    136:                        ".ds \[. \[\n"
                    137:                        ".ds .\] \]\n"
                    138: 
                    139: </birddoc>
                    140: 
                    141: % set initial level of headings, in register il
                    142: 
                    143: <article>              +       ".nr il 0"              +
                    144: </article>             +       ".if '\\*[printtoc]'true' .PX\n"
                    145: 
                    146: <report>               +       ".nr il 1"              +
                    147: </report>      +       ".bp\n"
                    148:                        ".rm LH\n.rm RH\n"
                    149:                        ".TC"                   +
                    150: 
                    151: <book>         +       ".nr il 1"              +
                    152: </book>                +       ".rm LH\n.rm RH\n"
                    153:                        ".bp\n"
                    154:                        ".TC"                   +
                    155: 
                    156: <notes>
                    157: </notes>
                    158: 
                    159: <manpage>      +       ".nr il -1"             +
                    160: </manpage>
                    161: 
                    162: <progdoc>
                    163: </progdoc>
                    164: 
                    165: % Hacked up titlepag stuff to look more reasonable. Titles and author
                    166: % names are now stored in strings, printed by the end of </titlepag>.
                    167: % Wake up! This uses groff-like long string names. You must use groff
                    168: % to format this.
                    169: 
                    170: <titlepag>     +       ".ds mdwtitle\n"
                    171:                        ".ds mdwsubtitle\n"
                    172:                        ".ds mdwdate\n"
                    173:                        ".de printabstract\n"
                    174:                        "..\n"                  +
                    175: </titlepag>    +       "\\*[mdwtitle]\n"
                    176:                        ".br\n"
                    177:                        ".if !'\\*[mdwsubtitle]'' \\*[mdwsubtitle]\n"
                    178:                        ".br\n"
                    179:                        ".printauthor\n"
                    180:                        ".br\n"
                    181:                        "\\*[mdwdate]\n"
                    182:                        ".br\n"
                    183:                        ".printabstract\n"
                    184:                        ".br\n"
                    185: 
                    186: %<title>               +       ".TL"                   +
                    187: %</title>
                    188: 
                    189: <title>                +       ".ds mdwtitle "
                    190: </title>       +
                    191: 
                    192: %<subtitle>    +       ".br\n"
                    193: %                      ".ft R\n"
                    194: %                      ".SM"           +
                    195: %</subtitle>   +       ".LG"                   +
                    196: 
                    197: <subtitle>     +       ".ds mdwsubtitle "
                    198: </subtitle>    +
                    199: 
                    200: <date>         +       ".ds mdwdate "
                    201: </date>                +
                    202: 
                    203: <abstract>     +       ".de printabstract\n"
                    204:                        ".LP\n"
                    205: </abstract>    +       ".."                    +
                    206: 
                    207: % author needs to be set up as its own macro, fired off from .printtitle.
                    208: 
                    209: <author>       +       ".de printauthor"       +
                    210: </author>      +       ".."                    +
                    211: 
                    212: %<name>                +       ".AU"                   +
                    213: %</name>
                    214: 
                    215: <name>         +       ".br"                   +
                    216: </name>
                    217: 
                    218: <and>
                    219: </and>
                    220: 
                    221: <thanks>                       "\\**\n"
                    222:                        ".FS"                   +
                    223: </thanks>      +       ".FE"                   +
                    224: 
                    225: <inst>         +       ".br"                   +
                    226: </inst>
                    227: 
                    228: %<newline>     +       ".br"                   +
                    229: <newline>      +       ".br"
                    230: </newline>
                    231: 
                    232: <label>
                    233: </label>
                    234: 
                    235: <header>
                    236: </header>
                    237: 
                    238: <lhead>                +       ".EH '"
                    239: </lhead>               "'''"           +
                    240: 
                    241: <rhead>                +       ".OH '''"
                    242: </rhead>               "'"                     +
                    243: 
                    244: <comment>      +       "(*"    +
                    245: </comment>     +       "*)"    +
                    246: 
                    247: % New abstract given above --mdw
                    248: %<abstract>    +       ".AB"                   +
                    249: %</abstract>   +       ".AE"                   +
                    250: 
                    251: <appendix>     +       ".af H1 A"              +
                    252: </appendix>
                    253: 
                    254: % limitation: no list of figures or tables.  A table of contents
                    255: % is always generated for books and reports. Thus these next three tags
                    256: % are no-ops
                    257: 
                    258: % For now, no table-of-contents in ASCII output. (Uncomment this if
                    259: % desired).
                    260: %<toc>         +       ".ds printtoc true"
                    261: %</toc>
                    262: 
                    263: <toc>
                    264: </toc>
                    265: 
                    266: <lof>
                    267: </lof>
                    268: 
                    269: <lot>
                    270: </lot>
                    271: 
                    272: <chapt>                +       ".bp\n"
                    273:                        ".NH \\n(il "           +
                    274: </chapt>
                    275: 
                    276: <sect>         +       ".NH 1+\\n(il"          +
                    277: </sect>
                    278: 
                    279: <sect1>                +       ".NH 2+\\n(il"  +
                    280: </sect1>
                    281: 
                    282: <sect2>                +       ".NH 3+\\n(il"          +
                    283: </sect2>
                    284: 
                    285: <sect3>                +       ".NH 4+\\n(il"          +
                    286: </sect3>
                    287: 
                    288: <sect4>                +       ".NH 5+\\n(il"          +
                    289: </sect4>
                    290: 
                    291: <heading>              ".ds h "
                    292: </heading>     +       "\\*h\n"
                    293:                        ".XS \\n%\n"
                    294:                        "\\*(SN \\*h\n"
                    295:                        ".XE\n"
                    296:                        ".nr h 1\n"  % set heading flag to true
                    297: 
                    298: <p>            +       ".Pp"                   +
                    299: </p>
                    300: 
                    301: <itemize>      +       ".nr ll +1\n"      % increment list level
                    302:                        ".nr t\\n(ll 0\n"    % set type of level to itemize
                    303: </itemize>     +       ".nr ll -1\n"   % decrement list level
                    304: 
                    305: <enum>         +       ".nr ll +1\n"       % increment list level
                    306:                        ".nr el +1\n"       % increment enumeration level
                    307:                        ".nr t\\n(ll 1\n"   % set type of level to enum
                    308:                        ".nr e\\n(el 0 1\n" % initialize enumerator
                    309:                        ".af e\\n(el \\*(f\\n(el\n" % style of enumerator
                    310:                        ".if \\n(ll>1 .RS"  +
                    311: </enum>                +       ".if \\n(ll>1 .RE\n"
                    312:                        ".br\n"
                    313:                        ".nr el -1\n"       % decrement enumeration level
                    314:                        ".nr ll -1\n"       % decrement list level
                    315: 
                    316: <descrip>      +       ".RS\n"
                    317:                        ".nr ll +1\n"       % increment list level
                    318:                        ".nr t\\n(ll 2\n"   % set type of level to descrip
                    319: </descrip>     +       ".nr ll -1\n"       % decrement list level
                    320:                        ".RE"           +
                    321: 
                    322: % number register bi means "begin item".  Used in the .P macro to print
                    323: % bullets or numbers at beginning of first paragraph of an item.
                    324: % If bi=1 then the paragraph is the first one of the item.
                    325: 
                    326: <item>         +       ".nr bi 1\n.Pp"         +
                    327: </item>
                    328: 
                    329: <tag>          +       ".IP \"\\fB"
                    330: </tag>                 "\\fR\"\n"
                    331:                        ".nr bi 1"                      +
                    332: 
                    333: <m>                    ""
                    334: </m>                   ""
                    335: 
                    336: <cf>                   ""
                    337: </cf>                  ""
                    338: 
                    339: <cite>         +       ".\[\n[ID]\n.\]"        +
                    340: </cite>
                    341: 
                    342: <ncite>                +       ".\[\n[ID]\n.\]\n([NOTE])"
                    343: </ncite>
                    344: 
                    345: <footnote>             " (-- "
                    346: </footnote>            "--)"                   +
                    347: 
                    348: <sq>                   "\\*Q"
                    349: </sq>                  "\\*U"
                    350: 
                    351: <lq>           +       ".RS\n"
                    352:                        ".nr LL \\n(LL-\\n(PI"  +
                    353: </lq>          +       ".nr LL \\n(LL+\\n(PI\n"
                    354:                        ".RE"                   +
                    355: 
                    356: <em>                   "\\fI"
                    357: </em>                  "\\fP"
                    358: 
                    359: <bf>                   "\\fB"
                    360: </bf>                  "\\fR"
                    361: 
                    362: <it>                   "\\fI"
                    363: </it>                  "\\fR"
                    364: 
                    365: <sf>                   "\\fR"
                    366: </sf>                  "\\fR"
                    367: 
                    368: <sl>                   "\\fI"
                    369: </sl>                  "\\fR"
                    370: 
                    371: % Changed by mdw
                    372: <tt>                   "\\fC"
                    373: </tt>                  "\\fR"
                    374: 
                    375: % Added by mdw
                    376: <cparam>               "\\fI<"
                    377: </cparam>              ">\\fR"
                    378: 
                    379: <url>                  "[NAME] <\\fC[URL]\\fR>"
                    380: </url>
                    381: 
                    382: <htmlurl>              "[NAME]"
                    383: </htmlurl>
                    384: 
                    385: <ref>                  "``[NAME]''"
                    386: </ref>
                    387: 
                    388: <nidx>                 + "\\#"
                    389: </nidx>                          "\\n"
                    390: 
                    391: <ncdx>                 + "\\#"
                    392: </ncdx>                          "\\n"
                    393: 
                    394: <pageref>              "??"
                    395: </pageref>
                    396: 
                    397: <x>
                    398: </x>
                    399: 
                    400: <mc>
                    401: </mc>
                    402: 
                    403: <biblio>       +       ".\[\n"
                    404:                        "$LIST$\n"
                    405:                        ".\]"                   +
                    406: </biblio>
                    407: 
                    408: <code>         +       ".DS L\n"
                    409:                        ".hl\n"
                    410:                        ".ft R\n"               +
                    411: 
                    412: </code>                +       ".hl\n"
                    413:                        ".DE\n"
                    414:                        ".ft P\n"
                    415:                %       ".Pp"   + % continue previous paragraph (changed mdw)
                    416:                        ".LP"
                    417: 
                    418: <verb>         +       ".DS L\n"
                    419:                        ".ft R\n"               +
                    420: 
                    421: </verb>                +       ".DE\n"
                    422:                        ".ft P\n"
                    423:                %       ".Pp"   +  % continue previous paragraph (changed mdw)
                    424:                        ".LP"
                    425: 
                    426: % tscreen added by mdw
                    427: <tscreen>       +       ".br\n"
                    428:                         ".po 0.75i\n"
                    429:                         ".ll 6.0i\n"
                    430:                         ".ft C\n"
                    431:                         ".LP\n"         % Used to be Pp
                    432: </tscreen>      +       ".br\n"
                    433:                         ".po 0.25i\n"
                    434:                         ".ll 7.0i\n"
                    435:                         ".ft R\n"       % This might not be correct
                    436:                         ".LP\n"         % Used to be Pp
                    437: 
                    438: <quote>         +       ".br\n"
                    439:                         ".po 0.75i\n"
                    440:                         ".ll 6.0i\n"
                    441:                         ".nr LL 6.0i\n"
                    442:                         ".LP\n"         % Used to be Pp
                    443: </quote>        +       ".br\n"
                    444:                         ".po 0.25i\n"
                    445:                         ".ll 7.0i\n"
                    446:                         ".nr LL 7.0i\n"
                    447:                         ".LP\n"         % Used to be Pp
                    448: 
                    449: 
                    450: 
                    451: 
                    452: % theorems and such
                    453: 
                    454: <def>          +       ".sp\n"
                    455:                        ".nr def \\n\[def\]+1\n"
                    456:                        ".B \"Definition \\n\[def\] \"" +
                    457: </def>         +       ".ft P\n.sp"            +
                    458: 
                    459: <prop>         +       ".sp\n"
                    460:                        ".nr prop \\n\[prop\]+1\n"
                    461:                        ".B \"Proposition \\n\[prop\] \"" +
                    462: </prop>                +       ".ft P\n.sp"            +
                    463: 
                    464: 
                    465: <lemma>                +       ".sp\n"
                    466:                        ".nr lemma \\n\[lemma\]+1\n"
                    467:                        ".B \"Lemma \\n\[lemma\] \""    +
                    468: </lemma>       +       ".ft P\n.sp"            +
                    469: 
                    470: <coroll>       +       ".sp\n"
                    471:                        ".nr coroll \\n\[coroll\]+1\n"
                    472:                        ".B \"Corolloary \\n\[coroll\] \"" +
                    473: </coroll>      +       ".ft P\n.sp"            +
                    474: 
                    475: <proof>                +       ".sp\n"
                    476:                        ".nr proof \\n\[proof\]+1\n"
                    477:                        ".B \"Proof \\n\[proof\] \""    +
                    478: </proof>       +       ".ft P\n.sp"            +
                    479: 
                    480: <theorem>      +       ".sp\n"
                    481:                        ".nr theorem \\n\[theorem\]+1\n"
                    482:                        ".B \"Theorem \\n\[theorem\] \"" +
                    483: </theorem>     +       ".ft P\n.sp"            +
                    484: 
                    485: <thtag>                +       ".B\n("
                    486: </thtag>               ")\n.I"                 +
                    487: 
                    488: % mathematics -- this nroff version needs work.
                    489: 
                    490: <f>
                    491: </f>
                    492: 
                    493: <dm>           +       ".DS L"                 +
                    494: </dm>          +       ".DE"                   +
                    495: 
                    496: <eq>           +       ".DS L"                 +
                    497: </eq>          +       ".DE"                   +
                    498: 
                    499: <fr>
                    500: </fr>
                    501: 
                    502: <nu>                   "{"
                    503: </nu>                  "} over "
                    504: 
                    505: <de>                   "{"
                    506: </de>                  "}"
                    507: 
                    508: <lim>
                    509: </lim>
                    510: 
                    511: <op>
                    512: </op>
                    513: 
                    514: <ll>                   " from {"
                    515: </ll>                  "}"
                    516: 
                    517: <ul>                   " to {"
                    518: </ul>                  "}"
                    519: 
                    520: <opd>
                    521: </opd>
                    522: 
                    523: <pr>                   " prod "
                    524: </pr>
                    525: 
                    526: <in>                   " int "
                    527: </in>
                    528: 
                    529: <sum>                  " sum "
                    530: </sum>
                    531: 
                    532: % limitation: eqn only does square roots!
                    533: 
                    534: <root>                 " sqrt {"
                    535: </root>                        "}"
                    536: 
                    537: <ar>           +       ".TS\n"
                    538:                        "center, tab(|) ;\n"
                    539:                        "[ca]."                 +
                    540: </ar>          +       ".TE"                   +
                    541: 
                    542: <arr>                  "\n"
                    543: </arr>
                    544: 
                    545: <arc>                  "|"
                    546: </arc>
                    547: 
                    548: 
                    549: <sup>                  " sup {"
                    550: </sup>                 "}"
                    551: 
                    552: <inf>                  " sub {"
                    553: </inf>                 "}"
                    554: 
                    555: 
                    556: <unl>                  "{"
                    557: </unl>                 "} under "
                    558: 
                    559: <ovl>                  "{"
                    560: </ovl>                 "} bar "
                    561: 
                    562: <rf>                   " bold{"
                    563: </rf>                  "}"
                    564: 
                    565: <v>                    "{"
                    566: </v>                   "} vec "
                    567: 
                    568: % limitation: no calligraphic characters, using helvetica italics instead.  Is there a better font?
                    569: 
                    570: <fi>                   "\\fI"
                    571: </fi>                  "\\fP"
                    572: 
                    573: <phr>                  " roman }"
                    574: </phr>                 "}"
                    575: 
                    576: 
                    577: <tu>           +       ".br"           +
                    578: </tu>
                    579: 
                    580: % figures
                    581: 
                    582: <figure>       % +     ".KF"                   +
                    583: </figure>      % +     ".KE"                   +
                    584: 
                    585: <eps>          +       ".if t .PSPIC [file].ps\n"
                    586:                        ".if n .sp 4"           +
                    587: </eps>
                    588: 
                    589: % Are TeX units properly handled by this translation of ph?
                    590: 
                    591: <ph>           +       ".sp [VSPACE]"          +
                    592: </ph>
                    593: 
                    594: <caption>      +       ".sp\n.ce"              +
                    595: </caption>
                    596: 
                    597: % tables
                    598: 
                    599: <table>                +       ".KF\n.R"               +
                    600: </table>       +       ".KE"                   +
                    601: 
                    602: <tabular>      +       ".TS\n"
                    603:                        "center, tab(|) ; \n"
                    604:                        "[ca]."                 +
                    605: </tabular>     +       ".TE"                   +
                    606: 
                    607: <rowsep>               "\n"                    +
                    608: </rowsep>
                    609: 
                    610: <colsep>               "|"
                    611: </colsep>
                    612: 
                    613: %<hline>               +       "_"                     +
                    614: % gregh
                    615: <hline>                +       ".hl\n"                 +
                    616: 
                    617: </hline>
                    618: 
                    619: <slides>       +       ".nr PS 18"             +
                    620: </slides>
                    621: 
                    622: <slide>
                    623: </slide>       +       ".bp\n\\&"                      +
                    624: 
                    625: % letters -- replacement for email, using mh format.
                    626: 
                    627: <letter>       +       ".nf"   +
                    628: </letter>      +
                    629: 
                    630: <from>         +       "From: "
                    631: <to>           +       "To: "
                    632: 
                    633: <address>      +       ".de Ad\n"
                    634: </address>     +       ".."    +
                    635: 
                    636: <email>                        " <"
                    637: </email>               ">"
                    638: 
                    639: <subject>      +       "Subject: "
                    640: 
                    641: <sref>         +       "Sref: "
                    642: <rref>         +       "In-Reply-To: "
                    643: 
                    644: <cc>           +       "cc: "
                    645: 
                    646: <opening>      +       ".fi\n.LP"      +
                    647: 
                    648: <closing>      +       ".LP"           +
                    649: 
                    650: <encl>         +       ".XP\n"
                    651:                        "encl: "
                    652: 
                    653: <ps>           +       ".LP\np.s."
                    654: 
                    655: 
                    656: % end of roff replacement file

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>