The HTML versions of this document has, of course, been produced using AscToHTM itself, no post-processing has been done to the HTML pages produced. The contents list, the navigation bar and all the hyperlinks have been generated from a single source document A2HDOCO.TXT (approaching 5,000 lines and *still* growing) and a few small configuration files. See section 6.1 of this document to see a list of the actual files involved. Any RTF version has been generated by the new text-to-RTF program (name yet to be chosen) which uses the same analysis engine as AscToHTM. This document describes AscToHTM V3.0, which will be available in early August 1998, and which will introduce a re-vamped user interface in the Windows version (see 4.1.2) 1 Introduction ------------------ AscToHTM is an ASCII to HTML conversion tool. It has, of course, been used to generate the HTML version of this document from the text file A2HDOCO.TXT (see 6.1 for more details). The HTML version of this document is presented "as is". That is, *no post-production of the HTML has occurred*. This should give you a flavour of what AscToHTM is capable of. AscToHTM is made available for download via the Internet from [download location]. 1.1 AscToHTM's design objectives - Intelligent analysis. AscToHTM is designed to analyse a document to determine its structure and layout. This analysis allows AscToHTM to decide how best to mark up the HTML so as to accurately represent the author's original meaning. It also helps AscToHTM to reduce errors by allowing it to spot anomalies in the document source. This is important in minimising the amount of any post-production work required. - Human-readable HTML AscToHTM tries to create HTML that can be easily read and modified in an editor. This is useful if corrections are necessary, or further development is required. For example AscToHTM a) produces short (usually <80 character) output lines b) attempts to indent the HTML to match the output indentation. c) adds comments to the HTML to indicate include files etc. d) uses
tags for indentation, rather than placing the whole file in ...
tags. - Simple user input Inevitably users have supply additional information to tell AscToHTM where its analysis has gone wrong and to add additional information such as a document title etc. AscToHTM offers a large number of options (also known as "policies") that the user can modify. Broadly speaking, these policies fall into two camps - Analysis policies (see 6.2). These policies affect the way AscToHTM analyses your file, and can be used to disabled searches for things like bullets, or to specify whether or not underlined headings are to be expected. - Output policies (see 6.3). These policies influence the types of HTML markup that are produced. They also allow you add colour, headers footers, background images and much more to your pages. AscToHTM can save your policies to a file, so that next time you run it you can load this information back from the "policy" file. Policies are described fully in [section 6]. You can further refine the conversion by placing special lines in your source file. These are known as pre-processor commands (see [section 7]). To help users formulate and modify their document's policy, AscToHTM can be made to create an output policy file (see 4.2.2.5 and 6.3.3.11); Users can then simply edit this file and feed it back into the conversion process. A summary of the recognised policy lines is given in the [PolDict]. 1.2 Expected uses of AscToHTM - Migration of "legacy" text to HTML. Large amounts of unconverted text exist. As people plan to put this information on the Web, conversion to HTML will become necessary. This can be a tedious and time-consuming task. AscToHTM will do much of the work for you. AscToHTM is priced to be worth an hour of two of your time. Check [Reg location] for details. This means that the "pay back" time is negligible (we only mention this in case you have bean-counters to convince :). If you don't think AscToHTM will save you hours, then by all means don't by it. - Facilitate mastering of HTML pages in ASCII The HTML created by AscToHTM may not be as pretty or as clever as that generated by a full blown HTML editor. But... It'll be easier to write, edit and spell-check, and it may have a hyperlinked contents list generated. - Automated conversions AscToHTM can be used to automatically convert text documents that you receive. For this we usually recommend the console version which is better suited for calling from within batch jobs. 1.3 Other uses of AscToHTM - Convert Word documents AscToHTM was never intended to handle Word documents. We fully expect HTML export and import filters to appear (they have in Word '97), and we would advise anyone whose master document is in Word to search out these filters and give them a try. That said... a lot of people seem unhappy with what's already available, and AscToHTM does a reasonable job if you save the file as text with line breaks, though obviously tables and figures will get lost (in the case of tables, because Word throws them away). The main problem is that Word produces lousy looking text. This is one area where AscToHTM does a little better than "garbage in, garbage out" - Pre-process text for import to Word. (This is a bit cheeky, but possibly worth a try). Use AscToHTM to convert text to HTML, then import this into your word processing package. We haven't tried this, but we're guessing that this will give better results than importing from text. That's because AscToHTM's analysis engine is *smarter*. NOTE: In the near future the author plans to use the analysis engine to generate a text-to-RTF convertor more suited to this purpose. - Pre-process text for printing Use AscToHTM to convert text to HTML, then print the file from within Netscape or whatever. The result is a much nicer looking document with fonts'n'stuff. - Add hyperlinks to fairly ordinary pages. AscToHTM has a "link dictionary" feature that can be used to add hyperlinks to any word or phrase (see 6.3.8). This can greatly enhance an otherwise dull set of text pages. 2 Installation ------------------ The shareware version of AscToHTM is made available over the web from [Download location]. Once you register you can download the full version (no nags, no limits), and are entitled to free upgrades for an arbitrary (equals "my decision is final") period of time. So far I've never requested payment for any updates, which currently occur roughly every 2 months. Installation will vary according to the type of install kit you've downloaded, but in each case you first download the .ZIP file appropriate to your system and unzip. 2.1 VMS installation Unzip the files. If you've taken an executable version, that's it. If you've taken an object library version, execute the build command file. You might want to define a foreign command to get better use out of the program. Have a cup of coffee and relax :) 2.2 Windows installation The current version of the software makes updates to your Registry. See the Install notes that come with the software for a description of the registry settings used. The Windows version requires the following .DLLs to be installed on your machine MFC42.DLL MSVCRT.DLL MSVCIRT.DLL You may well already have these. If not, you can use an InstallShield download kit that includes them. Failing that, visit http://babeard.simplenet.com/dll.html to pick up the .DLL files that are missing. 2.2.1 InstallShield version If you've taken an installshield version, unzip the file and then run the Setup program. This will move the files to a directory, and create all icons etc. Note: The program is written in C++ and will therefore require that you have the correct run-time libraries for your system installed (see 2.2 above). The installshield program will detect this and install the necessary .DLLs Once installed, InstallShield will also offer an uninstall option. You can access this via Control Panel | Add/remove software. The InstallShield version is substantially larger (around 1.5Mb) than the manual install versions. This means some people experience problems downloading the file. For this reason smaller kits without the .DLLs and without InstallShield are available. This reduces the download size by a factor of 2 and 6 respectively. 2.2.2 Simple .ZIP file version This version should be used by anyone who anticipates problems with the InstallShield version, or who simply wishes to upgrade an existing version. It's about 6 times smaller than the InstallShield version with .DLLs in it. Once you've unzipped the files, move them to your preferred directory. There will be no uninstall command in this case (unless you are overlaying an earlier installed version). 2.2.3 Console application Originally AscToHTM was only available as a console application. Now it is available as a fully-windowed application. Consequently this version is not so widely available. The console version will be made available to registered users who wish it, as it is more suited for automated conversions inside batch jobs etc. The conversion engine is identical in each case, it's just GUI-less. Please note, this is *not* the same as any DOS version that we produce, and will require a Win32 environment. Note: It's likely that future versions of AscToHTM will merge the console and Windowed interfaces into a single program, at which point the console version will become redundant. 3 How AscToHTM works ------------------------ 3.1 The big assumption AscToHTM makes one big assumption :- Each text file has been laid out in a consistent manner by its author in a way that makes it easy for a human reader to understand. Given this, AscToHTM tries to read the text file and mark it up in HTML accordingly. This is achieved by making two passes through the document, an analysis pass (see 3.2) and an output pass (see 3.3). Note: Sadly this assumption is not always true 3.2 The analysis pass During the analysis pass AscToHTM gathers together all the statistics that it needs to analyse how the author has laid out the file. For example, the distribution of line indentations and line lengths is observed, together with the number and types of bullets, section headings and lots of other stuff. Once this has been done, the program uses this data to determine how the author has structured the document. For example are the section headings underlined, capitalised or numbered? If numbered, what style of numbering is used, and at what level of indentation is the heading placed? This information is then used to set the analysis polices (see 6.2) which may then be overridden by the user, or by loading a policy file with different values. 3.3 The output pass During the output pass AscToHTM - Generates HTML (there's nothing like stating the obvious) - (optionally) creates a suite of inter-linked HTML pages - (optionally) generates a contents list - (optionally) generates a directory page 3.3.1 Generating HTML The HTML generated depends only on the original document, the calculated document policy, and any user policies supplied. [Section 5] describes the markup produced in more detail. 3.3.2 Generating a contents list AscToHTM can detect the presence of a contents list in the original document. Alternatively you can choose (see 6.3.4) to have AscToHTM to generate a contents list for you, in which case any original list is omitted from the output HTML document. Regardless of whether the original or generated contents list is used, AscToHTM will turn the contents list into hyperlinks that will take you to the correct HTML file and location. There is a fuller discussion of contents lists in 5.6.2. The policies that influence contents list production are listed in 6.3.4, whilst the pre-processor commands are described in 7.1.3. 3.3.3 Splitting the document into many HTML pages By default AscToHTM creates a single .HTML file. However, through file organisation document policies (see 6.3.3) it is possible to a) Split the document into a number of smaller .HTML files (see 6.3.3.8). b) Insert standard JavaScript into the ... section of each page (see 6.3.1.6) c) Add a HTML "header" to the top of each generated file (see 6.3.1.7) d) Add a navigation bar at the foot of each page with links to the Next/Previous .HTML page and the contents list (see 6.3.3.10). e) Add a HTML "footer" to the end of each generated page (see 6.3.1.8) 4 Running AscToHTM ---------------------- 4.1 Windows version 4.1.1 Launching the program 4.1.1.1 Normal activation Just run the program as you would any other Windows program, i.e. by clicking on it's icon, or launching it the Start menu. 4.1.1.2 Execution from a command line From a DOS command you can type C:> AscToHTM or C:> AscToHTM ... In the first case, AscToHTM will be launched as normal. In the second case AscToHTM will convert the specified files, briefly displaying a status window, and then exiting. In this case, one of the named files can be a .pol policy file. NOTE: There is also a console version of AscToHTM that can only run from the DOS prompt. This version has a slightly different command syntax, and in particular is better suited for batch processing (see 4.2) Later versions of AscToHTM will probably merge the functionality of the two versions. 4.1.1.3 Drag'n'Drop execution Create an Icon for AscToHTM, and simple drag'n'drop files onto it. The results will be identical to those obtained by typing in the filenames as described in 4.1.1.2. One useful suggestion is to add AscToHTM to your "SendTo" menu (shown when you right-click on a file). See the Windows help file for more details. 4.1.2 Using the Windows Interface *Section added in V3.0* The Windows interface has been re-vamped in V3.0. The main changes are - Introduction of a Windows Menu to replace the old button bar - More options on this menu - The policy property sheets no longer have to be closed when doing a conversion. 4.1.2.1 Doing a straightforward conversion *Section added in V3.0* To do a simple conversion, simply enter the name of the file to be converted or use the "Browse" button to locate the file to be converted. Then press the "Convert file(s)" button. A status screen will be displayed whilst the conversion is in progress. For small files this may flash up so fast you can't actually read it. (If you want to see what it said go to the View...Messages menu option) To view the HTML, press the "View results" button. This should launch your preferred HTML viewer to display the newly created HTML page. 4.1.2.2 The File menu *New in V3.0* The File menu has the following options: - *Convert* Initiates the conversion. If you already have a file selected, this file will be converted. If you don't, then a browse window will open allowing you to choose a file to convert. This option is identical to pressing the "Convert files" button. - *Exit* Exits the program 4.1.2.3 The Conversion options menu *New in V3.0* AscToHTM offers the advanced user a large number of program options. These are called policies, and may be saved in policy files for later re-use. Policy files are described in detail in Chapter 6 of this document. Policies broadly come in two sorts. Analysis policies represent a description of what the source file does and does not contain. These policies are usually set to default values and/or calculated by analysing the source document. They should only ever need to be manually adjusted if you wish to correct the analysis, or override the detection of certain typographical features. Output policies represent styling and other options that cannot be inferred from the source document. These include styling and markup options, and allow the user to "add value" to the HTML generated. The Conversion Options menu has the following items - *Edit analysis policies* This option allows you to edit the programs analysis policies (see 6.2). This opens a tabbed property sheet with the various policy values shown. These values will change each time a document is converted to reflect the results of analysing the document. Policies that have been manually set (or loaded from file) will not change in this way. You should only need to change these if you suspect AscToHTM has wrongly analysed your source file. The analysis policies are listed in 11.1 and described fully in 6.2. - *Edit output policies* This option allows you to edit the programs output policies (see 6.3). This opens a tabbed property sheet with the various policy values shown. For the most part these values will *not* change each time a document is converted. You can use these policies to tailor the document conversion to produce HTML files as near as possible to how you like them. The output policies are listed in 11.2 and described fully in 6.3. - *Re-analyse the file* This option forces AscToHTM to re-analyse the current source file to (re-)calculate the analysis policies. - *Reset to defaults* This option forces all policies back to their AscToHTM defaults. This will negate the effect of any manually set policies, or policies loaded from a policy file. - *Load policies from file* This option allows you to load a set of policies previously saved to a policy file. This allows a conversion to be repeatedly done the same way, or a set of conversions to be done the same way (see 6.4) Note, you can set a policy file to be used by default see 4.1.3. - *Save policies to file* This option allows you to save your current set of policies to a policy file for later re-use. It is recommended that only a partial set of policies (i.e. any loaded policies and manually set policies) be saved to allow the program maximum flexibility when converting future files. See section 6.4 and the discussion in 6.4.2.1 4.1.2.4 The Settings menu *New in V3.0* - *Edit* This option opens up a dialog to allow you to change the program settings (see 4.1.3). 4.1.2.5 The View menu *New in V3.0* - *Messages* This option allows you to re-view the Messages window displayed during file conversion. On small files this window can sometime be shown too briefly to view the messages. - *Last conversion* This option will launch the preferred browser for the last file converted. If a wildcard conversion was done, the last file in the group will be shown. This option has the same effect as the "View results" button. 4.1.2.6 The Help menu *New in V3.0* - *Contents* This option brings up the Windows help file. This offers a lot of context-sensitive help which can usually be accessed by pressing F1 or "Help" anywhere in the program. Over time the Windows Help file has adopted a secondary role compared to the HTML documentation. - *HTML doco (offline)* This option launches the copy of the HTML documentation on your own computer inside the preferred browser. Each installation of AscToHTM comes complete with HTML documentation. Should you decide to move this documentation, you'll need to alter the settings (see 4.1.3) - *HTML doco (online)* This option launches the *online* copy of the HTML documentation from the Web. As such you will need to be online for this to work. Normally this documentation will be identical to that held locally on your own computer. However, should you wish to look for updates or download a fresh version of the documentation you can do so. Currently this is http://www.yrl.co.uk/~jaf/doCo/A2H.HTM - *Register (online)* In the shareware version of AscToHTM this will launch your preferred browser to take you to a web site which gives details of how to register your copy of AscToHTM. Currently this is http://www.yrl.co.uk/~jaf/a2hregisTer.html - *About* This option launches the About screen. This gives program version information, shows your registration status, and provides a couple of buttons to access the home page and other pages on the Web. 4.1.3 Program settings *Section added in V3.0* This Dialog allows you to set a few program settings. These settings allow you to customize the program's behaviour to a limited extend. Setting include:- - *Default policy file* This is the name of any policy file to be used as default each time the program is run. This is not normally desirable, but if you always use the same policy file, this will save you having to load it each time you run the program. - *Browser command to view results* This is the browser command used to view the HTML files created. By default AscToHTM should detect the browser that is configured for your machine, but should you wish to check your results look okay in some other browser, you can change it here. - *Location of HTML documentation* This is the location of the HTML documentation on your machine. By default this is installed in the same directory as the program itself. However, should you wish to move these file, you can adjust this setting so that the Help menu option can still locate these files. - *Drag'n'drop properties* These settings govern the behaviour of the program when files are dragged onto the program's icon. The options include switching off the Messages display during conversion, and automatically viewing the results of the conversion in the preferred browser on completion. 4.2 VMS and console application versions The VMS version and windows console version behave identically in terms of their use of command arguments. 4.2.1 Command line arguments The command line should be of the form AscToHTM [] [] Where Filespec Any valid file specification for the system you're using. As of V2.3 this can include wildcards. In the Windows version, this can also be space separated lists of files Policy_file The name of any policy file (see [Section 6]) you want to use for the conversion. Policy files are recognised by having a .pol file extension. For this reason you cannot convert .pol files to HTML. Qualifiers Extra commands that may be passed in via the command line. In most cases these are equivalent to policies, they're just made available on the command line for your convenience. 4.2.2 Command line qualifiers Certain aspects of AscToHTM's behaviour can be changed by adding qualifiers to the command line. Qualifiers begin with the slash (/) character and should be entirely upper or lower case, i.e. they must not be mixed case, and must not be shortened. 4.2.2.1 The /CONTENTS qualifier This has exactly the same effect as the add contents policy line described in 6.3.4.1 4.2.2.2 The /DEBUG qualifier This qualifier causes AscToHTM to generate some diagnostic files, which have extensions .LIS1 an analysis before policy is set .LIS an analysis after policy is set .STATS a statistics file These files are neither pretty, nor easy to read, but they can assist diagnosing faults should you wish to report them. 4.2.2.3 The /DOS qualifier This has exactly the same effect as the "use DOS filenames" policy line described in 6.3.3.5. 4.2.2.4 The /SIMPLE qualifier This has exactly the same effect as the "Keep it simple" policy line described in 6.2.1.10 4.2.2.5 The /POLICY qualifier This has exactly the same effect as the "Output Policy file" policy line described in 6.3.3.11 4.2.2.6 The /INDEX qualifier This has exactly the same effect as the "Make Directory" policy line described in 6.3.9.1 4.3 Getting the most from AscToHTM 4.3.1 Making your first attempt 4.3.1.1 From the command line To run AscToHTM simply type AscToHTM Input_file.name at the command line. This will create a file :- - input_file.HTML An output file which will have the same file name with a .HTML extension The program may display a number of status messages indicating source lines that it rejects because they "fail policy". Source lines that fail policy are usually simply copied to the output file with no markup applied. These messages are largely informational, and can be ignored if the conversion worked okay. If it didn't, these messages may give a clue as to where the analysis went wrong. 4.3.1.2 From Windows Enter the name of the file to be converted in the text field. If you wish, use the browse button to search for the file to be converted. Once you've chosen the file, the output filename and input and output directories are inferred from the filename. If you wish, you may edit the output filename and directory. Press the *Convert* button. The Messages window will briefly display. If you wish to view these messages later, press the Show Messages button. To view the last file converted, press the *View results* button. This should launch your default browser for the file types (.htm or .html) just created. If you get the message "cannot detect default browser", use the *Settings* menu to set up the path to the browser you wish to use and try again. 4.3.2 Refining your results If all goes well the resultant HTML will be satisfactory and all in one file. You can change all that by creating your own document policy. In the Windows version, this is done by editing policies via the *Options* button, which is fully described in the context-sensitive Windows Help file (press F1 at any point). However, in all versions the policies can be saved to a text policy file and it is the format of that file that is shown and discussed in this document. 4.3.2.1 Using a policy file If your initial results are a little strange, then re-issue the command AscToHTM Input_file.name /policy This time in addition to the .HTML file, you will now have an output policy file "input_file.POL" which describes the document policy file calculated by AscToHTM (see 3.2) and used by it during the conversion. Review the contents of this file, looking for any policies that don't look right. Create a new .POL file containing only those policies you think are wrong, and edit them to have correct values. You'll need to review [Section 6] to do this. Once you've produced your new input policy file, re-run the conversion using the command AscToHTM Input_file.name Input_policy_file.name The program will now override aspects of the calculated document policy with the input policy you've supplied. Each document policy file consists of a number of lines of data. Each line has the form Keywords : Data value(s) For clarity a number of section headers are added. These are ignored in the input policy, as are any lines whose keywords are not recognised or not yet supported. A sample fragment from a calculate policy file looks like this [Hyperlinks] ------------ Create hyperlinks Yes Create mailto links Yes Create NEWS links Yes [Added HTML] ------------ Document Title (none) These are all default values used by AscToHTM. If, for example you want to add a title to your page and prevent email addresses being turned into hyperlinks, simply create a policy file containing the lines [Hyperlinks] ------------ Create mailto links No [Added HTML] ------------ Document Title Title text for the HTML page (The insertion of section headings is optional). By refining the input policy file, you can greatly influence the output that AscToHTM generates 4.3.2.2 Using a link dictionary In addition to adding hyperlinks for all URLs, email addresses, section references and contents list entries, AscToHTM allows users to specify key phrases that should be turned into hyperlinks. This is achieved by adding lines to the input policy of the form [Link Dictionary] ----------------- Link definition : "[AV]" = "AltaVista" + "Using_AltaVista.html" The syntax used here is Link definition : "match phrase" = "replacement phrase" + "link" In this case the string "[AV]" is replaced by a link to a web page "Using_AltaVista.html" with the text "AltaVista" being highlighted. The link dictionary used for this documentation can be seen in the file A2HLINKS.DAT. 4.3.2.3 Using multiple policy files If you wish to use AscToHTM to support several text files e.g. for a set of Intranet documentation, it may be useful to share some common document policies, e.g. colour, headers and footers and particularly the link dictionary. To support this AscToHTM allows two special types of line in the policy file. a) Include files include file : Link_Dictionary.dat If a line of this type is encountered, the contents of the file Link_dictionary.dat are included in the current policy file. This is the best way of sharing data across many converted files. b) "daisy-chain" files switch to file : Other_policy_file.dat If a line of this type is encountered, the processing of the current file terminates, and continues in the named file. This is a way of "daisy-chaining" policy files together which may be useful if you wish to group files together at different levels. 4.3.2.4 Creating DOS-compatible files Occasionally it may be necessary to create files consistent with the DOS nnnnnnnn.nnn naming convention. This can happen when working on a DOS or windows 3.n machine, or via a network that has this limitation e.g. Pathworks. AscToHTM supports this. There are two ways to achieve this. Either use the command AscToHTM input_file.name /DOS Alternatively, simply add the lines [File generation] ----------------- Use DOS filenames Yes DOS filename root A2H to your policy file. AscToHTM will then create a base file called (in this case) A2H.HTM. If you're splitting a large document into many files, subsequent files have the form _
.HTM When this name becomes two long, AscToHTM will create a name of the form AAANNNNN.HTM Where AAA comes from the file root, and NNNNN is a 5-digit code derived from the rest of the file name. 4.3.3 Processing several files at once 4.3.3.1 Using wildcards You can convert multiple files at one time by specifying a wildcard describing the files to be converted. The wildcard has to be meaningful to the operating system you are using, and will be expanded in alphabetical order. At present we recommend that wildcards are only used on the contents of a single directory. Note, the same policies will apply to all files being converted. If you wish different policies to apply, use a steering command file (see 4.3.3.2) Note: In the shareware version, wildcard conversions are limited to only 5 files 4.3.3.2 Using a steering command file In console version you can convert several files at the same time in the order and manner of your choosing. To do this use the command AscToHTM @List.file [rest of command line] Where the file "list.file" is a steering file which contains a list of AscToHTM command, and the "@" in front indicates it is a list file, rather than a file to be converted. An example list file might look like $_$_BEGIN_PRE ! this is the main document DOCO.TXT IN_DOCO.POL /DOS # # These are the other chapters CHAPTER2.TXT CHAPTER3.TXT /SIMPLE $_$_END_PRE Note the use of "!" or "#" at the start of a line signifies it's a comment line to be ignored. Any qualifiers used on the original AscToHTM line will be used as defaults for each conversion, but will be overridden by any listed in the list file. In this way it would be possible to specify a default policy file for a bunch of similar conversions. Note: In the shareware version, batch conversions are limited to only 5 files 4.4 Other tips and tricks 4.4.1 General - If you can, try to use as much white space as possible, e.g. before paragraphs and new sections and at the end of the document. This makes it easier for AscToHTM to place things in context, reduces ambiguity and increases the chances of correct HTML being generated. - Ensure you have consistency in your use of indentation, bullets etc. On the output pass AscToHTM rejects lines that "fail policy", so any inconsistencies are liable to lead to errors in the HTML. - Try to avoid lines that may confuse AscToHTM. For example numbers at the start of a line of text may be interpreted as a section heading. If the number is out of sequence, or at an incorrect indentation this will "fail policy". However, it may cause confusion and is best avoided wherever possible. Where a number has to be at the start of a line, try using an indentation level that doesn't match that used by your headings. 4.4.2 Link dictionary - Try to avoid using match words that are substrings of other match words. If you can't avoid this, then list the longer entries first - Try to ensure you match words will only match the places you want them to match. This means avoiding overly short match words. - If you can bracket your match words or phrases [like this]. This makes for less mistakes, and makes it clearer in the original that you expect a link adding at that point. 4.4.3 Contents List detection Contents list detection is tricky at the best of times. It becomes even trickier if a) There isn't one b) The list only contains chapters and no sub-sections If the program wrongly determines that there is/isn't a contents list, use the following policy line Expect Contents List : No to tell AscToHTM how it has gone wrong. The usual error is to decide there is a contents list where none exists. 4.4.4 Using "Send to" in Windows 95/NT Although AscToHTM is currently a console program, it can be invoked (without policy file) from windows as follows - Drag and drop you text file onto the AscToHTM icon. - Create a shortcut in your "SendTo" folder in Windows. This is under C:/WINDOWS or C:/WINNT/PROFILES/ depending which system you're using. Once this has been done, right-clicking on a file in explorer brings up the "Send to" menu, and you can now "send" your text file to AscToHTM directly. Better still, create a .BAT file to invoke AscToHTM with a default policy file - e.g. with your favourite colour scheme (6.3.1.10), and some standard link definitions (6.3.8) - and add this the "SendTo" folder. In this way you can easily convert text files in any number of pre-defined manners. 4.4.5 Tables AscToHTM does a reasonable job of detecting and analysing Tables, but the following tips can be useful. - If the extent of the table is wrongly calculated, mark it up using TABLE pre-processor commands described in 7.1.2 - If AscToHTM places a code fragment or diagram in TABLE markup, mark the source using CODE or DIAGRAM pre-processor commands (7.1.5 and 7.1.6) - Avoid mixing tabs and spaces. This makes spotting column alignments positions more difficult. - If you want the heading in bold, try drawing a line all the way across, separating header from data - If AscToHTM creates too many columns, adjust the "Minimum TABLE column separation" to be greater than 1, and ensure there are at least two spaces between columns (see 6.2.4.2 and 7.4). Alternatively "break formation" by inserting a space at the start of every second or third line. - If AscToHTM puts lines in tables when they shouldn't be, increase the "Minimum automatic
 size" (see 6.2.4.1) value.  This is
        a common problem in email digests with people's .sigs in them.

      - If you wish to fine-tune a particular table, use the pre-processor
        commands described in 7.4.


