*Title: Converting aft-files to rtf-files *Author: Eva Maria Krause Version 1.0 ~revised 12/10/2001~ *TOC *Preliminaries It would be very nice to have a dat-file for direct RTF-output from aft-files. In fact, there are convertors from HTML to RTF or from LaTeX to RTF, but a direct way seems to be much more natural. When trying to write such a file there arise a lot of problems. The solutions proposed here are realized by some post-processing of the generated rtf-file, which is done by a little perl-script named "postrtf.pl". For this purpose the dat-file contains some commands, which can't be directly interpreted by an rtf-reader. They only serve as markup-commands needed in the perl-script afterwards. *Problems and their solution **Missing spaces First of all, lines in rtf-files are concatenated without intermediate spaces. Therefore the generated output must be modified by concatenating lines with additional spaces. **Numbering of ordered lists The second problem concerns ordered lists: RTF isn't a markup-language at all. Therefore no logical structure of documents exists. It must be substituted by paragraphs, indention and so on. Unlike HTML, Tex and Lout numbering of items isn't done automatically. It must be done by hand. **Indention of nested lists When nesting lists the indention of each item depends on the current indention level. Ordered and unordered lists can be mixed up arbitrarily. That's the reason, that unordered lists must also be handled by the postprocessing process. **Verbatim paragraphs Verbatim paragraphs should be displayed in the same manner as typed in. Especially line breaks should be kept. In RTF this means, that each line must be preceeded by something like |\par| or |\line\li...| But in AFT-Dat-files there is no way of specifying some output code preceeding each line of a verbatim-block. **Tables In the definition of tables the width of each column has to be specified. But the number of columns varies from case to case, so one has to insert a different number of commands like |\cellx...|. This can only be done in the postprocessing process by evaluating the number of columns. *Remarks **Images Images won't be translated due to their very complicated presentation in RTF. **Nesting of named lists Nesting of named lists is not implemented yet. **Tables The presentation of tables only works, if the calculated number of columns by aft is correct. If the number of columns in a table varies from row to row aft calculates the number of columns only considering the first row. The generated table in rtf will then have not enough columns. *Warning Due to the described problem of missing spaces postprocessing is necessary in every case.