summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjfieber <jfieber@FreeBSD.org>1996-09-08 02:37:40 +0000
committerjfieber <jfieber@FreeBSD.org>1996-09-08 02:37:40 +0000
commitecd88d360769bb5186ddf66589ddb686daab140b (patch)
tree5ad941489b4654071873e6536b3b2b8443a3ec0b
parent38d12975246b6eddde95da3643affaa704a15ce9 (diff)
downloadFreeBSD-src-ecd88d360769bb5186ddf66589ddb686daab140b.zip
FreeBSD-src-ecd88d360769bb5186ddf66589ddb686daab140b.tar.gz
Translation specifications for instant(1).
-rw-r--r--share/sgml/transpec/Makefile15
-rw-r--r--share/sgml/transpec/html.cmap35
-rw-r--r--share/sgml/transpec/html.sdata566
-rw-r--r--share/sgml/transpec/latex.cmap35
-rw-r--r--share/sgml/transpec/latex.sdata578
-rw-r--r--share/sgml/transpec/linuxdoc-html.ts1071
-rw-r--r--share/sgml/transpec/linuxdoc-latex.ts988
-rw-r--r--share/sgml/transpec/linuxdoc-roff.ts1205
-rw-r--r--share/sgml/transpec/roff.cmap37
-rw-r--r--share/sgml/transpec/roff.sdata623
-rw-r--r--share/sgml/transpec/transpec.dtd97
11 files changed, 5250 insertions, 0 deletions
diff --git a/share/sgml/transpec/Makefile b/share/sgml/transpec/Makefile
new file mode 100644
index 0000000..3915155
--- /dev/null
+++ b/share/sgml/transpec/Makefile
@@ -0,0 +1,15 @@
+# $Id: Makefile,v 1.1.1.1.4.1 1995/09/17 23:42:31 davidg Exp $
+
+FILES= roff.cmap roff.sdata linuxdoc-roff.ts
+FILES+= html.cmap html.sdata linuxdoc-html.ts
+FILES+= latex.cmap latex.sdata linuxdoc-latex.ts
+FILES+= transpec.dtd
+NOOBJ= noobj
+
+all clean cleandir depend lint tags:
+
+afterinstall:
+ ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 ${FILES} \
+ ${DESTDIR}${BINDIR}/${.CURDIR:T}
+
+.include <bsd.prog.mk>
diff --git a/share/sgml/transpec/html.cmap b/share/sgml/transpec/html.cmap
new file mode 100644
index 0000000..79ed03f
--- /dev/null
+++ b/share/sgml/transpec/html.cmap
@@ -0,0 +1,35 @@
+<!--
+
+ $Id$
+
+ Copyright (C) 1996
+ John R. Fieber. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED BY JOHN R. FIEBER AND CONTRIBUTORS ``AS IS'' AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL JOHN R. FIEBER OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+-->
+
+<!-- Character mappings for HTML -->
+
+<map from="<" to="&#38;lt;">
+<map from=">" to="&#38;gt;">
+<map from="&" to="&#38;amp;">
diff --git a/share/sgml/transpec/html.sdata b/share/sgml/transpec/html.sdata
new file mode 100644
index 0000000..af55be7
--- /dev/null
+++ b/share/sgml/transpec/html.sdata
@@ -0,0 +1,566 @@
+<!--
+
+ $Id$
+
+ Copyright (c) 1994
+ Open Software Foundation, Inc.
+
+ Permission is hereby granted to use, copy, modify and freely distribute
+ the software in this file and its documentation for any purpose without
+ fee, provided that the above copyright notice appears in all copies and
+ that both the copyright notice and this permission notice appear in
+ supporting documentation. Further, provided that the name of Open
+ Software Foundation, Inc. ("OSF") not be used in advertising or
+ publicity pertaining to distribution of the software without prior
+ written permission from OSF. OSF makes no representations about the
+ suitability of this software for any purpose. It is provided "as is"
+ without express or implied warranty.
+
+-->
+
+<!--
+
+SDATA entity mappings BACK to entity references.
+I think this is only usefule for creating a normalized instance."
+
+J.Bowe, 1993
+
+Enhancement by John R Fieber, 1996
+
+-->
+
+<!-- Numeric and Special Graphic -->
+
+<map from="[half ]" to="&#38;half;">
+<map from="[frac12]" to="&#38;frac12;">
+<map from="[frac14]" to="&#38;frac14;">
+<map from="[frac34]" to="&#38;frac34;">
+<map from="[frac18]" to="&#38;frac18;">
+<map from="[frac38]" to="&#38;frac38;">
+<map from="[frac58]" to="&#38;frac58;">
+<map from="[frac78]" to="&#38;frac78;">
+<map from="[sup1 ]" to="&#38;sup1;">
+<map from="[sup2 ]" to="&#38;sup2;">
+<map from="[sup3 ]" to="&#38;sup3;">
+<map from="[plus ]" to="+">
+<map from="[plusmn]" to="&#38;plusmn;">
+<map from="[lt ]" to="&#38;lt;">
+<map from="[equals]" to="=">
+<map from="[gt ]" to="&#38;gt;">
+<map from="[divide]" to="/">
+<map from="[times ]" to="&#38;times;">
+<map from="[curren]" to="&#38;curren;">
+<map from="[pound ]" to="&#38;pound;">
+<map from="[dollar]" to="$">
+<map from="[cent ]" to="&#38;cent;">
+<map from="[yen ]" to="&#38;yen;">
+<map from="[num ]" to="#">
+<map from="[percnt]" to="%">
+<map from="[amp ]" to="&#38;amp;">
+<map from="[ast ]" to="*">
+<map from="[commat]" to="&#38;commat;">
+<map from="[lsqb ]" to="[">
+<map from="[bsol ]" to="\">
+<map from="[rsqb ]" to="=">
+<map from="[lcub ]" to="{">
+<map from="[horbar]" to="&#38;horbar;">
+<map from="[verbar]" to="|">
+<map from="[rcub ]" to="}">
+<map from="[micro ]" to="&#38;micro;">
+<map from="[ohm ]" to="&#38;ohm;">
+<map from="[deg ]" to="&#38;deg;">
+<map from="[ordm ]" to="&#38;ordm;">
+<map from="[ordf ]" to="&#38;ordf;">
+<map from="[sect ]" to="&#38;sect;">
+<map from="[para ]" to="&#38;para;">
+<map from="[middot]" to="&#38;middot;">
+<map from="[larr ]" to="&#38;larr;">
+<map from="[rarr ]" to="&#38;rarr;">
+<map from="[uarr ]" to="&#38;uarr;">
+<map from="[darr ]" to="&#38;darr;">
+<map from="[copy ]" to="&#38;copy;">
+<map from="[reg ]" to="&#38;reg;">
+<map from="[trade ]" to="&#38;trade;">
+<map from="[brvbar]" to="&#38;brvbar;">
+<map from="[not ]" to="&#38;not;">
+<map from="[sung ]" to="&#38;sung;">
+<map from="[excl ]" to="&#38;excl;">
+<map from="[iexcl ]" to="&#38;iexcl;">
+<map from="[quot ]" to="&#38;quot;">
+<map from="[apos ]" to="'">
+<map from="[lpar ]" to="(">
+<map from="[rpar ]" to=")">
+<map from="[comma ]" to=",">
+<map from="[lowbar]" to="_">
+<map from="[hyphen]" to="-">
+<map from="[period]" to=".">
+<map from="[sol ]" to="/">
+<map from="[colon ]" to=":">
+<map from="[semi ]" to=";">
+<map from="[quest ]" to="?">
+<map from="[iquest]" to="&#38;iquest;">
+<map from="[laquo ]" to="&#38;laquo;">
+<map from="[raquo ]" to="&#38;raquo;">
+<map from="[lsquo ]" to="`">
+<map from="[rsquo ]" to="'">
+<map from="[ldquo ]" to="``">
+<map from="[rdquo ]" to="''">
+<map from="[nbsp ]" to="&#38;nbsp;">
+<map from="[shy ]" to="&#38;shy;">
+
+<!-- Publishing -->
+
+<map from="[emsp ]" to="&#38;nbsp;&#38;nbsp;">
+<map from="[ensp ]" to="&#38;nbsp;">
+<map from="[emsp3 ]" to="&#38;nbsp;">
+<map from="[emsp4 ]" to="&#38;nbsp;">
+<map from="[numsp ]" to="&#38;nbsp;">
+<map from="[puncsp]" to="&#38;puncsp;">
+<map from="[thinsp]" to="&#38;nbsp;">
+<map from="[hairsp]" to="">
+<map from="[mdash ]" to="--">
+<map from="[ndash ]" to="-">
+<map from="[dash ]" to="-">
+<map from="[blank ]" to="&#38;blank;">
+<map from="[hellip]" to="...">
+<map from="[nldr ]" to="&#38;nldr;">
+<map from="[frac13]" to="&#38;frac13;">
+<map from="[frac23]" to="&#38;frac23;">
+<map from="[frac15]" to="&#38;frac15;">
+<map from="[frac25]" to="&#38;frac25;">
+<map from="[frac35]" to="&#38;frac35;">
+<map from="[frac45]" to="&#38;frac45;">
+<map from="[frac16]" to="&#38;frac16;">
+<map from="[frac56]" to="&#38;frac56;">
+<map from="[incare]" to="&#38;incare;">
+<map from="[block ]" to="&#38;block;">
+<map from="[uhblk ]" to="&#38;uhblk;">
+<map from="[lhblk ]" to="&#38;lhblk;">
+<map from="[blk14 ]" to="&#38;blk14;">
+<map from="[blk12 ]" to="&#38;blk12;">
+<map from="[blk34 ]" to="&#38;blk34;">
+<map from="[marker]" to="&#38;marker;">
+<map from="[cir ]" to="&#38;cir;">
+<map from="[squ ]" to="&#38;squ;">
+<map from="[rect ]" to="&#38;rect;">
+<map from="[utri ]" to="&#38;utri;">
+<map from="[dtri ]" to="&#38;dtri;">
+<map from="[star ]" to="&#38;star;">
+<map from="[bull ]" to="*">
+<map from="[squf ]" to="&#38;squf;">
+<map from="[utrif ]" to="&#38;utrif;">
+<map from="[dtrif ]" to="&#38;dtrif;">
+<map from="[ltrif ]" to="&#38;ltrif;">
+<map from="[rtrif ]" to="&#38;rtrif;">
+<map from="[clubs ]" to="&#38;clubs;">
+<map from="[diams ]" to="&#38;diams;">
+<map from="[hearts]" to="&#38;hearts;">
+<map from="[spades]" to="&#38;spades;">
+<map from="[malt ]" to="&#38;malt;">
+<map from="[dagger]" to="&#38;dagger;">
+<map from="[Dagger]" to="&#38;Dagger;">
+<map from="[check ]" to="&#38;check;">
+<map from="[ballot]" to="&#38;ballot;">
+<map from="[sharp ]" to="&#38;sharp;">
+<map from="[flat ]" to="&#38;flat;">
+<map from="[male ]" to="&#38;male;">
+<map from="[female]" to="&#38;female;">
+<map from="[phone ]" to="&#38;phone;">
+<map from="[telrec]" to="&#38;telrec;">
+<map from="[copysr]" to="&#38;copysr;">
+<map from="[caret ]" to="&#38;caret;">
+<map from="[lsquor]" to="&#38;lsquor;">
+<map from="[ldquor]" to="&#38;ldquor;">
+<map from="[fflig ]" to="&#38;fflig;">
+<map from="[filig ]" to="&#38;filig;">
+<map from="[fjlig ]" to="&#38;fjlig;">
+<map from="[ffilig]" to="&#38;ffilig;">
+<map from="[ffllig]" to="&#38;ffllig;">
+<map from="[fllig ]" to="&#38;fllig;">
+<map from="[mldr ]" to="&#38;mldr;">
+<map from="[rdquor]" to="&#38;rdquor;">
+<map from="[rsquor]" to="&#38;rsquor;">
+<map from="[vellip]" to="...">
+<map from="[hybull]" to="&#38;hybull;">
+<map from="[loz ]" to="&#38;loz;">
+<map from="[lozf ]" to="&#38;lozf;">
+<map from="[ltri ]" to="&#38;ltri;">
+<map from="[rtri ]" to="&#38;rtri;">
+<map from="[starf ]" to="&#38;starf;">
+<map from="[natur ]" to="&#38;natur;">
+<map from="[rx ]" to="&#38;rx;">
+<map from="[sext ]" to="&#38;sext;">
+<map from="[target]" to="&#38;target;">
+<map from="[dlcrop]" to="&#38;dlcrop;">
+<map from="[drcrop]" to="&#38;drcrop;">
+<map from="[ulcrop]" to="&#38;ulcrop;">
+<map from="[urcrop]" to="&#38;urcrop;">
+
+<!-- Added Latin 1 -->
+
+<map from="[aacute]" to="&#38;aacute;">
+<map from="[Aacute]" to="&#38;Aacute;">
+<map from="[acirc ]" to="&#38;acirc;">
+<map from="[Acirc ]" to="&#38;Acirc;">
+<map from="[agrave]" to="&#38;agrave;">
+<map from="[Agrave]" to="&#38;Agrave;">
+<map from="[aring ]" to="&#38;aring;">
+<map from="[Aring ]" to="&#38;Aring;">
+<map from="[atilde]" to="&#38;atilde;">
+<map from="[Atilde]" to="&#38;Atilde;">
+<map from="[auml ]" to="&#38;auml;">
+<map from="[Auml ]" to="&#38;Auml;">
+<map from="[aelig ]" to="&#38;aelig;">
+<map from="[AElig ]" to="&#38;AElig;">
+<map from="[ccedil]" to="&#38;ccedil;">
+<map from="[Ccedil]" to="&#38;Ccedil;">
+<map from="[eth ]" to="&#38;eth;">
+<map from="[ETH ]" to="&#38;ETH;">
+<map from="[eacute]" to="&#38;eacute;">
+<map from="[Eacute]" to="&#38;Eacute;">
+<map from="[ecirc ]" to="&#38;ecirc;">
+<map from="[Ecirc ]" to="&#38;Ecirc;">
+<map from="[egrave]" to="&#38;egrave;">
+<map from="[Egrave]" to="&#38;Egrave;">
+<map from="[euml ]" to="&#38;euml;">
+<map from="[Euml ]" to="&#38;Euml;">
+<map from="[iacute]" to="&#38;iacute;">
+<map from="[Iacute]" to="&#38;Iacute;">
+<map from="[icirc ]" to="&#38;icirc;">
+<map from="[Icirc ]" to="&#38;Icirc;">
+<map from="[igrave]" to="&#38;igrave;">
+<map from="[Igrave]" to="&#38;Igrave;">
+<map from="[iuml ]" to="&#38;iuml;">
+<map from="[Iuml ]" to="&#38;Iuml;">
+<map from="[ntilde]" to="&#38;ntilde;">
+<map from="[Ntilde]" to="&#38;Ntilde;">
+<map from="[oacute]" to="&#38;oacute;">
+<map from="[Oacute]" to="&#38;Oacute;">
+<map from="[ocirc ]" to="&#38;ocirc;">
+<map from="[Ocirc ]" to="&#38;Ocirc;">
+<map from="[ograve]" to="&#38;ograve;">
+<map from="[Ograve]" to="&#38;Ograve;">
+<map from="[oslash]" to="&#38;oslash;">
+<map from="[Oslash]" to="&#38;Oslash;">
+<map from="[otilde]" to="&#38;otilde;">
+<map from="[Otilde]" to="&#38;Otilde;">
+<map from="[ouml ]" to="&#38;ouml;">
+<map from="[Ouml ]" to="&#38;Ouml;">
+<map from="[szlig ]" to="&#38;szlig;">
+<map from="[thorn ]" to="&#38;thorn;">
+<map from="[THORN ]" to="&#38;THORN;">
+<map from="[uacute]" to="&#38;uacute;">
+<map from="[Uacute]" to="&#38;Uacute;">
+<map from="[ucirc ]" to="&#38;ucirc;">
+<map from="[Ucirc ]" to="&#38;Ucirc;">
+<map from="[ugrave]" to="&#38;ugrave;">
+<map from="[Ugrave]" to="&#38;Ugrave;">
+<map from="[uuml ]" to="&#38;uuml;">
+<map from="[Uuml ]" to="&#38;Uuml;">
+<map from="[yacute]" to="&#38;yacute;">
+<map from="[Yacute]" to="&#38;Yacute;">
+<map from="[yuml ]" to="&#38;yuml;">
+
+<!-- Added Latin 2 -->
+
+<map from="[abreve]" to="&#38;abreve;">
+<map from="[Abreve]" to="&#38;Abreve;">
+<map from="[amacr ]" to="&#38;amacr;">
+<map from="[Amacr ]" to="&#38;Amacr;">
+<map from="[aogon ]" to="&#38;aogon;">
+<map from="[Aogon ]" to="&#38;Aogon;">
+<map from="[cacute]" to="&#38;cacute;">
+<map from="[Cacute]" to="&#38;Cacute;">
+<map from="[ccaron]" to="&#38;ccaron;">
+<map from="[Ccaron]" to="&#38;Ccaron;">
+<map from="[ccirc ]" to="&#38;ccirc;">
+<map from="[Ccirc ]" to="&#38;Ccirc;">
+<map from="[cdot ]" to="&#38;cdot;">
+<map from="[Cdot ]" to="&#38;Cdot;">
+<map from="[dcaron]" to="&#38;dcaron;">
+<map from="[Dcaron]" to="&#38;Dcaron;">
+<map from="[dstrok]" to="&#38;dstrok;">
+<map from="[Dstrok]" to="&#38;Dstrok;">
+<map from="[ecaron]" to="&#38;ecaron;">
+<map from="[Ecaron]" to="&#38;Ecaron;">
+<map from="[edot ]" to="&#38;edot;">
+<map from="[Edot ]" to="&#38;Edot;">
+<map from="[emacr ]" to="&#38;emacr;">
+<map from="[Emacr ]" to="&#38;Emacr;">
+<map from="[eogon ]" to="&#38;eogon;">
+<map from="[Eogon ]" to="&#38;Eogon;">
+<map from="[gacute]" to="&#38;gacute;">
+<map from="[gbreve]" to="&#38;gbreve;">
+<map from="[Gbreve]" to="&#38;Gbreve;">
+<map from="[Gcedil]" to="&#38;Gcedil;">
+<map from="[gcirc ]" to="&#38;gcirc;">
+<map from="[Gcirc ]" to="&#38;Gcirc;">
+<map from="[gdot ]" to="&#38;gdot;">
+<map from="[Gdot ]" to="&#38;Gdot;">
+<map from="[hcirc ]" to="&#38;hcirc;">
+<map from="[Hcirc ]" to="&#38;Hcirc;">
+<map from="[hstrok]" to="&#38;hstrok;">
+<map from="[Hstrok]" to="&#38;Hstrok;">
+<map from="[Idot ]" to="&#38;Idot;">
+<map from="[Imacr ]" to="&#38;Imacr;">
+<map from="[imacr ]" to="&#38;imacr;">
+<map from="[ijlig ]" to="&#38;ijlig;">
+<map from="[IJlig ]" to="&#38;IJlig;">
+<map from="[inodot]" to="&#38;inodot;">
+<map from="[iogon ]" to="&#38;iogon;">
+<map from="[Iogon ]" to="&#38;Iogon;">
+<map from="[itilde]" to="&#38;itilde;">
+<map from="[Itilde]" to="&#38;Itilde;">
+<map from="[jcirc ]" to="&#38;jcirc;">
+<map from="[Jcirc ]" to="&#38;Jcirc;">
+<map from="[kcedil]" to="&#38;kcedil;">
+<map from="[Kcedil]" to="&#38;Kcedil;">
+<map from="[kgreen]" to="&#38;kgreen;">
+<map from="[lacute]" to="&#38;lacute;">
+<map from="[Lacute]" to="&#38;Lacute;">
+<map from="[lcaron]" to="&#38;lcaron;">
+<map from="[Lcaron]" to="&#38;Lcaron;">
+<map from="[lcedil]" to="&#38;lcedil;">
+<map from="[Lcedil]" to="&#38;Lcedil;">
+<map from="[lmidot]" to="&#38;lmidot;">
+<map from="[Lmidot]" to="&#38;Lmidot;">
+<map from="[lstrok]" to="&#38;lstrok;">
+<map from="[Lstrok]" to="&#38;Lstrok;">
+<map from="[nacute]" to="&#38;nacute;">
+<map from="[Nacute]" to="&#38;Nacute;">
+<map from="[eng ]" to="&#38;eng;">
+<map from="[ENG ]" to="&#38;ENG;">
+<map from="[napos ]" to="&#38;napos;">
+<map from="[ncaron]" to="&#38;ncaron;">
+<map from="[Ncaron]" to="&#38;Ncaron;">
+<map from="[ncedil]" to="&#38;ncedil;">
+<map from="[Ncedil]" to="&#38;Ncedil;">
+<map from="[odblac]" to="&#38;odblac;">
+<map from="[Odblac]" to="&#38;Odblac;">
+<map from="[Omacr ]" to="&#38;Omacr;">
+<map from="[omacr ]" to="&#38;omacr;">
+<map from="[oelig ]" to="&#38;oelig;">
+<map from="[OElig ]" to="&#38;OElig;">
+<map from="[racute]" to="&#38;racute;">
+<map from="[Racute]" to="&#38;Racute;">
+<map from="[rcaron]" to="&#38;rcaron;">
+<map from="[Rcaron]" to="&#38;Rcaron;">
+<map from="[rcedil]" to="&#38;rcedil;">
+<map from="[Rcedil]" to="&#38;Rcedil;">
+<map from="[sacute]" to="&#38;sacute;">
+<map from="[Sacute]" to="&#38;Sacute;">
+<map from="[scaron]" to="&#38;scaron;">
+<map from="[Scaron]" to="&#38;Scaron;">
+<map from="[scedil]" to="&#38;scedil;">
+<map from="[Scedil]" to="&#38;Scedil;">
+<map from="[scirc ]" to="&#38;scirc;">
+<map from="[Scirc ]" to="&#38;Scirc;">
+<map from="[tcaron]" to="&#38;tcaron;">
+<map from="[Tcaron]" to="&#38;Tcaron;">
+<map from="[tcedil]" to="&#38;tcedil;">
+<map from="[Tcedil]" to="&#38;Tcedil;">
+<map from="[tstrok]" to="&#38;tstrok;">
+<map from="[Tstrok]" to="&#38;Tstrok;">
+<map from="[ubreve]" to="&#38;ubreve;">
+<map from="[Ubreve]" to="&#38;Ubreve;">
+<map from="[udblac]" to="&#38;udblac;">
+<map from="[Udblac]" to="&#38;Udblac;">
+<map from="[umacr ]" to="&#38;umacr;">
+<map from="[Umacr ]" to="&#38;Umacr;">
+<map from="[uogon ]" to="&#38;uogon;">
+<map from="[Uogon ]" to="&#38;Uogon;">
+<map from="[uring ]" to="&#38;uring;">
+<map from="[Uring ]" to="&#38;Uring;">
+<map from="[utilde]" to="&#38;utilde;">
+<map from="[Utilde]" to="&#38;Utilde;">
+<map from="[wcirc ]" to="&#38;wcirc;">
+<map from="[Wcirc ]" to="&#38;Wcirc;">
+<map from="[ycirc ]" to="&#38;ycirc;">
+<map from="[Ycirc ]" to="&#38;Ycirc;">
+<map from="[Yuml ]" to="&#38;Yuml;">
+<map from="[zacute]" to="&#38;zacute;">
+<map from="[Zacute]" to="&#38;Zacute;">
+<map from="[zcaron]" to="&#38;zcaron;">
+<map from="[Zcaron]" to="&#38;Zcaron;">
+<map from="[zdot ]" to="&#38;zdot;">
+<map from="[Zdot ]" to="&#38;Zdot;">
+
+<!-- Greek Letters -->
+
+<map from="[agr ]" to="&#38;agr;">
+<map from="[Agr ]" to="&#38;Agr;">
+<map from="[bgr ]" to="&#38;bgr;">
+<map from="[Bgr ]" to="&#38;Bgr;">
+<map from="[ggr ]" to="&#38;ggr;">
+<map from="[Ggr ]" to="&#38;Ggr;">
+<map from="[dgr ]" to="&#38;dgr;">
+<map from="[Dgr ]" to="&#38;Dgr;">
+<map from="[egr ]" to="&#38;egr;">
+<map from="[Egr ]" to="&#38;Egr;">
+<map from="[zgr ]" to="&#38;zgr;">
+<map from="[Zgr ]" to="&#38;Zgr;">
+<map from="[eegr ]" to="&#38;eegr;">
+<map from="[EEgr ]" to="&#38;EEgr;">
+<map from="[thgr ]" to="&#38;thgr;">
+<map from="[THgr ]" to="&#38;THgr;">
+<map from="[igr ]" to="&#38;igr;">
+<map from="[Igr ]" to="&#38;Igr;">
+<map from="[kgr ]" to="&#38;kgr;">
+<map from="[Kgr ]" to="&#38;Kgr;">
+<map from="[lgr ]" to="&#38;lgr;">
+<map from="[Lgr ]" to="&#38;Lgr;">
+<map from="[mgr ]" to="&#38;mgr;">
+<map from="[Mgr ]" to="&#38;Mgr;">
+<map from="[ngr ]" to="&#38;ngr;">
+<map from="[Ngr ]" to="&#38;Ngr;">
+<map from="[xgr ]" to="&#38;xgr;">
+<map from="[Xgr ]" to="&#38;Xgr;">
+<map from="[ogr ]" to="&#38;ogr;">
+<map from="[Ogr ]" to="&#38;Ogr;">
+<map from="[pgr ]" to="&#38;pgr;">
+<map from="[Pgr ]" to="&#38;Pgr;">
+<map from="[rgr ]" to="&#38;rgr;">
+<map from="[Rgr ]" to="&#38;Rgr;">
+<map from="[sgr ]" to="&#38;sgr;">
+<map from="[Sgr ]" to="&#38;Sgr;">
+<map from="[sfgr ]" to="&#38;sfgr;">
+<map from="[tgr ]" to="&#38;tgr;">
+<map from="[Tgr ]" to="&#38;Tgr;">
+<map from="[ugr ]" to="&#38;ugr;">
+<map from="[Ugr ]" to="&#38;Ugr;">
+<map from="[phgr ]" to="&#38;phgr;">
+<map from="[PHgr ]" to="&#38;PHgr;">
+<map from="[khgr ]" to="&#38;khgr;">
+<map from="[KHgr ]" to="&#38;KHgr;">
+<map from="[psgr ]" to="&#38;psgr;">
+<map from="[PSgr ]" to="&#38;PSgr;">
+<map from="[ohgr ]" to="&#38;ohgr;">
+<map from="[OHgr ]" to="&#38;OHgr;">
+
+<!-- Greek Symbols -->
+
+<map from="[alpha ]" to="&#38;alpha;">
+<map from="[beta ]" to="&#38;beta;">
+<map from="[gamma ]" to="&#38;gamma;">
+<map from="[Gamma ]" to="&#38;Gamma;">
+<map from="[gammad]" to="&#38;gammad;">
+<map from="[delta ]" to="&#38;delta;">
+<map from="[Delta ]" to="&#38;Delta;">
+<map from="[epsi ]" to="&#38;epsi;">
+<map from="[epsiv ]" to="&#38;epsiv;">
+<map from="[epsis ]" to="&#38;epsis;">
+<map from="[zeta ]" to="&#38;zeta;">
+<map from="[eta ]" to="&#38;eta;">
+<map from="[thetas]" to="&#38;thetas;">
+<map from="[Theta ]" to="&#38;Theta;">
+<map from="[thetav]" to="&#38;thetav;">
+<map from="[iota ]" to="&#38;iota;">
+<map from="[kappa ]" to="&#38;kappa;">
+<map from="[kappav]" to="&#38;kappav;">
+<map from="[lambda]" to="&#38;lambda;">
+<map from="[Lambda]" to="&#38;Lambda;">
+<map from="[mu ]" to="&#38;mu;">
+<map from="[nu ]" to="&#38;nu;">
+<map from="[xi ]" to="&#38;xi;">
+<map from="[Xi ]" to="&#38;Xi;">
+<map from="[pi ]" to="&#38;pi;">
+<map from="[piv ]" to="&#38;piv;">
+<map from="[Pi ]" to="&#38;Pi;">
+<map from="[rho ]" to="&#38;rho;">
+<map from="[rhov ]" to="&#38;rhov;">
+<map from="[sigma ]" to="&#38;sigma;">
+<map from="[Sigma ]" to="&#38;Sigma;">
+<map from="[sigmav]" to="&#38;sigmav;">
+<map from="[tau ]" to="&#38;tau;">
+<map from="[upsi ]" to="&#38;upsi;">
+<map from="[Upsi ]" to="&#38;Upsi;">
+<map from="[phis ]" to="&#38;phis;">
+<map from="[Phi ]" to="&#38;Phi;">
+<map from="[phiv ]" to="&#38;phiv;">
+<map from="[chi ]" to="&#38;chi;">
+<map from="[psi ]" to="&#38;psi;">
+<map from="[Psi ]" to="&#38;Psi;">
+<map from="[omega ]" to="&#38;omega;">
+<map from="[Omega ]" to="&#38;Omega;">
+
+<!-- General Technical -->
+
+<map from="[aleph ]" to="&#38;aleph;">
+<map from="[and ]" to="&#38;and;">
+<map from="[ang90 ]" to="&#38;ang90;">
+<map from="[angsph]" to="&#38;angsph;">
+<map from="[ap ]" to="&#38;ap;">
+<map from="[becaus]" to="&#38;becaus;">
+<map from="[bottom]" to="&#38;bottom;">
+<map from="[cap ]" to="&#38;cap;">
+<map from="[cong ]" to="&#38;cong;">
+<map from="[conint]" to="&#38;conint;">
+<map from="[cup ]" to="&#38;cup;">
+<map from="[equiv ]" to="&#38;equiv;">
+<map from="[exist ]" to="&#38;exist;">
+<map from="[forall]" to="&#38;forall;">
+<map from="[fnof ]" to="&#38;fnof;">
+<map from="[ge ]" to="&#38;ge;">
+<map from="[iff ]" to="&#38;iff;">
+<map from="[infin ]" to="&#38;infin;">
+<map from="[int ]" to="&#38;int;">
+<map from="[isin ]" to="&#38;isin;">
+<map from="[lang ]" to="&#38;lang;">
+<map from="[lArr ]" to="&#38;lArr;">
+<map from="[le ]" to="&#38;le;">
+<map from="[minus ]" to="-">
+<map from="[mnplus]" to="&#38;mnplus;">
+<map from="[nabla ]" to="&#38;nabla;">
+<map from="[ne ]" to="&#38;ne;">
+<map from="[ni ]" to="&#38;ni;">
+<map from="[or ]" to="&#38;or;">
+<map from="[par ]" to="&#38;par;">
+<map from="[part ]" to="&#38;part;">
+<map from="[permil]" to="&#38;permil;">
+<map from="[perp ]" to="&#38;perp;">
+<map from="[prime ]" to="&#38;prime;">
+<map from="[Prime ]" to="&#38;Prime;">
+<map from="[prop ]" to="&#38;prop;">
+<map from="[radic ]" to="&#38;radic;">
+<map from="[rang ]" to="&#38;rang;">
+<map from="[rArr ]" to="&#38;rArr;">
+<map from="[sim ]" to="&#38;sim;">
+<map from="[sime ]" to="&#38;sime;">
+<map from="[square]" to="&#38;square;">
+<map from="[sub ]" to="&#38;sub;">
+<map from="[sube ]" to="&#38;sube;">
+<map from="[sup ]" to="&#38;sup;">
+<map from="[supe ]" to="&#38;supe;">
+<map from="[there4]" to="&#38;there4;">
+<map from="[Verbar]" to="&#38;Verbar;">
+<map from="[angst ]" to="&#38;angst;">
+<map from="[bernou]" to="&#38;bernou;">
+<map from="[compfn]" to="&#38;compfn;">
+<map from="[Dot ]" to="&#38;Dot;">
+<map from="[DotDot]" to="&#38;DotDot;">
+<map from="[hamilt]" to="&#38;hamilt;">
+<map from="[lagran]" to="&#38;lagran;">
+<map from="[lowast]" to="&#38;lowast;">
+<map from="[notin ]" to="&#38;notin;">
+<map from="[order ]" to="&#38;order;">
+<map from="[phmmat]" to="&#38;phmmat;">
+<map from="[tdot ]" to="&#38;tdot;">
+<map from="[tprime]" to="&#38;tprime;">
+<map from="[wedgeq]" to="&#38;wedgeq;">
+
+<!-- Diacritical Marks -->
+
+<map from="[acute ]" to="&#38;acute;">
+<map from="[breve ]" to="&#38;breve;">
+<map from="[caron ]" to="&#38;caron;">
+<map from="[cedil ]" to="&#38;cedil;">
+<map from="[circ ]" to="&#38;circ;">
+<map from="[dblac ]" to="&#38;dblac;">
+<map from="[die ]" to="&#38;die;">
+<map from="[dot ]" to="&#38;dot;">
+<map from="[grave ]" to="&#38;grave;">
+<map from="[macr ]" to="&#38;macr;">
+<map from="[ogon ]" to="&#38;ogon;">
+<map from="[ring ]" to="&#38;ring;">
+<map from="[tilde ]" to="~">
+<map from="[uml ]" to="&#38;uml;">
diff --git a/share/sgml/transpec/latex.cmap b/share/sgml/transpec/latex.cmap
new file mode 100644
index 0000000..1fab8af
--- /dev/null
+++ b/share/sgml/transpec/latex.cmap
@@ -0,0 +1,35 @@
+<!--
+
+ $Id$
+
+ Copyright (c) 1994
+ Open Software Foundation, Inc.
+
+ Permission is hereby granted to use, copy, modify and freely distribute
+ the software in this file and its documentation for any purpose without
+ fee, provided that the above copyright notice appears in all copies and
+ that both the copyright notice and this permission notice appear in
+ supporting documentation. Further, provided that the name of Open
+ Software Foundation, Inc. ("OSF") not be used in advertising or
+ publicity pertaining to distribution of the software without prior
+ written permission from OSF. OSF makes no representations about the
+ suitability of this software for any purpose. It is provided "as is"
+ without express or implied warranty.
+
+-->
+
+<!-- Character strings to map for TeX. -->
+
+<map from="\" to="$\backslash{}$">
+<map from="[" to="\lbrack{}">
+<map from="]" to="\rbrack{}">
+<map from="{" to="\{">
+<map from="}" to="\}">
+<map from="%" to="\%">
+<map from="#" to="\#">
+<map from="$" to="\$">
+<map from="&" to="\&">
+<map from="~" to="\~{}">
+<map from="_" to="\_{}">
+<map from="^" to="\^{}">
+<map from="|" to="$\vert$">
diff --git a/share/sgml/transpec/latex.sdata b/share/sgml/transpec/latex.sdata
new file mode 100644
index 0000000..8887985
--- /dev/null
+++ b/share/sgml/transpec/latex.sdata
@@ -0,0 +1,578 @@
+<!--
+
+ $Id$
+
+ Copyright (c) 1994
+ Open Software Foundation, Inc.
+
+ Permission is hereby granted to use, copy, modify and freely distribute
+ the software in this file and its documentation for any purpose without
+ fee, provided that the above copyright notice appears in all copies and
+ that both the copyright notice and this permission notice appear in
+ supporting documentation. Further, provided that the name of Open
+ Software Foundation, Inc. ("OSF") not be used in advertising or
+ publicity pertaining to distribution of the software without prior
+ written permission from OSF. OSF makes no representations about the
+ suitability of this software for any purpose. It is provided "as is"
+ without express or implied warranty.
+
+-->
+
+<!--
+
+ SDATA entity mappings to TeX instructions.
+ sgmls outputs sdata references in the form: \|[mdash ]\|
+
+ I found most of these from the LaTeX and TeX books. I found a few on
+ various places around the net.
+
+ J.Bowe, 1993
+
+-->
+
+<!-- Numeric and Special Graphic -->
+
+<map from="[half ]" to="$\scriptstyle{1\over2}$">
+<map from="[frac12]" to="$\frac{1}{2}$">
+<map from="[frac14]" to="$\frac{1}{4}$">
+<map from="[frac34]" to="$\frac{3}{4}$">
+<map from="[frac18]" to="$\frac{1}{8}$">
+<map from="[frac38]" to="$\frac{3}{8}$">
+<map from="[frac58]" to="$\frac{5}{8}$">
+<map from="[frac78]" to="$\frac{7}{8}$">
+
+<map from="[sup1 ]" to="$^1$">
+<map from="[sup2 ]" to="$^2$">
+<map from="[sup3 ]" to="$^3$">
+
+<map from="[plus ]" to="$+$">
+<map from="[plusmn]" to="$\pm$">
+<map from="[lt ]" to="$<$">
+<map from="[equals]" to="$=$">
+<map from="[gt ]" to="$>$">
+<map from="[divide]" to="$\div$">
+<map from="[times ]" to="$\times$">
+
+<map from="[curren]" to="[curren]">
+<map from="[pound ]" to="\pounds{}">
+<map from="[dollar]" to="\$">
+<map from="[cent ]" to="\hbox{\rm\rlap\/c}">
+<map from="[yen ]" to="[yen]">
+
+<map from="[num ]" to="\#{}">
+<map from="[percnt]" to="\%">
+<map from="[amp ]" to="\&">
+<map from="[ast ]" to="{*}">
+<map from="[commat]" to="@">
+<map from="[lsqb ]" to="$\lbrack$">
+<map from="[bsol ]" to="$\backslash$">
+<map from="[rsqb ]" to="$\rbrack$">
+<map from="[lcub ]" to="$\lbrace$">
+<map from="[horbar]" to="{--}">
+<map from="[verbar]" to="$|$">
+<map from="[rcub ]" to="$\rbrace$">
+<map from="[micro ]" to="$\mu$">
+<map from="[ohm ]" to="$\Omega$">
+<map from="[deg ]" to="$^\circ$">
+<map from="[ordm ]" to="[ordm]">
+<map from="[ordf ]" to="[ordf]">
+<map from="[sect ]" to="\S{}">
+<map from="[para ]" to="\P{}">
+<map from="[middot]" to="$\cdot$">
+<map from="[larr ]" to="$\leftarrow$">
+<map from="[rarr ]" to="$\rightarrow$">
+<map from="[uarr ]" to="$\uparrrow$">
+<map from="[darr ]" to="$\downarrrow$">
+<map from="[copy ]" to="\copyright{}">
+<map from="[reg ]" to="\ooalign{\hfil\raise.07ex\hbox{r}\hfil\crcr\mathhexbox20D}">
+<map from="[trade ]" to="{$\sp{TM}$}">
+<map from="[brvbar]" to="[brvbar]">
+<map from="[not ]" to="$\neg$">
+<map from="[sung ]" to="[sung]">
+
+<map from="[excl ]" to="!">
+<map from="[iexcl ]" to="{!`}">
+<map from="[quot ]" to='{\tt\char`\"}'>
+<map from="[apos ]" to="'">
+<map from="[lpar ]" to="(">
+<map from="[rpar ]" to=")">
+<map from="[comma ]" to=",">
+<map from="[lowbar]" to="\_">
+<map from="[hyphen]" to="-">
+<map from="[period]" to=".">
+<map from="[sol ]" to="\/">
+<map from="[colon ]" to=":">
+<map from="[semi ]" to=";">
+<map from="[quest ]" to="?">
+<map from="[iquest]" to="{?`}">
+<map from="[laquo ]" to="\laquo{}">
+<map from="[raquo ]" to="\raquo{}">
+<map from="[lsquo ]" to="{`}">
+<map from="[rsquo ]" to="{'}">
+<map from="[ldquo ]" to="{``}">
+<map from="[rdquo ]" to="{''}">
+<map from="[nbsp ]" to="~">
+<map from="[shy ]" to="\-">
+
+<!-- Publishing -->
+
+<map from="[emsp ]" to="\hskip1em">
+<map from="[ensp ]" to="\hskip0.5em">
+<map from="[emsp3 ]" to="\hskip0.33333em">
+<map from="[emsp4 ]" to="\hskip0.25em">
+<map from="[numsp ]" to="\hskip0.5em">
+<map from="[puncsp]" to="\hskip0.25em">
+<map from="[thinsp]" to="\hskip0.16667em">
+<map from="[hairsp]" to="\hskip0.08333em">
+<map from="[mdash ]" to="{---}">
+<map from="[ndash ]" to="{--}">
+<map from="[dash ]" to="{-}">
+<map from="[blank ]" to="\ ">
+<map from="[hellip]" to="$\ldots$">
+<map from="[nldr ]" to="[nldr]">
+<map from="[frac13]" to="$\frac{1}{3}$">
+<map from="[frac23]" to="$\frac{2}{3}$">
+<map from="[frac15]" to="$\frac{1}{5}$">
+<map from="[frac25]" to="$\frac{2}{5}$">
+<map from="[frac35]" to="$\frac{3}{5}$">
+<map from="[frac45]" to="$\frac{4}{5}$">
+<map from="[frac16]" to="$\frac{1}{6}$">
+<map from="[frac56]" to="$\frac{5}{6}$">
+
+<map from="[incar ]" to="[incar ]"> <!-- =in-care-of symbol -->
+<map from="[block ]" to="[block ]"> <!-- =full block -->
+<map from="[uhblk ]" to="[uhblk ]"> <!-- =upper half block -->
+<map from="[lhblk ]" to="[lhblk ]"> <!-- =lower half block -- >
+<map from="[blk14 ]" to="[blk14 ]"> <!-- =25% shaded block -- >
+<map from="[blk12 ]" to="[blk12 ]"> <!-- =50% shaded block -- >
+<map from="[blk34 ]" to="[blk34 ]"> <!-- =75% shaded block -- >
+<map from="[marker]" to="[marker]"> <!-- =histogram marker -- >
+<map from="[cir ]" to="$\bigcirc$">
+<map from="[squ ]" to="[squ ]"> <!-- =square, open -->
+<map from="[rect ]" to="[rect ]"> <!-- =rectangle, open -->
+<map from="[utri ]" to="$\bigtriangleup$">
+<map from="[dtri ]" to="$\bigtriangledown$">
+<map from="[star ]" to="[star ]"> <!-- =star, open -->
+<map from="[bull ]" to="$\bullet$">
+<map from="[squf ]" to="{\vrule height .9ex width .8ex depth -.1ex}">
+<map from="[utrif ]" to="[utrif ]"> <!-- /blacktriangle =up tri, filled -->
+<map from="[dtrif ]" to="[dtrif ]"> <!-- /blacktriangledown =dn tri, filled -->
+<map from="[ltrif ]" to="[ltrif ]"> <!-- /blacktriangleleft R: =l tri, filled -->
+<map from="[rtrif ]" to="[rtrif ]"> <!-- /blacktriangleright R: =r tri, filled -->
+<map from="[clubs ]" to="$\clubsuit$">
+<map from="[diams ]" to="$\diamondsuit$">
+<map from="[hearts]" to="$\heartsuit$">
+<map from="[spades]" to="$\spadesuit$">
+<map from="[malt ]" to="[malt ]"> <!-- /maltese =maltese cross -->
+<map from="[dagger]" to="$\daggar$">
+<map from="[Dagger]" to="$\ddaggar$">
+<map from="[check ]" to="$\surd$">
+<map from="[ballot]" to="$\times$">
+<map from="[sharp ]" to="$\sharp$">
+<map from="[flat ]" to="$\flat$">
+<map from="[male ]" to="$\bigcirc^{\mkern-5.5mu\raise.5ex\hbox{$\nearrow$}}$">
+<map from="[female]" to="$\bigcirc\mkern-15.64mu\lower1.75ex\hbox{+}$">
+<map from="[phone ]" to="[phone]">
+<map from="[telrec]" to="[telrec]"> <!-- =telephone recorder symbol -->
+<map from="[copysr]" to="[copysr]"> <!-- =sound recording copyright sign -->
+<map from="[caret ]" to="\char94">
+<map from="[lsquor]" to="\lsquor{}">
+<map from="[ldquor]" to="\lsquor{}">
+
+<map from="[fflig ]" to="{ff}">
+<map from="[filig ]" to="{fi}">
+<map from="[fjlig ]" to="{fj}">
+<map from="[ffilig]" to="{ffi}">
+<map from="[ffllig]" to="{ffl}">
+<map from="[fllig ]" to="{fl}">
+
+<map from="[mldr ]" to="[mldr]">
+<map from="[rdquor]" to="{''}">
+<map from="[rsquor]" to="{'}">
+<map from="[vellip]" to="$\vdots$">
+
+<map from="[hybull]" to="{\vrule height .6ex width .8ex depth -.4ex}">
+<map from="[loz ]" to="[loz ]"> <!-- /lozenge - lozenge or total mark -->
+<map from="[lozf ]" to="[lozf ]"> <!-- /blacklozenge - lozenge, filled -->
+<map from="[ltri ]" to="$\triangleleft$">
+<map from="[rtri ]" to="$\triangleright$">
+<map from="[starf ]" to="$\star$">
+
+<map from="[natur ]" to="$\natural$">
+<map from="[rx ]" to="[Rx]">
+<map from="[sext ]" to="[sext ]"> <!-- sextile (6-pointed star) -->
+
+<map from="[target]" to='$\mathchar"2208$'>
+<map from="[dlcrop]" to="[dlcrop]"> <!-- downward left crop mark -->
+<map from="[drcrop]" to="[drcrop]"> <!-- downward right crop mark -->
+<map from="[ulcrop]" to="[ulcrop]"> <!-- upward left crop mark -->
+<map from="[urcrop]" to="[urcrop]"> <!-- upward right crop mark -->
+
+<!-- Added Latin 1 -->
+
+<map from="[aacute]" to="\'{a}">
+<map from="[Aacute]" to="\'{A}">
+<map from="[acirc ]" to="\^{a}">
+<map from="[Acirc ]" to="\^{A}">
+<map from="[agrave]" to="\`{a}">
+<map from="[Agrave]" to="\`{A}">
+<map from="[aring ]" to="\aa{}">
+<map from="[Aring ]" to="\AA{}">
+<map from="[atilde]" to="\~{a}">
+<map from="[Atilde]" to="\~{A}">
+<map from="[auml ]" to='\"{a}'>
+<map from="[Auml ]" to='\"{A}'>
+<map from="[aelig ]" to="\ae{}">
+<map from="[AElig ]" to="\AE{}">
+<map from="[ccedil]" to="\c{c}">
+<map from="[Ccedil]" to="\c{C}">
+<map from="[eth ]" to="$\partial$">
+<map from="[ETH ]" to="\hbox{\rlap{\raise.3ex\hbox{--}}D}">
+<map from="[eacute]" to="\'{e}">
+<map from="[Eacute]" to="\'{E}">
+<map from="[ecirc ]" to="\^{e}">
+<map from="[Ecirc ]" to="\^{E}">
+<map from="[egrave]" to="\`{e}">
+<map from="[Egrave]" to="\`{E}">
+<map from="[euml ]" to='\"{e}'>
+<map from="[Euml ]" to='\"{E}'>
+<map from="[iacute]" to="\'{\i}">
+<map from="[Iacute]" to="\'{I}">
+<map from="[icirc ]" to="\^{\i}">
+<map from="[Icirc ]" to="\^{I}">
+<map from="[igrave]" to="\`{\i}">
+<map from="[Igrave]" to="\`{I}">
+<map from="[iuml ]" to='\"{\i}'>
+<map from="[Iuml ]" to='\"{I}'>
+<map from="[ntilde]" to="\~{n}">
+<map from="[Ntilde]" to="\~{N}">
+<map from="[oacute]" to="\'{o}">
+<map from="[Oacute]" to="\'{O}">
+<map from="[ocirc ]" to="\^{o}">
+<map from="[Ocirc ]" to="\^{O}">
+<map from="[ograve]" to="\`{o}">
+<map from="[Ograve]" to="\`{O}">
+<map from="[oslash]" to="\o{}">
+<map from="[Oslash]" to="\O{}">
+<map from="[otilde]" to="\~{o}">
+<map from="[Otilde]" to="\~{O}">
+<map from="[ouml ]" to='\"{o}'>
+<map from="[Ouml ]" to='\"{O}'>
+<map from="[szlig ]" to="\ss{}">
+<map from="[thorn ]" to="th">
+<map from="[THORN ]" to="Th">
+<map from="[uacute]" to="\'{u}">
+<map from="[Uacute]" to="\'{U}">
+<map from="[ucirc ]" to="\^{u}">
+<map from="[Ucirc ]" to="\^{U}">
+<map from="[ugrave]" to="\`{u}">
+<map from="[Ugrave]" to="\`{U}">
+<map from="[uuml ]" to='\"{u}'>
+<map from="[Uuml ]" to='\"{U}'>
+<map from="[yacute]" to="\'{y}">
+<map from="[Yacute]" to="\'{Y}">
+<map from="[yuml ]" to='\"{y}'>
+
+<!-- Added Latin 2 -->
+
+<map from="[abreve]" to="[abreve]"> <!-- =small a, breve -->
+<map from="[Abreve]" to="[Abreve]"> <!-- =capital A, breve -->
+<map from="[amacr ]" to="[amacr ]"> <!-- =small a, macron -->
+<map from="[Amacr ]" to="[Amacr ]"> <!-- =capital A, macron -->
+<map from="[aogon ]" to="[aogon ]"> <!-- =small a, ogonek -->
+<map from="[Aogon ]" to="[Aogon ]"> <!-- =capital A, ogonek -->
+<map from="[cacute]" to="[cacute]"> <!-- =small c, acute accent -->
+<map from="[Cacute]" to="[Cacute]"> <!-- =capital C, acute accent -->
+<map from="[ccaron]" to="[ccaron]"> <!-- =small c, caron -->
+<map from="[Ccaron]" to="[Ccaron]"> <!-- =capital C, caron -->
+<map from="[ccirc ]" to="[ccirc ]"> <!-- =small c, circumflex accent -->
+<map from="[Ccirc ]" to="[Ccirc ]"> <!-- =capital C, circumflex accent -->
+<map from="[cdot ]" to="[cdot ]"> <!-- =small c, dot above -->
+<map from="[Cdot ]" to="[Cdot ]"> <!-- =capital C, dot above -->
+<map from="[dcaron]" to="[dcaron]"> <!-- =small d, caron -->
+<map from="[Dcaron]" to="[Dcaron]"> <!-- =capital D, caron -->
+<map from="[dstrok]" to="[dstrok]"> <!-- =small d, stroke -->
+<map from="[Dstrok]" to="[Dstrok]"> <!-- =capital D, stroke -->
+<map from="[ecaron]" to="[ecaron]"> <!-- =small e, caron -->
+<map from="[Ecaron]" to="[Ecaron]"> <!-- =capital E, caron -->
+<map from="[edot ]" to="[edot ]"> <!-- =small e, dot above -->
+<map from="[Edot ]" to="[Edot ]"> <!-- =capital E, dot above -->
+<map from="[emacr ]" to="[emacr ]"> <!-- =small e, macron -->
+<map from="[Emacr ]" to="[Emacr ]"> <!-- =capital E, macron -->
+<map from="[eogon ]" to="[eogon ]"> <!-- =small e, ogonek -->
+<map from="[Eogon ]" to="[Eogon ]"> <!-- =capital E, ogonek -->
+<map from="[gacute]" to="[gacute]"> <!-- =small g, acute accent -->
+<map from="[gbreve]" to="[gbreve]"> <!-- =small g, breve -->
+<map from="[Gbreve]" to="[Gbreve]"> <!-- =capital G, breve -->
+<map from="[Gcedil]" to="[Gcedil]"> <!-- =capital G, cedilla -->
+<map from="[gcirc ]" to="[gcirc ]"> <!-- =small g, circumflex accent -->
+<map from="[Gcirc ]" to="[Gcirc ]"> <!-- =capital G, circumflex accent -->
+<map from="[gdot ]" to="[gdot ]"> <!-- =small g, dot above -->
+<map from="[Gdot ]" to="[Gdot ]"> <!-- =capital G, dot above -->
+<map from="[hcirc ]" to="[hcirc ]"> <!-- =small h, circumflex accent -->
+<map from="[Hcirc ]" to="[Hcirc ]"> <!-- =capital H, circumflex accent -->
+<map from="[hstrok]" to="[hstrok]"> <!-- =small h, stroke -->
+<map from="[Hstrok]" to="[Hstrok]"> <!-- =capital H, stroke -->
+<map from="[Idot ]" to="[Idot ]"> <!-- =capital I, dot above -->
+<map from="[Imacr ]" to="[Imacr ]"> <!-- =capital I, macron -->
+<map from="[imacr ]" to="[imacr ]"> <!-- =small i, macron -->
+<map from="[ijlig ]" to="[ijlig ]"> <!-- =small ij ligature -->
+<map from="[IJlig ]" to="[IJlig ]"> <!-- =capital IJ ligature -->
+<map from="[inodot]" to="[inodot]"> <!-- =small i without dot -->
+<map from="[iogon ]" to="[iogon ]"> <!-- =small i, ogonek -->
+<map from="[Iogon ]" to="[Iogon ]"> <!-- =capital I, ogonek -->
+<map from="[itilde]" to="[itilde]"> <!-- =small i, tilde -->
+<map from="[Itilde]" to="[Itilde]"> <!-- =capital I, tilde -->
+<map from="[jcirc ]" to="[jcirc ]"> <!-- =small j, circumflex accent -->
+<map from="[Jcirc ]" to="[Jcirc ]"> <!-- =capital J, circumflex accent -->
+<map from="[kcedil]" to="[kcedil]"> <!-- =small k, cedilla -->
+<map from="[Kcedil]" to="[Kcedil]"> <!-- =capital K, cedilla -->
+<map from="[kgreen]" to="[kgreen]"> <!-- =small k, Greenlandic -->
+<map from="[lacute]" to="[lacute]"> <!-- =small l, acute accent -->
+<map from="[Lacute]" to="[Lacute]"> <!-- =capital L, acute accent -->
+<map from="[lcaron]" to="[lcaron]"> <!-- =small l, caron -->
+<map from="[Lcaron]" to="[Lcaron]"> <!-- =capital L, caron -->
+<map from="[lcedil]" to="[lcedil]"> <!-- =small l, cedilla -->
+<map from="[Lcedil]" to="[Lcedil]"> <!-- =capital L, cedilla -->
+<map from="[lmidot]" to="[lmidot]"> <!-- =small l, middle dot -->
+<map from="[Lmidot]" to="[Lmidot]"> <!-- =capital L, middle dot -->
+<map from="[lstrok]" to="\l{}">
+<map from="[Lstrok]" to="\L{}">
+<map from="[nacute]" to="[nacute]"> <!-- =small n, acute accent -->
+<map from="[Nacute]" to="[Nacute]"> <!-- =capital N, acute accent -->
+<map from="[eng ]" to="[eng ]"> <!-- =small eng, Lapp -->
+<map from="[ENG ]" to="[ENG ]"> <!-- =capital ENG, Lapp -->
+<map from="[napos ]" to="[napos ]"> <!-- =small n, apostrophe -->
+<map from="[ncaron]" to="[ncaron]"> <!-- =small n, caron -->
+<map from="[Ncaron]" to="[Ncaron]"> <!-- =capital N, caron -->
+<map from="[ncedil]" to="[ncedil]"> <!-- =small n, cedilla -->
+<map from="[Ncedil]" to="[Ncedil]"> <!-- =capital N, cedilla -->
+<map from="[odblac]" to="[odblac]"> <!-- =small o, double acute accent -->
+<map from="[Odblac]" to="[Odblac]"> <!-- =capital O, double acute accent -->
+<map from="[Omacr ]" to="[Omacr ]"> <!-- =capital O, macron -->
+<map from="[omacr ]" to="[omacr ]"> <!-- =small o, macron -->
+<map from="[oelig ]" to="$\oe$">
+<map from="[OElig ]" to="$\OE$">
+<map from="[racute]" to="[racute]"> <!-- =small r, acute accent -->
+<map from="[Racute]" to="[Racute]"> <!-- =capital R, acute accent -->
+<map from="[rcaron]" to="[rcaron]"> <!-- =small r, caron -->
+<map from="[Rcaron]" to="[Rcaron]"> <!-- =capital R, caron -->
+<map from="[rcedil]" to="[rcedil]"> <!-- =small r, cedilla -->
+<map from="[Rcedil]" to="[Rcedil]"> <!-- =capital R, cedilla -->
+<map from="[sacute]" to="[sacute]"> <!-- =small s, acute accent -->
+<map from="[Sacute]" to="[Sacute]"> <!-- =capital S, acute accent -->
+<map from="[scaron]" to="[scaron]"> <!-- =small s, caron -->
+<map from="[Scaron]" to="[Scaron]"> <!-- =capital S, caron -->
+<map from="[scedil]" to="[scedil]"> <!-- =small s, cedilla -->
+<map from="[Scedil]" to="[Scedil]"> <!-- =capital S, cedilla -->
+<map from="[scirc ]" to="[scirc ]"> <!-- =small s, circumflex accent -->
+<map from="[Scirc ]" to="[Scirc ]"> <!-- =capital S, circumflex accent -->
+<map from="[tcaron]" to="[tcaron]"> <!-- =small t, caron -->
+<map from="[Tcaron]" to="[Tcaron]"> <!-- =capital T, caron -->
+<map from="[tcedil]" to="[tcedil]"> <!-- =small t, cedilla -->
+<map from="[Tcedil]" to="[Tcedil]"> <!-- =capital T, cedilla -->
+<map from="[tstrok]" to="[tstrok]"> <!-- =small t, stroke -->
+<map from="[Tstrok]" to="[Tstrok]"> <!-- =capital T, stroke -->
+<map from="[ubreve]" to="[ubreve]"> <!-- =small u, breve -->
+<map from="[Ubreve]" to="[Ubreve]"> <!-- =capital U, breve -->
+<map from="[udblac]" to="[udblac]"> <!-- =small u, double acute accent -->
+<map from="[Udblac]" to="[Udblac]"> <!-- =capital U, double acute accent -->
+<map from="[umacr ]" to="[umacr ]"> <!-- =small u, macron -->
+<map from="[Umacr ]" to="[Umacr ]"> <!-- =capital U, macron -->
+<map from="[uogon ]" to="[uogon ]"> <!-- =small u, ogonek -->
+<map from="[Uogon ]" to="[Uogon ]"> <!-- =capital U, ogonek -->
+<map from="[uring ]" to="[uring ]"> <!-- =small u, ring -->
+<map from="[Uring ]" to="[Uring ]"> <!-- =capital U, ring -->
+<map from="[utilde]" to="[utilde]"> <!-- =small u, tilde -->
+<map from="[Utilde]" to="[Utilde]"> <!-- =capital U, tilde -->
+<map from="[wcirc ]" to="[wcirc ]"> <!-- =small w, circumflex accent -->
+<map from="[Wcirc ]" to="[Wcirc ]"> <!-- =capital W, circumflex accent -->
+<map from="[ycirc ]" to="[ycirc ]"> <!-- =small y, circumflex accent -->
+<map from="[Ycirc ]" to="[Ycirc ]"> <!-- =capital Y, circumflex accent -->
+<map from="[Yuml ]" to="[Yuml ]"> <!-- =capital Y, dieresis or umlaut mark -->
+<map from="[zacute]" to="[zacute]"> <!-- =small z, acute accent -->
+<map from="[Zacute]" to="[Zacute]"> <!-- =capital Z, acute accent -->
+<map from="[zcaron]" to="[zcaron]"> <!-- =small z, caron -->
+<map from="[Zcaron]" to="[Zcaron]"> <!-- =capital Z, caron -->
+<map from="[zdot ]" to="[zdot ]"> <!-- =small z, dot above -->
+<map from="[Zdot ]" to="[Zdot ]"> <!-- =capital Z, dot above -->
+
+<!-- Greek Letters -->
+
+<map from="[agr ]" to="$\alpha$">
+<map from="[Agr ]" to="[Agr ]"> <!-- =capital Alpha, Greek -->
+<map from="[bgr ]" to="$\beta$">
+<map from="[Bgr ]" to="[Bgr ]"> <!-- =capital Beta, Greek -->
+<map from="[ggr ]" to="$\gamma$">
+<map from="[Ggr ]" to="$\Gamma$">
+<map from="[dgr ]" to="$\delta$">
+<map from="[Dgr ]" to="$\Delta$">
+<map from="[egr ]" to="$\epsilon$">
+<map from="[Egr ]" to="[Egr ]"> <!-- =capital Epsilon, Greek -->
+<map from="[zgr ]" to="$\zeta$">
+<map from="[Zgr ]" to="[Zgr ]"> <!-- =capital Zeta, Greek -->
+<map from="[eegr ]" to="$\eta$">
+<map from="[EEgr ]" to="[EEgr ]"> <!-- =capital Eta, Greek -->
+<map from="[thgr ]" to="$\theta$">
+<map from="[THgr ]" to="[THgr ]"> <!-- =capital Theta, Greek -->
+<map from="[igr ]" to="$\iota$">
+<map from="[Igr ]" to="[Igr ]"> <!-- =capital Iota, Greek -->
+<map from="[kgr ]" to="$\kappa$">
+<map from="[Kgr ]" to="[Kgr ]"> <!-- =capital Kappa, Greek -->
+<map from="[lgr ]" to="$\lamda$">
+<map from="[Lgr ]" to="$\Lambda$">
+<map from="[mgr ]" to="$\mu$">
+<map from="[Mgr ]" to="[Mgr ]"> <!-- =capital Mu, Greek -->
+<map from="[ngr ]" to="$\nu$">
+<map from="[Ngr ]" to="[Ngr ]"> <!-- =capital Nu, Greek -->
+<map from="[xgr ]" to="$\xi$">
+<map from="[Xgr ]" to="$\Xi$">
+<map from="[ogr ]" to="$o$">
+<map from="[Ogr ]" to="[Ogr ]"> <!-- =capital Omicron, Greek -->
+<map from="[pgr ]" to="$\pi$">
+<map from="[Pgr ]" to="$\Pi$">
+<map from="[rgr ]" to="$\rho$">
+<map from="[Rgr ]" to="[Rgr ]"> <!-- =capital Rho, Greek -->
+<map from="[sgr ]" to="$\sigma$">
+<map from="[Sgr ]" to="$\Sigma$">
+<map from="[sfgr ]" to="[sfgr ]"> <!-- =final small sigma, Greek -->
+<map from="[tgr ]" to="$\tau$">
+<map from="[Tgr ]" to="[Tgr ]"> <!-- =capital Tau, Greek -->
+<map from="[ugr ]" to="$\upsilon$">
+<map from="[Ugr ]" to="$\Upsilon$">
+<map from="[phgr ]" to="$\phi$">
+<map from="[PHgr ]" to="$\Phi$">
+<map from="[khgr ]" to="$\chi$">
+<map from="[KHgr ]" to="[KHgr ]"> <!-- =capital Chi, Greek -->
+<map from="[psgr ]" to="$\psi$">
+<map from="[PSgr ]" to="$\Psi$">
+<map from="[ohgr ]" to="$\omega$">
+<map from="[OHgr ]" to="$\Omega$">
+
+<!-- Greek Symbols -->
+
+<map from="[alpha ]" to="$\alpha$">
+<map from="[beta ]" to="$\beta$">
+<map from="[gamma ]" to="$\gamma$">
+<map from="[Gamma ]" to="$\Gamma$">
+<map from="[gammad]" to="[gammad]"> <!-- /digamma -->
+<map from="[delta ]" to="$\delta$">
+<map from="[Delta ]" to="$\Delta$">
+<map from="[epsi ]" to="$\epsilon$">
+<map from="[epsiv ]" to="$\varepsilon$">
+<map from="[epsis ]" to="$\epsilon$">
+<map from="[zeta ]" to="$\zeta$">
+<map from="[eta ]" to="$\eta$">
+<map from="[thetas]" to="$\theta$">
+<map from="[Theta ]" to="$\Theta$">
+<map from="[thetav]" to="$\vartheta$">
+<map from="[iota ]" to="$\iota$">
+<map from="[kappa ]" to="$\kappa$">
+<map from="[kappav]" to="[kappav]"> <!-- /varkappa -->
+<map from="[lambda]" to="$\lamda$">
+<map from="[Lambda]" to="$\Lambda$">
+<map from="[mu ]" to="$\mu$">
+<map from="[nu ]" to="$\nu$">
+<map from="[xi ]" to="$\zi$">
+<map from="[Xi ]" to="$\Xi$">
+<map from="[pi ]" to="$\pi$">
+<map from="[piv ]" to="$\varpi$">
+<map from="[Pi ]" to="$\Pi$">
+<map from="[rho ]" to="$\rho$">
+<map from="[rhov ]" to="$\varrho$">
+<map from="[sigma ]" to="$\sigma$">
+<map from="[Sigma ]" to="$\Sigma$">
+<map from="[sigmav]" to="$\varsigma$">
+<map from="[tau ]" to="$\tau$">
+<map from="[upsi ]" to="$\upsilon$">
+<map from="[Upsi ]" to="$\Upsilon$">
+<map from="[phis ]" to="$\phi$">
+<map from="[Phi ]" to="$\phi$">
+<map from="[phiv ]" to="$\varphi$">
+<map from="[chi ]" to="$\chi$">
+<map from="[psi ]" to="$\psi$">
+<map from="[Psi ]" to="$\Psi$">
+<map from="[omega ]" to="$\omega$">
+<map from="[Omega ]" to="$\Omega$">
+
+<!-- General Technical -->
+
+<map from="[aleph ]" to="$\aleph$">
+<map from="[and ]" to="$\wedge$">
+<map from="[ang90 ]" to="[ang90 ]"> <!-- =right (90 degree) angle -->
+<map from="[angsph]" to="[angsph]"> <!-- /sphericalangle =angle-spherical -->
+<map from="[ap ]" to="$\approx$">
+<map from="[becaus]" to="[becaus]"> <!-- /because R: =because -->
+<map from="[bottom]" to="[bottom]"> <!-- /bot B: =perpendicular -->
+<map from="[cap ]" to="$\cap$">
+<map from="[cong ]" to="[cong ]"> <!-- /cong R: =congruent with -->
+<map from="[conint]" to="[conint]"> <!-- /oint L: =contour integral operator -->
+<map from="[cup ]" to="$\cup$">
+<map from="[equiv ]" to="$\equiv$">
+<map from="[exist ]" to="$\exists$">
+<map from="[forall]" to="$\forall$">
+<map from="[fnof ]" to="[fnof ]"> <!-- =function of (italic small f) -->
+<map from="[ge ]" to="$\ge$">
+<map from="[iff ]" to="$\iff$">
+<map from="[infin ]" to="$\infty$">
+<map from="[int ]" to="$\int$">
+<map from="[isin ]" to="$\in$">
+<map from="[lang ]" to="$\langle$">
+<map from="[lArr ]" to="$\Leftarrow$">
+<map from="[le ]" to="$\le$">
+<map from="[minus ]" to="$\-$">
+<map from="[mnplus]" to="$\mp$">
+<map from="[nabla ]" to="$\nabla$">
+<map from="[ne ]" to="$\ne$">
+<map from="[ni ]" to="$\ni$">
+<map from="[or ]" to="$\vee$">
+<map from="[par ]" to="$\vert$">
+<map from="[part ]" to="$\partial$">
+<map from="[permil]" to="[permil]"> <!-- =per thousand -->
+<map from="[perp ]" to="$\perp$">
+<map from="[prime ]" to="\prime{}">
+<map from="[Prime ]" to="[Prime ]"> <!-- =double prime or second -->
+<map from="[prop ]" to="[prop ]"> <!-- /propto R: =is proportional to -->
+<map from="[radic ]" to="[radic ]"> <!-- /surd =radical -->
+<map from="[rang ]" to="[rang ]"> <!-- /rangle C: =right angle bracket -->
+<map from="[rArr ]" to="$\Rightarrow$">
+<map from="[sim ]" to="$\sim$">
+<map from="[sime ]" to="$\simeq$">
+<map from="[square]" to="[square]"> <!-- /square B: =square -->
+<map from="[sub ]" to="$\subset$">
+<map from="[sube ]" to="$\subseteq$">
+<map from="[sup ]" to="$\supset$">
+<map from="[supe ]" to="$\supseteq$">
+<map from="[there4]" to="[there4]"> <!-- /therefore R: =therefore -->
+<map from="[Verbar]" to="$\|$">
+<map from="[angst ]" to="[angst ]"> <!-- Angstrom =capital A, ring -->
+<map from="[bernou]" to="[bernou]"> <!-- Bernoulli function (script capital B) -->
+<map from="[compfn]" to="[compfn]"> <!-- B: composite function (small circle) -->
+<map from="[Dot ]" to="[Dot ]"> <!-- =dieresis or umlaut mark -->
+<map from="[DotDot]" to="[DotDot]"> <!-- four dots above -->
+<map from="[hamilt]" to="[hamilt]"> <!-- Hamiltonian (script capital H) -->
+<map from="[lagran]" to="[lagran]"> <!-- Lagrangian (script capital L) -->
+<map from="[lowast]" to="[lowast]"> <!-- low asterisk -->
+<map from="[notin ]" to="[notin ]"> <!-- N: negated set membership -->
+<map from="[order ]" to="[order ]"> <!-- order of (script small o) -->
+<map from="[phmmat]" to="[phmmat]"> <!-- physics M-matrix (script capital M) -->
+<map from="[tdot ]" to="[tdot ]"> <!-- three dots above -->
+<map from="[tprime]" to="[tprime]"> <!-- triple prime -->
+<map from="[wedgeq]" to="[wedgeq]"> <!-- R: corresponds to (wedge, equals) -->
+
+<!-- Diacritical Marks -->
+
+<map from="[acute ]" to="\'{}">
+<map from="[breve ]" to="\u{}">
+<map from="[caron ]" to="[caron ]"> <!-- =caron -- >
+<map from="[cedil ]" to="\c{}">
+<map from="[circ ]" to="\^{}">
+<map from="[dblac ]" to="[dblac ]"> <!-- =double acute accent -->
+<map from="[die ]" to='\"{}'>
+<map from="[dot ]" to="\.{}">
+<map from="[grave ]" to="\`{}">
+<map from="[macr ]" to="\={}">
+<map from="[ogon ]" to="[ogon ]"> <!-- =ogonek -->
+<map from="[ring ]" to="\accent23">
+<map from="[tilde ]" to="\~{}">
+<map from="[uml ]" to='\"{}'>
diff --git a/share/sgml/transpec/linuxdoc-html.ts b/share/sgml/transpec/linuxdoc-html.ts
new file mode 100644
index 0000000..ba4ca01
--- /dev/null
+++ b/share/sgml/transpec/linuxdoc-html.ts
@@ -0,0 +1,1071 @@
+<!--
+
+ $Id$
+
+ Copyright (C) 1996
+ John R. Fieber. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED BY JOHN R. FIEBER AND CONTRIBUTORS ``AS IS'' AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL JOHN R. FIEBER OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+-->
+
+<!--
+
+ This is an instant(1) translation specification to turn an
+ SGML document marked up according to the linuxdoc DTD into
+ HTML. The output is intended to be post-processed by
+ sgmlfmt(1).
+
+-->
+
+<!DOCTYPE transpec PUBLIC "-//FreeBSD//DTD transpec//EN" [
+<!ENTITY lt CDATA "<">
+<!ENTITY gt CDATA ">">
+<!--
+<!ENTITY % ISOnum PUBLIC
+ "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN">
+ %ISOnum;
+-->
+
+<!ENTITY cmap SYSTEM "/usr/share/sgml/transpec/html.cmap">
+<!ENTITY sdata SYSTEM "/usr/share/sgml/transpec/html.sdata">
+
+]>
+
+<transpec>
+
+<cmap>
+&cmap;
+</cmap>
+
+<smap>
+&sdata;
+</smap>
+
+<rule>
+<match>
+<gi>LINUXDOC
+<action>
+<start>
+</rule>
+
+<rule>
+<match>
+ <gi>ARTICLE
+<action>
+ <start>
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>REPORT
+<action>
+ <start>
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>BOOK
+<action>
+ <start>
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>NOTES
+<action>
+ <start>
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>MANPAGE
+<action>
+ <start>
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>TITLEPAG
+<action>
+ <start>
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>TITLE
+<action>
+ <start>^&lt;@@title&gt;
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>SUBTITLE
+<action>
+ <start>^&lt;h2&gt;
+ <end>&lt;/h2&gt;^
+</rule>
+
+<rule>
+<match>
+<gi>DATE
+<action>
+<start>
+</rule>
+
+<rule>
+<match>
+ <gi>AUTHOR
+<action>
+ <start>
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>NAME
+<action>
+ <start>^&lt;h2&gt;
+ <end>&lt;/h2&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>AND
+<action>
+ <start>and
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>THANKS
+<action>
+ <start>^Thanks
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>INST
+<action>
+ <start>^&lt;h3&gt;
+ <end>&lt;/h3&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>NEWLINE
+<action>
+ <start>&lt;br&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>LABEL
+<action>
+ <start>^&lt;@@label&gt;${ID}^
+</rule>
+
+<rule>
+<match>
+ <gi>HEADER
+<action>
+ <start>
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>LHEAD
+<action>
+ <start>^&lt;!--
+ <end>--&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>RHEAD
+<action>
+ <start>^&lt;!--
+ <end>--&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>COMMENT
+<action>
+ <start>^&lt;h4&gt;Comment&lt;/h4&gt;^
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>ABSTRACT
+<action>
+ <start>^&lt;p&gt;&lt;hr&gt;&lt;em&gt;
+ <end>&lt;/em&gt;&lt;hr&gt;&lt;/p&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>APPENDIX
+<action>
+ <start>^&lt;h2&gt;Appendix&lt;/h2&gt;^
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>TOC
+<action>
+ <start>
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>LOF
+<action>
+ <start>
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>LOT
+<action>
+ <start>
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>PART
+<action>
+ <start>^&lt;@@part&gt;
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>CHAPT
+<action>
+ <start>^&lt;@@sect&gt;
+ <end>^&lt;@@endsect&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>SECT
+<action>
+ <start>^&lt;@@sect&gt;
+ <end>^&lt;@@endsect&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>SECT1
+<action>
+ <start>^&lt;@@sect&gt;
+ <end>^&lt;@@endsect&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>SECT2
+<action>
+ <start>^&lt;@@sect&gt;
+ <end>^&lt;@@endsect&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>SECT3
+<action>
+ <start>^&lt;@@sect&gt;
+ <end>^&lt;@@endsect&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>SECT4
+<action>
+ <start>^&lt;@@sect&gt;
+ <end>^&lt;@@endsect&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>HEADING
+<action>
+ <start>^&lt;@@head&gt;
+ <end>^&lt;@@endhead&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>P
+<action>
+ <start>&lt;p&gt;
+ <end>&lt;/p&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>ITEMIZE
+<action>
+ <start>^&lt;ul&gt;^
+ <end>^&lt;/ul&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>ENUM
+<action>
+ <start>^&lt;ol&gt;^
+ <end>^&lt;/ol&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>DESCRIP
+<action>
+ <start>^&lt;dl&gt;^
+ <end>^&lt;/dl&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>ITEM
+<action>
+ <start>^&lt;li&gt;
+ <end>&lt;/li&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>TAG
+<action>
+ <start>&lt;dt&gt;&lt;b&gt;
+ <end>&lt;/b&gt;&lt;dd&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>CITE
+<action>
+ <start>[&lt;i&gt;${ID}&lt;/i&gt;]
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>NCITE
+<action>
+ <start>[&lt;i&gt;${NOTE} (${ID})&lt;/i&gt;]
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>FOOTNOTE
+<action>
+ <start>^&lt;sl&gt;
+ <end>&lt;/sl&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>SQ
+<action>
+ <start>"
+ <end>"
+</rule>
+
+<rule>
+<match>
+ <gi>LQ
+<action>
+ <start>^&lt;LQ&gt;^
+ <end>^&lt;/LQ&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>EM
+<action>
+ <start>&lt;em&gt;
+ <end>&lt;/em&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>BF
+<action>
+ <start>&lt;b&gt;
+ <end>&lt;/b&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>IT
+<action>
+ <start>&lt;i&gt;
+ <end>&lt;/i&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>SF
+<action>
+ <start>&lt;SF&gt;
+ <end>&lt;/SF&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>SL
+<action>
+ <start>&lt;i&gt;
+ <end>&lt;/i&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>TT
+<action>
+ <start>&lt;code&gt;
+ <end>&lt;/code&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>URL HTMLURL
+ <attval>NAME .
+<action>
+ <start>&lt;A href="${URL}">${NAME}&lt;/A>
+</rule>
+
+<rule>
+<match>
+ <gi>URL HTMLURL
+<action>
+ <start>&lt;A href="${URL}">${URL}&lt;/A>
+</rule>
+
+<rule>
+<match>
+ <gi>REF
+ <attval>NAME .
+<action>
+ <start>
+^&lt;@@ref&gt;${ID}
+${NAME}&lt;/A&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>REF
+<action>
+ <start>
+^&lt;@@ref&gt;${ID}
+${ID}&lt;/A&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>HREF
+<action>
+ <start>^&lt;@@ref&gt;${ID}^
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>PAGEREF
+<action>
+ <start>^&lt;@@ref&gt;${ID}^
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>X
+<action>
+ <start>
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>MC
+<action>
+ <start>&lt;MC&gt;
+ <end>&lt;/MC&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>BIBLIO
+<action>
+ <start>^&lt;BIBLIO STYLE="${STYLE}" FILES="${FILES}"&gt;^
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>CODE
+<action>
+ <start>^&lt;hr&gt;&lt;pre&gt;^
+ <end>^&lt;/pre&gt;&lt;hr&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>VERB
+<action>
+ <start>^&lt;pre&gt;^
+ <end>^&lt;/pre&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>TSCREEN
+<action>
+ <start>^&lt;blockquote&gt;&lt;code&gt;^
+ <end>^&lt;/code&gt;&lt;/blockquote&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>QUOTE
+<action>
+ <start>^&lt;blockquote&gt;^
+ <end>^&lt;/blockquote&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>DEF
+<action>
+ <start>^&lt;DEF&gt;
+ <end>^&lt;/DEF&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>PROP
+<action>
+ <start>^&lt;PROP&gt;
+ <end>^&lt;/PROP&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>LEMMA
+<action>
+ <start>^&lt;LEMMA&gt;
+ <end>^&lt;/LEMMA&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>COROLL
+<action>
+ <start>^&lt;COROLL&gt;
+ <end>^&lt;/COROLL&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>PROOF
+<action>
+ <start>^&lt;PROOF&gt;
+ <end>^&lt;/PROOF&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>THEOREM
+<action>
+ <start>^&lt;THEOREM&gt;
+ <end>^&lt;/THEOREM&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>THTAG
+<action>
+ <start>&lt;THTAG&gt;
+ <end>&lt;/THTAG&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>F
+<action>
+ <start>&lt;F&gt;
+ <end>&lt;/F&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>DM
+<action>
+ <start>^&lt;DM&gt;^
+ <end>^&lt;/DM&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>EQ
+<action>
+ <start>^&lt;EQ&gt;^
+ <end>^&lt;/EQ&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>FR
+<action>
+ <start>&lt;FR&gt;
+ <end>&lt;/FR&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>NU
+<action>
+ <start>&lt;NU&gt;
+ <end>&lt;/NU&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>DE
+<action>
+ <start>&lt;DE&gt;
+ <end>&lt;/DE&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>LIM
+<action>
+ <start>&lt;LIM&gt;
+ <end>&lt;/LIM&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>OP
+<action>
+ <start>&lt;OP&gt;
+ <end>&lt;/OP&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>LL
+<action>
+ <start>&lt;LL&gt;
+ <end>&lt;/LL&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>UL
+<action>
+ <start>&lt;UL&gt;
+ <end>&lt;/UL&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>OPD
+<action>
+ <start>&lt;OPD&gt;
+ <end>&lt;/OPD&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>PR
+<action>
+ <start>&lt;PR&gt;
+ <end>&lt;/PR&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>IN
+<action>
+ <start>&lt;INT&gt;
+ <end>&lt;/INT&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>SUM
+<action>
+ <start>&lt;SUM&gt;
+ <end>&lt;/SUM&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>ROOT
+<action>
+ <start>&lt;ROOT&gt;
+ <end>&lt;/ROOT&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>AR
+<action>
+ <start>&lt;AR&gt;
+ <end>&lt;/AR&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>ARR
+<action>
+ <start>&lt;ARR&gt;
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>ARC
+<action>
+ <start>&lt;ARC&gt;
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>SUP
+<action>
+ <start>&lt;SUP&gt;
+ <end>&lt;/SUP&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>INF
+<action>
+ <start>&lt;INF&gt;
+ <end>&lt;/INF&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>UNL
+<action>
+ <start>&lt;UNL&gt;
+ <end>&lt;/UNL&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>OVL
+<action>
+ <start>&lt;OVL&gt;
+ <end>&lt;/OVL&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>RF
+<action>
+ <start>&lt;RF&gt;
+ <end>&lt;/RF&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>V
+<action>
+ <start>&lt;V&gt;
+ <end>&lt;/V&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>FI
+<action>
+ <start>&lt;FI&gt;
+ <end>&lt;/FI&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>PHR
+<action>
+ <start>&lt;PHR&gt;
+ <end>&lt;/PHR&gt;
+</rule>
+
+<rule>
+<match>
+ <gi>TU
+<action>
+ <start>&lt;TU&gt;
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>FIGURE
+<action>
+ <start>^&lt;FIGURE&gt;^
+ <end>^&lt;/FIGURE&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>EPS
+<action>
+ <start>^&lt;EPS FILE="${FILE}"&gt;^
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>PH
+<action>
+ <start>^&lt;PH VSPACE="${VSPACE}"&gt;^
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>CAPTION
+<action>
+ <start>^&lt;CAPTION&gt;
+ <end>&lt;/CAPTION&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>TABLE
+<action>
+ <start>^&lt;TABLE&gt;^
+ <end>^&lt;/TABLE&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>TABULAR
+<action>
+ <start>^&lt;br&gt;^
+ <end>^
+</rule>
+
+<rule>
+<match>
+ <gi>ROWSEP
+<action>
+ <start>&lt;br&gt;^
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>COLSEP
+<action>
+ <start>
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>HLINE
+<action>
+ <start>^&lt;hr&gt;^
+ <end>
+</rule>
+
+<rule>
+<match>
+ <gi>SLIDES
+<action>
+ <start>^&lt;SLIDES&gt;^
+ <end>^&lt;/SLIDES&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>SLIDE
+<action>
+ <start>^&lt;SLIDE&gt;^
+ <end>^&lt;/SLIDE&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>LETTER
+<action>
+ <start>^&lt;LETTER OPTS="${OPTS}"&gt;^
+ <end>^&lt;/LETTER&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>TELEFAX
+<action>
+ <start>^&lt;TELEFAX OPTS="${OPTS}"&gt;^
+ <end>^&lt;/TELEFAX&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>OPENING
+<action>
+ <start>^&lt;OPENING&gt;
+ <end>&lt;/OPENING&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>FROM
+<action>
+ <start>^&lt;FROM&gt;
+ <end>^&lt;/FROM&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>TO
+<action>
+ <start>^&lt;TO&gt;
+
+ <end>^&lt;/TO&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>ADDRESS
+<action>
+ <start>^&lt;ADDRESS&gt;^
+ <end>^&lt;/ADDRESS&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>EMAIL
+<action>
+ <start>^&lt;@@email&gt;
+ <end>&lt;@@endemail&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>PHONE
+<action>
+ <start>^&lt;PHONE&gt;
+ <end>&lt;/PHONE&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>FAX
+<action>
+ <start>^&lt;FAX&gt;
+ <end>&lt;/FAX&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>SUBJECT
+<action>
+ <start>^&lt;SUBJECT&gt;
+ <end>&lt;/SUBJECT&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>SREF
+<action>
+ <start>^&lt;SREF&gt;
+ <end>&lt;/SREF&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>RREF
+<action>
+ <start>^&lt;RREF&gt;
+ <end>&lt;/RREF&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>RDATE
+<action>
+ <start>^&lt;RDATE&gt;
+ <end>&lt;/RDATE&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>CLOSING
+<action>
+ <start>^&lt;CLOSING&gt;
+ <end>&lt;/CLOSING&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>CC
+<action>
+ <start>^&lt;CC&gt;
+ <end>&lt;/CC&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>ENCL
+<action>
+ <start>^&lt;ENCL&gt;
+ <end>&lt;/ENCL&gt;^
+</rule>
+
+<rule>
+<match>
+ <gi>PS
+<action>
+ <start>^&lt;PS&gt;^
+ <end>^&lt;/PS&gt;^
+
+
+</transpec>
diff --git a/share/sgml/transpec/linuxdoc-latex.ts b/share/sgml/transpec/linuxdoc-latex.ts
new file mode 100644
index 0000000..eabbe52
--- /dev/null
+++ b/share/sgml/transpec/linuxdoc-latex.ts
@@ -0,0 +1,988 @@
+<!--
+
+ $Id$
+
+ Copyright (C) 1996
+ John R. Fieber. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED BY JOHN R. FIEBER AND CONTRIBUTORS ``AS IS'' AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL JOHN R. FIEBER OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+-->
+
+<!DOCTYPE transpec PUBLIC "-//FreeBSD//DTD transpec//EN" [
+
+<!ENTITY lt CDATA "<">
+<!ENTITY gt CDATA ">">
+<!ENTITY amp CDATA "&">
+
+<!--<!ENTITY % ISOlat1 PUBLIC "ISO 8879:1986//ENTITIES Added Latin 1//EN">
+%ISOlat1;-->
+
+<!ENTITY texstf
+"\def\obeyspaces{\catcode`\ =\active}
+{\obeyspaces\global\let =\space}
+{\catcode`\^^M=\active %
+\gdef\obeylines{\catcode`\^^M=\active \let^^M=\par}%
+\global\let^^M=\par} %">
+
+<!ENTITY cmap SYSTEM "/usr/share/sgml/transpec/latex.cmap">
+<!ENTITY sdata SYSTEM "/usr/share/sgml/transpec/latex.sdata">
+
+]>
+
+<transpec>
+
+<cmap>
+&cmap;
+</cmap>
+
+<smap>
+&sdata;
+</smap>
+
+<rule>
+<match>
+<gi>LINUXDOC
+<action>
+<start>
+% Generated ${date} using ${transpec}
+% by ${user}@${host}
+</rule>
+
+<rule>
+<match>
+<gi>ARTICLE
+<attval>OPTS .
+<action>
+<start>^\documentclass{${_gi L}}
+\usepackage{${OPTS}}
+%\usepackage{linuxdoc}
+&texstf;^</start>
+<end>^\end{document}^</end>
+</rule>
+
+<rule>
+<match>
+<gi>ARTICLE
+<action>
+<start>^\documentclass{${_gi L}}
+\usepackage{linuxdoc}
+&texstf;^</start>
+<end>^\end{document}^</end>
+</rule>
+
+<rule>
+<match>
+<gi>REPORT BOOK
+<attval>OPTS .
+<action>
+<start>^\documentclass{${_gi L}}
+\usepackage{${OPTS}}
+\usepackage{linuxdoc}
+\pagestyle{headings}
+&texstf;^</start>
+<end>^\end{document}^</end>
+</rule>
+
+<rule>
+<match>
+<gi>REPORT BOOK
+<action>
+<start>^\documentclass{${_gi L}}
+\usepackage{linuxdoc}
+\pagestyle{headings}
+&texstf;^</start>
+<end>^\end{document}^</end>
+</rule>
+
+<rule>
+<match>
+<gi>MANPAGE
+<action>
+<start>
+<end>
+</rule>
+
+<rule>
+<match>
+<gi>TITLEPAG
+<action>
+<end>^\begin{document}
+\maketitle^<end>
+</rule>
+
+<rule>
+<match>
+<gi>TITLE
+<action>
+<start>^\title{</start>
+<end>}^</end>
+</rule>
+
+<rule>
+<match>
+<gi>SUBTITLE
+<action>
+<start>^{\large </start>
+<end>}^</end>
+</rule>
+
+<rule>
+<match>
+<gi>AUTHOR
+<action>
+<start>^\author{</start>
+<end>}^</end>
+</rule>
+
+<rule>
+<match>
+<gi>NAME
+<action>
+<start>
+<end>
+</rule>
+
+<rule>
+<match>
+<gi>AND
+<action>
+<start>\and ^</start>
+</rule>
+
+<rule>
+<match>
+<gi>THANKS
+<action>
+<start>\thanks{
+<end>}
+</rule>
+
+<rule>
+<match>
+<gi>INST
+<action>
+<start>\\
+\\^</start>
+</rule>
+
+<rule>
+<match>
+<gi>DATE
+<action>
+<start>^\date{</start>
+<end>}^</end>
+</rule>
+
+<rule>
+<match>
+<gi>NEWLINE
+<action>
+<start>\\
+<end>
+</rule>
+
+<rule>
+<match>
+<gi>LABEL
+<action>
+<start>\label{${ID}}
+</rule>
+
+<rule>
+<match>
+<gi>HEADER
+<action>
+<start>^\markboth</start>
+</rule>
+
+<rule>
+<match>
+<gi>LHEAD
+<action>
+<start>{
+<end>}
+</rule>
+
+<rule>
+<match>
+<gi>RHEAD
+<action>
+<start>{</start>
+<end>}^</end>
+</rule>
+
+<rule>
+<match>
+<gi>COMMENT
+<action>
+<start>{\tt
+<end>}
+</rule>
+
+<rule>
+<match>
+<gi>ABSTRACT
+<action>
+<start>^\abstract{</start>
+<end>}^</end>
+</rule>
+
+<rule>
+<match>
+<gi>APPENDIX
+<action>
+<start>^\appendix^</start>
+</rule>
+
+<rule>
+<match>
+<gi>TOC
+<action>
+<start>^\tableofcontents^</start>
+</rule>
+
+<rule>
+<match>
+<gi>LOF
+<action>
+<start>^\listoffigures^</start>
+</rule>
+
+<rule>
+<match>
+<gi>LOT
+<action>
+<start>^\listoftables^</start>
+</rule>
+
+<rule>
+<match>
+<gi>PART
+<action>
+<start>^\part</start>
+</rule>
+
+<rule>
+<match>
+<gi>CHAPT
+<action>
+<start>^\chapter</start>
+</rule>
+
+<rule>
+<match>
+<gi>SECT
+<action>
+<start>^\section</start>
+</rule>
+
+<rule>
+<match>
+<gi>SECT1
+<action>
+<start>^\subsection</start>
+</rule>
+
+<rule>
+<match>
+<gi>SECT2
+<action>
+<start>^\subsubsection</start>
+</rule>
+
+<rule>
+<match>
+<gi>SECT3
+<action>
+<start>^\paragraph</start>
+</rule>
+
+<rule>
+<match>
+<gi>SECT4
+<action>
+<start>^\subparagraph</start>
+<end>
+</rule>
+
+<rule>
+<match>
+<gi>HEADING
+<action>
+<start>{
+<end>}
+
+</end>
+</rule>
+
+<rule>
+<match>
+<gi>P
+<action>
+<end>^
+
+^</end>
+</rule>
+
+<rule>
+<match>
+<gi>ITEMIZE
+<action>
+<start>^\begin{itemize}^</start>
+<end>^\end{itemize}^</end>
+</rule>
+
+<rule>
+<match>
+<gi>ENUM
+<action>
+<start>^\begin{enumerate}^</start>
+<end>^\end{enumerate}^</end>
+</rule>
+
+<rule>
+<match>
+<gi>LIST
+<action>
+<start>^\begin{list}{}{}^</start>
+<end>^\end{list}^</end>
+</rule>
+
+<rule>
+<match>
+<gi>DESCRIP
+<action>
+<start>^\begin{description}^</start>
+<end>^\end{description}^</end>
+</rule>
+
+<rule>
+<match>
+<gi>ITEM
+<action>
+<start>^\item </start>
+</rule>
+
+<rule>
+<match>
+<gi>TAG
+<action>
+<start>^\item\[</start>
+<end>\] \mbox{}</end>
+</rule>
+
+<rule>
+<match>
+<gi>CITE
+<action>
+<start>\cite{${ID}
+<end>}
+</rule>
+
+<rule>
+<match>
+<gi>NCITE
+<action>
+<start>\cite\[${NOTE}\]{${ID}
+<end>}
+</rule>
+
+<rule>
+<match>
+<gi>IDX
+<action>
+<start>\idx{
+<end>}
+</rule>
+
+<rule>
+<match>
+<gi>CDX
+<action>
+<start>\cdx{
+<end>}
+</rule>
+
+<rule>
+<match>
+<gi>FOOTNOTE
+<action>
+<start>\footnote{
+<end>}
+</rule>
+
+<rule>
+<match>
+<gi>SQ
+<action>
+<start>``
+<end>''
+</rule>
+
+<rule>
+<match>
+<gi>LQ
+<action>
+<start>^\begin{quotation}^</start>
+<end>^\end{quotation}^</end>
+</rule>
+
+<rule>
+<match>
+<gi>EM
+<action>
+<start>\emph{
+<end>}
+</rule>
+
+<rule>
+<match>
+<gi>BF
+<action>
+<start>{\bf
+<end>}
+</rule>
+
+<rule>
+<match>
+<gi>IT
+<action>
+<start>\textit{
+<end>}
+</rule>
+
+<rule>
+<match>
+<gi>SF
+<action>
+<start>\textsf{
+<end>}
+</rule>
+
+<rule>
+<match>
+<gi>SL
+<action>
+<start>\textsl{
+<end>}
+</rule>
+
+<rule>
+<match>
+<gi>RM
+<action>
+<start>\textrm{
+<end>}
+</rule>
+
+<rule>
+<match>
+<gi>TT
+<action>
+<start>\texttt{
+<end>}
+</rule>
+
+<rule>
+<match>
+<gi>CPARAM
+<action>
+<start>{\rm $\langle${\sl </start>
+<end>}$\rangle$}</end>
+</rule>
+
+<rule>
+<match>
+<gi>REF
+<action>
+<start>\ref{${ID}}
+<end>
+</rule>
+
+<rule>
+<match>
+<gi>PAGEREF
+<action>
+<start>\pageref{${ID}}
+<end>
+</rule>
+
+<!-- A URL with a NAME attribute -->
+<rule>
+<match>
+<gi>URL
+<attval>NAME .
+<action>
+<start>${NAME}\footnote{${URL}}</start>
+</rule>
+
+<!-- A URL without a NAME attribute -->
+<rule>
+<match>
+<gi>URL
+<attval>NAME .
+<action>
+<start>\texttt{&lt;URL:${URL}>}</start>
+</rule>
+
+<rule>
+<match>
+<gi>HTMLURL
+<action>
+<start>${NAME}
+<end>
+</rule>
+
+<rule>
+<match>
+<gi>X
+<action>
+<start>
+<end>
+</rule>
+
+<rule>
+<match>
+<gi>MC
+<action>
+<start>
+<end>
+</rule>
+
+<rule>
+<match>
+<gi>BIBLIO
+<action>
+<start>^\bibliographystyle{${STYLE}}
+\bibliography{${FILES}}^</start>
+</rule>
+
+<rule>
+<match>
+<gi>CODE
+<action>
+<start>^\par
+\addvspace{\medskipamount}
+\nopagebreak\hrule
+\begin{verbatim}^</start>
+<end>^\end{verbatim}
+\nopagebreak\hrule
+\addvspace{\medskipamount}^</end>
+</rule>
+
+<rule>
+<match>
+<gi>VERB
+<action>
+<start>^{\obeyspaces\obeylines^</start>
+<end>}^</end>
+</rule>
+
+<rule>
+<match>
+<gi>TSCREEN
+<action>
+<start>^\begin{quote}{\small\tt^</start>
+<end>^}\end{quote}^</end>
+</rule>
+
+<rule>
+<match>
+<gi>QUOTE
+<action>
+<start>^\begin{quotation}^</start>
+<end>^\end{quotation}^</end>
+</rule>
+
+<rule>
+<match>
+<gi>DEF
+<action>
+<start>^\begin{definition}</start>
+<end>^\end{definition}^</end>
+</rule>
+
+<rule>
+<match>
+<gi>PROP
+<action>
+<start>^\begin{proposition}^
+<end>^\end{proposition}^
+</rule>
+
+<rule>
+<match>
+<gi>LEMMA
+<action>
+<start>^\begin{lemma}
+<end>^\end{lemma}^
+</rule>
+
+<rule>
+<match>
+<gi>COROLL
+<action>
+<start>^\begin{corollary}
+<end>^\end{corollary}^
+</rule>
+
+<rule>
+<match>
+<gi>PROOF
+<action>
+<start>^{\noindent{\bf Proof.} ^
+<end>^}
+</rule>
+
+<rule>
+<match>
+<gi>THEOREM
+<action>
+<start>^\begin{theorem}
+<end>^\end{theorem}^
+</rule>
+
+<rule>
+<match>
+<gi>THTAG
+<action>
+<start>\[
+<end>\]^
+</rule>
+
+<rule>
+<match>
+<gi>F
+<action>
+<start>\$
+<end>\$
+</rule>
+
+<rule>
+<match>
+<gi>DM
+<action>
+<start>^\\[
+<end>\\]^
+</rule>
+
+<rule>
+<match>
+<gi>EQ
+<action>
+<start>^\begin{equation}^
+<end>^\end{equation}^
+</rule>
+
+<rule>
+<match>
+<gi>FR
+<action>
+<start>\frac
+<end>
+</rule>
+
+<rule>
+<match>
+<gi>NU
+<action>
+<start>{
+<end>}
+</rule>
+
+<rule>
+<match>
+<gi>DE
+<action>
+<start>{
+<end>}
+</rule>
+
+<rule>
+<match>
+<gi>LIM
+<action>
+<start>
+<end>
+</rule>
+
+<rule>
+<match>
+<gi>OP
+<action>
+<start>
+<end>
+</rule>
+
+<rule>
+<match>
+<gi>LL
+<action>
+<start>_{
+<end>}
+</rule>
+
+<rule>
+<match>
+<gi>UL
+<action>
+<start>^{
+<end>}
+</rule>
+
+<rule>
+<match>
+<gi>OPD
+<action>
+<start>
+<end>
+</rule>
+
+<rule>
+<match>
+<gi>PR
+<action>
+<start>\prod
+<end>
+</rule>
+
+<rule>
+<match>
+<gi>IN
+<action>
+<start>\int
+<end>
+</rule>
+
+<rule>
+<match>
+<gi>SUM
+<action>
+<start>\sum
+<end>
+</rule>
+
+<rule>
+<match>
+<gi>ROOT
+<action>
+<start>\sqrt\[[n]\]{
+<end>}
+</rule>
+
+<rule>
+<match>
+<gi>AR
+<action>
+<start>^\begin{array}{[ca]}^
+<end>^\end{array}^
+</rule>
+
+<rule>
+<match>
+<gi>ARR
+<action>
+<start>\\ ^
+<end>
+</rule>
+
+<rule>
+<match>
+<gi>ARC
+<action>
+<start>&
+<end>
+</rule>
+
+<rule>
+<match>
+<gi>SUP
+<action>
+<start>^{
+<end>}
+</rule>
+
+<rule>
+<match>
+<gi>INF
+<action>
+<start>_{
+<end>}
+</rule>
+
+<rule>
+<match>
+<gi>UNL
+<action>
+<start>\underline{
+<end>}
+</rule>
+
+<rule>
+<match>
+<gi>OVL
+<action>
+<start>\overline{
+<end>}
+</rule>
+
+<rule>
+<match>
+<gi>RF
+<action>
+<start>\mbox{\tt
+<end>}
+</rule>
+
+<rule>
+<match>
+<gi>V
+<action>
+<start>\vec{
+<end>}
+</rule>
+
+<rule>
+<match>
+<gi>FI
+<action>
+<start>{\cal
+<end>}
+</rule>
+
+<rule>
+<match>
+<gi>PHR
+<action>
+<start>{\rm
+<end>}
+</rule>
+
+<rule>
+<match>
+<gi>TU
+<action>
+<start>\\
+<end>
+</rule>
+
+<rule>
+<match>
+<gi>FIGURE
+<action>
+<start>^\begin{figure}\[${LOC}\]^
+<end>^\end{figure}^
+</rule>
+
+<rule>
+<match>
+<gi>EPS
+<action>
+<start>^\centerline{\epsffile{${FILE}}}^
+<end>
+</rule>
+
+<rule>
+<match>
+<gi>PH
+<action>
+<start>^\vspace{${VSPACE}}\par^
+<end>
+</rule>
+
+<rule>
+<match>
+<gi>CAPTION
+<action>
+<start>^\caption{
+<end>}^
+</rule>
+
+<rule>
+<match>
+<gi>TABLE
+<action>
+<start>^\begin{table}\[${LOC}\]^
+<end>^\end{table}^
+</rule>
+
+<rule>
+<match>
+<gi>TABULAR
+<action>
+<start>^\begin{center}
+\begin{tabular}{${CA}}^
+<end>^\end{tabular}
+\end{center}^
+</rule>
+
+<rule>
+<match>
+<gi>ROWSEP
+<action>
+<start>\\ ^
+<end>
+</rule>
+
+<rule>
+<match>
+<gi>COLSEP
+<action>
+<start>&
+<end>
+</rule>
+
+<rule>
+<match>
+<gi>HLINE
+<action>
+<start>^\hline^
+<end>
+</rule>
+
+<rule>
+<match>
+<gi>SLIDES
+<action>
+<start>^\documentstyle\[qwertz,dina4,xlatin1,${OPTS}\]{article}
+\input{epsf.tex}
+\def\title#1{
+\begin{center}
+\bf\LARGE
+\#1
+\end{center}
+\bigskip
+}
+\begin{document}^
+<end>^\end{document}^
+</rule>
+
+<rule>
+<match>
+<gi>SLIDE
+<action>
+<start>
+<end>^\newpage^
+</rule>
+
+</transpec>
diff --git a/share/sgml/transpec/linuxdoc-roff.ts b/share/sgml/transpec/linuxdoc-roff.ts
new file mode 100644
index 0000000..d75b875
--- /dev/null
+++ b/share/sgml/transpec/linuxdoc-roff.ts
@@ -0,0 +1,1205 @@
+<!--
+
+ $Id$
+
+ Copyright (C) 1996
+ John R. Fieber. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED BY JOHN R. FIEBER AND CONTRIBUTORS ``AS IS'' AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL JOHN R. FIEBER OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+-->
+
+<!--
+
+ This is an instant(1) translation specification to turn an
+ SGML document marked up according to the linuxdoc DTD into
+ a document suitable for processing with groff(1) using mm
+ macros.
+
+ Special thanks to Chuck Robey <chuckr@freebsd.org> for helping
+ to unravel the mysteries of groff.
+
+-->
+
+<!DOCTYPE transpec PUBLIC "-//FreeBSD//DTD transpec//EN" [
+
+<!ENTITY r.pass CDATA "1">
+<!ENTITY r.passw CDATA "2">
+<!ENTITY r.phack CDATA "3">
+<!ENTITY r.label CDATA "4">
+<!ENTITY r.initr CDATA "5">
+
+<!ENTITY gt CDATA ">">
+<!ENTITY lt CDATA "<">
+<!ENTITY amp CDATA "&">
+
+<!ENTITY cmap SYSTEM "/usr/share/sgml/transpec/roff.cmap">
+<!ENTITY sdata SYSTEM "/usr/share/sgml/transpec/roff.sdata">
+
+<!ENTITY family CDATA "P">
+
+]>
+
+<transpec>
+
+<!-- Character mapping -->
+<cmap>
+&cmap;
+</cmap>
+
+<!-- SDATA entity mapping -->
+<smap>
+&sdata;
+</smap>
+
+<!-- Transform rules -->
+
+<!-- Inside a HEADING, all these need to be suppressed or deferred
+ to a later time. -->
+<rule>
+<match>
+<gi>EM IT BF SF SL TT CPARAM LABEL REF PAGEREF CITE URL HTMLURL NCITE EMAIL IDX CDX F X
+<relation>ancestor HEADING
+</rule>
+
+<rule>
+<match>
+<gi>LINUXDOC
+<action>
+<start>^.\" Generated ${date} using ${transpec}
+.\" by ${user}@${host}
+.if t \{\
+. nr W 6i
+. nr O 1.25i
+. nr L 11i
+.\}
+.if n .nr W 79n
+.so /usr/share/tmac/tmac.m
+.nr Pt 0
+.ie t \{\
+. fam &family;
+. ds HP 16 14 12 10 10 10 10
+. ds HF HB HB HB HBI HI HI HI
+.\}
+.el \{\
+. SA 0
+.\}
+.PH "'${_followrel descendant TITLE &r.pass;}''%'"
+.nr N 1 <!-- header at the bottom of the first page -->
+.nr Pgps 0 <!-- header/footer size immune from .S -->
+.nr Hy 1 <!-- hypenation on -->
+.nr H0 0 1 <!-- Part counter -->
+.af H0 I
+${_followrel descendant LABEL &r.initr;}</start>
+<end>^</end>
+</rule>
+
+<!-- This is used with the above ${_followrel ...} to insert the
+ .INITR command which opens a file for writing cross reference
+ information. If there are no <label> tags, we don't want to
+ bother with this. -->
+<rule id="&r.initr;">
+<match>
+<gi>_initr
+<action>
+<start>^.INITR "${filename}"^</start>
+</rule>
+
+<rule>
+<match>
+<gi>ARTICLE
+<action>
+<start>
+^.nr Hb 4
+.nr Hs 4^
+<end>^.bp
+.TC^</end>
+</rule>
+
+<rule>
+<match>
+<gi>REPORT BOOK
+<action>
+<start>^.nr Cl 3 <!-- TOC goes to level 3 -->
+.nr Hb 5
+.nr Hs 5^</start>
+<end>
+^.bp
+.TC^
+</rule>
+
+<rule>
+<match>
+<gi>NOTES
+</rule>
+
+<rule>
+<match>
+<gi>MANPAGE
+</rule>
+
+<rule>
+<match>
+<gi>TITLEPAG
+<action>
+<start>
+^\&
+.if t .SP 1i^
+<end>
+^.SP 3^
+</rule>
+
+<rule>
+<match>
+<gi>TITLE
+<action>
+<start>
+^.if t .S 18
+.DS C F
+.if t .fam H
+.B
+.if t .SA 0^
+<end>
+^.if t .SA 1
+.R
+.if t .fam &family;
+.DE
+.if t .S D^
+</rule>
+
+<rule>
+<match>
+<gi>SUBTITLE
+</rule>
+
+<rule>
+<match>
+<gi>DATE
+<action>
+<start>^.DS C F^
+<end>^.DE^
+</rule>
+
+<rule>
+<match>
+<gi>ABSTRACT
+<action>
+<start>
+^.SP 3
+.DS C
+.B Abstract
+.DE
+.DS I F^
+<end>
+^.DE^
+</rule>
+
+<rule>
+<match>
+<gi>AUTHOR
+<action>
+<start>^.DS C F^
+<end>^.DE^
+</rule>
+
+<rule>
+<match>
+<gi>NAME
+</rule>
+
+<rule>
+<match>
+<gi>AND
+<action>
+<start>^.br^
+</rule>
+
+<rule>
+<match>
+<gi>THANKS
+<action>
+<start>
+\*F
+.FS^
+<end> ^.FE^
+</rule>
+
+<rule>
+<match>
+<gi>INST
+<action>
+<start> ^.br^
+</rule>
+
+<rule>
+<match>
+<gi>NEWLINE
+<action>
+<start> ^.br^
+</rule>
+
+<rule id="&r.label;">
+<match>
+<gi>LABEL
+<action>
+<start>^.SETR "${ID}"^
+</rule>
+
+<rule>
+<match>
+<gi>HEADER
+</rule>
+
+<rule>
+<match>
+<gi>LHEAD
+<action>
+<start> ^.EH '
+<end> '''^
+</rule>
+
+<rule>
+<match>
+<gi>RHEAD
+<action>
+<start> ^.OH '''
+<end> '^
+</rule>
+
+<rule>
+<match>
+<gi>COMMENT
+<action>
+<start> ^(*^
+<end> ^*)^
+</rule>
+
+<rule>
+<match>
+<gi>APPENDIX
+<action>
+<start> ^.af H1 A^
+</rule>
+
+<rule>
+<match>
+<gi>TOC
+</rule>
+
+<rule>
+<match>
+<gi>LOF
+</rule>
+
+<rule>
+<match>
+<gi>LOT
+</rule>
+
+<rule>
+<match>
+<gi>PART
+</rule>
+
+<rule>
+<match>
+<gi>CHAPT
+<action>
+<start>
+^.if t .SK
+${_set sl 1}</start>
+</rule>
+
+<rule>
+<match>
+<gi>SECT
+<relation>ancestor BOOK
+<action>
+<start>${_set sl 2}</start>
+</rule>
+
+<rule>
+<match>
+<gi>SECT
+<action>
+<start>${_set sl 1}</start>
+</rule>
+
+<rule>
+<match>
+<gi>SECT1
+<relation>ancestor BOOK
+<action>
+<start>${_set sl 3}</start>
+</rule>
+
+<rule>
+<match>
+<gi>SECT1
+<action>
+<start>${_set sl 2}</start>
+</rule>
+
+<rule>
+<match>
+<gi>SECT2
+<relation>ancestor BOOK
+<action>
+<start>${_set sl 4}</start>
+</rule>
+
+<rule>
+<match>
+<gi>SECT2
+<action>
+<start>${_set sl 3}
+</rule>
+
+<rule>
+<match>
+<gi>SECT3
+<relation>ancestor BOOK
+<action>
+<start>${_set sl 5}</start>
+</rule>
+
+<rule>
+<match>
+<gi>SECT3
+<action>
+<start>${_set sl 4}</start>
+</rule>
+
+<rule>
+<match>
+<gi>SECT4
+<relation>ancestor BOOK
+<action>
+<start>${_set sl 6}</start>
+</rule>
+
+<rule>
+<match>
+<gi>SECT4
+<action>
+<start>${_set sl 5}</start>
+</rule>
+
+<rule>
+<match>
+<gi>HEADING
+<context>PART
+<action>
+<start>
+^.if t .SK
+\&
+.if t .fam H
+.SP 3i
+.if t .S 24
+Part \n+(H0
+.SP 1i
+.if t .S 36^
+<end>^.if t .S D
+.if t .fam &family;
+.if t .SK^
+</rule>
+
+<rule>
+<match>
+<gi>HEADING
+<action>
+<start>^.H ${sl} "</start>
+<end>"
+${_followrel child LABEL &r.label}
+</rule>
+
+<!--
+<rule>
+<match>
+<gi>HEADING
+<action>
+<start>^.br
+.di fbsd-head^</start>
+<end>^.br
+.di
+.asciify fbsd-head
+.H ${sl} \*[fbsd-head]
+${_followrel child LABEL &r.label}
+</rule>
+-->
+
+<!-- A paragraph immediately following a <tag> in a <descrip>. -->
+<rule>
+<match>
+<gi>P
+<relation>sibling-1 TAG
+</rule>
+
+<rule>
+<match>
+<gi>P
+<action>
+<start> ${_notempty &r.phack;}
+</rule>
+
+<!-- Completely empty paragraphs. -->
+<rule id="&r.phack;">
+<match>
+<gi>_phack
+<action>
+<replace>^.P^
+</rule>
+
+
+<rule>
+<match>
+<gi>ITEMIZE
+<action>
+<start> ^.BL^
+<end> ^.LE^
+</rule>
+
+<rule>
+<match>
+<gi>ENUM
+<action>
+<start> ^.AL^
+<end> ^.LE^
+</rule>
+
+<rule>
+<match>
+<gi>DESCRIP
+<action>
+<start> ^.BVL \n(Li*2/1 \n(Li^
+<end> ^.LE^
+</rule>
+
+<rule>
+<match>
+<gi>ITEM
+<action>
+<start> ^.LI^
+</rule>
+
+<rule>
+<match>
+<gi>TAG
+<action>
+<start> ^.LI "
+<end>"^
+</rule>
+
+<rule>
+<match>
+<gi>CITE
+<action>
+<start> ^.\[
+${ID}
+.\]^
+</rule>
+
+<rule>
+<match>
+<gi>NCITE
+<action>
+<start> ^.\[
+${ID}
+.\]
+(${NOTE})
+</rule>
+
+<rule>
+<match>
+<gi>FOOTNOTE
+<action>
+<start>
+\*F
+.FS^
+<end>^.FE^
+</rule>
+
+<rule>
+<match>
+<gi>SQ
+<action>
+<start> \*Q
+<end> \*U
+</rule>
+
+<rule>
+<match>
+<gi>LQ
+<action>
+<start>
+^.if t .br
+.if t .S -2
+.DS I F^
+<end>
+^.DE
+.if t .S D^
+</rule>
+
+<rule>
+<match>
+<gi>EM
+<action>
+<start> \fI
+<end> \fR
+</rule>
+
+<rule>
+<match>
+<gi>BF
+<action>
+<start> \fB
+<end> \fR
+</rule>
+
+<rule>
+<match>
+<gi>IT
+<action>
+<start> \fI
+<end> \fR
+</rule>
+
+<rule>
+<match>
+<gi>SF
+<action>
+<start> \fR
+<end> \fR
+</rule>
+
+<rule>
+<match>
+<gi>SL
+<action>
+<start> \fI
+<end> \fR
+</rule>
+
+<rule>
+<match>
+<gi>TT
+<action>
+<start> \fC
+<end> \fR
+</rule>
+
+<rule>
+<match>
+<gi>CPARAM
+<action>
+<start> \fI<
+<end> >\fR
+</rule>
+
+<!-- A URL with a NAME attribute -->
+<rule>
+<match>
+<gi>URL
+<attval>NAME .
+<action>
+<start> ${NAME}\*F
+.FS
+\fC&lt;URL:${URL}&gt;\fP
+.FE
+\&
+</rule>
+
+<!-- A URL without a NAME attribute -->
+<rule>
+<match>
+<gi>URL
+<action>
+<start> \fC&lt;URL:${URL}&gt;\fP
+</rule>
+
+<rule>
+<match>
+<gi>HTMLURL
+<action>
+<start> ${NAME}
+</rule>
+
+<rule>
+<match>
+<gi>REF
+<attval>NAME .
+<action>
+<start>
+\fI${NAME}\fP (section\~
+.GETHN "${ID}"
+, page\~
+.GETPN "${ID}"
+)
+</rule>
+
+<rule>
+<match>
+<gi>REF
+<action>
+<start>
+\fI${ID}\fP (section\~
+.GETHN "${ID}"
+, page\~
+.GETPN "${ID}"
+)
+</rule>
+
+<rule>
+<match>
+<gi>PAGEREF
+<action>
+<start>
+^.GETPN "${ID}"
+\&
+</rule>
+
+<rule>
+<match>
+<gi>X
+</rule>
+
+<rule>
+<match>
+<gi>MC
+</rule>
+
+<rule>
+<match>
+<gi>BIBLIO
+<action>
+<start> ^.\[
+\$LIST\$
+.\]^
+</rule>
+
+<rule>
+<match>
+<gi>VERB CODE
+<action>
+<start> ^.if t .br
+.if t .S -2
+.DS I
+.fam C^
+<end>
+^.DE
+.if t .S D^
+</rule>
+
+<rule>
+<match>
+<gi>TSCREEN
+<relation>child VERB
+</rule>
+
+<rule>
+<match>
+<gi>TSCREEN
+<action>
+<start> ^.if t .br
+.if t .S -2
+.DS I
+.fam C^
+<end>
+^.DE
+.if t .S D^
+</rule>
+
+<rule>
+<match>
+<gi>QUOTE
+<action>
+<start> ^.DS I F^
+<end>
+^.DE^
+</rule>
+
+<rule>
+<match>
+<gi>DEF
+<action>
+<start> ^.sp
+.nr def \n\[def\]+1
+.B "Definition \n\[def\] "^
+<end> ^.ft P
+.sp^
+</rule>
+
+<rule>
+<match>
+<gi>PROP
+<action>
+<start> ^.sp
+.nr prop \n\[prop\]+1
+.B "Proposition \n\[prop\] "^
+<end> ^.ft P
+.sp^
+</rule>
+
+<rule>
+<match>
+<gi>LEMMA
+<action>
+<start> ^.sp
+.nr lemma \n\[lemma\]+1
+.B "Lemma \n\[lemma\] "^
+<end> ^.ft P
+.sp^
+</rule>
+
+<rule>
+<match>
+<gi>COROLL
+<action>
+<start> ^.sp
+.nr coroll \n\[coroll\]+1
+.B "Corolloary \n\[coroll\] "^
+<end> ^.ft P
+.sp^
+</rule>
+
+<rule>
+<match>
+<gi>PROOF
+<action>
+<start> ^.sp
+.nr proof \n\[proof\]+1
+.B "Proof \n\[proof\] "^
+<end> ^.ft P
+.sp^
+</rule>
+
+<rule>
+<match>
+<gi>THEOREM
+<action>
+<start> ^.sp
+.nr theorem \n\[theorem\]+1
+.B "Theorem \n\[theorem\] "^
+<end> ^.ft P
+.sp^
+</rule>
+
+<rule>
+<match>
+<gi>THTAG
+<action>
+<start> ^.B
+(
+<end> )
+.I^
+</rule>
+
+<rule>
+<match>
+<gi>F
+</rule>
+
+<rule>
+<match>
+<gi>DM
+<action>
+<start> ^.DS L^
+<end> ^.DE^
+</rule>
+
+<rule>
+<match>
+<gi>EQ
+<action>
+<start> ^.DS L^
+<end> ^.DE^
+</rule>
+
+<rule>
+<match>
+<gi>FR
+</rule>
+
+<rule>
+<match>
+<gi>NU
+<action>
+<start> {
+<end> } over
+</rule>
+
+<rule>
+<match>
+<gi>DE
+<action>
+<start> {
+<end> }
+</rule>
+
+<rule>
+<match>
+<gi>LIM
+</rule>
+
+<rule>
+<match>
+<gi>OP
+</rule>
+
+<rule>
+<match>
+<gi>LL
+<action>
+<start> from {
+<end> }
+</rule>
+
+<rule>
+<match>
+<gi>UL
+<action>
+<start> to {
+<end> }
+</rule>
+
+<rule>
+<match>
+<gi>OPD
+</rule>
+
+<rule>
+<match>
+<gi>PR
+<action>
+<start> prod
+</rule>
+
+<rule>
+<match>
+<gi>IN
+<action>
+<start> int
+</rule>
+
+<rule>
+<match>
+<gi>SUM
+<action>
+<start> sum
+</rule>
+
+<rule>
+<match>
+<gi>ROOT
+<action>
+<start> sqrt {
+<end> }
+</rule>
+
+<rule>
+<match>
+<gi>AR
+<action>
+<start> ^.TS
+center, tab(|) ;
+${CA}.^
+<end> ^.TE^
+</rule>
+
+<rule>
+<match>
+<gi>ARR
+</rule>
+
+<rule>
+<match>
+<gi>ARC
+<action>
+<start> |
+</rule>
+
+<rule>
+<match>
+<gi>SUP
+<action>
+<start> sup {
+<end> }
+</rule>
+
+<rule>
+<match>
+<gi>INF
+<action>
+<start> sub {
+<end> }
+</rule>
+
+<rule>
+<match>
+<gi>UNL
+<action>
+<start> {
+<end> } under
+</rule>
+
+<rule>
+<match>
+<gi>OVL
+<action>
+<start> {
+<end> } bar
+</rule>
+
+<rule>
+<match>
+<gi>RF
+<action>
+<start> bold{
+<end> }
+</rule>
+
+<rule>
+<match>
+<gi>V
+<action>
+<start> {
+<end> } vec
+</rule>
+
+<rule>
+<match>
+<gi>FI
+<action>
+<start> \fI
+<end> \fR
+</rule>
+
+<rule>
+<match>
+<gi>PHR
+<action>
+<start> roman }
+<end> }
+</rule>
+
+<rule>
+<match>
+<gi>TU
+<action>
+<start> ^.br^
+</rule>
+
+<rule>
+<match>
+<gi>FIGURE
+</rule>
+
+<rule>
+<match>
+<gi>EPS
+<action>
+<start> ^.if t .PSPIC ${FILE}
+.if n .sp 4^
+</rule>
+
+<rule>
+<match>
+<gi>PH
+<action>
+<start> ^.sp ${VSPACE}^
+</rule>
+
+<rule>
+<match>
+<gi>CAPTION
+<action>
+<start> ^.sp
+.ce^
+</rule>
+
+<rule>
+<match>
+<gi>TABLE
+<action>
+<start> ^.DF
+.R^
+<end> ^.DE^
+</rule>
+
+<rule>
+<match>
+<gi>TABULAR
+<action>
+<start> ^.TS
+center, tab(|) ;
+${CA}.^
+<end> ^.TE^
+</rule>
+
+<rule>
+<match>
+<gi>ROWSEP
+<action>
+<start>
+^
+</rule>
+
+<rule>
+<match>
+<gi>COLSEP
+<action>
+<start> |
+</rule>
+
+<rule>
+<match>
+<gi>HLINE
+<action>
+<start> ^_^
+</rule>
+
+<rule>
+<match>
+<gi>SLIDES
+<action>
+<start> ^.nr PS 18^
+</rule>
+
+<rule>
+<match>
+<gi>SLIDE
+<action>
+<end> ^.bp
+\&^
+</rule>
+
+<rule>
+<match>
+<gi>LETTER
+<action>
+<start> ^.nf^
+<end> ^
+</rule>
+
+<rule>
+<match>
+<gi>FROM
+<action>
+<start> ^From:
+</rule>
+
+<rule>
+<match>
+<gi>TO
+<action>
+<start> ^To:
+</rule>
+
+<rule>
+<match>
+<gi>ADDRESS
+<action>
+<start> ^.de Ad
+<end> ^..^
+</rule>
+
+<rule>
+<match>
+<gi>EMAIL
+<action>
+<start> <
+<end> >
+</rule>
+
+<rule>
+<match>
+<gi>SUBJECT
+<action>
+<start> ^Subject:
+</rule>
+
+<rule>
+<match>
+<gi>SREF
+<action>
+<start> ^Sref:
+</rule>
+
+<rule>
+<match>
+<gi>RREF
+<action>
+<start> ^In-Reply-To:
+</rule>
+
+<rule>
+<match>
+<gi>CC
+<action>
+<start> ^cc:
+</rule>
+
+<rule>
+<match>
+<gi>OPENING
+<action>
+<start> ^.fi
+.LP^
+</rule>
+
+<rule>
+<match>
+<gi>CLOSING
+<action>
+<start> ^.LP^
+</rule>
+
+<rule>
+<match>
+<gi>ENCL
+<action>
+<start> ^.XP
+encl:
+</rule>
+
+<rule>
+<match>
+<gi>PS
+<action>
+<start> ^.LP
+p.s.
+</rule>
+
+<!-- Pass the content through -->
+<rule id="&r.pass">
+<match>
+<gi>_pass-text
+</rule>
+
+<rule id="&r.passw">
+<match>
+<gi>_pass-word
+<action>
+<replace>${each_C} </replace>
+</rule>
+
+</transpec>
diff --git a/share/sgml/transpec/roff.cmap b/share/sgml/transpec/roff.cmap
new file mode 100644
index 0000000..92fa91a
--- /dev/null
+++ b/share/sgml/transpec/roff.cmap
@@ -0,0 +1,37 @@
+<!--
+
+ $Id$
+
+ Copyright (C) 1996
+ John R. Fieber. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED BY JOHN R. FIEBER AND CONTRIBUTORS ``AS IS'' AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL JOHN R. FIEBER OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+-->
+
+<!-- Character mapping for groff. -->
+
+<map from="\" to="\\">
+<map from="^" to="\(ha">
+<map from="." to="\&.">
+<map from="'" to="\N'39'">
+<map from='"' to="\N'34'">
diff --git a/share/sgml/transpec/roff.sdata b/share/sgml/transpec/roff.sdata
new file mode 100644
index 0000000..83b9a82
--- /dev/null
+++ b/share/sgml/transpec/roff.sdata
@@ -0,0 +1,623 @@
+<!--
+
+ $Id$
+
+ Copyright (C) 1996
+ Chuck Robey. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED BY CHUCK ROBEY AND CONTRIBUTORS ``AS IS'' AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL CHUCK ROBEY OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+-->
+
+<!--
+
+ISO SDATA entity translations for groff.
+
+-->
+
+<!-- Numeric and Special Graphic -->
+
+<map from="[half ]" to="\(12">
+<map from="[frac12]" to="\(12">
+<map from="[frac14]" to="\(14">
+<map from="[frac34]" to="\(34">
+<map from="[frac18]" to="1/8">
+<map from="[frac38]" to="3/8">
+<map from="[frac58]" to="5/8">
+<map from="[frac78]" to="7/8">
+<map from="[sup1 ]" to="\(S1">
+<map from="[sup2 ]" to="\(S2">
+<map from="[sup3 ]" to="\(S3">
+<map from="[plus ]" to="\N'43'">
+<map from="[plusmn]" to="\(+-">
+<map from="[lt ]" to="<">
+<map from="[equals]" to="=">
+<map from="[gt ]" to=">">
+<map from="[divide]" to="\(di">
+<map from="[times ]" to="\N'215'">
+<map from="[curren]" to="\(Cs">
+<map from="[pound ]" to="\(Po">
+<map from="[dollar]" to="\N'36'">
+<map from="[cent ]" to="\(ct">
+<map from="[yen ]" to="\(Ye">
+<map from="[num ]" to="#">
+<map from="[percnt]" to="%">
+<map from="[amp ]" to="&">
+<map from="[ast ]" to="*">
+<map from="[commat]" to="@">
+<map from="[lsqb ]" to="\(lB">
+<map from="[bsol ]" to="\(rs">
+<map from="[rsqb ]" to="\(rB">
+<map from="[lcub ]" to="\(rC">
+<map from="[horbar]" to="\(em">
+<map from="[verbar]" to="\(bv">
+<map from="[rcub ]" to="\(rC">
+<map from="[micro ]" to="\N'181'">
+<map from="[ohm ]" to="\(*W">
+<map from="[deg ]" to="\N'176'">
+<map from="[ordm ]" to="\(Om">
+<map from="[ordf ]" to="\(Of">
+<map from="[sect ]" to="\N'167'">
+<map from="[para ]" to="\(ps">
+<map from="[middot]" to="\(md">
+<map from="[larr ]" to="\(<-">
+<map from="[rarr ]" to="\(->">
+<map from="[uarr ]" to="\(ua">
+<map from="[darr ]" to="\(da">
+<map from="[copy ]" to="\(co">
+<map from="[reg ]" to="\(rg">
+<map from="[trade ]" to="\(tm">
+<map from="[brvbar]" to="\N'166'">
+<map from="[not ]" to="\N'172'">
+<!-- <map from="[sung ]" to=""> --> <!-- =music note (sung text sign) -->
+<map from="[excl ]" to="\N'33'">
+<map from="[iexcl ]" to="\(r!">
+<map from="[quot ]" to="\N'39'">
+<map from="[apos ]" to="\N'39'">
+<map from="[lpar ]" to="\N'40'">
+<map from="[rpar ]" to="\N'41'">
+<map from="[comma ]" to="\(bq">
+<map from="[lowbar]" to="\(ru">
+<map from="[hyphen]" to="\(en">
+<map from="[period]" to="\N'46'">
+<map from="[sol ]" to="\(sl">
+<map from="[colon ]" to="\N'58'">
+<map from="[semi ]" to="\N'59'">
+<map from="[quest ]" to="\N'63'">
+<map from="[iquest]" to="\(r?">
+<map from="[laquo ]" to="\(Fo">
+<map from="[raquo ]" to="\(Fc">
+<map from="[lsquo ]" to="\(oq">
+<map from="[rsquo ]" to="\N'39'">
+<map from="[ldquo ]" to="\(lq">
+<map from="[rdquo ]" to="\(rq">
+<map from="[nbsp ]" to="\ ">
+<map from="[shy ]" to="\(hy">
+
+<!-- Publishing -->
+
+<map from="[emsp ]" to="\~">
+<map from="[ensp ]" to="\~">
+<map from="[emsp3 ]" to="\~">
+<map from="[emsp4 ]" to="\~">
+<map from="[numsp ]" to="\0">
+<map from="[puncsp]" to="\|">
+<map from="[thinsp]" to="\!">
+<map from="[hairsp]" to="\\^">
+<map from="[mdash ]" to="\(em">
+<map from="[ndash ]" to="\(en">
+<map from="[dash ]" to="\-">
+<map from="[blank ]" to="\ ">
+<map from="[hellip]" to="\&...">
+<map from="[nldr ]" to="\&..">
+<map from="[frac13]" to="1/3">
+<map from="[frac23]" to="2/3">
+<map from="[frac15]" to="1/5">
+<map from="[frac25]" to="2/5">
+<map from="[frac35]" to="3/5">
+<map from="[frac45]" to="4/5">
+<map from="[frac16]" to="1/6">
+<map from="[frac56]" to="5/6">
+<!--
+<map from="[incare]" to="=in-care-of symbol">
+<map from="[block ]" to="=full block">
+<map from="[uhblk ]" to="=upper half block">
+<map from="[lhblk ]" to="=lower half block">
+<map from="[blk14 ]" to="=25% shaded block">
+<map from="[blk12 ]" to="=50% shaded block">
+<map from="[blk34 ]" to="=75% shaded block">
+<map from="[marker]" to="=histogram marker">
+-->
+<map from="[cir ]" to="\(ci">
+<map from="[squ ]" to="\(sq">
+<!--
+<map from="[rect ]" to="=rectangle, open">
+<map from="[utri ]" to="/triangle =up triangle, open">
+<map from="[dtri ]" to="/triangledown =down triangle, open">
+-->
+<map from="[star ]" to="\(** =star, open">
+<map from="[bull ]" to="\(bu">
+<!--
+<map from="[squf ]" to="/blacksquare =sq bullet, filled">
+<map from="[utrif ]" to="/blacktriangle =up tri, filled">
+<map from="[dtrif ]" to="/blacktriangledown =dn tri, filled">
+<map from="[ltrif ]" to="/blacktriangleleft R: =l tri, filled">
+<map from="[rtrif ]" to="/blacktriangleright R: =r tri, filled">
+-->
+<map from="[clubs ]" to="\(CL">
+<map from="[diams ]" to="\(DI">
+<map from="[hearts]" to="\(HE">
+<map from="[spades]" to="\(SP">
+<!--
+<map from="[malt ]" to="/maltese =maltese cross">
+-->
+<map from="[dagger]" to="\(dg">
+<map from="[Dagger]" to="\(dd">
+<map from="[check ]" to="\(OK">
+<!--
+<map from="[ballot]" to="=ballot cross">
+<map from="[sharp ]" to="/sharp =musical sharp">
+<map from="[flat ]" to="/flat =musical flat">
+<map from="[male ]" to="=male symbol">
+<map from="[female]" to="=female symbol">
+<map from="[phone ]" to="=telephone symbol">
+<map from="[telrec]" to="=telephone recorder symbol">
+<map from="[copysr]" to="=sound recording copyright sign">
+-->
+<map from="[caret ]" to="\^">
+<map from="[lsquor]" to="\N'44'">
+<map from="[ldquor]" to="\(Bq">
+<map from="[fflig ]" to="\(ff">
+<map from="[filig ]" to="\(fi">
+<!--
+<map from="[fjlig ]" to="small fj ligature">
+-->
+<map from="[ffilig]" to="\(Fi">
+<map from="[ffllig]" to="\(Fl">
+<map from="[fllig ]" to="\(fl">
+<!--
+<map from="[mldr ]" to="em leader">
+-->
+<map from="[rdquor]" to="\(lq">
+<map from="[rsquor]" to="\(oq">
+<!--
+<map from="[vellip]" to="vertical ellipsis">
+<map from="[hybull]" to="rectangle, filled (hyphen bullet)">
+-->
+<map from="[loz ]" to="/(lz">
+<!--
+<map from="[lozf ]" to="/blacklozenge - lozenge, filled">
+<map from="[ltri ]" to="/triangleleft B: l triangle, open">
+<map from="[rtri ]" to="/triangleright B: r triangle, open">
+<map from="[starf ]" to="/bigstar - star, filled">
+<map from="[natur ]" to="/natural - music natural">
+<map from="[rx ]" to="pharmaceutical prescription (Rx)">
+<map from="[sext ]" to="sextile (6-pointed star)">
+<map from="[target]" to="register mark or target">
+<map from="[dlcrop]" to="downward left crop mark">
+<map from="[drcrop]" to="downward right crop mark">
+<map from="[ulcrop]" to="upward left crop mark">
+<map from="[urcrop]" to="upward right crop mark">
+-->
+
+<!-- Added Latin 1 -->
+
+<map from="[aacute]" to="\('a">
+<map from="[Aacute]" to="\('A">
+<map from="[acirc ]" to="\(^a">
+<map from="[Acirc ]" to="\(^A">
+<map from="[agrave]" to="\(`a">
+<map from="[Agrave]" to="\(`A">
+<map from="[aring ]" to="\(oa">
+<map from="[Aring ]" to="\(oA">
+<map from="[atilde]" to="\(~a">
+<map from="[Atilde]" to="\(~A">
+<map from="[auml ]" to="\(:a">
+<map from="[Auml ]" to="\(:A">
+<map from="[aelig ]" to="\(ae">
+<map from="[AElig ]" to="\(AE">
+<map from="[ccedil]" to="\(,c">
+<map from="[Ccedil]" to="\(,C">
+<map from="[eth ]" to="\(Sd">
+<map from="[ETH ]" to="\(-D">
+<map from="[eacute]" to="\('e">
+<map from="[Eacute]" to="\('E">
+<map from="[ecirc ]" to="\(^e">
+<map from="[Ecirc ]" to="\(^E">
+<map from="[egrave]" to="\(`e">
+<map from="[Egrave]" to="\(`E">
+<map from="[euml ]" to="\(:e">
+<map from="[Euml ]" to="\(:E">
+<map from="[iacute]" to="\('i">
+<map from="[Iacute]" to="\('I">
+<map from="[icirc ]" to="\(^i">
+<map from="[Icirc ]" to="\(^I">
+<map from="[igrave]" to="\(`i">
+<map from="[Igrave]" to="\(`I">
+<map from="[iuml ]" to="\(:i">
+<map from="[Iuml ]" to="\(:I">
+<map from="[ntilde]" to="\(~n">
+<map from="[Ntilde]" to="\(~N">
+<map from="[oacute]" to="\('o">
+<map from="[Oacute]" to="\('O">
+<map from="[ocirc ]" to="\(^o">
+<map from="[Ocirc ]" to="\(^O">
+<map from="[ograve]" to="\(`o">
+<map from="[Ograve]" to="\(`O">
+<map from="[oslash]" to="\(/o">
+<map from="[Oslash]" to="\(/O">
+<map from="[otilde]" to="\(~o">
+<map from="[Otilde]" to="\(~O">
+<map from="[ouml ]" to="\(:o">
+<map from="[Ouml ]" to="\(:O">
+<map from="[szlig ]" to="\(ss">
+<map from="[thorn ]" to="\(Tp">
+<map from="[THORN ]" to="\(TP">
+<map from="[uacute]" to="\('u">
+<map from="[Uacute]" to="\('U">
+<map from="[ucirc ]" to="\(^u">
+<map from="[Ucirc ]" to="\(^U">
+<map from="[ugrave]" to="\(`u">
+<map from="[Ugrave]" to="\(`U">
+<map from="[uuml ]" to="\(:u">
+<map from="[Uuml ]" to="\(:U">
+<map from="[yacute]" to="\('y">
+<map from="[Yacute]" to="\('Y">
+<map from="[yuml ]" to="\(:y">
+<map from="[Yuml ]" to="\(:Y">
+
+<!-- Added Latin 2 -->
+
+<map from="[abreve]" to="\o'a\(ab'">
+<map from="[Abreve]" to="\o'A\s+3\(ab\s-3'">
+<map from="[amacr ]" to="\o'a\(a-'">
+<map from="[Amacr ]" to="\o'A\s+3\(a-\s-3'">
+<map from="[aogon ]" to="\o'a\N'184''">
+<map from="[Aogon ]" to="\o'A\N'184''">
+<map from="[cacute]" to="\o'c\(aa'">
+<map from="[Cacute]" to="\o'C\s+3\(aa\s-3'">
+<map from="[ccaron]" to="\o'c\(ah'">
+<map from="[Ccaron]" to="\o'C\s+3\(ah\s-3'">
+<map from="[ccirc ]" to="\o'c\(a^'">
+<map from="[Ccirc ]" to="\o'C\s+3\(a^\s-3'">
+<map from="[cdot ]" to="\o'c\(a.'">
+<map from="[Cdot ]" to="\o'C\s+3\(a.\s-3'">
+<map from="[dcaron]" to="\o'd\(ah'">
+<map from="[Dcaron]" to="\o'D\s+3\(ah\s-3'">
+<map from="[dstrok]" to="d\h'-3p'\(hy">
+<map from="[Dstrok]" to="\(-D">
+<map from="[ecaron]" to="\o'e\(ah'">
+<map from="[Ecaron]" to="\o'E\s+3\(ah\s-3'">
+<map from="[edot ]" to="\o'e\(a.'">
+<map from="[Edot ]" to="\o'E\s+3\(a.\s-3'">
+<map from="[emacr ]" to="\o'e\(a-'">
+<map from="[Emacr ]" to="\o'E\s+3\(a-\s-3'">
+<map from="[eogon ]" to="\o'e\N'184''">
+<map from="[Eogon ]" to="\o'E\N'184''">
+<map from="[gacute]" to="\o'g\(aa'">
+<map from="[gbreve]" to="\o'g\(ab'">
+<map from="[Gbreve]" to="\o'G\s+3\(ab\s-3'">
+<map from="[Gcedil]" to="\o'G\s+3\(ac\s-3'">
+<map from="[gcirc ]" to="\o'g\(a^'">
+<map from="[Gcirc ]" to="\o'G\s+3\(a^\s-3'">
+<map from="[gdot ]" to="\o'g\(a.'">
+<map from="[Gdot ]" to="\o'G\s+3\(a.\s-3'">
+<map from="[hcirc ]" to="\s-1\zh\s+3\(a^\s-2">
+<map from="[Hcirc ]" to="\o'\s-1H\s+4\(a^\s-3'">
+<map from="[hstrok]" to="\o'h\(a-'">
+<map from="[Hstrok]" to="\o'H\s-2\(a-\s+2'">
+<map from="[Idot ]" to="\o'I\s+3\(a.\s-3'">
+<map from="[Imacr ]" to="\o'I\s+3\(a-\s-3'">
+<map from="[imacr ]" to="\o'i\(a-'">
+<map from="[ijlig ]" to="\(ij">
+<map from="[IJlig ]" to="\(IJ">
+<map from="[inodot]" to="\(.i">
+<map from="[iogon ]" to="\o'i\N'184''">
+<map from="[Iogon ]" to="\o'I\N'184''">
+<map from="[itilde]" to="\o'i\(a~'">
+<map from="[Itilde]" to="\o'I\s+3\(a~\s-3'">
+<map from="[jcirc ]" to="\o'j\(a^'">
+<map from="[Jcirc ]" to="\o'J\s+3\(a^\s-3'">
+<map from="[kcedil]" to="\o'k\(ac'">
+<map from="[Kcedil]" to="\o'K\(ac'">
+<map from="[kgreen]" to="\s-3\(*K\s+3">
+<map from="[lacute]" to="\o'l\s+3\(aa\s-3'">
+<map from="[Lacute]" to="\o'L\s+3\(aa\s-3'">
+<map from="[lcaron]" to="\o'l\s+3\(ah\s-3'">
+<map from="[Lcaron]" to="\o'L\s+3\(ah\s-3'">
+<map from="[lcedil]" to="\o'l\(ac'">
+<map from="[Lcedil]" to="\o'L\(ac'">
+<map from="[lmidot]" to="\zl\h'2p'\(md">
+<map from="[Lmidot]" to="\o'L\(md'">
+<map from="[lstrok]" to="\(/l">
+<map from="[Lstrok]" to="\(/L">
+<map from="[nacute]" to="\o'n\(aa'">
+<map from="[Nacute]" to="\o'N\s+3\(aa\s-3'">
+<!--
+<map from="[eng ]" to="=small eng, Lapp">
+<map from="[ENG ]" to="=capital ENG, Lapp">
+-->
+<map from="[napos ]" to="n'">
+<map from="[ncaron]" to="\o'n\(ah'">
+<map from="[Ncaron]" to="\o'N\s+3\(ah\s-3'">
+<map from="[ncedil]" to="\o'n\(ac'">
+<map from="[Ncedil]" to="\o'N\(ac'">
+<map from="[odblac]" to="\o'o\(a&#34;'">
+<map from="[Odblac]" to="\o'O\s+3\(a&#34;\s-3'">
+<map from="[Omacr ]" to="\o'O\s+3\(a-\s-3'">
+<map from="[omacr ]" to="\o'o\(a-'">
+<map from="[oelig ]" to="\(oe">
+<map from="[OElig ]" to="\(OE">
+<map from="[racute]" to="\o'r\(aa'">
+<map from="[Racute]" to="\o'R\s+3\(aa\s-3'">
+<map from="[rcaron]" to="\o'r\(ah'">
+<map from="[Rcaron]" to="\o'R\s+3\(ah\s-3'">
+<map from="[rcedil]" to="\o'r\(ac'">
+<map from="[Rcedil]" to="\o'R\(ac'">
+<map from="[sacute]" to="\o's\(aa'">
+<map from="[Sacute]" to="\o'S\s+3\(aa\s-3'">
+<map from="[scaron]" to="\o's\(ah'">
+<map from="[Scaron]" to="\o'S\s+3\(ah\s-3'">
+<map from="[scedil]" to="\o's\(ac'">
+<map from="[Scedil]" to="\o'S\(ac'">
+<map from="[scirc ]" to="\o's\(a^'">
+<map from="[Scirc ]" to="\o'S\s+3\(a^\s-3'">
+<map from="[tcaron]" to="\o't\(ah'">
+<map from="[Tcaron]" to="\o'T\s+3\(ah\s-3'">
+<map from="[tcedil]" to="\o't\(ac'">
+<map from="[Tcedil]" to="\o'T\(ac'">
+<map from="[tstrok]" to="\o't\(hy'">
+<map from="[Tstrok]" to="\o'T\(hy'">
+<map from="[ubreve]" to="\o'u\(ab">
+<map from="[Ubreve]" to="\o'U\s+3\(ab\s-3'">
+<map from="[udblac]" to="\o'u\(a&#34;'">
+<map from="[Udblac]" to="\o'U\s+3\(a&#34;\s-3'">
+<map from="[umacr ]" to="\o'u\(a-'">
+<map from="[Umacr ]" to="\o'U\s+3\(a-\s-3'">
+<map from="[uogon ]" to="\o'u\N'184''">
+<map from="[Uogon ]" to="\o'U\N'184''">
+<map from="[uring ]" to="\o'u\(ao'">
+<map from="[Uring ]" to="\o'U\s+3\(ao\s-3'">
+<map from="[utilde]" to="\o'u\(a~'">
+<map from="[Utilde]" to="\o'U\s+3\(a~\s-3'">
+<map from="[wcirc ]" to="\o'w\(a^'">
+<map from="[Wcirc ]" to="\o'W\s+3\(a^\s-3'">
+<map from="[ycirc ]" to="\o'y\(a^'">
+<map from="[Ycirc ]" to="\o'Y\s+3\(a^\s-3'">
+<map from="[Yuml ]" to="\o'Y\s+3\(ad\s-3'">
+<map from="[zacute]" to="\o'z\(aa'">
+<map from="[Zacute]" to="\o'Z\s+3\(aa\s-3'">
+<map from="[zcaron]" to="\o'z\(ah'">
+<map from="[Zcaron]" to="\o'Z\s+3\(ah\s-3'">
+<map from="[zdot ]" to="\o'z\(a.'">
+<map from="[Zdot ]" to="\o'Z\s+3\(a.\s-3'">
+
+<!-- Greek Letters -->
+
+<map from="[agr ]" to="\(*a">
+<map from="[Agr ]" to="\(*A">
+<map from="[bgr ]" to="\(*b">
+<map from="[Bgr ]" to="\(*B">
+<map from="[ggr ]" to="\(*g">
+<map from="[Ggr ]" to="\(*G">
+<map from="[dgr ]" to="\(*d">
+<map from="[Dgr ]" to="\(*D">
+<map from="[egr ]" to="\(*e">
+<map from="[Egr ]" to="\(*E">
+<map from="[zgr ]" to="\(*z">
+<map from="[Zgr ]" to="\(*Z">
+<map from="[eegr ]" to="\(*y">
+<map from="[EEgr ]" to="\(*Y">
+<map from="[thgr ]" to="\(*h">
+<map from="[THgr ]" to="\(*H">
+<map from="[igr ]" to="\(*i">
+<map from="[Igr ]" to="\(*I">
+<map from="[kgr ]" to="\(*k">
+<map from="[Kgr ]" to="\(*K">
+<map from="[lgr ]" to="\(*l">
+<map from="[Lgr ]" to="\(*L">
+<map from="[mgr ]" to="\(*m">
+<map from="[Mgr ]" to="\(*M">
+<map from="[ngr ]" to="\(*n">
+<map from="[Ngr ]" to="\(*N">
+<map from="[xgr ]" to="\(*c">
+<map from="[Xgr ]" to="\(*C">
+<map from="[ogr ]" to="\(*o">
+<map from="[Ogr ]" to="\(*O">
+<map from="[pgr ]" to="\(*p">
+<map from="[Pgr ]" to="\(*P">
+<map from="[rgr ]" to="\(*r">
+<map from="[Rgr ]" to="\(*R">
+<map from="[sgr ]" to="\(*s">
+<map from="[Sgr ]" to="\(*S">
+<map from="[sfgr ]" to="\(ts">
+<map from="[tgr ]" to="\(*t">
+<map from="[Tgr ]" to="\(*T">
+<map from="[ugr ]" to="\(*u">
+<map from="[Ugr ]" to="\(*U">
+<map from="[phgr ]" to="\(*f">
+<map from="[PHgr ]" to="\(*F">
+<map from="[khgr ]" to="\(*x">
+<map from="[KHgr ]" to="\(*X">
+<map from="[psgr ]" to="\(*q">
+<map from="[PSgr ]" to="\(*Q">
+<map from="[ohgr ]" to="\(*w">
+<map from="[OHgr ]" to="\(*W">
+
+<!-- Greek Symbols -->
+
+<map from="[alpha ]" to="\(*a">
+<map from="[beta ]" to="\(*b">
+<map from="[gamma ]" to="\(*g">
+<map from="[Gamma ]" to="\(*G">
+<!--
+<map from="[gammad]" to="/digamma">
+-->
+<map from="[delta ]" to="\(*d">
+<map from="[Delta ]" to="\(*D">
+<map from="[epsi ]" to="\(*e">
+<!--
+<map from="[epsiv ]" to="/varepsilon">
+-->
+<map from="[epsis ]" to="\(*e">
+<map from="[zeta ]" to="\(*z">
+<map from="[eta ]" to="\(*y">
+<map from="[thetas]" to="\(*h">
+<map from="[Theta ]" to="\(*H">
+<map from="[thetav]" to="\(+h">
+<map from="[iota ]" to="\(*i">
+<map from="[kappa ]" to="\(*k">
+<!--
+<map from="[kappav]" to="/varkappa">
+-->
+<map from="[lambda]" to="\(*l">
+<map from="[Lambda]" to="\(*L">
+<map from="[mu ]" to="\(*m">
+<map from="[nu ]" to="\(*n">
+<map from="[xi ]" to="\(*c">
+<map from="[Xi ]" to="\(*C">
+<map from="[pi ]" to="\(*p">
+<!--
+<map from="[piv ]" to="\[+p]">
+-->
+<map from="[Pi ]" to="\(*P">
+<map from="[rho ]" to="\(*r">
+<!--
+<map from="[rhov ]" to="/varrho">
+-->
+<map from="[sigma ]" to="\(*s">
+<map from="[Sigma ]" to="\(*S">
+<map from="[sigmav]" to="\(ts">
+<map from="[tau ]" to="\(*t">
+<map from="[upsi ]" to="\(*u">
+<map from="[Upsi ]" to="\(*U">
+<map from="[phis ]" to="\(*f">
+<map from="[Phi ]" to="\(*F">
+<map from="[phiv ]" to="\(+f">
+<map from="[chi ]" to="\(*x">
+<map from="[psi ]" to="\(*q">
+<map from="[Psi ]" to="\(*X">
+<map from="[omega ]" to="\(*w">
+<map from="[Omega ]" to="\(*W">
+
+<!-- General Technical -->
+
+<map from="[aleph ]" to="\[Ah]">
+<map from="[and ]" to="\[AN]">
+<!--
+<map from="[ang90 ]" to="=right (90 degree) angle">
+<map from="[angsph]" to="/sphericalangle =angle-spherical">
+-->
+<map from="[ap ]" to="\(ap">
+<!--
+<map from="[becaus]" to="/because R: =because">
+<map from="[bottom]" to="/bot B: =perpendicular">
+-->
+<map from="[cap ]" to="\(ca">
+<map from="[cong ]" to="\(=~">
+<!--
+<map from="[conint]" to="/oint L: =contour integral operator">
+-->
+<map from="[cup ]" to="\(cu">
+<map from="[equiv ]" to="\(==">
+<map from="[exist ]" to="\(te">
+<map from="[forall]" to="\[fa]">
+<!--
+<map from="[fnof ]" to="=function of (italic small f)">
+-->
+<map from="[ge ]" to="\(>=">
+<map from="[iff ]" to="\[hA]">
+<map from="[infin ]" to="\(if">
+<!--
+<map from="[int ]" to="/int L: =integral operator">
+-->
+<map from="[isin ]" to="\(mo">
+<map from="[lang ]" to="\[la]">
+<map from="[lArr ]" to="\(lA">
+<map from="[le ]" to="\(<=">
+<map from="[minus ]" to="\(mi">
+<!--
+<map from="[mnplus]" to="/mp B: =minus-or-plus sign">
+-->
+<map from="[nabla ]" to="\(gr">
+<map from="[ne ]" to="\(!=">
+<map from="[ni ]" to="\(st">
+<map from="[or ]" to="\(OR">
+<map from="[par ]" to="\(ba\(ba">
+<!--
+<map from="[part ]" to="\(pd">
+<map from="[permil]" to="=per thousand">
+<map from="[perp ]" to="/perp R: =perpendicular">
+<map from="[prime ]" to="/prime =prime or minute">
+<map from="[Prime ]" to="=double prime or second">
+-->
+<map from="[prop ]" to="\(pt">
+<!--
+<map from="[radic ]" to="/surd =radical">
+<map from="[rang ]" to="/rangle C: =right angle bracket">
+<map from="[rArr ]" to="/Rightarrow A: =implies">
+<map from="[sim ]" to="/sim R: =similar">
+<map from="[sime ]" to="/simeq R: =similar, equals">
+-->
+<map from="[square]" to="\(sq">
+<map from="[sub ]" to="\(sb">
+<map from="[sube ]" to="\(ib">
+<map from="[sup ]" to="\(sp">
+<map from="[supe ]" to="\(ip">
+<!--
+<map from="[there4]" to="/therefore R: =therefore">
+<map from="[Verbar]" to="/Vert =dbl vertical bar">
+<map from="[angst ]" to="Angstrom =capital A, ring">
+<map from="[bernou]" to="Bernoulli function (script capital B)">
+<map from="[compfn]" to="B: composite function (small circle)">
+<map from="[Dot ]" to="=dieresis or umlaut mark">
+<map from="[DotDot]" to="four dots above">
+<map from="[hamilt]" to="Hamiltonian (script capital H)">
+<map from="[lagran]" to="Lagrangian (script capital L)">
+<map from="[lowast]" to="low asterisk">
+<map from="[notin ]" to="N: negated set membership">
+<map from="[order ]" to="order of (script small o)">
+<map from="[phmmat]" to="physics M-matrix (script capital M)">
+<map from="[tdot ]" to="three dots above">
+<map from="[tprime]" to="triple prime">
+<map from="[wedgeq]" to="R: corresponds to (wedge, equals)">
+-->
+
+<!-- Diacritical Marks -->
+
+<map from="[acute ]" to="\&'">
+<map from="[breve ]" to="\(ab">
+<map from="[caron ]" to="\(ah">
+<map from="[cedil ]" to="\(ac">
+<!--
+<map from="#[circ ]" to="\(a^">
+-->
+<map from="[circ ]" to="\(ha">
+<map from="[dblac ]" to='\(a"'>
+<map from="[die ]" to="\(ad">
+<map from="[dot ]" to="\(a.">
+<map from="[grave ]" to="`">
+<map from="[macr ]" to="\(a-">
+<map from="[ogon ]" to="\N'184'">
+<map from="[ring ]" to="\(ao">
+<map from="[tilde ]" to="~">
+<map from="[uml ]" to="\(ad">
diff --git a/share/sgml/transpec/transpec.dtd b/share/sgml/transpec/transpec.dtd
new file mode 100644
index 0000000..bcb1e50
--- /dev/null
+++ b/share/sgml/transpec/transpec.dtd
@@ -0,0 +1,97 @@
+<!--
+
+ $Id: transpec.dtd,v 1.1.1.1 1996/01/16 05:14:10 jfieber Exp $
+
+ Copyright (C) 1996
+ John R. Fieber. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED BY JOHN R. FIEBER AND CONTRIBUTORS ``AS IS'' AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL JOHN R. FIEBER OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+-->
+
+<!--
+
+This DTD defines the format for instant(1) translation specification
+files. A translation specification contains:
+
+ * Character mappings, useful for dealing with characters that
+ are magic for the formatter, such as backslash (\) is for
+ TeX.
+
+ * Sdata mappings. For example, the ISO entity sets define
+ special characters as sdata string, &ouml is [ouml ]. These
+ sdata strings are marked in the output of the sgml parser
+ and the mapping turn them into something useful for the
+ formatter.
+
+ * A set of translation rules.
+
+See the transpec(5) man page for details.
+
+-->
+
+<!ELEMENT transpec - - ((cmap | smap | var)*, rule+)>
+
+<!ELEMENT (cmap, smap) - - (map*)>
+<!ATTLIST (cmap, smap) id ID #IMPLIED>
+
+<!ELEMENT map - o EMPTY>
+<!ATTLIST map from CDATA #REQUIRED
+ to CDATA #REQUIRED>
+
+<!ELEMENT var - o (#PCDATA)>
+
+<!--
+A rule consists of an expression to determine if the rule should
+be applied to a given element (match), and the action that should
+be taken if the element matches. Each rule can be named. The
+cmap and smap attributes can specify an alternate to the default
+character and data mapping.
+-->
+
+<!ELEMENT rule - o (match, action?)>
+<!ATTLIST rule id CDATA #IMPLIED -- XXX should be ID notCDATA -->
+
+<!ELEMENT match - o (gi | attval | content | context | nthchild
+ | pattset | relation | varval | varreval)+>
+<!ELEMENT gi - o (#PCDATA)>
+<!ELEMENT attval - o (#PCDATA)>
+<!ELEMENT content - o (#PCDATA)>
+<!ELEMENT context - o (#PCDATA)>
+<!ELEMENT nthchild - o (#PCDATA)>
+<!ELEMENT pattset - o (#PCDATA)>
+<!ELEMENT relation - o (#PCDATA)>
+<!ELEMENT varval - o (#PCDATA)>
+<!ELEMENT varreval - o (#PCDATA)>
+
+
+<!ELEMENT action - o (do | end | ignore | incr | message | replace
+ | quit | set | start)+>
+<!ELEMENT do - o (#PCDATA)>
+<!ELEMENT end - o (#PCDATA)>
+<!ELEMENT ignore - o (#PCDATA)>
+<!ELEMENT incr - o (#PCDATA)>
+<!ELEMENT message - o (#PCDATA)>
+<!ELEMENT replace - o (#PCDATA)>
+<!ELEMENT quit - o (#PCDATA)>
+<!ELEMENT set - o (#PCDATA)>
+<!ELEMENT start - o (#PCDATA)>
OpenPOWER on IntegriCloud