5     HTML markup produced
--------------------------

5.1   Text layout

5.1.1 Indentation

      AscToHTM performs statistical analysis on the document to determine
      at what character positions indentations occur.  This information is
      used on the output pass to determine the indentation level for each
      source line.

      AscToHTM attempts to indent the HTML code to match the output
      indentation level, to make it easier to read.
      The indentations themselves will be marked up using
      
...
tags. 5.1.2 Hanging paragraph indents Some documents, especially ones dumped from Word, have hanging paragraph indents. That is, each paragraph starts at an offset to the rest of the paragraph. AscToHTM struggles heroically with this, and tries not to treat this as text at two indent levels, but it does occasionally get confused. If writing a text file from scratch with AscToHTM in mind, then it is best to avoid this practice. 5.1.3 Bullets AscToHTM detects and supports several types of bullets. 5.1.3.1 Bullet chars Bullet chars are lines of the type $_$_BEGIN_PRE - this is a bullet line - this is a bullet paragraph because it carries over onto more lines $_$_END_PRE That is, a single character followed by the bullet line. AscToHTM can determine via statistical analysis which character, if any, is being used in this way. Special attention is paid to the '-' and 'o' characters. Bullets of this type are given a
    ...
  • ...
markup. 5.1.3.2 Numbered bullets AscToHTM can spot numbered bullets. These can sometimes be confused with section headings in some documents. This is one area where the use of a document policy really pays dividends in sorting the sheep from the goats. Numbered bullets are given a
    ...
  1. ...
