]> git.lyx.org Git - lyx.git/blob - development/HTML/HTML.notes
MathML for InsetMathBig.
[lyx.git] / development / HTML / HTML.notes
1 TODO:
2 1. The counter patch, and better output for InsetRef.
3 2. Better output for citations, meaning better labels. Numerical, as said below,
4    should be easy, and author-year oughtn't to be THAT hard. But it'll need a 
5          bit of work.
6 3. CSS needs work in several places, mostly floats. Maybe check elyxer on that.
7 4. MathML
8
9
10 These insets work but still need work:
11         InsetBibtex: There are a few issues here. 
12                 - One is that the output is not very nice. This will be solved, though, by 
13                         a patch of mine I seem to have forgotten to finish. To get output that 
14                         accorded with the BibTeX style, of course, we'd have to parse the bbl file. 
15                         I don't know if that's worth it.
16                 - Another issue concerns cross-references. At the moment, we simply use the
17                         xref information for every entry, rather than listing the xref separately and
18                         then referencing it. That should not be terribly hard, but it would take a bit
19                         of work.
20                 - A third issue concerns the labels. At present, we use the BibTeX key as the 
21                         citation label. It would not be too hard, I think, to use numerical labels,
22                         in the way BibTeX does. To do so, we'd need to move the sorting routine out
23                         of InsetBibtex so we could do it before we print the citations. See below.
24         InsetBox: The CSS isn't there yet.
25         InsetCitation: This has two limitations as of 20 XI 2009. The first is that we
26                 ignore the citation style and output square brackets, no matter what. The
27                 second is that, with BibTeX, we simply use the BibTeX key as the citation
28                 string, thus ignoring numerical, author-year, etc. It will not be too hard
29                 to make numerical work. To do this, we need to collect information on the
30                 used citations, alphabetize them, and then assign numerical labels via the
31                 BibTeXInfo::label() method. A similar strategy will work for author-year and
32                 the like, but calculating labels will be more complex---unless we just parse
33                 the bbl file, which of course is the only fully general solution.
34         InsetFlex: I think this one is OK, but it needs some testing.
35         InsetFloat: This seems to work OK, but it will need testing and tweaking.
36         InsetGraphics: This works in a pretty primitive way, in that it outputs the graphic
37           and appropriate img tag. But we don't yet do any sort of scaling, rotating, and
38                 so forth. That won't be hard, since we can just call ImageMagick to do this for 
39                 us, but appropriate routines will need to be written.
40         InsetRef: At present, we just use the label name as associated text, and put it 
41                 into square brackets. It'd be nice to be able to do more, but for that we'd need to
42                 associate counters with the labels, and we don't have that yet.
43         InsetTabular: Works reasonably well, but we don't do anything with any of the 
44                 arguments provided for longtable. There are probably other limitations, too,
45                 since I'm very much not an expert with tables.
46         InsetTOC: This now works pretty well, but only for the table of contents, not for
47                 any other TOC-like lists. Getting those to work shouldn't be too bad, as we can
48                 do almost exactly the same thing. That said, though, we might want to do things
49                 slightly differently, and have the links target actual *insets*, rather than just
50                 target paragraphs. That'd mean doing a bit of work on TocBackend, etc.
51
52 Math
53   We have a fair bit of math now working via MathML output, but there are still some 
54   isues, and not all the insets work. Here are the ones I know still need work:
55         - AMSArray
56         - Array
57         - BoldSymbol: Should be easy.
58         - Box
59         - Cases
60         - Diff: Code exists, but I do not know if it is right.
61         - Font
62         - Binom (in Frac): None of these tags exist in MathML 2.0. We'll
63                 just output a fraction with delimiters.
64         - Lefteqn
65         - MBox: Use <mtext>.
66         - Overset: Use <mover>.
67         - Par?
68         - Phantom: There is some support for this in MathML....
69         - Ref: Needs to be deferred.
70         - Size: Unclear if we want to do anything here, though we could. See
71                 lib/symbols for the commands supported, of course.
72         - Space: Needs checking.
73         - SpecialChar: Needs checking.
74         - Split
75         - Stackrel: Use <mover>, probably.
76         - Substack: This is a stack of however many cells, all in a smaller style.
77                 Probably do something with <mover>, again.
78         - Tabular: This is more or less a text-like table in math. Probably output it
79                 as a table, but set the font.
80         - Underset: Use <munder>.
81         - XArrow: Contents above and below an arrow. Use...?
82         - XYMatrix: Not sure how this differs from ordinary ones.
83
84
85 These insets do not work and are not yet scheduled to work:
86         InsetExternal: It may be that this won't be too hard, but I don't understand 
87                 these so am not sure what to do. For now, it is disabled.
88         InsetIndex and InsetPrintIndex: An "advanced" case. What really would be cool 
89                 would be to collect all of these and then write the index as a series of links 
90                 back to the occurrences. But not now.
91         InsetNomencl and InsetPrintNomencl: Also "advanced".
92
93 May need to make use here of TocWidget::itemInset, which should then be moved
94 to TocBackend.
95
96 MATH
97         Regarding math, the view seems to be that we should in the first instance just use what
98         we get from instant preview and copy those over to the output directory, and then try
99         to make MathML work.