-
Notifications
You must be signed in to change notification settings - Fork 7
/
README
86 lines (64 loc) · 3.36 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
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.