Skip to content

LyX to I-D/RFC export by way of Lyx export to XHTML and XSLT conversion to xml2rfc schema

Notifications You must be signed in to change notification settings

nicowilliams/lyx2rfc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a project to make it possible to use LyX [0], a WYSIWYM [1]
editor based on LaTeX, to edit Internet-Drafts (and, if the RFC-Editor
ever wanted to, RFCs).  It works by converting LyX documents to
xml2rfc's XML schema, then applying xml2rfc and/or the Greenbytes
XSL template.

Currently the project is quite functional; several Internet-Drafts have
been authored with LyX.

Lyx2rfc consists of an XSLT 2.0 template to convert LyX XHTML output to
the xml2rfc schema, at which point the xml2rfc tool is run to typeset in
any of the normal I-D/RFC formats (text, HTML, and PDF).  The lyx2rfc
script automates all of this work and integrates with LyX by a) telling
LyX about RFC formats, b) telling LyX how to convert between LyX and RFC
formats (this is as simple as appending a few lines to
~/.lyx/preferences).

In order to use this one must add some custom inset definitions from the
custom_insets file to one's LyX document.  These custom insets are used
to handle metadata needed by xml2rfc but not provided by LyX: draftname,
intended status, and so on, as well as author metadata, and xml2rfc
processing instructions.

See the user guide for more information: lyx2rfc-user-guide (in this
same directory).

The user guide is itself written in LyX and rendered with xml2rfc as a
private document (i.e., not as an Internet-Draft, to avoid the I-D
boilerplate).

Also provided is a dummy Internet-Draft: test-i-d.

INSTALL
-------

See the User Guide.

Basically: install LyX, docbook-sgml, and Saxon packages, run LyX,
Tools->Reconfigure, append format and conversion specifications to
~/.lyx/preferences, restart LyX, and you're ready to edit.


TODO
----

 - Add iref support?  It'd be pretty easy, but I've never seen an
   Internet-Draft or RFC with an index!

 - Rewrite lyx2rfc in Python so it works on Windows too
 - Make lyx2rfc copy DTDs to the LyX temporary working directory
 - Provide a mechanism for updating ~/.lyx/preferences to define RFC
   formats and conversions
 - Absorb Yaron's packaging of lyx2rfc

 - Add support for figures with graphic and text variants?
 - Add support for automatic SVG<->ASCII art? (and image carmelization?)

 - Add support for using bibtex instead of / in addition to bibxml??

   This would require first providing a bibxml->bibtex conversion, which
   would be most easily done through bibutils and some XSL to convert
   bibxml to mods.  Next we'd have to provide a way to sort references
   into references sections, since LyX only supports a single references
   section (or multiple ones, but not with different titles).  The
   advantage of this would be that we'd be using more native LyX support
   and fewer custom insets, but the disadvantage is clear: it'd be a lot
   more work to add references to a document (or more work to keep the
   bibtex DBs in sync with the bibxml DBs)!

BUGS:

 - Empty lines in code listings (used for ASCII figures) must have at
   least one space character, else the LyX export to XHTML function
   fails miserably.

 - LyX does not pass through any table column widths.  Besides, LyX lets
   the user set column widths only in centimeters, while xml2rfc allows
   only percentages.  Since the XSLT won't see any column width, there's
   nothing we can do.

   Still, we could add a custom inset by which to specify column widths
   in percentage and render that into xml2rfc's schema.

[0] http://www.lyx.org/
[1] What You See Is What You Mean.

About

LyX to I-D/RFC export by way of Lyx export to XHTML and XSLT conversion to xml2rfc schema

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published