The main output routines now more or less work. Known issues: * InsetLine normally appears in a standard environment, which puts
inside

, in violation of the DTD. I guess we could close the paragraph and then do the


, but isn't there a better solution? There's actually a LyX bug here, I think, since a line surely ought not appear in a normal paragraph? * The same issue arises with InsetVSpace, unsurprisingly. And also with the inline version of InsetListings. * One option here, actually, would be to use just
and never use

, setting the spacing and such via CSS. * The code that manages the nesting of tags is pretty primitive. It needs a lot of work. These insets are basically done, though there are probably issues here and there, and there are even some FIXMEs: Bibitem, Branch, Caption, Collapsable, Footnote, Hyperlink, Include, Info, Label, Line, Listings, Marginal, Note, Newline, Newpage, Quotes, Space, SpecialChar, Wrap These insets do nothing for XHTML: ERT, OptArg, Phantom These insets work but still need work: InsetBibtex: There are a few issues here. - One is that the output is not very nice. This will be solved, though, by a patch of mine I seem to have forgotten to finish. To get output that accorded with the BibTeX style, of course, we'd have to parse the bbl file. I don't know if that's worth it. - Another issue concerns cross-references. At the moment, we simply use the xref information for every entry, rather than listing the xref separately and then referencing it. That should not be terribly hard, but it would take a bit of work. - A third issue concerns the labels. At present, we use the BibTeX key as the citation label. It would not be too hard, I think, to use numerical labels, in the way BibTeX does. To do so, we'd need to move the sorting routine out of InsetBibtex so we could do it before we print the citations. See below. InsetBox: The CSS isn't there yet. InsetCitation: This has two limitations as of 11 VI 2009. The first is that we ignore the citation style and output square brackets, no matter what. The second is that, with BibTeX, we simply use the BibTeX key as the citation string, thus ignoring numerical, author-year, etc. It will not be too hard to make numerical work. To do this, we need to collect information on the used citations, alphabetize them, and then assign numerical labels via the BibTeXInfo::label() method. A similar strategy will work for author-year and the like, but calculating labels will be more complex---unless we just parse the bbl file, which of course is the only fully general solution. InsetFlex: I think this one is OK, but it needs some testing. InsetFloat: This seems to work OK, but it will need testing and tweaking. These insets do not work and are not yet scheduled to work: InsetExternal: It may be that this won't be too hard, but I don't understand these so am not sure what to do. For now, it is disabled. InsetIndex and InsetPrintIndex: An "advanced" case. What really would be cool would be to collect all of these and then write the index as a series of links back to the occurrences. But not now. InsetNomencl and InsetPrintNomencl: Also "advanced". May need to make use here of TocWidget::itemInset, which should then be moved to TocBackend. These do not yet work and need some attention: InsetGraphics: This should be fairly straightforward, but I'll need to learn a bit about export formats, etc, to get it completely right. We'll also want to make some use of the params, eg, on width and height. I guess there is also some issue about converting the graphics formats? InsetRef: Presumably, this is an internal link. But what should the text be, and how should we get it? Probably some validation thing again, where labels tell us where they are. Alternatively, we could parse the aux file. InsetTabular: This shouldn't be too hard, but will need doing. InsetTOC: We should just be able to use what we have in the TOC. To get links to work, though, we'll need to co-ordinate the writing of anchors in the sections, which won't actually happen until later. MATH Regarding math, the view seems to be that we should in the first instance just use what we get from instant preview and copy those over to the output directory, and then try to make MathML work.