Displaying a whole dvi file as a single long page.

For an example of how this looks, see the single-page version of "A Note on Association Schemes".

This is a technique advocated by Leslie Lamport. It will take quite a bit of work to get right.

  1. A very simple technique, usable for small documents, is to simply set your TeX textHeight to a very large number. Then TeX generates a single page containing your whole document.

    It looks a little silly to have a 1 at the very bottom :-).

    TeX will run out of memory if you take this too far.

    If somebody wants to look at page 1 and then page 50, they have to wait for the whole dvi file to download.

  2. Another technique involves chaining together many invocations of the DVIOnePageApplet in a single html file. Some experimentation is required here, to see how to avoid having every page downloaded by default. Perhaps don't start loading the document until the first paint( ) request is received.

  3. Links within a document are going to be hard to get right.

    See project 5, Scrolling within a page to show linked-to text.

  4. When chaining together several applets, outlines will not work across page boundaries. If your whole document is a single large outline, then this is a problem.

    A different approach which does not have this problem involves writing a new parser, based on idvi.display.PageParser. This parser would ignore the kTokenBeginPage and kTokenEndPage tokens, creating a single large Block structure for the whole document. This would allow cross-page links, colored text, and outlines.