markup. Note: Not all browsers support this type of markup. In such cases, it's possible that the numbering of bullets will get reset to 1 every so often. However, this isn't a problem with either Netscape or Internet Explorer. 5.1.3.3 Alphabetic bullets AscToHTM detects upper and lower case alphabetic bullets. These are marked up like numbered bullets, with TYPE=a. 5.1.3.4 Roman Numeral bullets AscToHTM detects upper and lower case roman numeral bullets. These are marked up like numbered bullets, with TYPE=a. 5.1.4 Centred text AscToHTM can attempt to spot chunks of centred text. However, because this can easily go wrong this option is normally switched off. Centering is only switched on for single isolated lines, or any group of at least two lines.
...
markup is used. 5.1.5 Definitions 5.1.5.1 Definition lines A definition line is a single line that appears to be defining something. Usually this is a line with either a colon (:) or an equals sign (=) in it. For example $_$_BEGIN_PRE IMHO = In my humble opinion Address : Somewhere over the rainbow. $_$_END_PRE AscToHTM attempts to determine what definition characters are used and whether they are strong (only ever used in a definition) or weak (only sometimes used in a definition). AscToHTM marks up definition lines by placing a
on the end of the line to preserve the original line structure. Where this decision is made incorrectly unexpected breaks can appear in text. AscToHTM offers the option of marking up the definition term in bold. This is not the default behaviour however. 5.1.5.2 Definition paragraphs AscToHTM also recognises the use of definition paragraphs such as :- $_$_BEGIN_PRE Note: This is a definition paragraph whereby the whole paragraph is defining the term shown on the first line. Unfortunately AscToHTM currently only copes with single paragraphs (i.e. not with continuation paragraphs), and only with single word definitions. $_$_END_PRE This gets marked up in a
...
...
sequence Note: This is a "definition" paragraph, i.e. the whole paragraph defines the term shown on the first line. Unfortunately AscToHTM currently only copes with single paragraphs (i.e. not with continuation paragraphs), and only with single word definitions. 5.2 Text formatting 5.2.1 Quoted lines AscToHTM recognises that, especially in Internet files, it is increasingly common to quote from other text sources such as e-mail. The convention used in such cases is to insert a quote character such as > at the start of each line. Consequently, AscToHTM adds a
tag at the end of such lines to preserve the line structure of the original. 5.2.2 Emphasis AscToHTM can look for text emphasised by placing asterisks (*) either side of it, or underscores (_). AscToHTM will convert the enclosed text to *bold* and _italic_ respectively. The emphasised word or phrase should span no more than a few lines. If the phrase is longer, or if AsctoHTM fails to match opening and closing emphasis marks, the characters are left unconverted. Tests are made to ignore double asterisks and underscores. 5.3 Added hyperlinks 5.3.1 Contents List lines Contents list lines are marked up in bold, and turned into a hyperlink pointing at the section referenced. The text is sized according to heading type in the range +/- 1 font size from normal (3). 5.3.2 Cross-references AscToHTM can convert cross-references to other sections into hyperlinks to those sections. Unfortunately this is currently only possible for second, third, fourth... level numeric headings (n.n, n.n.n, n.n.n.n etc) This is because the error rate becomes too high on single numbers/letters or roman numerals. This may be refined in later releases. 5.3.3 URLs AscToHTM can convert any URLs in the document to hyperlinks. This includes http and ftp URLs and any web addresses beginning with www. 5.3.4 Usenet Newsgroups AscToHTM can convert any newsgroup names is spots into hyperlinks to those newsgroups. Because this is prone to error, AscToHTM currently only converts newsgroups in known USENET hierarchies such as rec.gardens by default. This can be overcome either by a) placing "news:" in front of the newsgroup name (e.g. news:this.is.a.newsgroup.honest) b) relaxing this condition via a document policy (see 6.3.2.4) c) specifying the newsgroup hierarchy as recognised via a policy (see 6.3.2.5) 5.3.5 E-mail addresses AscToHTM can convert any email addresses into hypertext mailto: links. 5.3.6 User-specified keywords AscToHTM can convert use-specified keywords into hyperlinks. The words or phrase to be converted must lie on a single line in the source document. Care should be taken to ensure keywords are unambiguous. Normally I mark my keywords in [] brackets if authoring for conversion by AscToHTM See the discussions on "link dictionaries" in 4.3.2.2 and 4.4.2. 5.4 Section headings AscToHTM recognises various types of headers. Where headers are found, and deemed to be consistent with the prevailing document policy (correct indentation, right type, in numerical sequence etc), AscToHTM will use the standard ... markup. In addition to this, AscToHTM will insert a named Anchor tag ( ... ) to allow hyperlink jumps to this point. These anchors are used for example in the contents list and cross-reference hyperlinks that AscToHTM generates. 5.4.1 Numbered headers This is the preferred heading type and the type that AscToHTM has most success with. Sections of type N.N.N can be checked for consistency, and references to them can be spotted and converted into hyperlinks. At present more exotic numbering schemes using roman numerals and letters of the alphabet are not fully supported. This is planned to be implemented soon, possibly via user policy files. 5.4.2 Capitalised headers AscToHTM can treat wholly capitalised lines as headers. It also allows for such headers to be spread over more than one line. 5.4.3 Underlined headers AscToHTM can recognise underlined text, and optionally promote the preceding line to be a section header. 5.4.4 Numbered paragraphs Some types of documents use what look like section numbers to number paragraphs (e.g. legal documents, or sets of rules). AscToHTM can recognise this, and mark up such lines by placing the number in bold, and not using ... markup on the whole line. 5.5 Pre-formatted text 5.5.1 Lines and form feeds Lines are interpreted in context. If they appear to be underlining text, or part of some pre-formatted structure such as a table, then they are treated as such. Otherwise they become horizontal rules (
). Form feeds or page breaks also become
markups. 5.5.2 User defined pre-formatted text AscToHTM normally ignores any HTML markup in the original text. The sole exceptions are any preprocessor tags which a user may insert into their text document (see [section 7]). For example :- $_$_BEGIN_PRE The use of BEGIN_PRE and END_PRE preprocessor commands (see 7.1.7) in the text documents tells AscToHTM that this portion of the document has been formatted by the user and should be left unchanged. $_$_END_PRE 5.5.3 Automatically detected pre-formatted text AscToHTM attempts to spot chunks of preformatted text. This can vary from a single line (e.g. a line with a page number on the right-hand margin) to a complete table of data. Where such text is detected AscToHTM analyses the section to determine what type of pre-formatted text it is. Options include - Tables - Code samples - Ascii Art and diagrams - some other formatted text You can adjust the sensitivity of AscToHTM to pre-formatted text by setting the minimum number of lines required for a pre-formatted region (see 6.2.4.1). 5.5.3.1 Tables Tables are marked out by their use of white space, and a regular pattern of gaps or vertical bars being spotted on each lines. AscToHTM will attempt to spot the table, its columns, its headings, its cell alignment and entries that span multiple columns or rows. Should AscToHTM wrongly detect the extent of a table, you can mark up a section of text by using the BEGIN_TABLE ... END_TABLE pre-processor commands (see 7.1.2). You can alter the characteristics of all tables via the table policies (see 6.3.7). You can alter the characteristics of all or individual tables via the table pre-processor commands (see 7.4). Of you can suppress the whole thing altogether (see 6.3.7.1). 5.5.3.2 Code samples AscToHTM attempts to recognise code fragments in technical documents. The code is assumed to be "C++" or "Java"-like, and key indicators are, for example, the presence of ";" characters on the end of lines. Should AscToHTM wrongly detect the extent of a code fragment, you can mark up a section of text by using the BEGIN_CODE ... END_CODE pre-processor commands (see 7.1.5). You can choose what type of markup is used for the code fragment (see 6.3.6.11). Of you can suppress the whole thing altogether (see 6.2.1.13). 5.5.3.3 Ascii art and diagrams AscToHTM attempts to recognise Ascii art and diagrams in documents. Key indicators include large numbers of non-alphanumeric characters and the use of white space. However, some diagrams use the same mix of line and alphabetic characters as tables, so the two sometimes get confused. Should AscToHTM wrongly detect the extent or type of a diagram, you can mark up a section of text by using the BEGIN_DIAGRAM ... END_DIAGRAM pre-processor commands (see 7.1.6). 5.5.3.4 Other formatted text If AscToHTM detects formatted text, but decides that is is neither table, code or art (and it knows what it likes), then the text may be put out "as normal", but with
added to each line. 5.6 Added value markup 5.6.1 Document Title AscToHTM can calculate - or be told - the title of a document. This will be placed in ... markup in the section of each HTML page produced. The Title is calculated as in the order shown below. If the first algorithm returns a value, the subsequent ones are ignored. 1) If a $_$_TITLE pre-processor command (see 7.2.1) is placed in the source text, that value is used 2) If the "Use first header as title" policy is set (see 6.3.1.2) then the first heading (if any) encountered is used as the title. Note: Depending on your document structure, this is prone to give bland tiles like "Introduction: , "Overview" and "Summary" 3) If the "Use first line as title" policy is set (see 6.3.1.3) then the first line in the file is used as the title. 4) If the "Document title" policy is set (see 6.3.1.1) then this value is used. Note: If this is the value you want, ensure the other policies outlined above are disabled. 5) Finally, if none of the above result in a title the text "Converted from " is used. 5.6.2 Contents lists AscToHTM can detect the presence of a contents list in the original document, or it can generate a contents list for you from the headings that it observes. There are a number of policies that give you control over how and where a contents list is generated (see 6.3.4). There are three different situations in which contents lists may, or may not be generated. These are :- - Default conversions. - Conversion to a single file, using policies. - conversion to a multiple files, using policies. Note: In this release it's possible that generated contents lists do not exactly match the actual headings. This will be fixed in the next release. 5.6.2.1 Contents lists in default conversions By default AscToHTM will not generate a contents list for a file unless it already has one. If it should detect a contents list in the document, then that list will be changed into hyperlinks to the named sections. In such a case, only those headings shown in the contents list are converted into links, and the link text is that in the original contents list, and not the text in the actual heading (often they are different). Note: AsctoHTM currently only detected numbered contents lists, and is occasionally prone to error when they are present. If you experience problems, either delete the contents list and get AscToHTM to generate one for you, or mark up the existing list using the contents pre-processor commands (see 7.1.3) 5.6.2.2 Contents lists in conversions to a single HTML file As described in 5.6.2.1, AscToHTM will not generate a contents list by default unless it already has one. _Requesting a contents list_ However, you can request that a contents list is always generated, by using the "add contents list" policy (see 6.3.4.1). In this case a contents list will be either a) made from the existing contents list, or b) generated from the observed headings. in this case the contents list will only be as good as the detection of headings in the rest of the document permits. _Forcing a generated contents list_ You can force a generated list to be used by disabling the "Use any existing contents list" policy (see 6.3.4.3). If an existing contents list is present, it will be deleted from the output. Normally it's best to either use the existing contents list, or to delete it from the source text and request a generated list. _Contents lists placement_ By default the contents list will be placed at the top of the output file. In earlier versions of AscToHTM the contents list was always placed in a separate file. _Generating a contents list in a separate file_ If you select the "Generate external contents list" policy (see 6.3.4.4) the contents list will be placed in a separate file, and a hyperlink to that file called "Contents List" is placed at the top of the HTML page generated form the document. You can choose the name of the external file using the "External contents list filename" policy (see 6.3.4.5). If omitted, the file will be called "Contents_", where is the name of the document being converted. 5.6.2.3 Contents lists in conversions to multiple HTML files AscToHTM can be made to split the output into many files. At present this is only possible at numbered section headings. Each generated page usually has a navigation bar, which includes a hyperlink back to the following section in any contents list. The behaviour is identical to that in 5.6.2.2 expect that a) the output is now split into several files. b) the options to generate an external contents list in a separate file are no longer available. c) if the contents list is being generated, it is now placed at the foot of the first document, rather than at the top. This is usually *before* the first heading (which now starts the second document), and *after* any document preamble. Note: Where the original contents list is used when splitting files it is possible that not every file will be directly accessible from the contents list, and that the back links to the contents list may not function as expected. In such cases you can go from the contents list to a major section, and then use the navigation bars to page through to the minor section. 5.6.3 Directory page When converting several files at once, AscToHTM can be made to generate a "Directory Page". This is an HTML index of all the files converted and their contents. The policies available for controlling generation of a directory page are explained in 6.3.9. The directory page will consist of an entry for each file converted, in the order that files are converted (usually alphabetic). Each entry will (optionally) contain :- - A link to the file being converted. The link will either be the converted file's HTML title, or failing that, the filename itself (see 6.3.9.3) - Links to each of the sections of the converted file as detected by AscToHTM. 5.6.4 Headers, footers and JavaScript AscToHTM can be made to add standard header, footers and JavaScript to each page generated. It does this by allowing you to specify include files to be copied into the generated HTML. These include files can contain any valid HTML commands. The program supports three types of such files :- i) Header files. These contain any HTML you want placing immediately after the output's tag. A good example might be a standard header, with a logo and links back to the home page. ii) Footer files. These contain any HTML you want placing immediately before the closing tag. iii) Script files, These contain any HTML you want placing inside the ... portion of the generated file. Such tags are not usually visible. You should place in here any JavaScript you want, although it will be difficult to make this apply to the converted text. You can specify include files for the converted files, as well as for any directory page (see 5.6.3) that you create. If you don't specify values for the directory page, then it will use the same files as the generated files. $_$_TABLE_WIDTH 60% 6 Using Document Policy files --------------------------------- Document policy files are ordinary text files that list the "policies" that AscToHTM should implement when converting your document. The file can have added comment lines (starting with a "!" or "#" character) and headings for clarity. A summary of the recognised policy lines is given in the [PolDict]. In most cases recognised policy lines are identical to those listed in the generated policy file (see 4.1). This is usually a good place to start when making your own policy. Only those lines that are recognised policies will be acted upon. To use a policy file, simply list it on the command line after the name of the file being converted (see 4.2.2.1). Document policies have two main uses : a) To correct any failure of analysis that AscToHTM makes. Hopefully this won't be needed too much as the core analysis engine improves. Examples include page width, whether or not underlined section headings are expected etc. b) To tell the program how to produce better HTML end product in ways that couldn't possibly be inferred from the original text. Examples include adding colour and titles to the page, as well as requesting a large document is split into several pages, and a contents list created. 6.1 An example conversion This documentation has itself been converted using AscToHTM. The files used were - A2HDOCO.TXT. This is the text version of the documentation. The text version is kept as the master copy and updated as required. It's then converted to HTML. - IN_A2HDOCO.POL. This is the policy file used to create the HTML version of this document. Only those policies that differ from the defaults have been added. This policy file "includes" the link dictionary A2HLINKS.DAT. - A2HDOCOH.TXT. This is the header HTML added as the bottom of each generated HTML page. - A2HDOCOS.TXT. This is the JavaScript HTML added into the ... portion of the generated HTML page. This particular example toggles the logo when the mouse is over it (only if you use Netscape V3.0 or above though). - A2HLINKS.DAT. This is the link dictionary used for this document and is used to add hyperlinks to the main text file. - A2HDOCOF.TXT. This is the footer HTML added as the bottom of each generated HTML page. These files are included in the distribution kit as an example set of documentation. You can, of course, use AscToHTM to convert this doco into whatever format, colour etc that you wish. 6.2 Analysis policies These policies are generated during the analysis of the source document. They should only normally need changing when AscToHTM's analysis goes wrong in some way or other 6.2.1 General Analysis policies Example: [General Analysis] ----------------------------------------- Indent position(s) (none) Search for Definitions Yes Definition Char (none) Hanging paragraph position(s) (none) Page width 76 TAB size 8 Text Justification Left Expect blank lines between paras Yes New Paragraph Offset (none) Keep it simple No Min chapter size 8 Short line length (none) Expect code samples No 6.2.1.1 "Indent position(s)" These are the positions of the major indent levels in the document. This should be a list of ascending space-separated numbers, with "0" usually being the first value. 6.2.1.2 "Search for Definitions" *New in V3.0* This policy can be used to disable the search for definitions (see 5.1.5). Use this whenever your file contains no definitions, but AscToHTM thinks it does. 6.2.1.3 "Definition Char" See the discussion in 5.1.5.1 6.2.1.4 "Hanging paragraph position(s)" These refer to the indentation levels at which definition paragraphs are expected (see 5.1.5.2). 6.2.1.5 "Page width" This value can be used to influence short line and centred text detection. It also helps to determine if the definition characters ':' and '-' (see 5.1.5.1) are to be regarded as "strong" or "weak". 6.2.1.6 "TAB size" *New in V3.0* This value can be used to specify the size of TABs in your source document. AscToHTM converts all tabs to space assuming using this tab size. This becomes important only when comparing lines that use tabs to lines that use spaces for alignment. If problems occur you may find indentations appear strange, or tables are not quite right. Note, text that is all tabs or all spaces should experience no such problems. If you know your source file uses a different TAB size (e.g. Notepad files use a value of 4), try adjusting this policy. 6.2.1.7 "Text justification" This policy is important in detecting pre-formatted text. The possible values are "left", "center" (i.e. left and right), "right" and "none". If text is centered then padding spaces may be added. This has to be ignored when detecting pre-formatted text. 6.2.1.8 "Expect blank lines between paras" Paragraphs are normally expected to have blank lines before them. Where this isn't true (e.g. on a text file dumped from Word) different algorithms can be applied more rigorously. 6.2.1.9 "New paragraph offset" This policy refers to any hanging indent. Again, this is a Word for Windows favourite. 6.2.1.10 "Keep it simple" This policy tells AscToHTM to suppress much of its search for global structure. This should be used when converting documents that don't really have numbered sections, but which might look to AscToHTM as though they do (e.g. because they contain addresses, lists or tables of consecutive numbers) An example might be an email digest which consists of a series of small documents collected together. This is quite likely to confuse AscToHTM because it violates the one assumption (see 3.1) that AscToHTM makes. 6.2.1.11 "Min chapter size" This policy allows you to specify the minimum chapter size expected in the document (in numbers of lines). AscToHTM will ignore any apparent Chapter headings that appear too close together. 6.2.1.12 "Short line length" This policy determines what constitutes a short line. AscToHTM may add a
to any line it deems to be short. If omitted, a "short" line is determined as some fraction of the calculated page width. The fraction varies from 50-75% according to the conversion type being carried out. 6.2.1.13 "Expect code samples" This policy indicates that the document is liable to contain sections of programming code. AscToHTM will attempt to detect such code fragments, and preserve their layout so that the code remains comprehensible. Pre-processor commands now allow you to mark up sections of your document as code samples (see 7.1.5). You can choose how code fragments are marked up by using the "Use .. markup" policy (see 6.3.6.11) 6.2.2 Bullet policies AscToHTM has the following bullet point policies that will normally be correctly calculated on the analysis pass :- [Bullets] --------- Expect Numbered bullets Yes Expect alphabetic bullets No Expect Roman Numeral bullets No Bullet Char '-' Bullet Char 'o' Bullet Char '*' AscToHTM tries hard not to get confused by the "1", "a" and "I" that happen to end up at the start of lines by random. These could get mistaken for bullet points. 6.2.2.1 "Expect Numbered bullets" This indicates that numerical bullets are expected (but you probably guessed that). 6.2.2.2 "Expect alphabetic bullets" This does likewise for alphabetic bullet points. AscToHTM recognises (and distinguishes between) upper and lower case variants. 6.2.2.3 "Expect Roman Numeral bullets" This does likewise for roman numerals. Again upper and lower case variants are recognised. 6.2.2.4 "Bullet Char" These policy lines indicate character(s) that can occur at the start of a line to represent a bullet point. Special attention is paid to '-' and 'o' characters, but any character will do. Use one line per bullet char. 6.2.3 Headings AscToHTM has the following section heading policies that will normally be correctly calculated on the analysis pass :- [Headings] ---------- First Section Number 1 Expect Numbered Headings No Expect Underlined Headings Yes Expect Capitalised Headings No Expect Second Word Headings No Smallest possible section number 1.1.0 Largest possible section number 2.4.9 Section headers are far and away the most complex things the analysis pass has to detect, and the most likely area for errors to occur. AscToHTM will also document to a policy file the headings it finds. This is still to be finalised, but currently has the format $_$_BEGIN_PRE We have 4 recognised headings Heading level 0 = "" N at indent 0 Heading level 1 = "" N.N at indent 0 Contents level 0 = "" N at indent 0 Contents level 1 = "" N.N at indent 2 $_$_END_PRE AscToHTM will read in such lines from a policy text file, but does not yet fully supported editing these via the Windows interface. The syntax is explained in 6.2.3.8, but this will probably change in future releases. 6.2.3.1 "First Section Number" This policy indicates what the first section number is. Normally this starts at 1, but if it starts higher, then AscToHTM may reject headers as being out of sequence, and fail to detect to presence or absence of contents lists correctly. 6.2.3.2 "Expect Numbered Headings" This indicates whether or not numbered sections are to be expected. 6.2.3.3 "Expect Underlined Headings" This indicates whether or not underlined headers are to be expected. AscToHTM normally promotes any underlined lines to section headers. This policy can be used to switch that behaviour off. 6.2.3.4 "Expect Capitalised Headings" This indicates whether or not a line that is wholly capitalised should be regarded as a section heading. 6.2.3.5 "Expect Second Word Headings" *Reserved* 6.2.3.6 "Smallest possible section number" *Reserved* 6.2.3.7 "Largest possible section number" *Reserved* 6.2.3.8 "xxxx level 1 = "" N.N at indent 2" *Note, this is not finalised yet* These lines describe in readable text form part of the headings policy. You can edit these lines in your policy file, but not yet through the policy options in Windows. The lines are currently structured as follows $_$_BEGIN_TABLE Line component Value -------------------------------------------- xxxx Either "Heading" or "Contents" according to the part of the policy being described Level n Level number, starting at 0 for chapters 1 for level 1 headings etc. "Some_word" Any text that may be expected to occur before the heading number. E.g. "Chapter" or "Section" or "[". The case is unimportant. N.Nx The style of the heading number. This will ultimately (in later versions) be read as a series of number/separator pairs. The proposed format is "N" = number "i" / "I" = lower/upper case roman numeral with an 'x' at the end signalling that trailing letters may be expected (e.g. 5.6a, 5.6b) at indent n The indentation that this heading is expected at. This is important in helping to eliminate false candidates. $_$_END_TABLE 6.2.4 Pre-formatted text AscToHTM has the following section heading policies that will normally be correctly calculated on the analysis pass :- [Pre-formatted text] ------------------------------------- Minimum automatic
 size      (none)


6.2.4.1 "Minimum automatic 
 size"

      This policy specifies the minimum number of lines that must appear
      pre-formatted before they can be placed in their own 
 ...
      
sections. This is sometimes desirable, so is set to 1 by default. For example if you have lines with page numbers at the top of each page in your document. Of course... this makes no sense in an HTML document. Note: Only values in the range 1-20 are likely to have an effect. Values above 20 are likely to simply disable this feature entirely. This limitation is due to the size of the readahead buffer AscToHTM uses. 6.2.4.2 "Minimum TABLE column separation" This policy specifies the minimum number of spaces that may be interpreted as a column separator in a table. The default value is 1, but in small tables this can lead to too many "columns" being detected. If you experience this problem increase this value to 2 or higher. Note, if the value becomes too large, you may experience the opposite problem, i.e. too *few* columns being detected. 6.2.4.3 "Expect sparse tables" *New in V3.0* This policy specifies that tables within the source document may be sparse. This fact will then be used to adjust the analysis of any tables detected Columns which appear to have little or no data in them are usually eliminated by merging them with their more populated neighbours. If you set this policy, this process is relaxed, meaning that you will get more, emptier, columns rather than fewer, more filled ones. This policy can be toggled for individual tables via the pre-processor command TABLE_MAY_BE_SPARSE (see 7.4). 6.2.5 Contents List policies There is only one analysis contents policy ("Expect contents list" see 6.3.4.2). This is described together with all the output contents list policies in 6.3.4. For more information on content list generation see 5.6.2. 6.3 Output policies These policies allow you to fine tune the conversion, and are used during the output to HTML. 6.3.1 Added HTML details AscToHTM has the following HTML policies that will only ever take effect if supplied in a user policy file :- [Added HTML] ------------ Document title AscToHTM user documentation Use first heading as title No Use first line as title No Document keywords text, html, conversion Document description Part of the AscToHTM user documentation HTML Script file a2hdocos.txt HTML header file a2hdocoh.txt HTML footer file a2hdocof.txt Background Image (none) Background Colour E0D0E0 Text Colour Red Unvisited Link Colour (none) Visited Link Colour (none) Active Link Colour (none) These "polices" allow you to start "adding value" to the HTML generated. That is, they allow to specify things that cannot be inferred from the original text. You can also add HTML to your files by using the HTML preprocessor command (see 7.1.4) 6.3.1.1 "Document Title" This identifies the text to be placed in the ... markup in the document header. If omitted, the default title will be "Converted from ". We did consider defaulting to the first line of text, but that rarely works. The title can also be specified via a preprocessor command (see 7.2.1) placed in the source document, which will override this policy when present. To fully understand how titles are calculated, see the discussion in 5.6.1 6.3.1.2 "Use first heading as title" This policy specifies that the first heading in the document may be considered as a candidate for the document title. In the current version (V2.3) there may be implementation problems that cause the wrong line to occasionally be selected as the first heading. To fully understand how titles are calculated, see the discussion in 5.6.1 6.3.1.3 "Use first line as title" This policy specifies that the first meaningful line in the document may be considered as a candidate for the document title. "Meaningful" in this context means more that 2 characters long once trimmed of all leading and trailing white space. To fully understand how titles are calculated, see the discussion in 5.6.1 6.3.1.4 "Document keywords" This policy allows you to specify keywords that are added to a META tag inserted into the section of the output page(s) as follows :- This tag is often used by search engines when indexing your HTML page. You should add here any relevant keywords possibly not contained in the text itself. The presence of a KEYWORDS pre-processor command will overrides this policy (see 7.2.3). 6.3.1.5 "Document description" This policy allows you to specify a description of your document that is added to a META tag inserted into the section of the output page(s) as follows :- This tag is often used by search engines (e.g. AltaVista) as a brief description of the contents of your page. If omitted the first few lines may be shown instead, which is often less satisfactory. The presence of a DESCRIPTION pre-processor command will override any description specified in a policy file (see 7.2.2). 6.3.1.6 "HTML Script file" This identifies the name of a text include file to be transcribed into the ... portion of the generated HTML page. This allows you to place JavaScript in your pages (though you'll be a little limited as to what it can act on). Recently HTML has introduced style sheets (see 6.3.6.1 and 7.2.4). 6.3.1.7 "HTML header" This identifies the name of a text include file to be transcribed into the HTML file at the top of the ... portion of the generated HTML page. This can be used to add standard headers, logos, contact addresses to your HTML pages, and is especially useful to give a consistent "look and feel" when breaking your document up into a number of smaller HTML files. 6.3.1.8 "HTML footer" This identifies the name of a text include file to be transcribed into the HTML file at the bottom of the ... portion of the generated HTML page. This can be used to add "return to home page" links, and contact addresses to your HTML pages. Again, this helps to give a consistent "look and feel" when breaking your document up into a number of smaller HTML files. 6.3.1.9 "Background Image" This identifies the URL of any image to be placed in the BACKGROUND attribute of the tag. 6.3.1.10 Various colour policies These policies identifies the colours to be placed in the various attributes of the tag. You can enter any value acceptable to HTML. Normally a value is expressed as a 6-digit hexadecimal value in the range 000000 (black) to FFFFFF (white), but certain colours such as "white", "blue", "red" etc may also be recognised by HTML. AscToHTM simply transcribes your value into the output file. The various policies control the colours of the foreground Text (TEXT), the background (BGCOLOR), unvisited hyperlinks (LINK), visited hyperlinks (VLINK) and active hyperlinks (ALINK). A value of "none" signals the defaults are to be used. By default AscToHTM changes the background colour to be white, and omits all the other tag attributes. 6.3.2 Hyperlinks AscToHTM has the following hyperlink policies set as defaults :- [Hyperlinks] ------------ Create hyperlinks No Create mailto links Yes Create NEWS links Yes Only use known groups Yes Recognised USENET groups uk demon Cross-refs at level 2 Hyperlinks can also be added by using a link dictionary (see 4.3.2.2 and 4.4.2). 6.3.2.1 "Create hyperlinks" This policy really means that all http, www and ftp URLs will get converted to hyperlinks. 6.3.2.2 "Create mailto links" This indicates that probable email addresses such as jaf@yrl.co.uk are to be converted into mailto hyperlinks. 6.3.2.3 "Create NEWS links" This indicates that probable newsgroup references such as alt.games.mornington.cresent (sic) are to be converted. 6.3.2.4 "Only use known groups" This indicates whether or not only newsgroups from known hierarchies should be converted into news: hyperlinks. AscToHTM can detect possible newsgroups by looking for words like "something.like.this" and "news.answers". However assuming these are newsgroups often leads to errors. Consequently if this policy is set to "Yes" then candidate newsgroups have to belong to either a standard USENET hierarchy such as "alt", "comp", "sci" etc, or to a user-specified USENET hierarchy (see 6.3.2.5) If set to no, then "something.like.this" will be turned into a news: hyperlink. This policy only takes effect if conversion of news hyperlinks is selected. The defaults is "Yes" 6.3.2.5 "Recognised USENET groups" This policy allows you to specify USENET hierarchies that you wish to recognise in addition to the standard hierarchies. The value is a space separated list of the top level hierarchy names. So, for example, to ensure that uk.telecom and demon.ip.support are recognised as valid newsgroup hyperlinks, set the policy value as follows:- Recognised USENET groups : uk demon This has, of course, been used on the HTML version of this file to get the above links to work :-) 6.3.2.6 "Cross-refs at level" This indicates the section level at which and above which all cross-references are to be converted to hyperlinks. For example a value of 2 means all n.n, n.n.n etc references are converted. A value of "1" might seem desirable, but is liable to give many false references (see 5.3.2). This behaviour may be improved in later versions. 6.3.2.7 "Add
to lines with URLs" *New in V3.0* This policy indicates that lines that are detected as having URLs in them should have
markup added to the end. This is useful in documents that have a list of URLs, one per line, as the URLs usually make the lines quite long (avoiding short line detection), and you would want to preserve the line structure. However, this is less useful where URLs occur in the middle of a paragraph of text, as it inserts a
, and breaks the paragraph. Prior to V3.0 this was default behaviour, but now it is switched off by default. In later versions we may attempt to make this policy auto-detected. 6.3.3 File generation AscToHTM has the following HTML policies that will only ever take effect if supplied in a user policy file :- [File generation] ----------------- Input directory (none) Output directory (none) Use .HTM extension No Output file extension (none) Use DOS filenames No DOS filename root (none) Split level (none) Min HTML File size (none) Minimise HTML file size No Add navigation bar No Output policy file Yes Output policy filename (none) Generate diagnostics files No Error reporting level 5 These policies how your document is divided into one or more HTML files, and how those files are to be named and linked together with hyperlinks. 6.3.3.1 "Input directory" *Reserved for future use* This policy will allow the source directory to be specified. It is not yet implemented, but currently the input directory is written to any output policy file created, indicating where the source files where found relative to the run location. A value of blank indicates the current directory. 6.3.3.2 "Output directory" *Not available in the shareware version* This policy allows you to specify which directory you want your files output to. If an output policy file is created, this indicates where the generated files where placed relative to the run location. A value of blank indicates the current directory. 6.3.3.3 "Use .HTM extension" This policy specifies whether or not the generated HTML files should have a .HTM extension. The default is to use a ".html" extension, unless DOS-compatible files are requested. 6.3.3.4 "Output file extension" *New in V3.0* This policy specifies an alternative extension to be used for the created files. For example you may want the program to create ".shtml" files. If present, this policy overrides that in 6.3.3.3 6.3.3.5 "Use DOS filenames" This policy allows you to specify that the HTML file names must be DOS compatible. If selected the filenames will all have a ".HTM" extension, and be given upper case names. Any file name whose root exceeds 8 character will be shortened by keeping the first 3 characters, and adding a unique 5-digit number derived from the longer name. See the discussion in 4.2.2.4. 6.3.3.6 "DOS filename root" Where DOS filenames are used this allows you to specify an up-to-5 character root to which any section numbers will be appended (see 6.3.3.8). If splitting a document at 2 levels we normally recommend a 3-character filename root. Thus MYDOC.TXT given a root of MYD would produce MYD.HTM, MTD_1.HTM MYD_1_1.HTM etc... which are all less than 8 characters and thus maintain some readability. If no root were specified, MYDOC_1_1.HTM would be renamed to MYDnnnnn.HTM where "nnnnn" would be a generated 5-digit code. See the discussion in 4.2.2.4. 6.3.3.7 "Minimise HTML file size" *New in V3.0* This policy may be used to reduce the size of the created HTML file. By default AscToHTM attempts to layout the created HTML code in an easy-to-read manner. This was done so that the created HTML would be easier to manually edit after creation. To make the code easier to read, AscToHTM inserts white space to indent the code to match the output indentation levels. It also outputs each cell of a TABLE on its own line. All this white space adds up, particularly the indentation of largely-empty cells in TABLES. If you select this option, all the extra white space is eliminated. Depending on the file contents, this can make the file 5-20% smaller (and hence faster to download), at a cost of readability. 6.3.3.8 "Split level" This identifies the heading level at which the generated HTML should be split into smaller files. A value of "none" will put all the HTML into one file. A value of "1" will create a new HTML file for each new major section. A value of "2" will create a new HTML file for each new n.n section, whilst "3" creates a new document for each n.n.n section, and so on. The first file created normally has a name that matches the source file. Subsequent files append the section number, separated by underscores. This a file called MYDOC.TXT, will generate MYDOC.HTML, MYDOC_1.HTML, MYDOC_1_1.HTML etc... 6.3.3.9 "Min HTML File size" This policy is only relevant when splitting the document into small output files, i.e. a "split level" is specified (see 6.3.3.8). This policy specifies a minimum output HTML size in lines (although this is only approximate). This can be useful for documents that have chapters where all the content is in the sub-sections. In such documents you'd end up with a virtually empty chapter heading file if this policy is not used. 6.3.3.10 "Add navigation bar" This policy is only relevant if you have elected to split your document into a number of smaller HTML files (see 6.3.3.8). In such cases this policy allows you have a navigation bar inserted at the foot of each HTML page, before any standard footer is added. The navigation bar consists of - A "Previous" link, to take to the previous HTML page. - A "Next" link, to take to the next HTML page. - A "Contents" link, to take to the start of the next section in the contents list. 6.3.3.11 "Output policy file" This policy allows you to specify that you want AscToHTM to output the file policy that is being used. This will be a combination of the policy calculated by AscToHTM during the analysis pass, and any user-supplied policy lines. The output policy file will have a .pol extension in the output directory. Note_1: In earlier versions of AscToHTM the creation of an output policy file was the default, now it is not. Note_2: This policy has the same effect as the command line qualifier /POLICY (see 4.2.2.5). An output file will be create when either that qualifier is used, or this policy is set to yes. 6.3.3.12 "Output policy filename" **** not supported in this release **** 6.3.3.13 "Generate diagnostics files" This policy specifies whether or not diagnostics files should be produced. This has exactly the same effect as the /DEBUG qualifier has in command line versions (see 4.2.2.2). 6.3.3.14 "Error reporting level" *New in V3.0* This policy specifies the level of reporting you want during the conversion. AscToHTM can generate a variety of messages of varying severity to inform you of the decisions it's made. These messages can be useful in explaining why a conversion has gone wrong, but are less interesting at other times. Whilst all of these messages are copied into any .lis files created (see 6.3.3.13 and 4.2.2.2) regardless of severity, you can use this policy to choose the level of reporting you want to see on your screen. The value is nominally in the range 1-10 with a value of 1 showing almost all messages, and 10 showing almost none. The default value is 5. 6.3.4 Contents AscToHTM has the following HTML policies that influence the detection and generation of contents lists :- [Contents] ---------- Add contents list No Expect Contents List No Use any existing contents list No Generate external contents file No External contents list filename (none) Hyperlinks on numbers No See also the discussion in 5.6.2 6.3.4.1 "Add contents list" This policy specifies that AscToHTM should generate a contents list to match all the section heading that it marks up. This contents list will consist of hyperlinks to take you to the corresponding section and HTML file. The placement of the contents list depends on how you have decided to split up your output HTML (see 6.3.3.8). If you decide to convert MYDOC.TXT to a single HTML file MYDOC.HTML, AscToHTM will create a separate file called CONTENTS_MYDOC.HTML and add a link to this file at the top of MYDOC.HTML. You can, if you wish, simply cut and paste this file into MYDOC.HTML. If you decide to convert MYDOC.TXT into several files, then the contents list is placed at the bottom of MYDOC.HTML, and points to all the newly created files. Any text before the first section in your document will be placed before the contents list in MYDOC.HTML. Whenever you elect to have a contents list generated, and lines perceived by AscToHTM as being part of a contents list in the original document will be discarded. You can enable this option from the command line by using the /CONTENTS qualifier (see 4.2.2.1) 6.3.4.2 "Expect contents list" This is an analysis policy that indicates whether or not the source file contains an existing contents list. This should be detected automatically, but sometimes the analysis fails in which case you should either set this manually, or mark up the contents list using pre-processor commands (see 7.1.3) See the discussion in 5.6.2. 6.3.4.3 "Use any existing contents list" This policy specifies whether or not you wish to use any existing contents list found in the source document. If you disable this option, any contents found will be discarded. A contents list will only be added if you select the "add contents list" policy (see 6.3.4.1). See the discussion in 5.6.2. 6.3.4.4 "Generate external contents file" This policy specifies whether any generated contents list should be placed in a separate file, as opposed to at the top of the output file. This option is not always possible, specifically when an existing contents list is being used, or when the source is being split into many files. See the discussion in 5.6.2. 6.3.4.5 "External contents list filename" This is the name of the external content file generated by AscToHTM should such a file be wanted. By default the file will be called contents_.html. The contents file should be in the same directory as the created HTML files. See the discussion in 5.6.2. 6.3.4.6 "Hyperlinks on numbers" This policy specifies that where a file has numbered sections, and a contents list is being created, whether the hyperlink taking you to the section should be on the number or the section title. The default is to place the hyperlink on the section title. 6.3.5 Preprocessor policies AscToHTM has the following policies that can be used to influence the preprocessor (see [section 7]), and hence the HTML output :- [Preprocessor] -------------- Use Preprocessor Yes Include document section(s) Public_part 6.3.5.1 "Use Preprocessor" This policy tells AscToHTM whether or not the preprocessor should be used. If it isn't used, then all preprocessor directives are ignored and a straight conversion from input to output files occurs. Note: If this policy is set to "no", all related preprocessor policies will have no effect. 6.3.5.2 "Include document section(s)" *Changed in V2.3* This policy tells AscToHTM which section types are to be included in the conversion (see 7.1.1). The name(s) supplied should match that in the SECTION directive. A value of "all" indicates that all section types should be converted. The value may be a space-separated list of section names. Each section name must be a single word (underscores are allowed though). 6.3.6 Style AscToHTM has the following "styling" that can be used to influence the HTML output :- [Style] ------- Document Style Sheet text.css Highlight Definition Text No Allow automatic centring No Automatic centring tolerance 2 Smallest allowed tag 5 Largest allowed tag 2 Headings colour #ABABAB Ignore multiple blank lines No Search for emphasis Yes Allow definitions inside PRE Yes Use
markup for defn. paras Yes Use .. markup No 6.3.6.1 "Document style sheet" This policy allows you to specify the URL of a style sheet file, usually with a .css extension. Style sheet files are a new HTML feature that allow you specify fonts and colours to be applied to your document. The resulting HTML is inserted into the section of the output page(s) as follows :- The presence of a STYLE_SHEET pre-processor command will overrides any style sheet specified in a policy file (see 7.2.4). 6.3.6.2 "Highlight definition text" This policy specifies whether or not the definition term (the part marked up in
...
) should be placed in bold for greater emphasis (see 5.1.5). 6.3.6.3 "Use
markup for defn. paras" This policy specifies whether or not definition paragraphs should be marked up using
..
..
markup. See the discussion in 5.1.5.2 6.3.6.4 "Allow automatic centring" This policy allows automatic detection of centred text to be performed. This is normally left switched off, as it is prone to give errors. This algorithm may be refined in later versions. 6.3.6.5 "Automatic centring tolerance" This policy specifies the tolerance used (expressed as a number of characters offset) when detecting centred text. Given that the detection of centred text depends on its position relative to the calculated page width, which itself may not be accurate, increasing this value may give better results. Equally, if may wrongly detect more text as centred. The default value is 2, which is also used as a minimum regardless of the value you enter. 6.3.6.6 "Largest allowed tag" and "Smallest allowed tag" These policies control the output heading sizes. By default

is used for main level headings, with each subsequent heading level being one size smaller, down to

(normal text size). In the contents list, entries are shown down to

. The software will ignore these values if out of range, or if the largest value represents a smaller heading (larger Hn) that the "smallest" value. 6.3.6.7 "Headings colour" *New in V3.0* This policy tells AscToHTM what colour to use for all the Headers. Not all browsers support this. The value must be a proper HTML colour (see discussion in 6.3.1.10) 6.3.6.8 "Ignore multiple blank lines" This policy specifies whether or not multiple white lines should be ignored. Normally HTML ignores white space, but if this policy is selected then additional blank lines will be marked us as
If you wish to eliminate white space from your output, switch this off. You should also review the "Use

markup for paragraphs" policy (see 6.3.6.12). This policy is switched on by default. 6.3.6.9 "Search for emphasis" This policy specifies whether or not AscToHTM should look for emphasised text. Text can be emphasised by placing asterisks (*) either side of it, or underscores (_). AscToHTM will convert the enclosed text to bold and italic respectively. 6.3.6.10 "Allow definitions inside PRE" This policy specifies whether or not AscToHTM should detect definition terms inside a pre-formatted section of text. Only really relevant if the "Highlight definition text" policy is selected (6.3.6.2). 6.3.6.11 "Use .. markup" This policy specifies that where a code fragment has been detected or marked up, what sort of HTML markup should be used. HTML provides a special .. markup that is suited to variables being quoted in text, but is not well suited for marking up several lines. In particular, you have to add non-breaking spaces and
markup if you wish to correctly lay out several lines. This makes the resultant HTML harder to read and much larger. For this reason, AscToHTM defaults to

 .. 
markup for code fragments. The only reason for reversing this might be if you needed the tag for a particular style sheet to take effect. 6.3.6.12 "Use

markup for paragraphs" This policy specifies whether

or
markup should be used for paragraphs. In most browsers

markup produces more white space with apparently a "blank line" placed between paragraphs. A
doesn't have this effect. You should use this policy if you wish to reduce the amount of white space in your output document, in which case you should also review the "ignore multiple blank lines" policy (see 6.3.6.8). This policy is switched on by default. 6.3.7 Table Generation AscToHTM has the following policies that can be used to influence whether or not AscToHTM will attempt to detect and generate HTML tables, and the attributes of any tables generated. Tables may be tailored individually by adding pre-processor commands to your source text (see 7.4) [Table generation] ------------------------------------- Attempt TABLE generation Yes Default TABLE border size 2 Default TABLE header rows (none) Default TABLE header cols (none) Default TABLE cell spacing 2 Default TABLE cell padding 2 Default TABLE colour (none) Default TABLE border colour Blue Default TABLE caption (none) Convert TABLE X-refs to links No 6.3.7.1 "Attempt TABLE generation" This policy disables automatic table generation. AscToHTM will still look for pre-formatted text, but will default to outputting it in

 ... 
markup as it did prior to v2.2. 6.3.7.2 "Default TABLE border size" This policy sets the default value for the BORDER attribute. A value of 0 means "no border". 6.3.7.3 "Default TABLE header rows" This policy tells AscToHTM how many lines should be treated as header lines and placed in .. markup. AscToHTM will a small number of lines of text above a line as header automatically. If set, this value will apply to *all* tables. 6.3.7.4 "Default TABLE header cols" This policy tells AscToHTM how many columns in each table should be highlighted as "header" columns using ... markup inside the table cells. 6.3.7.5 "Default TABLE cell spacing" This policy tells AscToHTM what value to use for the CELLSPACING attribute of the table. Browsers that support this will add space *between* each cell. A value of "0" means "none". 6.3.7.6 "Default TABLE cell padding" This policy tells AscToHTM what value to use for the CELLPADDING attribute of the table. Browsers that support this will add space *inside* each cell. A value of "0" means "none". 6.3.7.7 "Default TABLE colour" This policy tells AscToHTM what colour to use for the background to each cell. Not all browsers support this. The value must be a proper HTML colour (see 6.3.1.10) 6.3.7.8 "Default TABLE border colour" This policy tells AscToHTM what colour to use for the table border. Not all browsers support this. The value must be a proper HTML colour (see 6.3.1.10) 6.3.7.9 "Default TABLE caption" *Reserved* 6.3.7.10 "Default TABLE width" This policy tells AscToHTM what value to use for the WIDTH attribute of the table. The WIDTH is specified either as a number (of pixels) or as a percentage (of screen width). Thus "400" and "75%" are both valid values (without the quotes) Note: If you use this policy, *all* your tables will be the same width. If you wish to switch it on for individual tables, place $_$_TABLE_WIDTH commands (see 7.4) in your source file instead. 6.3.7.11 "Convert TABLE X-refs to links" *New in V3.0* AscToHTM can convert cross-references to numbered sections into hyperlinks to those sections. Unfortunately, the program cannot differentiate between section references and ordinary numbers in the source text. This leads to occasional errors. This problem proved to be particularly acute inside tables of numbers. For that reason this policy was introduced to allow the conversion of section numbers to hyperlinks inside a TABLE to be switched off independently form the rest of the document. By default this policy is disabled. Users should only switch this behaviour on if they have a table of section numbers (such as this document has in 11.1 and 11.2). 6.3.7.12 Other table related policies Also relevant to table production are policies which influence the detection of pre-formatted text :- - "Minimum automatic
 size" (see 6.2.4.1)
      - "Minimum TABLE column separation" (see 6.2.4.2 and 7.4)
      - "Expect sparse tables" (see 6.2.4.3 and 7.4)


6.3.8 Link Dictionary

      Link definitions appear as follows :-


	[Link Dictionary]
      	-----------------
      	Link definition       :  "A2HDOCO.TXT" = "Source text" + "/~jaf/A2HDOCO.TXT"


      That is, the text to be matched, the text to be used in its placed as
      the highlighted text, and the URL this link is to point to (in this case
      a relative URL).

      See the discussions in 4.3.2.2 and 4.4.2.


6.3.9 Directory Page

      AscToHTM has the following policies that can be used to influence
      whether or not AscToHTM will attempt to generate a Directory page
      for the files being converted.  This is really only appropriate when
      converting more that one file at once (see 4.3.3)

      The Directory Page will consist of entries for each file being
      converted (in order of conversion), and can have hyperlinks to the
      files, and to recognised headings in the files.  This makes it suitable
      for use as a master index to a set of files converted in a single
      directory.

      	[Directory]
      	---------------------------------------------------
      	Make Directory                   Yes
      	Directory filename               (none)
      	Show file titles in Directory    Yes
      	Indent headings in Directory     Yes
      	Directory title                  List of files
      	Directory keywords               (none)
      	Directory description            Directory index of my files
      	Directory return hyperlink text  Return to index
      	Directory Script file      	 (none)
      	Directory header file            (none)
      	Directory footer file            (none)

6.3.9.1 "Make Directory"

      This policy specifies whether or not you want a Directory page built.


6.3.9.2 "Directory filename"

      This policy specifies the name of the Directory page html file to be
      created.

      If omitted, this will default to "index.html" in the output directory


6.3.9.3 "Show file titles in Directory"

      This policy specifies whether or not there should be a hyperlink to
      the top of each file converted (as opposed to just their contents).

      If selected, the HTML file's title (see 5.6.1) will be shown as a
      hyperlink. If the file has no title, then the original filename is
      shown instead.


6.3.9.4 "Indent headings in Directory"

      This policy specifies whether or not the contents lists of each file
      should be shown at multiple indent levels, with sub-sections indented
      relative to sections etc.

      If disabled, all the contents hyperlinks will be at the same indentation
      level, one level in from any file titles shown.


6.3.9.5 "Directory title"

      This specifies the text to be used as the HTML title of the Directory
      page.



6.3.9.6 "Directory keywords"

      This policy allows you to specify keywords that are added to a
      META tag inserted into the  section of the Directory page
      as follows :-

      	

      This tag is often used by search engines when indexing your HTML page.
      You should add here any relevant keywords possibly not contained in
      the text itself.


6.3.9.7 "Directory description"

      This policy allows you to specify a description of your document
      that is added to a META tag inserted into the  section of the
      Directory page(s) as follows :-

      	

      This tag is often used by search engines (e.g. AltaVista) as a brief
      description of the contents of your page.  If omitted the first few
      lines may be shown instead, which is often less satisfactory.


6.3.9.8 "Directory return hyperlink text"

      This policy specifies the text to be shown on the hyperlink linking
      each HTML page back to the Directory page.

      The default value is "Directory"


6.3.9.9 "Directory Script file"

      This identifies the name of a text include file to be transcribed into
      the  ...  portion of the generated HTML page.

      This allows you to place JavaScript in your pages (though you'll be a
      little limited as to what it can act on).

      If omitted, this will default to any script file used in the rest of
      the HTML pages as set by the "HTML Script file" policy (see 6.3.1.6).


6.3.9.10 "Directory header file"

      This identifies the name of a text include file to be transcribed into
      the HTML file at the top of the  ...  portion of the
      Directory page.

      If omitted, this will default to any header file used in the rest of
      the HTML pages as set by the "HTML header file" policy (see 6.3.1.7).


6.3.9.11 "Directory footer file"

      This identifies the name of a text include file to be transcribed into
      the HTML file at the bottom of the  ...  portion of the
      generated HTML page.

      This can be used to add "return to home page" links, and contact
      addresses to your HTML pages.

      If omitted, this will default to any header file used in the rest of
      the HTML pages as set by the "HTML header file" policy (see 6.3.1.8).


6.4   Saving and loading policy files

6.4.1 Overview 

      AscToHTM allows you to save policies to file so that you can later
      reload them.  This allows you to easily define different ways
      of doing conversions, either for different types of files, or to
      produce different types of output.

      The policy files have a .pol extension by default, and are simple
      text files, with one policy on each line.  You can, if you wish,
      edit these policies in a text editor... this is sometimes easier
      that using all the dialogs in the Windows version.

      When editing policies, it is important not to change the key phrase
      (the bit before the ":" character), as this needs to be matched exactly
      by AscToHTM.

      For best results, it is advisable to put in your policy file only
      those policies you want to fix.  This leaves AscToHTM to calculate
      document-by-document policies that suit the files being converted.

      Note:	Avoid using "full" policy file for your conversions.  Such
      		files prevent the program from adjusting to each source
      		file, often leading to unwanted results.


6.4.2 Generating policy files for your document

      The normal way to create a policy file is by setting options and them
      saving them using the "save policy file" dialog.  This will offer you
      the choice of creating a partial policy file or a full policy file
      (see 6.4.2.1 and 6.4.2.2).
      
      Alternatively, you can set the "Output policy file" policy (see 6.3.3.11)
      which will generate a full policy file resulting from the analysis
      of the converted document.

      Once a file is generated you can either edit them in a text editor - 
      deleting policies that are of little interest to you, and editing those
      that are - or reload them into the program, change them and save them 
      again.


6.4.2.1 Partial policy files

      Partial policy files are files which have values for some, not all,
      policies.

      These are recommended, because the unstated policies can be set by 
      AscToHTM, allowing it to adapt to the details of the document being
      concerned.

      For example, you should only set the indentation policy if you *know*
      what indents you are using, or if you want to override those calculated
      by AscToHTM.  Normally it is best to omit this policy, and allow
      AscToHTM to work it out itself.

      When you save a policy file from inside AscToHTM, a partial policy file
      will contain

      	- all policies loaded from the current policy file (if any)
      	- all policies changed in AscToHTM during the current session (if any)


6.4.2.2 Full policy files

      A "full" policy file contains a value for every possible policy.
      Such files are usually only useful for documentation and analysis
      reasons, and should almost never be expected to be reloaded as input
      into a conversion, as this would totally fix the conversion details.

      
6.4.3 Naming policy files

      Whenever the "Output policy file" policy is set (see 6.3.3.11), the
      generated "full" policy file is usually called

      	.pol

      where  is the name of the file being created.  When this
      happens any existing file of that name will be overwritten.

      For this reason we *strongly* advise you adopt a naming convention of
      the form

      	in_.pol or i.pol

      or place your input policies in a different directory and ensure they
      are backed up.


$_$_TABLE_WIDTH

7     Using the preprocessor
----------------------------

      The preprocessor is introduced in version V1.05.  It is intended to
      allow users more flexibility in the HTML they generate, and as such
      moves AscToHTM towards being a HTML authoring tool, as opposed to a
      simple text conversion or migration tool.  This wasn't AscToHTM's
      original purpose, and so - as yet - it's a little functionally poor
      in this area.

      Likely future additions include the insertion of embedded HTML in the
      output code.  This would allow pictures to be embedded.

      The preprocessor looks for lines that begin with a special character
      sequence.  Presently this is "$_$_", but this will become configurable
      in later versions.

      Preprocessor lines are not normally output to the HTML generated.
      Instead they are used to modify AscToHTM's behaviour in a number of ways.


7.1   Marking up sections of text

      The pre-processor can be used to mark sections in your document so that
      AscToHTM will process them as you wish.

      Note:	AscToHTM does attempt to spot such user-formatted text
      		automatically, but this is a difficult area and prone to
      		error.  Hence the use of these directives can reduce the
      		error rate on such occasions.


7.1.1 User SECTIONS

      This directive is used to divide the document up into named section
      types.  Section type names can be repeated through the document, and
      by default text is assumed to belong to a section called "all",
      indicating that this text is always copied to the output file.

      Section type names must contain no white space.

      This has no effect unless the user supplies a policy file indicating
      that they wish to select only certain section types for output.

      For example, if the text document looks like this

$_$_BEGIN_PRE
      		Some text that'll always get copied, because it is in an
      		"all" section type by default.

      	$_$_SECTION Private

      		Some text that will be copied either when the preprocessor
      		is switched off, or when the user's policy file indicates
      		that "private" section types are to be included.

      	$_$_SECTION Other

      		Likewise, this is an "other" section type.

      	$_$_SECTION Private

      		And here's some more "private" text.

      	$_$_SECTION all

      		Some text that will always get copied because it is explicitly
      		in an "all" section type.
$_$_END_PRE

      If the user then supplies a document policy file which includes the
      lines (see 6.3.5)

      	[Preprocessor]
      	--------------
      	Use Preprocessor             : Yes

      then the two section types marked "private" won't be copied into the
      converted file unless the line


      	Include document section     :   Private


      is added to the policy file.  Similarly with the "other" section.

      Note_1:	Strictly speaking the "use preprocessor" line above isn't
      		needed as this is set to "yes" by default.  This means that
      		any $_$_SECTION lines will cause text to be omitted unless
      		you supply an appropriate policy file.

      Note_2:	Be aware that any sections omitted are also omitted from
      		the analysis pass.  This may have unexpected results as
      		AscToHTM responds only to the input text that is to be
      		included in the output.


7.1.2 TABLE sections

      The BEGIN_TABLE ... END_TABLE directives are used to bracket a
      table in the source text.  AscToHTM will then attempt to analyse this
      table as best it can.

      This is explained more in the [AscToTab Doco].

      Inside this section you can use other TABLE pre-processor commands
      to tailor the HTML generated (see 7.4).

      The presence of this directive overrides any value set in the
      "Attempt table generation" policy (see 6.3.7.1)


7.1.3 CONTENT sections

      The BEGIN_CONTENTS ... END_CONTENTS directives are used to bracket a
      contents list in the source
      document.  AscToHTM will attempt to automatically detect the presence
      and location of any contents list in the document, but the algorithm
      can be problematic.

      Use this markup only when the document contains a contents list that
      AscToHTM fails to detect correctly.

      See the discussion in 5.6.2.


7.1.4 HTML sections

$_$_BEGIN_HTML
      AscToHTM
$_$_END_HTML

      The BEGIN_HTML ... END_HTML directives are used to bracket actual
      HTML in the source document.
      The bracketed HTML will be transcribed to the output file unconverted.

      This device will allow you to embed images, tables and other HTML
      constructs not normally generated by AscToHTM.

      This is how the image to the right has been added.

      If you simply wish to insert a single line of HTML, the HTML_LINE
      command (see 7.3.2) offers a more compact form.


7.1.5 CODE sections

      The BEGIN_CODE ... END_CODE directives are used to bracket a piece
      of sample code in the source text.

      AscToHTM will either render this in 
 ... 
markup or ... markup (see 6.3.6.11). For reasons discussed in 6.3.6.11 the former is default. 7.1.6 DIAGRAM sections The BEGIN_DIAGRAM ... END_DIAGRAM directives are used to bracket a piece of Ascii art or text diagram in the source text. AscToHTM will render this in
 ... 
markup. 7.1.7 PRE (pre-formatted text) sections The BEGIN_PRE ... END_PRE directives are largely replaced by the TABLE, CODE and DIAGRAM directives. They are maintained for backwards compatability, and have the same effect as the DIAGRAM commands (see 7.1.6). 7.2 Commands that influence the .. of a file 7.2.1 The TITLE command This directive allows you to specify the ... to be inserted into the section of the output page. This title will appear in the browser's frame title whenever the page is viewed, and will be the text shown in your browser's history. The presence of a TITLE command overrides any title specified in a policy file (see 6.3.1.1, 6.3.1.2 and 6.3.1.3). To fully understand how titles are calculated, see the discussion in 5.6.1 7.2.2 The DESCRIPTION command This directive allows you to specify a description of your document that is added to a META tag inserted into the section of the output page(s) as follows :- This tag is often used by search engines (e.g. AltaVista) as a brief description of the contents of your page. If omitted the first few lines may be shown instead, which is often less satisfactory. The presence of a DESCRIPTION pre-processor command overrides any description specified in a policy file (see 6.3.1.5). 7.2.3 The KEYWORDS command This directive allows you to specify keywords that are added to a META tag inserted into the section of the output page(s) as follows :- This tag is often used by search engines when indexing your HTML page. You should add here any relevant keywords possibly not contained in the text itself. The presence of a KEYWORDS pre-processor command overrides any keywords specified in a policy file (see 6.3.1.4). 7.2.4 The STYLE_SHEET command This directive allows you to specify the URL of a style sheet file, usually with a .css extension. Style sheet files are a new HTML feature that allow you specify fonts and colours to be applied to your document. The resulting HTML is inserted into the section of the output page(s) as follows :- The presence of a STYLE_SHEET pre-processor command will overrides any style sheet specified in a policy file (see 6.3.6.1). 7.3 One line pre-processor commands 7.3.1 The INCLUDE command This directive allows you to specify the name of a source file to be included at this point. This is useful if you wish some standard text inserted into many related documents, or into the same documents at many locations. The included file will be treated as though it were part of the original file during both the analysis and output passes. The include will fail is the fail cannot be found, and a test for recursive include files will be made. 7.3.2 The HTML_LINE command This directive allows you to embed a single line of HTML in your source file. The rest of the line is copied across faithfully to the output file. Essentially this offers the functionality as the HTML section commands (see 7.1.4), but in a more compact form. 7.4 The TABLE commands These directives are used to tailor the HTML generated in any tables AscToHTM creates. They are placed either a) *At the top of the file* Directives placed here become defaults for the whole file, and will replace any policies that have been set (see 6.3.7) b) *Inside a BEGIN_TABLE ... END_TABLE section* Directives placed here will apply only to the table marked up by these commands (see 7.1.2). The table commands are described (naturally enough) in the following table. $_$_CHANGE_POLICY Convert TABLE X-refs to links : Yes $_$_BEGIN_TABLE Directive Value Effect -------------------------------------------------------------------------------- TABLE_BORDER Number Size of border. 0 = None TABLE_BORDERCOLOR Colour Colour of border TABLE_BGCOLOR Colour Colour of background TABLE_CAPTION Text Table caption. Added centred at the top TABLE_CELLSPACING Number Spacing between cells. TABLE_CELLPADDING Number Padding inside each cell TABLE_CONVERT_XREFS (none) If present, indicates that any section cross-references in the table may be converted to hyperlinks (see 6.3.7.11) TABLE_HEADER_ROWS Number Number of header rows. These will be placed in .. markup TABLE_HEADER_COLS Number Number of header columns. These will be marked up in bold TABLE_MAY_BE_SPARSE (none) If present, indicates that the TABLE may be sparse (see 6.2.4.3) TABLE_MIN_COLUMN_SEPARATION Number Number of spaces to be taken as a column separator when analysing the table (see 6.2.4.2). TABLE_WIDTH Text The width of the table (see 6.3.7.10) $_$_END_TABLE Colours must be in the HTML accepted format (see 6.3.1.10). 7.5 The CHANGE_POLICY command *New in V3.0* NOTE: *This feature has the potential to cause mayhem, and as such is offered to users on a "as is" basis. That is, we offer no support for getting this feature to have the effect a user may desire*. This directive allows you change a particular policy in part of a document. This is a potentially powerful feature, allowing you to tailor the conversion of your file *in different sections of that file*, or to embed the policy particular to a file in commands inserted at the top of the file itself. The syntax of the command line is $_$_CHANGE_POLICY where is a policy line as it would appear in a policy file, and (usually) as it appears in sections 11.1 and 11.2 of this document. For example the following would all be valid directives $_$_BEGIN_PRE $_$_CHANGE_POLICY Background Colour : red $_$_CHANGE_POLICY Ignore multiple blank lines : Yes $_$_END_PRE Although how and when they would take affect will depend on the policy. For example, the background colour would only take effect if splitting the file up, and only on the next file generation. This works, BTW, so if anyone wants to split a file into many pages, all different colours, then be my guest. There are a *many* caveats to this behaviour :- - *Not all policies are supported* Not all policies may be changed in this way. In particular policies that open other policy files are not supported. Even if a policy if "changed", it does not follow that changing the policy will have an effect. - *analysis policies* It is unlikely that this feature can be sensibly used to influence the analysis of file, other than when placed at the top of the file only. If such a manner it is simply an alternative to using a separate policy file. - *output policies* Output policies are referenced at different times. Only those that are referenced *after* the line is read from the source file may be influenced, thus things like output file name may have no effect. - *toggleable policies* Not all policies once changed, can be changed back. This is particularly of policies that contain values to be added to a list. This is an issue that may be addresses in later versions. - *unpredictable behaviour* Messing with policies can cause unpredictable behaviour. For example if you alter the section splitting parameters, then the chances of a section cross-reference elsewhere in the document being calculated as a correct hyperlink diminishes. *That's why this feature is offered UNSUPPORTED* - *readahead buffer* To further complicate matters, AscToHTM uses a readahead, write behind buffer which means that you may need to experiment with the placing of your policy change to within 40 lines (the size of the buffer). 8 Purchasing AscToHTM ------------------------- 8.1 Why should I purchase AscToHTM? You need a reason? What kind of a skinflint are you? Oh well... here are some reasons to register :- - You'll get a warm glow from supporting the author financially. Not enough eh? Okay... - You'll get support from the author, especially in your early days as a new user. - You'll be notified of any upgrades. To date all upgrades have been *free* to _registered_ users. This means people who paid last year's price are getting this years software at a discount. - You'll be able to ask the author for new features. You won't always get them, but you'd be *amazed* at how much of the functionality arose directly from _registered_ users party requests. Finally... - No nag lines at top and bottom of each page, and no nag screen when you start the program up. - All limitations on the program (file size etc) are removed 8.2 What happens if I don't register the shareware version of AscToHTM? Originally I wanted to produce a fully-featured, but time-limited shareware version. However, for various reasons we've had to move to move to producing a largely-featured version with a 30 day time limit. Sorry 'bout that. At present the shareware version of the program comes with an expiry date (usually 30 days after installation). Each time the program runs it will tell you how may days left you have. During this period the program inserts a one line reminder to register at the top and bottom of each HTML page generated. This line is easily deleted from the output source file, but we expect this to become quite tedious if the program is used repeatedly, particularly when large documents are split into a number of small files, or a large number of files are being converted. *Some people have actually put such pages on the web*. There are other limitations of the shareware version :- - If you don't register, it will cease to function properly after 30 days. Specifically after 30 days any conversions will convert all your text to random case. This will still allow you to evaluate the software, but the resulting HTML will be of little use to you. - In the shareware version you're limited to only the first 500 lines of any source file. After 500 lines a warning is placed in the output, and all subsequent lines are converted to random case. This allows you to gain an impression of what the HTML will look like for evaluation purposes. - In the shareware version, wildcard conversions are limited to only 5 files - Certain other policies are not supported in the shareware version. I don't like limiting the software, but there you go. 8.3 Can't I get something for nothing? Only if you fall into either of the following two categories: - You're an FAQ maintainer. FAQ maintainers add a lot of value to the Internet. As a little "thank you" I'm making this software free to anyone who maintains an FAQ. See the [Reg location] for more details. - VMS users. The software is largely developed and tested under VMS. Although the VMS version doesn't have the windowed interface, but does share the underlying conversion software. ** We VMS users pay too much for software (that's when we can get it), so the VMS version of this software is made available for free. ** If you really want a free copy, buy an OpenVMS system :) If you find any for less than $35, let me know :) 8.4 I'm convinced. How to I purchase AscToHTM? First we recommend you try out the product to convince yourself that it meets your needs. You've done that right? Okay, visit the [Reg location] and follow the instructions there. You can buy AscToHTM online using credit cards, or via snail mail. Credit cards are processed by a third party who contact us once payment is cleared. If you experience any problems registering email jaf@yrl.co.uk with details. Currently most registrations result in an email from Jaf anyway. 9 Contacts on the Web ------------------------- 9.1 The home page At time of writing [Yezerski Roper] (whom I work for) have graciously allowed me to give AscToHTM a [Home page]. Yezerski Roper are the most intelligent software house it's ever been my privilege to be associated with. We're based in the UK and offer OpenVMS and Windows NT systems, and are currently developing state-of-the-art products which will allow companies to exploit the full communications potential of the Internet. Oh yeah... and they pay me as well :) If you have problems locating the home page and suspect it has moved, go to [AltaVista] and enter +"John A Fotheringham" +AscToHTM to locate any new home page. 9.2 E-mail E-mail any feedback to jaf@yrl.co.uk. Sadly, we cannot guarantee any replies. OTOH, no-one who has ever emailed us has ever waited more than a day for a response (no holidays, you see :) 9.3 Support A limited amount of support is available to registered users by emailing jaf@yrl.co.uk. Any enquiries should be directed to the same address. Sadly, we cannot guarantee any replies, though we do try to be helpful. Priority is given to people who have registered copies. Over time a user's FAQ may appear. This will only be available to registered users. 10 Known problems --------------------- We listen to all suggestions, and indeed many of the features added have been in direct response to customer feedback. (You couldn't expect us to *invent* all this stuff on our own now, could you? :) 10.1 Bug reports _Registered_ users are free to make bug reports or suggestions for enhancements to jaf@yrl.co.uk. We try to fix bugs ASAP, and to date have usually shipped fixes to specific problems within 72 hours, but we can't promise this response time. We used to maintain a bug list, but we prefer spending the time fixing them rather than documenting them. 10.2 Features All good software has features (ask Microsoft). - Links in the link dictionary that have some common text may get confused. The problem generally is that having put some HTML markup into your line, it becomes hard not to search the contents of that markup subsequently. This is my problem not yours. Unless it catches you out when, of course, it becomes your problem, not mine. - If the program gets confused when splitting a large file, it may accidentally use the same output file name twice, possibly losing your data. - Bullet characters inside section headings used to cause confusion. The following are consequences of how the program works, and may take longer to "fix" - The program currently assumes a structure of contents list and/or main body. It doesn't (yet) cope with Appendices. Nor does it cope with several sections all with their own numbering systems. - Certain algorithms put a
on the end of the line. Where these algorithms "misfire" you may find unexpected breaks in large paragraphs. Over time more of these will be configurable via the document policy, but originally we tried to avoid the need for such micro-control. 10.3 Coming soon... or not. An on-line [wishlist] is now maintained. However, it's not kept wonderfully up to date, and a *lot* of features have fast-tracked their way into the software without ever being mentioned on the list. Many, many features have been added in direct response to (_registered_) users requests. Many, thanks to all those who've come up with suggestions and feedback (you all know who you are). 11 Policy Dictionary -------------------- Here is a complete list of all the policy phrases that may occur in policy files, and links to their explanations :- 11.1 Analysis policies These policies influence AscToHTM's analysis. Usually AscToHTM will calculate values for each of these policies, or use sensible defaults. Should the analysis be wrong for any reason, you can change these policy values to correct the conversion. Descriptive text Reference Values ----------------------------------------------------------------- Bullet Char 5.1.3.1 and 6.2.2.4 '-' (one entry per character) Definition Char 5.1.5 and 6.2.1.3 '-' (strong) Expect alphabetic bullets 5.1.3.3 and 6.2.2.2 Yes/No Expect blank lines between paras 6.2.1.8 Yes/No Expect Capitalised Headings 5.4.2 and 6.2.3.4 Yes/No Expect code samples 6.2.1.13, 6.3.6.11 Yes/No and 7.1.5 Expect Contents List 3.3.2, 4.2.2.1, Yes/No 4.4.3 and 6.3.4.2 Expect Numbered bullets 5.1.3.2 and 6.2.2.1 Yes/No Expect Numbered Headings 5.4.1 and 6.2.3.2 Yes/No Expect Roman Numeral bullets 5.1.3.4 and 6.2.2.3 Yes/No Expect Second Word Headings - Yes/No Expect sparse tables 6.2.4.3 and 7.4 Yes/No Expect Underlined Headings 5.4.3 and 6.2.3.3 Yes/No Hanging paragraph position(s) 5.1.2 and 6.2.1.4 List of ascending space-separated numbers Indent position(s) 6.2.1.1 List of ascending space-separated numbers Keep it simple 4.2.2.4 and 6.2.1.10 Yes/No Min chapter size 6.2.1.11 Number of lines Minimum automatic
 size     5.5.3 and 6.2.4.1    Number of lines
Minimum TABLE column separation  6.2.4.2 and 7.4      Number of spaces
Search for Definitions           6.2.1.2              Yes/No
Search for emphasis              6.3.6.9              Yes/No
Short line length                6.2.1.12             Number of characters
TAB size                         6.2.1.6              Number of characters
Text Justification               6.2.1.7              left/right/centre


11.2 Output policies

These policies are used to shape the HTML generated.  You can change these 
policies to get the HTML generated looking like you want it to.


Descriptive text                 Reference            Values
-----------------------------------------------------------------
Active Link Colour               6.3.1.10             HTML Colour
Add 
to lines with URLs 6.3.2.7 Yes/No Add contents list 3.3.2, 4.2.2.1 Yes/No 4.4.3 and 6.3.4 Add navigation bar 6.3.3.10 Yes/No Allow automatic centring 5.3.9 and 6.3.6.4 Yes/No Allow definitions inside PRE 5.1.5 and 6.3.6.10 Yes/No Attempt TABLE generation 6.3.7.1 Yes/No Automatic centring tolerance 6.3.6.5 Number of characters Background Colour 6.3.1.10 HTML Colour Background Image 6.3.1.9 URL of image Convert TABLE X-refs to links 6.3.7.11 and 7.4 Yes/No Create NEWS links 5.3.4 and 6.3.2.3 Yes/No Create hyperlinks 5.3.3 and 6.3.2.1 Yes/No Create mailto links 5.3.5 and 6.3.2.2 Yes/No Cross-refs at level 5.3.2 and 6.3.2.6 Number. 0 = "none" DOS filename root 4.2.2.3, 4.3.2.4 up-to-5 character name and 6.3.3.5 Default TABLE border colour 6.3.7.8 and 7.4 HTML Colour Default TABLE border size 6.3.7.2 and 7.4 Number. 0 = "automatic" Default TABLE caption 6.3.7.9 and 7.4 Text String Default TABLE cell padding 6.3.7.6 and 7.4 Number. 0 = "none" Default TABLE cell spacing 6.3.7.5 and 7.4 Number. 0 = "none" Default TABLE colour 6.3.7.7 and 7.4 HTML Colour Default TABLE header cols 6.3.7.4 and 7.4 Number. 0 = "automatic" Default TABLE header rows 6.3.7.5 and 7.4 Number. 0 = "none" Default TABLE width 6.3.7.10 and 7.4 Table width in pixels or as a percentage of page width Directory description 6.3.9.7 Text String Directory filename 6.3.9.2 Output filename Directory footer file 6.3.9.11 File name. File contains HTML commands Directory keywords 6.3.9.6 Text String Directory header file 6.3.9.10 File name. File contains HTML commands Directory return hyperlink text 6.3.9.8 Text String Directory Script file 6.3.9.9 File name. File contains HTML commands Directory title 6.3.9.5 Text String Document Style Sheet 6.3.6.1 and 7.2.4 URL of style sheet file Document description 6.3.1.5 and 7.2.2 Text string Document keywords 6.3.1.4 and 7.2.3 Comma-separated list Document title 6.3.1.1 and 7.2.1 Text string Error reporting level 6.3.3.14 Number in range 1-10 External contents list filename 6.3.4.5 File name Generate diagnostics files 4.2.2.2 and 6.3.3.13 Yes/No Generate external contents file 6.3.4.4 Yes/No Headings colour 6.3.6.7 HTML Colour HTML Script file 6.3.1.6 File name. File contains HTML commands HTML footer file 6.3.1.8 File name. File contains HTML commands HTML header file 6.3.1.9 File name. File contains HTML commands Highlight Definition Text 5.1.5.1 and 6.3.6.2 Yes/No Hyperlinks on numbers 5.3.1 and 6.3.4.6 Yes/No Ignore multiple blank lines 6.3.6.8 Yes/No Include file 4.3.2.3 Name of a policy file to be included Include document section 6.3.5.2 and 7.1.1 Space-separated list of section names Indent headings in Directory 6.3.9.4 Yes/No Input directory 6.3.3.1 Directory name Make Directory 6.3.9.1 and 4.2.2.6 Yes/No Min HTML File size 6.3.3.9 Number of lines Minimise HTML file size 6.3.3.7 Yes/No Only use known groups 5.3.4 and 6.3.2.4 Yes/No Output directory 6.3.3.2 Directory name Output file extension 6.3.3.4 Text String Output policy file 4.2.2.5 and 6.3.3.11 Yes/No Output policy filename 6.3.3.12 File name Recognised USENET groups 6.3.2.5 space-separated list of USENET hierarchies Search for emphasis 6.3.6.9 Yes/No Show file titles in Directory 6.3.9.3 Yes/No Split level 3.3.3 and 6.3.3.8 Number Text Colour 6.3.1.10 HTML Colour Unvisited Link Colour 6.3.1.10 HTML Colour Use .HTM extension 6.3.3.3 Yes/No Use .. markup 6.2.1.13, 6.3.6.11 Yes/No and 7.1.5 Use
markup for defn. paras 5.1.5.2 and 6.3.6.3 Yes/No Use

markup for paragraphs 6.3.6.12 Yes/No Use any existing contents list 6.3.4.3 Yes/No Use DOS filenames 4.3.2.4 and 6.3.3.5 Yes/No Use first heading as title 6.3.1.2 Yes/No Use first line as title 6.3.1.3 Yes/No Use Preprocessor 6.3.5.1 and Yes/No [Section 7] Visited Link Colour 6.3.1.10 HTML Colour 12 Change History -------------------- 12.1 Version 1.01 (April '97) New functions - Added the /CONTENTS qualifiers (see 4.2.2.1). - Added the /SIMPLE qualifier (see 4.2.2.4). 12.2 Version 1.04 (early July '97) 12.2.1 Bug fixes - Fixed lots of memory leaks - Improved cross-reference detection. These are now range checked against the observed section numbers. This will reduce the likelyhood of DirectX 3.0 and Windows 95 becoming links to chapters 3 and 95. - Contents list generation for documents with chapters and no subsections now works. - Improved Contents list detection. - Fixed bug that caused links to underlined or capitalised heading with very long names to sometimes fail. 12.2.2 New functions - Added policy "Minimum automatic

 size" (see 6.2.4.1).  This
	replaces the policy "Allow automatic 1-line 
"

      - Added policies "Largest  allowed  tag" and "Smallest allowed
 	 tag" (see 6.3.6.6) to allow control over generated heading
	sizes.

      - Added policy "Short line length" (see 6.2.1.12)

      - Added Batch processing to allow multiple files to be converted at
        the same time. (see 4.3.3.2)

12.2.3 Other changes

      - Created a 16-bit DOS version

      - VMS version now available as freeware.

      - Added "SendTo" tips for Windows 95/NT users section to the
        documentation (see 4.4.4)



12.3 Version 1.05 (late July '97)

12.3.1 Bug fixes

      - fixed some errors that occur when directory paths are included
        in the filenames.  Probably still more changes required in this area,
      	particularly with a view to supporting multiple file drag'n'drop
      	under Windows.

      - improved detection of pre-formatted regions.

12.3.2 New functions

      - Added an "Output directory" policy (see 6.3.3.2).  This allows
	redirection of output to a directory different from that containing
	the source files.

	Note:	This functionality may not be available in
		the shareware version of the software.

      - Added an "Output policy" policy (see 6.3.3.11).  This allows the
	suppression of output policy files where not wanted.

      - Added a "Expect code samples" policy (see 6.2.1.13).  This helps in
        technical documents that include samples of C code.

      - Added preprocessor support to allow variant documents to be
      	produced (see 6.3.5 and [section 7])

12.3.3 Other changes

      - Policies now accept "Yes/No" as well as "True/False".  "Yes/No" is
	now the default when outputting policies.

      - shareware version now limited to processing the first 500 lines only.

      - Lines with email addresses no longer have 
's forced on the end. Lines with http, ftp and news links still do. This will become fully configurable in later versions. 12.4 Version 1.1 (August '97) 12.4.1 Bug fixes - Several hyperlink parsing errors fixed. Previously there were problems with punctuation around links, email addresses with protocols (e.g. MX%"jaf@yrl.co.uk") and newsgroups with the word "news:" in front e.g. news:uk.jobs. - improved output of pre-formatted text. "<" characters were getting confused, and the pre-formatted lines were being broken in two. 12.4.2 New functions - Added a "Only use known groups" policy (see 6.3.2.4) to improve accuracy of newsgroup hyperlink detection. - Added more document colour policies (see 6.3.1.10) - Added a /POLICY and "Output Policy file" option (see 6.3.3.11 and 4.2.2.5) to make the generation of an output policy file optional - Added preprocessor support for user-formatted sections (see 7.1.7) 12.4.3 Other changes - Indentation is now done using
markup. - Changed default background colour to white (see 6.3.1.10). - Generation of a .pol file is no longer default (see 6.3.3.11 and 4.2.2.5) - The use of
 ... 
to mark up user-formatted text is replaced by the new preprocessor commands BEGIN_PRE and END_PRE (see 7.1.7) - re-write of section 4.1 - Improved error reporting. The .LIS file created if the /DEBUG qualifier is used (see 4.2.2.2) now has error and information messages included in it. 12.5 Version 2.00 (October '97) Version 2.0 marks the production of the first fully-windowed version for Windows 95/NT. This took a few months to be produced, so a fair number of other features have been added over this time. 12.5.1 Bug fixes - Loads of bugs in parsing user PRE sections (sorry Dennis!). - < and > characters inside a PRE section caused characters to be lost off the end of lines - URL-parsing improved - Contents list file links back to main file if no other section links generated - Newsgroups in headings no longer converted 12.5.2 New functions - New "Output policy filename" policy (see 6.3.3.1) - New "Use .HTM extension" policy (see 6.3.3.3) - New "Generate diagnostics files" policy (see 6.3.3.13) - New "External contents list filename" policy (see 6.3.4.5) - New "Use
markup for defn. paras" policy (see 6.3.6.3) - New "Ignore multiple blank lines" policy (6.3.6.8) - New "Search for emphasis" policy (see 6.3.6.9) - New "Allow definitions inside PRE" policy (see 6.3.6.10) - New Pre-processor CONTENTS command (see 7.1.3) - New Pre-processor HTML command (see 7.1.4) - New Pre-processor TITLE command (see 7.2.1) - New Pre-processor INCLUDE command (see 7.3.1) 12.5.3 Other changes - White space immediately adjacent to PRE sections now ignored. - Changed anchor names to contain no spaces (makes URL's easier to quote) - Title defaults to "Converted from filename" instead of "No title" (see also 7.5) - Introduced some support for use of ctrl-H (backspace) in Unix documents to underlined and highlighted words - Automated "simple" file detection now attempted - Automated "code samples" detection now attempted - Some policies have been renamed as follows :- Was Now --- --- Expect Numbered sections Expect Numbered Headings HTML header HTML header file HTML footer HTML footer file - The policy section headings have been renamed as well. This may cause "ignored policy line" messages when old policy files are used. 12.6 Version 2.10 (never officially released) V2.1 was never officially released, but much of this functionality "crept out" as the shareware version was updated. Some of these versions were shown as V2.01 instead of V2.1. There's nothing like a bit of consistency (and yeah, this was *nothing* like a bit of consistency). 12.6.1 Bug fixes - Fixed "Minimum automatic
 size".  Previously didn't work
        at all like advertised.

      - Colour samples in Windowed version were being shown as gray on initial
        draw and on re-draw.

      - Anchor points added to generated contents list had their  missing.

      - Fixed occasional "Invalid indent -1" error


12.6.2 New functions

      - New "Document keywords" policy (see 6.3.1.4) and pre-processor KEYWORDS
        command (see 7.2.3).

      - New "Document description" policy (see 6.3.1.5) and pre-processor
      	DESCRIPTION command (see 7.2.2).

      - New "Hyperlinks on Numbers" contents policy (see 6.3.4.6)

      - New "Document style sheet" policy (see 6.3.6.1) and pre-processor
      	STYLE_SHEET command (see 7.2.4).



12.6.3 Other changes

      _All versions_

      - Now recognise domain names without a protocol specified (such as http://
        or ftp:// etc.) that end in standard domains (e.g. .edu, .net, .org
        etc) as probable FTP sites.  This allows references to sites like
        rtfm.mit.edu to be correctly turned into hyperlinks.

      - Some renumbering of this document has occurred

      - Quoted text is now marked up using .. markup


      _Windows version_

      - Now stores data in the Registry under the
	HKEY_CURRENT_USER root with a "\Software\JafSoft\AscToHTM\..." key

      - Now supports "most recently used" lists for both policy
        files and files to be converted.  These are accessed via a drop-down
	Combo box.

      - Now remembers last source directory each time
      	the program is run.  This is used as the initial directory next time
      	the Browse button is pressed.

      - The filenames now include the path.  This is to allow the most
      	recently used (MRU) file drop-down list to function correctly.



12.7 Version 2.20 (Feb '98)

      First major release after V2.0 (when AscToHTM first went fully-Windowed).
      Major change this time has been the introduction of TABLE generating
      algorithms.  These were first made available as a separate freeware
      utility [AscToTab].

      This version is reviewed by ZDNet and awarded 5-stars, their highest
      award.

12.7.1 Bug fixes

      - End effects now fixed.

      - Various emphasis features eliminated.

      - In-situ contents lists weren't getting the right file names in their
	hyperlinks when the file was being split.

      - Right justified numbered sections weren't being detected correctly
        past section 9.

      - No longer break long URLs over two lines.  This occasionally led to
	hyperlinks that didn't work.

      - No longer generate files for underlined sections when document has
	numbers sections as well, and is being split into files.

      - No longer detect pre-formatted text inside BEGIN_HTML ... END_HTML
	section.

      - Fixed tab conversion bug.


12.7.2 New functions

      _Table generation_

      This is the biggest change in this version.  AscToHTM now incorporates
      the technology first introduced in [AsctoTab].  To support this the
      detection of pre-formatted text has been improved, new policies added,
      and new preprocessor commands added.


      	New Policies                    Description
        -------------------------------------------
      	Attempt TABLE generation        6.3.7.1
      	Default TABLE border size       6.3.7.2
      	Default TABLE header rows       6.3.7.3
      	Default TABLE header cols       6.3.7.4
      	Default TABLE cell spacing      6.3.7.5
      	Default TABLE cell padding      6.3.7.6
      	Default TABLE colour            6.3.7.7
      	Default TABLE border colour     6.3.7.8
      	Default TABLE caption           6.3.7.9


        New Pre-processor commands      Description
        -------------------------------------------
        BEGIN_CODE ... END_CODE         7.1.5
        BEGIN_DIAGRAM ... END_DIAGRAM   7.1.6
        BEGIN_TABLE ... END_TABLE       7.1.2
        TABLE_BORDER                    7.4
        TABLE_BORDERCOLOR               7.4
        TABLE_BGCOLOR                   7.4
        TABLE_CAPTION                   7.4
        TABLE_CELLSPACING               7.4
        TABLE_CELLPADDING               7.4
        TABLE_HEADER_ROWS               7.4
        TABLE_HEADER_COLS               7.4


      _Other changes_

      - Added a policy to allow  markup to be used for code
        fragments in the document (see 6.3.6.11)

      - Added pre-processor CODE commands to allow sections of code samples
        to be identified and distinguished from tables (see 7.1.5)

      - Added pre-processor DIAGRAM commands to allow diagrams and sections
      	Ascii art to be identified and distinguished from tables (see 7.1.6)


12.7.3 Other changes

      _Documentation_

      - Added the [PolDict], and renumbered the document accordingly.


      _All versions_

      - "tables/pre-formatted text"

      - Various improvements to detecting the start and end of pre-formatted
	regions of text.

      - Shareware now expires after 30 days, rather than after a fixed date.

      - Headings policies have been revised.  Still more work to be done in this
      	area.

      - Slight improvement in detection of centred text.  Still not good
        enough to offer as a default though (too prone to errors).

      - Added section on saving/using policy files (see 6.4)

      - Shareware version now adds nag lines at top and bottom of the page,
        instead of just the top.

      - A number of improvements in code sample detection

      - Reduced number of "error" messages reported.  These may be made
	optional in a later version, and are still placed in the diagnostic
	files if these are created.


      _Windows version_

      - Now added a "Settings" dialog to allow you to configure various aspects
        of how the program runs such as what browser to view files with,
      	what policy file to use as default etc, etc.



12.8 Version 2.3 (late April '98)

      Minor bugfixes and upgraded functionality over V2.2.  The main functional
      changes have been

      a) The introduction of wildcard support to allow conversion
         of multiple files at once.

      b) (related to the above) the introduction of the Directory Page
         feature (see 5.6.3 and 6.3.9) that allows the generation of a
         hyperlinked document spanning all the files in a directory.

      c) Major re-write of the contents-list generating routines.  The
         program now makes a third, intermediate, pass through the document
         to analyse the contents structure.  This means that contents lists
         are now placed at the top of the HTML file be default, rather than
      	 in a separate file as previously - though that behaviour is still
         supported if wanted.

      	 This approach is expected to pay further dividends in later releases.


12.8.1 Bug fixes

      - Hyperlinks added from a link dictionary sometimes got broken over
        two lines - inserting white space into the URL - preventing the link
        from working

      - Confusion with numbered sections beginning with "0" or ending ".00"
        eliminated.

      - Problems with formatting after underlined headings fixed.

      - Failed to "view results" when DOS-compatible files we're being
        generated.

      - Various email/ftp/URL improvements

      - Now ignore date-like "headings" e.g. 12.3.1998

      - Capitalised headings were omitted from contents lists, and had
        bad anchor names (contained spaces, difficult to quote)

      - Automatic detection of centred text had stopped working.


12.8.2 New functions

      _Windows Version_

      - Added a "Preform simple conversion" tick box on the front panel.
        This does exactly the same as the "Keep it simple" policy (see 6.2.1.10)

      - Improved the Headings dialog to allow headings policies to be more
        easily edited now.

      - Pre-processor document sections now working.

      _All versions_

      - Wildcard support has been added (see 4.3.3.1).

      - Major re-writing of contents list generation has occurred (see 3.3.2).
        Includes new "Use any existing contents list" and "Generate external
      	contents file" (see 6.3.4.4 and 6.3.4.3).  More changes are expected
        here in later versions.

      - New Directory Page feature (see 6.3.9)

      	New Policies                     Description
        -------------------------------------------
      	Make Directory                   6.3.9.1
      	Directory filename               6.3.9.2
      	Show file titles in Directory    6.3.9.3
      	Indent headings in Directory     6.3.9.4
      	Directory title                  6.3.9.5
      	Directory keywords               6.3.9.6
      	Directory description            6.3.9.7
      	Directory return hyperlink text  6.3.9.8
      	Directory Script file            6.3.9.9
      	Directory header file            6.3.9.10
      	Directory footer file            6.3.9.11

      - New "Minimum TABLE column separation" policy and
      	TABLE_MIN_COLUMN_SEPARATION pre-processor command (see 6.2.4.2 and 7.4)
        to allow some tuning of table analysis.

      - New "Use first heading as title" policy (see 6.3.1.2)

      - New "Use first line as title" policy (see 6.3.1.3)

      - New "Recognised USENET groups" policy (see 6.3.2.5)

      - New "Automatic centring tolerance" policy (see 6.3.6.5)

      - New "Use 

markup for paragraphs" policy (see 6.3.6.12), to allow choice of either

or
markup to be used for paragraphs. - New "Default table width" policy and TABLE_WIDTH pre-processor command (see 6.3.7.10 and 7.4) to allow table widths to be specified - New pre-processor command HTML_LINE (see 7.3.2) 12.8.3 Other changes - Reinstated some of the "error" messages removed in the last version, to do with section numbering. This should make it more visible when the section heading analysis goes wrong. - Added error reporting to file open. You should now get an error message if the program fails to find/open a file somewhere. - Now support headings down to 5 levels (previously this was 4). Note, if you only have a couple at this level, the program may still ignore them as statistically insignificant. - Removed certain policies (such as "generate policy file") from the output when generating a full policy file. This is because, when they were read back in, they could cause problems. - The "Include document section" policy (see 6.3.5.2) is now renamed to "Include document section(s)" reflecting the fact that you can now enter multiple values on one line, rather than requiring multiple lines with one value each as previously. - Major re-structuring and additions to [section 5] to make the section more coherent and up to date. Some of the sections marked as new in this version are simply the documentation catching up on the features added in earlier releases. Sometimes I just work too hard :^) 12.9 Version 3.0 (August '98) There are a fair number of small changes in functionality over V2.3, together with a fair number of bugfixes and refined algorithms. A lot of development during this time was directed towards the production of a text-to-RTF converter using the same analysis engine. Consequently there are a lot of changes "under the bonnet". The main functional change has been the revamp of the Windows User Interface. A new section (4.1.2) has been added to this document describing the Windows interface in a little details. The changes include :- - the button bar is replaced by a proper Windows menu, allowing easier access to the programs functions. - under the Help menu a link to the HTML documentation shipped with the software is now provided. - the policy sheets are now "non-modal". This means you no longer have to dismiss them in order to do a conversion, you can leave them up whilst the conversion is going on, making it easier to go through the convert-change policy-convert cycle. 12.9.1 Bug fixes _Windows version_ - General Protection Fault was occurring on the "Analyse file" button if a file had not yet been converted. This bug was introduced in V2.3 _All versions_ - No longer inserts
before first heading if the first line in the file is a heading - "headings" that were underlined, but which were in fact part of a table are no longer added to generated contents lists. - Underlined/capitalised headings now get correct hyperlinks in contents list lists when using DOS filenames - Fixed bug that caused contents lists immediately following underlined headings to not be recognised - URLs in heading no longer lead to invalid anchor tags - Various URL changes; "alt." and "news." no longer treated as a newsgroup, https:// pages now recognised - Properly reject "indent" of 1. Previously this was reported as rejected, but was actually accepted. - "Expect code samples" policy (see 6.2.1.13) was being ignored in table calculations. - The TABLE_HEADER_COLS directive only worked when there were header rows as well. - Use of emphasis inside a TABLE cell was not being detected as all. Now it is detected if held on a single line. Phrases that are emphasised over several lines inside a table cell may still not be detected. - Fixed a bullet numbering problem. Previously the bullet numbering wasn't being reset correctly if two sets of bullets were separated by text with a larger margin than the bullets. - Emphasis at end of line now properly recognised - Fixed bug that caused emphasis markup near pre-formatted sections of text - Small correction to line-splitting algorithm to prevent s being spilt when they're near the natural break. - Pre-processor command $_$_TITLE was being ignored if the "Use first heading as title" policy was set. 12.9.2 New functions _Windows Version_ - Major re-structuring of the user interface (see 4.1.2) - Program's Help options now provide access to the online and offline versions of the HTML doco. A lot of people were downloading the software and then picking up a version of the doco, unawares they already had it. Don't you people read README.TXT files or what? _All Versions_ - New "Search for Definitions" policy (see 6.2.1.2) - New "TAB size" policy (see 6.2.1.6) - New "Expect sparse tables" policy and TABLE_MAY_BE_SPARSE pre-processor command (see 6.2.4.3 and 7.4) - New "Add
to lines with URLs" policy (see 6.3.2.7) - New "Output file extension" policy (see 6.3.3.4) - New "Minimise HTML file size" policy (see 6.3.3.7) - New "Headings colour" policy (see 6.3.6.7). Eventually I hope to add a whole suite of heading styling options, as these have been requested by a number of people. - New "Convert TABLE X-refs to links" policy and TABLE_CONVERT_XREFS pre-processor command (see 6.3.7.11 and 7.4) - New CHANGE_POLICY pre-processor command (see 7.5) - New "Error reporting level" policy (see 6.3.3.14) 12.9.3 Other changes - Improved Windows interface - Empty lines in a table cell now get an extra   added, in addition to the
. This is to compensate for a bug in Internet Explorer 3 which would ignore the
otherwise, leading to alignment errors. - Now treat phrases with all the words connected by underscores, and with underscores at both ends as well as underlined e.g. _this_type_of_thing_ - Improved handling of tables with long urls in them. Previously these would not be recognised as part of a table. Increased "long line" limit inside tables to 110 characters - Improved error reporting/handling - Report unrecognised pre-processor lines - Report results of table analysis (e.g. if diagrams are detected) - Report failure to find requested files - Abort conversion if can't find requested policy file - Improved detection of "mal-formed" tables. Previously this was over-cautious, especially on short tables. - Now add a trailing "/" to www etc URLs if none present (e.g. www.yrl.co.uk). This is a more correct URL, which should be accessed slightly more efficiently. - Now recognised "....." underlining, although why people do this is beyond me :) - Improved contents list detection in short documents with only level one headings, and documents with a chapter "0". - Improved headings detection in small files. Made this less trigger happy. - Improved code detection, and now add bold emphasis of C++ like comments inside a code section - No longer allow "{" and "}" to be detected as probable bullet characters when code is expected - I've produced (with help from antipodean friends) an icon for files converted by AscToHTM. It's called a2hlogo.gif. Feel free to use it should you wish on any pages created with AscToHTM. An example piece of HTML code would be $_$_BEGIN_PRE Converted by AscToHTM $_$_END_PRE - With the introduction of the "Add
to lines with URLs" policy (see 6.3.2.7), this behaviour is no longer default. That is, if you *do* want
added at the end of all lines containing URLs you will need to switch this behaviour on using the new policy. - With the introduction of the "Convert TABLE X-refs to links" policy (see 6.3.7.11), this behaviour is no longer default. That is, if you *do* want section links inside your tables, you will need to switch this behaviour on using the new policy. - ".htm" files are now with a lowercase extension, unless "Use DOS filenames" policy selected (see 6.3.3.5)