home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / hmake400.zip / English / hymake.hlp (.txt) < prev    next >
OS/2 Help File  |  2002-04-20  |  213KB  |  6,711 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Introduction ΓòÉΓòÉΓòÉ
  3.  
  4.  
  5. With Hypermake (up to version 2.0 "MakeIPF"), you can easily create HTML files, 
  6. Winhelp files, MS HTML-Help files (with file extension CHM), OS/2 INF/HLP files 
  7. and RTF (rich text format) files for exporting to word processing software. 
  8. Instead of editing the HTML, RTF or IPF files directly, you enter a more simple 
  9. ASCII source text. Hypermake enables you to write a text in all these Hypertext 
  10. formats simultaneously. Links are created automatically; windows of different 
  11. headings levels can be shown simultaneusly with only one command; at the end of 
  12. a chapter, links to subchapters are created automatically and a lot of more. 
  13.  
  14. Yet there's an OS/2, a Win32 (Windows 95, 98, ME, NT, 2000, XP) and - only 
  15. commandline - DOS version. If there's a demand for a Linux version, I will 
  16. publish it, too. 
  17.  
  18. The Hypermake program exists in two different versions: HMAKE.EXE is a 
  19. commandline program without user interface and written for experts who want to 
  20. embed it in an external environment. HYMAKE.EXE is the program version with 
  21. user interface: an integrated editor, a settings notebook and other dialog 
  22. windows. 
  23.  
  24. You can use Hypermake to write a short Homepage (in this case, it's Freeware), 
  25. but that's not the main job. It's useful for creating more complex Homepages, 
  26. scientific works or program documentation with content and index. Hypermake 
  27. points the focus to structured text, not to graphics - nevertheless, you can 
  28. embed graphic files in various kinds. 
  29.  
  30. When using Hypermake, you have only to learn the much easier Hypermake source 
  31. format. You can write Hypermake files with the integrated Hypermake ASCII 
  32. editor or an external ASCII editor (with or without wordwrap, ISO or IBM 
  33. codepage). I have published the integrated Hypermake editor as a separate 
  34. Freeware: WSedit. 
  35.  
  36. Hypermake includes a reverse converting mode from RTF an IPF to Hypermake 
  37. source format. 
  38.  
  39. Hypermake has some powerful functions: 
  40.  
  41.      Automatic linking and indexing 
  42.       Marking a word or a phrase of several words with a special character will 
  43.       generate a link from all other occurrences of the word or phrase in the 
  44.       document to the marked position and an entry in the index. External links 
  45.       are supported in different ways. From OS/2 and Winhelp4 Help files, links 
  46.       to the WWW are possible. 
  47.  
  48.      Automatic division into several HTML files 
  49.       When creating HTML files, from one source file Hypermake creates several 
  50.       target files in a new folder. This improves the performance while viewing 
  51.       with browsers. Neither the author of the text nor the reader of the files 
  52.       notices the separation into several files. 
  53.  
  54.      Automatic creation of contents 
  55.       You will get a contents page with links to all chapters. In HTML you can 
  56.       choose between an unordered list view and a Javascript contents tree view 
  57.       where you can open and close subchapters. 
  58.  
  59.      Automatic generation of helptables and constants 
  60.       For OS/2 and Windows help files, in the Hypermake source file you can 
  61.       directly enter ID constants like "ID_buttonOK" to associate chapters of 
  62.       your HLP file with buttons of your program. Hypermake generates a 
  63.       helptable file you can include in your RC, C or PAS file. 
  64.  
  65.      Automatic Writing of links to subchapters 
  66.       At the end of a window of a higher heading level, links to all 
  67.       subchapters and to the next chapter at the same level will be created. 
  68.  
  69.      Automatic arrangement of several heading level windows 
  70.       With only one command, two (IPF three) heading levels are placed 
  71.       simultaneously on the screen (Frames). See window arrangement sample 
  72.       output. Only the target format Winhelp3 does not support window 
  73.       arrangement. 
  74.  
  75.      Simple creation of footnotes 
  76.       The HTML footnotes are realized by frames, IPF footnotes appears in a 
  77.       small footnote window for each footnote text. 
  78.  
  79.      Tables 
  80.       You enter tables in the source text like in an ASCII text with a fixed 
  81.       font. Hypermake transforms this simple formatting to HTML, RTF or IPF 
  82.       table commands. 
  83.  
  84.      Automatic line drawing to generate boxes 
  85.  
  86.      Short commands 
  87.         -  for heading levels 
  88.         -  for choosing fonts 
  89.         -  to include bitmaps within a line of text 
  90.         -  to generate unordered lists and ordered lists. 
  91.  
  92.  subchapters: 
  93.  Supported Hypertext formats 
  94.  How Hypermake works 
  95.  
  96.  next chapter: 
  97.  Graphical version HYMAKE.EXE 
  98.  
  99.  
  100. ΓòÉΓòÉΓòÉ 1.1. Supported Hypertext formats ΓòÉΓòÉΓòÉ
  101.  
  102.  
  103. subchapters: 
  104. HTML 
  105. IPF (IBM Help) 
  106. Winhelp 
  107. RTF Rich text format 
  108. MS HTML-Help 
  109.  
  110. next chapter: 
  111. How Hypermake works 
  112.  
  113.  
  114. ΓòÉΓòÉΓòÉ 1.1.1. HTML ΓòÉΓòÉΓòÉ
  115.  
  116. The Hypertext Markup Language HTML is a text file format where viewers 
  117. ("browsers") are available for nearly all computer platforms. HTML files are 
  118. ASCII files containing normal text and commands written in brackets <>. The 
  119. most important feature of HTML files are links. 
  120.  
  121. Normally, HTML files are placed on the Internet and not on local computers. 
  122. Nevertheless, it's possible and useful to read local HTML files, e.g. program 
  123. documentation. 
  124.  
  125. The HTML format is the only Hypermake target format where the files can be 
  126. viewed directly without compiling with a second compiler. 
  127.  
  128. Hypermake creates HTML files complying with the HTML version 3.2. The most 
  129. important new feature of HTML 3.2 are frames. HTML files created by Hypermake 
  130. containing frames can be viewed with older browsers nevertheless, of course 
  131. without frames functionality. 
  132.  
  133. The HTML version 4.0 is not supported yet, but I will support new HTML features 
  134. in in new versions of Hypermake. I will support Stylesheets in the future. 
  135.  
  136. The HTML code generated by Hypermake is always working fine together with 
  137. Netscape and with Microsoft browsers. I will not support proprietary HTML 
  138. dialects which are only shown correctly with a specific browser. 
  139.  
  140. The W3C consortium defines the official HTML language. A list of current W3C 
  141. technical reports can be found at: 
  142. http://www.w3.org/pub/WWW/TR 
  143.  
  144.  
  145. ΓòÉΓòÉΓòÉ 1.1.2. IPF (IBM Help) ΓòÉΓòÉΓòÉ
  146.  
  147. IPF files (Information Presentation Facility) are the source format of the IBM 
  148. help format. The IPF syntax has got some similarity to HTML. Both languages are 
  149. part of the SGML markup language family. The IPF syntax is not as clear as the 
  150. HTML syntax and it is verbose and somewhat tedious to write. 
  151.  
  152. IBM help is the help format of OS/2 and IBM PC-DOS 7. It's also used on Windows 
  153. platforms, especially if IBM programs for platform-independent software 
  154. development are used. Of all Hypertext formats, it's the fastest and has got 
  155. the best functionality. 
  156.  
  157. IBM help files have got the extension INF or HLP. INF files can be viewed 
  158. alone. The HLP format is like the INF format, but enables links from the 
  159. described program to the hypertext. HLP files are part of the program. 
  160.  
  161. Hypermake generates IPF files. The automatically generated IPF file is the 
  162. source file for the IBM program IPFC . 
  163.  
  164. IBM INF and HLP files are compact binary files. The viewers of these files are 
  165. compact and very fast. IBM INF viewers are available for OS/2 (of course, 
  166. that's the format of all OS/2 docu), for Win16 and for DOS. The Windows IBM INF 
  167. Viewer for Win 3.1 is available on ftp://ftp.leo.org, filename win_inf.zip (225 
  168. kB). The DOS viewer is part of IBM DOS 7 and there's also a freeware program 
  169. (VIEW01.ZIP Compuserve OS2DF1). 
  170.  
  171. If you are a Windows user and interested in this Hypertext format, then you can 
  172. download the Windows IBM INF Viewer. If you need an Hypermake generated IBM INF 
  173. file to test with, simply upload my OS/2 Shareware program pmCalc from my 
  174. Homepage. 
  175.  
  176. In comparison to HTML or Winhelp3 browsers the IBM INF viewers have got some 
  177. powerful  features with a particular benefits for large documents: 
  178.  
  179.      the Index is part of the binary INF file format 
  180.      the content, too. Subchapters can be expanded and re-expanded like in a 
  181.       directory tree 
  182.      very fast text searching: Every word has only one occurence in the binary 
  183.       INF format. From this word there are pointers to the location of the 
  184.       text. You can search some MB of text in only one second - the user gets a 
  185.       window with all chapters containing the word. 
  186.      Several INF files can be put together by commandline parameters of the 
  187.       viewer. The user sees one big help file with one content and one index. 
  188.  
  189.  
  190.  All important HTML functionality like Tables, Frames, Graphics, is also part 
  191.  of the IBM INF format. 
  192.  
  193.  
  194. ΓòÉΓòÉΓòÉ 1.1.3. Winhelp ΓòÉΓòÉΓòÉ
  195.  
  196. Winhelp is a binary hypertext format. The source format for generating binary 
  197. Winhelp files is a special RTF text format (Rich Text Format). It's nearly 
  198. impossible to write RTF files directly. Microsoft has decided to stop 
  199. development of Winhelp. Instead, MS HTML-Help will be the new Help format for 
  200. Windows 98, Windows 2000 and later. Anyway, because Winhelp is smaller and 
  201. faster, a lot of authors/software developer still prefer Winhelp. 
  202.  
  203. Winhelp files can be started seperately and can also be part of a program. 
  204.  
  205. There are two different versions of Winhelp: Winhelp version 3 and Winhelp 
  206. version 4. (In this document, it's simply named Winhelp3 and Winhelp4.) 
  207. Winhelp3 is the help format of Windows 3.1, Winhelp4 is the help format of 
  208. Windows 95 and Windows NT. 
  209.  
  210. The Winhelp viewer of Windows 95 and Windows NT and later can read both Winhelp 
  211. formats, the Windows 3.1 viewer can only read Winhelp3. But if Win32s in 
  212. version 1.30 or later is installed, Windows 3.1 can also read Winhelp4 help 
  213. files. 
  214.  
  215. Winhelp4 has got some additional features in comparision to Winhelp3: 
  216.  
  217.      There's a content file (CNT file) with a tree view of the headings. (You 
  218.       need to ship the CNT file together with the HLP file.) 
  219.      The Hypermake HTML frames functionality is also interpretated in 
  220.       Winhelp4. Instead of frames, you will get two help windows, one for the 
  221.       main chapter and the other for the subchapter. 
  222.      Winhelp4 together with Hypermake enables you to make links to HTML pages 
  223.       in the WWW. The HTML browser with the default file association HTM/HTML 
  224.       is started. 
  225.  
  226.  
  227.  To create a Winhelp binary file from the Hypermake generated RTF source, you 
  228.  need the Winhelp3 or Winhelp4 compiler. The compiler is executed together with 
  229.  the project file which has got the extension PRJ. 
  230.  
  231.  The Winhelp3 compiler is a DOS commandline program with the filename hc31.exe 
  232.  or hcp.exe which can be executed from DOS, all Windows versions and OS/2. For 
  233.  OS/2, hc31.exe is recommended. 
  234.  
  235.  You can download a compact Winhelp3 compiler zipfile (100k) from the Hypermake 
  236.  Homepage. 
  237.  
  238.  Winhelp4 needs Windows 95 or NT. The compiler hcw.exe has got a graphical 
  239.  interface, but can also be used from the commandline (hcrtf.exe). 
  240.  http://support.microsoft.com/download/support/mslfiles/HCWSETUP.EXE (1,6 MB) 
  241.  
  242.  Hypermake includes a reverse converting mode from RTF to Hypermake source. 
  243.  
  244.  subchapters: 
  245.  Error messages of the Winhelp Compiler 
  246.  
  247.  next chapter: 
  248.  RTF Rich text format 
  249.  
  250.  
  251. ΓòÉΓòÉΓòÉ 1.1.3.1. Error messages of the Winhelp Compiler ΓòÉΓòÉΓòÉ
  252.  
  253. The Winhelp compiler has got some limitations and it creates often error 
  254. messages. These problems occur both with the Winhelp3 and the Winhelp4 
  255. compiler. The error messages often let you search the "needle in the hay 
  256. stack". 
  257.  
  258. If you use often tables in a longer text, you will get the "32 columns limit" 
  259. error message. I have no idea yet to omit this - besides changing some tables 
  260. to normal text with a fixed font. 
  261.  
  262. If you get an error message "error at offset...", the shown address is often 
  263. the end of the file. In this case, the RTF file contents more { "open" than } 
  264. "close" brackets. You can omit the bug by adding a "}" character at the end. 
  265. This will be a Hypermake bug. Please send me the source text and the ini file 
  266. in this case. 
  267.  
  268. Sometimes the Winhelp Compiler writes "error in topic..". Hypermake writes 
  269. comments "ThisIsTopic..." at the beginning of every chapter. Searching this 
  270. expression will show you the chapter where the error occurs. 
  271.  
  272. You will regulary get the warning "using old phrase table". In the file 
  273. Projectname.ph the Winhelp Compiler saves some data which will speed up the 
  274. next compile session. You can delete this file sometimes. 
  275.  
  276.  
  277. ΓòÉΓòÉΓòÉ 1.1.4. RTF Rich text format ΓòÉΓòÉΓòÉ
  278.  
  279. Since Hypermake 4.0, pure RTF text (Rich text format) can be created in 
  280. addition to the supported Hypertext formats. RTF covers a lot of word 
  281. processing softwares and operating systems. For example, you can create a 
  282. printed manual of a program by using your word processing software in addition 
  283. to an on-screen hypertext help. 
  284.  
  285. Because the Winhelp source format is a specific RTF dialect, the pure RTF text 
  286. files generated by Hypermake are similarly to the RTF files which Hypermake 
  287. generates for creating Winhelp: Some Winhelp-specific commands are omitted and 
  288. some commands which makes no sense in a printed documentation are converted in 
  289. a more useful way: For example, instead of Winhelp footnote popups, footnotes 
  290. are created in a classic way: numbered footnotes at the bottom of the printed 
  291. page. 
  292.  
  293.  
  294. ΓòÉΓòÉΓòÉ 1.1.5. MS HTML-Help ΓòÉΓòÉΓòÉ
  295.  
  296. Microsoft HTML-Help replaces Winhelp in Windows 98, Windows 2000 and later - 
  297. nevertheless Winhelp will be supported in the future. Microsoft HTML-Help is 
  298. based upon HTML: a number of HTML files with some Microsoft-specific 
  299. (non-official) HTML extensions are the input for the HTML-Help compiler. This 
  300. compiler creates a binary file with the extension CHM (compiled HTML). 
  301. Additional functionality to normal HTML files is tree view contents (HHC file) 
  302. and an index (HHK file). 
  303.  
  304. The project file for executing with the MS HTML-Help compiler has got the 
  305. extension HHP (HTML Help Project). 
  306.  
  307. Because of the ability of Windows 98 and NT 5.0 to run Windows 3.1 and Windows 
  308. 95 programs, the Winhelp format will be supported too for a long time. 
  309.  
  310. You can download the MS HTML-Help compiler: 
  311. http://www.microsoft.com 
  312. and then search the expression HTML-HELP 
  313.  
  314. The HTML-Help viewer HH.EXE is not part of Windows 95 and NT 4.0, but is part 
  315. of Windows 98 and NT 4.0 SP4 and of course Windows 2000. If you do not write 
  316. both a Winhelp and a HTML-Help file for your application (not very difficult 
  317. when using Hypermake!), HH.EXE has to be part of your software package. This 
  318. file is part of the Microsoft HTML-Help Workshop and resides normally in the 
  319. Windows directory. 
  320.  
  321. Since MS HTML-Help 1.1 you can create a compiled HTML file without need of 
  322. HH.EXE. But this will not reduce the quantity of data. 
  323.  
  324.  
  325. ΓòÉΓòÉΓòÉ 1.2. How Hypermake works ΓòÉΓòÉΓòÉ
  326.  
  327. Hypermake creates a hypertext from a source text you have to edit before. 
  328. Creating a hypertext has got the following steps: 
  329.  
  330.      You write an ASCII text in Hypermake syntax. For this job, you can use 
  331.       the internal Hypermake editor or an arbitrary external editor. The main 
  332.       chapter Writing a Hypermake Source Text describes the syntax of the ASCII 
  333.       file. 
  334.  
  335.      In the project settings notebook, you can change settings which influence 
  336.       the look of the Hypertext. Here you can also define what Hypertext format 
  337.       you want to get created. 
  338.  
  339.      Double clicking into the top message window with the blue text (when 
  340.       using the graphical version) or executing the commandline version will 
  341.       compile the source text to the chosen hypertext format. The compile work 
  342.       is running in one step and cannot be executed in parts. 
  343.  
  344.      Only HTML can be viewed directly. The other formats need a "second 
  345.       compiler". In this case, Hypermake does not create the final hypertext 
  346.       file, instead it creates only the input for the "second compiler": the 
  347.       Microsoft Winhelp compiler for creating Windows Help, the IBM IPF 
  348.       Compiler for generating IBM Help files, and the Microsoft HTML-Help 
  349.       compiler for generating HTML-Help. You can configure Hypermake to start 
  350.       automatically the "second compiler", so it will look like Hypermake 
  351.       generates the final Hypertext directly. 
  352.  
  353.  
  354.  All settings notebook pages besides the "general" page are stored in the "ini 
  355.  file" which you can also edit directly with an ASCII editor. Then there's the 
  356.  HMP file (Hypermake project file, also in ASCII format) where the first page 
  357.  "main" of the project settings notebook is stored. The HMP file stores the 
  358.  name of the source text and the name of the ini file and some other basic 
  359.  settings. 
  360.  
  361.  When Hypermake compiles a hypertext (target file) from the source text, 
  362.  internally there are six parts of compiling the source file. 
  363.  
  364.      Reading ini file 
  365.      Reading source file 
  366.       The source file is read in one part from the disk and is hold in memory 
  367.       (not in the DOS version) 
  368.      Indexing headings 
  369.       All headings will get an internal identification number 
  370.      Indexing links 
  371.       All words or phrases marked with the index char or dot command will be 
  372.       placed into a list in the memory 
  373.      Writing IPF/RTF file or HTML files 
  374.       At last, the IPF/RTF file / the HTML files will be written. That's the 
  375.       main work. Every word of the text has to be compared with the index words 
  376.       in the memory. In this part of compiling, the main interpreters of dot 
  377.       commands, toggles and helptable generating are also working. HTML files 
  378.       are placed in a new directory. 
  379.  
  380.  
  381.  When indexing headings, indexing links and writing the target file, you will 
  382.  see a counter which increments for every compiled chapter. 
  383.  
  384.  In the graphical version, when indexing headings and links, only the red 
  385.  sevensegment display is running. When writing the hypertext file, also the 
  386.  green progressbar is executed. 
  387.  
  388.  If you hear a deep beep, Hypermake could not create an IPF/RTF file / several 
  389.  HTML files, because of a serious error. 
  390.  
  391.  In the graphical version, error messages are shown in red color in the output 
  392.  window in the middle of the Hypermake main window. 
  393.  
  394.  If Hypermake produces one or more small errors, the target files will be 
  395.  finished, but the second compiler won't be executed. 
  396.  
  397.  What are the files generated by Hypermake? 
  398.  
  399.  When the target is HTML, a new folder with the name of the project is created 
  400.  with a number of HTML files. The extension of the HTML files is ".HTML" or 
  401.  ".HTM", dependent on the settings in the ini file and the operating system. An 
  402.  HTML info file with the project name is created which can be used to start 
  403.  viewing the HTML files. This file holds some useful information about the 
  404.  project for the author. 
  405.  
  406.  When generating IBM Help, a single IPF file is generated which is the input 
  407.  for the IBM IPFC compiler. 
  408.  
  409.  When creating Winhelp, a single RTF file is generated. Dependent on the ini 
  410.  file setting contents creation (project settings, page "Winhelp") a CNT 
  411.  content file is generated which cannot be viewed with Windows 3.1. In any case 
  412.  a PRJ Winhelp project file is generated. Double click to the PRJ file 
  413.  activates the Winhelp compiler. When using the commandline, enter the name of 
  414.  the PRJ file as a program parameter of HC, HCW or HCRTF. 
  415.  
  416.  Similar to Winhelp, creating RTF text creates a RTF file. Graphic files which 
  417.  are part of the document are copied into the same directory. The RTF file 
  418.  begins with content, but without page enumeration which is dependent on the 
  419.  final formatting in the word processing program. 
  420.  
  421.  Remember when making a backup on disks or streamer, you need not save the 
  422.  Hypermake output files, because you can reproduce them every time from the 
  423.  Hypermake source file. 
  424.  
  425.  Target directory and graphics 
  426.  
  427.  For every target format Hypermake copies the graphic files from the 
  428.  directories located in the graphic path setting (project settings, page 
  429.  "Main") of the HMP file or ini file. The directory where Hypermake places 
  430.  (nearly) all the output and the graphic files is dependent on the target 
  431.  format: The target directory for HTML and HTMLHELP is the new folder with the 
  432.  name of the project and for IPF or Winhelp it's the same folder where the 
  433.  source file is located. 
  434.  
  435.  
  436. ΓòÉΓòÉΓòÉ 2. Graphical version HYMAKE.EXE ΓòÉΓòÉΓòÉ
  437.  
  438.  
  439. subchapters: 
  440. Overview 
  441. Hypermake Main Window 
  442. Editor 
  443. Contents and Index Window 
  444. Program settings notebook 
  445.  
  446. next chapter: 
  447. Commandline version HMAKE.EXE 
  448.  
  449.  
  450. ΓòÉΓòÉΓòÉ 2.1. Overview ΓòÉΓòÉΓòÉ
  451.  
  452. The graphical version HYMAKE.EXE includes 
  453.  
  454.      the Hypertext compiler 
  455.      an integrated editor for the source text 
  456.      a project settings notebook. 
  457.  
  458.  
  459.  The commandline version HMAKE.EXE holds the compiler functionality alone and 
  460.  is useful for experts. Before Hypermake 4.0, only the commandline version was 
  461.  available. 
  462.  
  463.  Compiling a Hypertext with Hypermake runs very fast - only a few seconds, also 
  464.  for larger projects. But it takes a lot of time to edit the source text and to 
  465.  choose the lots of settings in the ini file. The graphical version HYMAKE.EXE 
  466.  has got an integrated editor which helps you editing your Hypermake source 
  467.  file and has some specific functionality: 
  468.  
  469.      syntax highlightning let you distinguish between several Hypermake 
  470.       command types and normal text 
  471.      context sensitive bubble help explains the commands already typed into 
  472.       the editor 
  473.      a "function dialog" inserts the Hypermake commands which you can also 
  474.       type manually into the editor 
  475.      press the right mouse button in the editor and you will get a menu which 
  476.       holds specific Hypermake functionality (e.g. "compile"), but also simple 
  477.       and well-known editor functions. 
  478.  
  479.  
  480.  The project settings notebook holds all the settings which have an effect on 
  481.  the functionality and the look of the final hypertext which will be compiled 
  482.  from the source text. These settings are stored in the HMP file (page "Main") 
  483.  and in the ini file (all other pages). 
  484.  
  485.  Then the graphical version consists of some other dialog windows: 
  486.  
  487.      a program settings notebook which holds all settings which are not 
  488.       dependent on a specific Hypertext project 
  489.      contents window and index window helps you to navigating in the source 
  490.       text. 
  491.  
  492.  
  493.  You can open all these windows by choosing View in the Hypermake main window 
  494.  menu. 
  495.  
  496.  The project settings notebook is described separately. 
  497.  
  498.  
  499. ΓòÉΓòÉΓòÉ 2.2. Hypermake Main Window ΓòÉΓòÉΓòÉ
  500.  
  501. The Hypermake Main Window is the window which appears when double clicking to a 
  502. HMP file or executing Hypermake (HYMAKE.EXE). If another window of the 
  503. Hypermake program is on top, you can reach the Main Window by pressing F6. 
  504.  
  505. Main Window Menu 
  506.  
  507.      Project 
  508.         -  New: let you begin a new Hypermake Project. You are asked to enter a 
  509.            new HMP file (Hypermake Project), an INI file from where to copy the 
  510.            project settings from (e.g. SAMPLE.INI from the Hypermake archive), 
  511.            a name for the new INI file and the name of the source text. 
  512.         -  Open: opens an existing Hypermake project (HMP file). 
  513.         -  Save: saves the current project (HMP file, INI file, source text) if 
  514.            changes were made 
  515.         -  Save as: saves the current project with a new name for the HMP file. 
  516.            If you also want to change the name of the INI file and/or source 
  517.            text, you have to made these changes on the Main page of the Project 
  518.            settings. 
  519.         -  Compile to: starts compiling: the target format you have chosen here 
  520.            will be created from the source text. This selection will overwrite 
  521.            the current setting "Target Format" on the Main page of the project 
  522.            settings. See Compiling. When pressing F9, the target format which 
  523.            is currently selected in the project settings will be created. To 
  524.            start the compiler, you can also doubleclick into the window with 
  525.            blue text (success window). 
  526.         -  2nd Compile: starts the second compiler separately. The second 
  527.            compiler is necessary for all target formats besides HTML. Note that 
  528.            changes in the source text only appears in the Hypertext if the 
  529.            "first compiler" (Hypermake) and after that the second compiler has 
  530.            been executed. You can automatically run the second compiler 
  531.            (Project settings Main page). See Compiling. 
  532.         -  open text file: The Hypermake editor is very powerful. If you like 
  533.            it, you can also open arbitrary text files. Dependent on the current 
  534.            Hypermake project, the text is loaded in ISO or IBM codepage. Syntax 
  535.            highlightning is turned off. The editor is also available as a 
  536.            separate Freeware program: WSedit. 
  537.         -  import RTF/IPF: see reverse converting mode 
  538.         -  compare HTML dir starts the file comparison mode which will help you 
  539.            locating the HTML files which have changed since the last upload. 
  540.         -  Exit: closes the Hypermake program. 
  541.      View (let you have access to all important windows of Hypermake) 
  542.         -  Project Settings: the settings notebook which has an effect to the 
  543.            functionality and look of the generated Hypertext (stored in HMP 
  544.            file and INI file) 
  545.         -  Source text: opens the editor with the source text of your project. 
  546.            A project can contain several source files. To open the text file, 
  547.            you can also doubleclick to the dropdown window in the Hypermake 
  548.            main window. 
  549.         -  Contents: The contents window shows the contents of your current 
  550.            project source text in a tree view. It helps you navigating in your 
  551.            source text. 
  552.         -  Index: The index window also helps you navigating in the source text 
  553.            and shows the index of the source text: all marked expressions are 
  554.            listed alphabetically. 
  555.         -  Program Settings: the program settings notebook holds all settings 
  556.            which are not related to a specific project, e.g. the filename of 
  557.            your Internet Browser as an default viewer for HTML files. 
  558.         -  Functions tree view: shows the Functions dialog which let you insert 
  559.            Hypermake source file commands to the cursor position of your source 
  560.            text (also editor window popup menu function - tree view). 
  561.         -  Final Output: views the final output of your Hypertext project, 
  562.            dependent on the selected source format: the Internet Browser when 
  563.            HTML was seleted, or the Help Viewer of the selected type. 
  564.      Edit is identical with the popup menu in the editor (press the right 
  565.       mouse button inside the text area of the editor). You will find the 
  566.       well-known default editor commands and some Hypermake speciific 
  567.       functionality. 
  568.  
  569.  
  570.      Help 
  571.         -  About: shows the version number. 
  572.  
  573.  
  574.  Other items in the main window 
  575.  
  576.  (from left to right) 
  577.  
  578.  Green LED: glows if a compile thread is running. All jobs which take more time 
  579.  than some milliseconds are running in an own "thread". That means you can edit 
  580.  your source text or the project settings while Hypermake compiles a project. 
  581.  But jobs which also run in a thread cannot be executed until the last thread 
  582.  has finished. 
  583.  
  584.  Stop: stops the current thread ("user break"). Some jobs like the second 
  585.  compiler cannot be interrupted. 
  586.  
  587.  Dropdown edit field: holds all the names of the source file. Selection or 
  588.  doubleclick starts the editor with the selected source text. The name of the 
  589.  source text is defined on the Main page of the project settings. 
  590.  
  591.  Red Counter: counts the compiled chapters. Your eyes can only follow the 
  592.  counting process with a big source text and/or a slow computer. While 
  593.  compiling, there are three jobs running. So the red counter counts three 
  594.  times, two times fast and one slow. See Compilation. 
  595.  
  596.  Green Progress Bar: counts the percentage of writing the target format (the 
  597.  third job), see Compilation. It also shows the target format which is 
  598.  currently selected on the main page of the settings notebook. 
  599.  
  600.  Success Window: (blue text) While compiling, Hypermake tells you what it is 
  601.  doing. Double click into the success window starts compiling. 
  602.  You can drag and drop HMP files into this field which will have the same 
  603.  effect as "project open". Dropping directory icons will start the file 
  604.  comparison mode which will help you locating the HTML files which have changed 
  605.  since the last upload. 
  606.  
  607.  General Error Window: (red text) When compiling, Errors and Warnings are 
  608.  listed here. 
  609.  
  610.  Editor Error Window: (white) Hypermake lists here errors and warnings which 
  611.  refers to a specific line of the source text. Double clicking starts the 
  612.  editor with the line where the error or warning is related to. 
  613.  
  614.  
  615. ΓòÉΓòÉΓòÉ 2.3. Editor ΓòÉΓòÉΓòÉ
  616.  
  617. The editor which is part of HYMAKE.EXE is very powerful and works together with 
  618. ASCII files with a file length up to 15 MB. The only thing you have really to 
  619. know is that instead of a normal menu, there's only a popup window (press thee 
  620. right mouse button somewhere in the editor area) which holds the well-known 
  621. functionality and some special Hypermake functionality. But you can also use 
  622. the "Edit" menu item in the Hypermake main window which refers to the editor 
  623. window which is on top. 
  624.  
  625. If you navigate the mouse pointer to a Hypermake specific command (dot commands 
  626. or toggles), you will get a context sensitive bubble help explanation. You can 
  627. turn off this feature in the program settings notebook, page "Prog". 
  628.  
  629. If you like the editor, you are encouraged to download my Freeware program 
  630. WSedit from my Homepage. WSedit is basically identical with the Hypermake 
  631. editor in the "Wordstar" key table setting and has got a more detailed 
  632. explanation about the Control Key commands. WSedit offers you a dialog window 
  633. with all control key combinations in a tree view and some minor additional 
  634. functionality. 
  635.  
  636. subchapters: 
  637. Titlebar 
  638. Editor menu 
  639. Rightmost Column 
  640. Key commands 
  641. Special functionality 
  642. Spell Checking 
  643. Translation 
  644.  
  645. next chapter: 
  646. Contents and Index Window 
  647.  
  648.  
  649. ΓòÉΓòÉΓòÉ 2.3.1. Titlebar ΓòÉΓòÉΓòÉ
  650.  
  651.  
  652. The titlebar of the editor window shows a lot of information. 
  653.  
  654. (4,226*) in parenthesis means Column 4 and Line 226, the * star shows you that 
  655. the file is modified in comparison to the last saved state. 
  656.  
  657. The "Par" number counts the Hard Returns up to the cursor position, dot 
  658. commands are also counted. The line number in parenthesis is dependent on the 
  659. current formatting, so the "Par" number is the only useful orientation! 
  660.  
  661. Then, the filename is shown. 
  662.  
  663. If the column block mode (^KN) is activated, "COLUMN" is shown. If the file is 
  664. read-only "READ ONLY" appears. 
  665.  
  666.  
  667. ΓòÉΓòÉΓòÉ 2.3.2. Editor menu ΓòÉΓòÉΓòÉ
  668.  
  669.  
  670. There are two different ways of having access to the editor menu: you will find 
  671. it in the edit menu item of the Hypermake editor window, or you can press the 
  672. right mouse button in the text area. 
  673.  
  674. In the editor menu, you can also see the key combinations which have the same 
  675. effect. These keys are dependent on the Options - Key table setting. The 
  676. "Wordstar" setting is the most powerful key table, because you have access to 
  677. nearly all menu entries from the keyboard by double control codes, e.g. 
  678. Ctrl-K-R for "Read block from file". 
  679.  
  680. In this explanation, only specific commands which are not part of a default 
  681. editor are explained. 
  682.  
  683. Submenu File 
  684.  
  685. Import TXT copies a file to the current cursor position and Export TXT writes a 
  686. selected block to a filename of your choice. There's no conversion 
  687. functionality. 
  688.  
  689. Instead of "Import TXT" you can also drop the file icon to a location inside 
  690. the editor. 
  691.  
  692. Submenu Edit 
  693.  
  694. "Edit" has got a lot of well-known commands which are not further described and 
  695. some interesting additional commands. 
  696.  
  697. Undo and Redo is also part of other more comfortable editors. But in the 
  698. Hypermake editor, the undo/redo functionality is extremly powerful: You have 
  699. also an Undo slider where you can simply undo and redo hundreds of inputs. In 
  700. the program settings notebook page "Edit2", you can select a value for maximal 
  701. undo steps. 
  702.  
  703. If you want to go to the text position which was edited last, simply use Undo 
  704. one time (Alt-Backspace). 
  705.  
  706. In addition to the find functionality, where you get a find dialog window, you 
  707. can also use incremental search without a dialog window. Take a look at the 
  708. titlebar and type the expression you want to find, character by character. 
  709.  
  710. Submenu Extended 
  711.  
  712. Here you will find some additional editor functionality. 
  713.  
  714. Reformat all reformats the whole document like it would be if you change the 
  715. width of the editor window. By default, the editor reformats the text 
  716. automatically while typing, but this behaviour can be modified in the program 
  717. settings notebook, page "Edit2". 
  718.  
  719. cursor always in text area makes a difference when editing e.g. tables. If the 
  720. cursor keys follow the text, the only possibility to reach a position where no 
  721. text was before is entering a lot of spaces. If the cursor does not follow the 
  722. text, you can simply navigate in a not yet edited screen area by cursor keys. 
  723. You can define the default setting of this switch on the "Edit2" page of the 
  724. program settings notebook. 
  725.  
  726. Hypermake and WSedit supports two kinds of translation between two languages: 
  727. Bubble Translation and Dialog Translation. Normally you will use Bubble 
  728. Translation when reading a text in a foreign language and Dialog Translation 
  729. when writing a text in a foreign language. 
  730.  
  731. To use translation functionality, you have to download the translation 
  732. dictionary files from the WSedit page of my Homepage. There you will find a 
  733. link to another page where you can download translation files (yet only German 
  734. to English and English to German). Then fill out the program settings notebook 
  735. "Edit1" Page. 
  736.  
  737. Bubble Translation: words or expressions at the cursor position are translated 
  738. and the result is shown in a yellow bubble help window. 
  739.  
  740. Dialog Translation: activates a dialog where you can enter the expression into 
  741. the edit field. In the Listbox below, several possible translations are shown. 
  742. If Bubble Translation is also activated, these several possible translations 
  743. are re-translated in parenthesis so it will be easier to select the correct 
  744. translation. 
  745.  
  746. The re-translation has the effect of a Thesaurus: a single expression 
  747. translated to another language and re-translated back will show several 
  748. slightly different expressions. 
  749.  
  750. Double clicking to a listbox item or single clicking and pressing OK copies the 
  751. translated expression into the Trash buffer. It can be copied to the cursor 
  752. position by typing Ctrl-U. 
  753.  
  754. Submenu Function 
  755.  
  756. This submenu is related to the Hypermake program: if you are not so familiar 
  757. with the Hypermake dot commands, you can get these commands inserted on the 
  758. cursor position. Tree View shows a permanent dialog window where you can 
  759. doubleclick to the commands and the other menu items of the "Function" submenu 
  760. are a summary of the most important Hypermake dot commands. 
  761.  
  762. Submenu Toggle 
  763.  
  764. Toggles are used in pairs and the text between the two toggles gets e.g. bold 
  765. or underlined. Toggle characters are characters you do not use in your normal 
  766. text, and often you have got no key on the keyboard for these characters. You 
  767. can use these menu entries for typing these characters to the current cursor 
  768. position. 
  769.  
  770. There are different key commands for the toggles. E.g. Shift-F2 types one 
  771. italic toggle, Ctrl-F2 types two toggles, one to the cursor position and the 
  772. other to the end of the word where the cursor points to. Alt-F2 inserts the 
  773. toggle at the beginning and the end of the current line. 
  774.  
  775. Submenu Program 
  776.  
  777. This submenu is only available in the popup menu, not in the Edit menu item of 
  778. the main window. This submenu contents nearly some items of the "Project" and 
  779. the "View" menu of the main window does. So you have got access to the 
  780. Hypermake program without leaving the editor window. 
  781.  
  782. Submenu Options 
  783.  
  784. The "Options" submenu holds some user defined settings. Some very specific 
  785. editor settings are hold in the program settings notebook. The more common 
  786. settings are hold directly in the editor menu "options" section. 
  787.  
  788. Bubble Help on/off can be also set in the program settings notebook, page 
  789. "Prog". 
  790.  
  791. Toggle colors let you switch between two different color settings for the text 
  792. area of the editor. 
  793.  
  794. Hypermake remembers the font and the color information for each file 
  795. separately, also window position and size. 
  796.  
  797. The key table setting is very important, because it defines the key codes for 
  798. the editor functionality. "Wordstar" is the only setting where you have full 
  799. keyboard access to all editor functions, and "Wordstar" is also the only key 
  800. table of the WSedit Freeware editor program. 
  801.  
  802.  
  803. ΓòÉΓòÉΓòÉ 2.3.3. Rightmost Column ΓòÉΓòÉΓòÉ
  804.  
  805.  
  806. The background of the rightmost column of the editor shows different colors: 
  807.  
  808. ΓûáΓûæΓûæLines beginning with two dots (comment lines) 
  809. ΓûáΓûæΓûæLines beginning with a single dot (dot commands) 
  810. ΓûáΓûæΓûæLines with a Hard Return at the end 
  811. ΓûáΓûæΓûæLines with a Soft Return at the end. 
  812.  
  813. A Hardreturn is the end of a line where you have entered RETURN manually. In 
  814. any formatting, this Return will exist. 
  815.  
  816. A Softreturn disappears if the formatting gets different. If you change the 
  817. window size of WSedit, the editor let appear and disappear Soft Returns. 
  818.  
  819. In a Hypertext, Hard and Soft Returns make a big difference because you do not 
  820. know the width of the window where the user reads your text. You can switch the 
  821. current line from Hard to Soft Return and reverse in the popup menu entry 
  822. extended. 
  823.  
  824.  
  825. ΓòÉΓòÉΓòÉ 2.3.4. Key commands ΓòÉΓòÉΓòÉ
  826.  
  827. The editor supports three different key tables - that means you have three 
  828. allocations of keyboard commands (Popup menu - Options - Key Table). 
  829.  
  830. If a function in the popup menu can be also activated by the keyboard, the keys 
  831. are noted in the popup menu. 
  832.  
  833.      CUA: Common User Interface, that's the key commands all modern graphical 
  834.       programs support. E.g. with Ctrl-Ins, you copy the selected text to the 
  835.       keyboard 
  836.  
  837.      Mixed: a mixture of CUA and Wordstar 
  838.  
  839.      Wordstar: the Ctrl-key commands of old DOS Wordstar; this very old 
  840.       command set is supported on some modern editors, e.g. Borland C and 
  841.       Pascal programming environments. Nevertheless, all commands which are not 
  842.       "Ctrl-Letter" are the same like CUA. 
  843.  
  844.  
  845.  CUA commands 
  846.  
  847.  Some of the following Ctrl commands (hold Ctrl down and then press a letter 
  848.  keyboard) are not shown in the popup menu. 
  849.  
  850.  Ctrl-E: incremental search (without dialog, look to titlebar!) 
  851.  Ctrl-F: Search dialog 
  852.  Ctrl-G: Replace dialog 
  853.  Ctrl-N: search/replace text again 
  854.  
  855.  (In CUA mode supported Wordstar keys) 
  856.  Ctrl-K0 (up to 9) set bookmark 0 
  857.  Ctrl-Q9 (up to 9) "quick" to bookmark 0 
  858.  Ctrl-T: delete word right from cursor 
  859.  Ctrl-U: copy trash buffer to cursor position 
  860.  Ctrl-Y: delete line. 
  861.  
  862.  Wordstar commands 
  863.  
  864.  The Wordstar setting is the only setting where you can reach all the editor 
  865.  functionality by the keyboard. Wordstar Ctrl keys have got also double 
  866.  character commands, e.g. Ctrl-K-B for "begin selection". Nevertheless, CUA 
  867.  commands like Ctrl-Ins are also enabled. 
  868.  
  869.  If you like the integrated Hypermake editor, you are encouraged to download 
  870.  the Freeware editor WSedit from my Homepage. This editor is basically 
  871.  identical with the Hypermake editor in the "Wordstar" key table setting and 
  872.  has got a more detailed explanation about the Control Key commands. WSedit 
  873.  offers you a dialog window with all control key combinations in a tree view 
  874.  and some minor additional functionality, e.g. a macro key recorder to program 
  875.  function keys. 
  876.  
  877.  If you are interested in the full documentation of Wordstar key commands, 
  878.  please refer to the WSedit program and its help text. In the Ctrl Key Help 
  879.  Window of WSedit, all Control commands which are not supported in the 
  880.  Hypermake editor are marked with a Star. 
  881.  
  882.  
  883. ΓòÉΓòÉΓòÉ 2.3.5. Special functionality ΓòÉΓòÉΓòÉ
  884.  
  885.  
  886. The Trash Buffer 
  887.  
  888. If you use Ctrl-T (delete right word) or Ctrl-Y (delete line), the deleted text 
  889. part will be stored in a "trash buffer" (that is not the clipboard). With 
  890. Ctrl-U, you can paste the content of the trash buffer to the current cursor 
  891. position. 
  892.  
  893. Drag and drop 
  894.  
  895. You are allowed to drag and drop a marked block to another cursor position or 
  896. to another Hypermake Editor window or WSedit window. To drag and drop, use the 
  897. right mouse button. The default function is moving the block. Pressing CTRL 
  898. while dropping will copy the block. You are also allowed to drag text file 
  899. icons to a specific position of the text area. This will read the block 
  900. (Wordstar Ctrl-KR). 
  901.  
  902. Undo 
  903.  
  904. The Hypermake editor has got a powerful multi undo functionality. You will find 
  905. these commands in the popup menu edit. 
  906.  
  907. You can undo your input by typing Alt-Backspace and redo by typing 
  908. Shift-Alt-Backspace or you can open the Undo Slider window by pressing Ctrl-OU 
  909. (Wordstar) or from popup menu - edit - undo slider. 
  910.  
  911. The number of undo events can be set by the user, see Page "Edit2" of the 
  912. program settings notebook. Useful setting for undo events are from 100 to 
  913. 10000. 
  914.  
  915.  
  916. ΓòÉΓòÉΓòÉ 2.3.6. Spell Checking ΓòÉΓòÉΓòÉ
  917.  
  918.  
  919. The Hypermake editor has got a simple but effective spell checking function 
  920. implemented. 
  921.  
  922. subchapters: 
  923. How to get a dictionary 
  924. Working with the spell checking function 
  925.  
  926. next chapter: 
  927. Translation 
  928.  
  929.  
  930. ΓòÉΓòÉΓòÉ 2.3.6.1. How to get a dictionary ΓòÉΓòÉΓòÉ
  931.  
  932.  
  933. To use the spell checking function, you have to create a dictionary by yourself 
  934. or you can visit the WSedit page on my Homepage http://www.hypermake.com and 
  935. download the current dictionary collected by Hypermake and WSedit users. 
  936.  
  937. All spell checking functionality is available from the popup menu, menu entry 
  938. "spell checking". 
  939.  
  940. You can enter a filename for the dictionary in the "Edit1" Page of the program 
  941. settings notebook. 
  942.  
  943. If you want to create a dictionary by yourself, you need to have existing ASCII 
  944. files which are already spell-checked or where you can be sure that there are 
  945. no incorrect words: Load the text file in the editor and choose "spell checking 
  946. - absorb current file to dictionary". 
  947.  
  948. If you have received another Hypermake/WSedit dictionary file from a friend or 
  949. from the Internet, you can merge this file with "your" dictionary file by using 
  950. "import external directory". 
  951.  
  952. The principle of the Hypermake/WSedit dictionary is quite simple: If a word has 
  953. to be absorbed, the endings defined in the Hypermake project settings (page 
  954. "Link"), normally 
  955.  
  956. (english) es ''s s ions ion ings ing 
  957.  
  958. are cutted and the first character is converted to lower-case. Then it is 
  959. compared to the contents of the dictionary. If no similar entry is found, it is 
  960. placed into the dictionary. 
  961.  
  962. The dictionary file is a normal ASCII file in IBM codepage. The words are 
  963. sorted by an internal sort algorithm, not by the alphabet. You can add manually 
  964. words at any position. 
  965.  
  966.  
  967. ΓòÉΓòÉΓòÉ 2.3.6.2. Working with the spell checking function ΓòÉΓòÉΓòÉ
  968.  
  969.  
  970. You can turn on and off spell checking by entering Ctrl-QL (Wordstar key table) 
  971. or popup menu - spell checking - enable/disable. The background of unknown 
  972. words is getting pink. There's no user interface. With spell checking - absorb 
  973. into dictionary up to cursor learns all words from the beginning of the file up 
  974. to the line of the editor cursor. Some marking of words below the cursor will 
  975. automatically disappear. 
  976.  
  977. If you find an incorrect word which is not highlighted and in consequence the 
  978. wrong word is part of the dictionary, you can correct your dictionary by moving 
  979. the mouse over the wrong word and choosing remove single word from dictionary 
  980. in the popup menu. 
  981.  
  982.  
  983. ΓòÉΓòÉΓòÉ 2.3.7. Translation ΓòÉΓòÉΓòÉ
  984.  
  985. The Hypermake editor supports two kinds of translation: Bubble Translation and 
  986. Dialog Translation. Normally you will use Bubble Translation when reading a 
  987. text in a foreign language and Dialog Translation when writing a text in a 
  988. foreign language. 
  989.  
  990. To use translation functionality, you have to download the translation 
  991. dictionary files from the WSedit page my Homepage http://www.hypermake.com (yet 
  992. only German to English and English to German) and fill out the program settings 
  993. notebook "Edit1" Page. 
  994.  
  995. Bubble Translation: (Popup menu extended, Wordstar Ctrl-OT), words or 
  996. expressions at the cursor position are translated and the result is shown in a 
  997. yellow bubble help window. 
  998.  
  999. Dialog Translation: (Popup menu extended, Wordstar Ctrl-OD) activates a dialog 
  1000. where you can enter the expression into the edit field. In the Listbox below, 
  1001. several possible translations are shown. If Bubble Translation is also 
  1002. activated, these several possible translations are re-translated in parenthesis 
  1003. so it will be easer to select the correct translation. 
  1004.  
  1005. The re-translation has the effect of a Thesaurus: a single expression 
  1006. translated to another language and re-translated back will show a handful 
  1007. slightly different expressions. 
  1008.  
  1009. Double clicking to a listbox item or single clicking and pressing OK copies the 
  1010. translated expression into the Trash buffer. It can be copied to the cursor 
  1011. position by typing Ctrl-U. 
  1012.  
  1013.  
  1014. ΓòÉΓòÉΓòÉ 2.4. Contents and Index Window ΓòÉΓòÉΓòÉ
  1015.  
  1016. The Contents and index window can be reached from the View menu in the 
  1017. Hypermake main window or the program entry in the editor popup menu or by 
  1018. pressing F3 (contents) or F4 (index). 
  1019.  
  1020. The main job of these two dialogs is navigating inside your source text. The 
  1021. contents window shows the heading structure in a tree view and the index window 
  1022. shows all marked expressions and has got alphabetic buttons for jumping into 
  1023. the index expression list. 
  1024.  
  1025. The contents and index dialogs have got the following buttons: 
  1026.  
  1027. Go to source needs a selection (single mouse click) first. You can also double 
  1028. click to a heading/an expression, this will have the same effect like clicking 
  1029. to "go to source". The internal editor will be started and the cursor will be 
  1030. set to the chosen heading. 
  1031.  
  1032. Go to HTML has only an effect if you have already compiled the Hypertext to the 
  1033. HTML target format. It will start the browser if the filename of the browser 
  1034. was entered in the program settings, page "view". 
  1035.  
  1036. HTML Ascii (only contents window) shows the "source text" of the generated HTML 
  1037. file. The Hypermake editor will be opened. Because of the extension "HTM" or 
  1038. "HTML", the text is syntax-highlighed. But don't edit this text which was 
  1039. created by Hypermake, because when compiling again, your changes were 
  1040. overwritten by the new generated output. 
  1041.  
  1042. Copy is only available in the index window. Before clicking to "copy", position 
  1043. the cursor in the Hypermake editor to the text location where you want to get 
  1044. the index expression inserted. This functionality is useful to avoid slightly 
  1045. wrong writings of expressions where Hypermake would not create the link. 
  1046.  
  1047. Update saves the current source file in the Hypermake editor and runs again the 
  1048. first compilation steps "Indexing headings", "Indexing links". Then the dialog 
  1049. window content will be updated. If you get to a wrong position when using "go 
  1050. to source", you have to update the contents or index. Hypermake simply 
  1051. remembers the filename and paragraph number, so after inserting new text before 
  1052. the heading/index expression will cause a "go to source" malfunction. 
  1053.  
  1054. Close closes the dialog window. 
  1055.  
  1056.  
  1057. ΓòÉΓòÉΓòÉ 2.5. Program settings notebook ΓòÉΓòÉΓòÉ
  1058.  
  1059. The program settings notebook holds all information which is not specific to a 
  1060. hypertext project. To open the program settings notebook, choose View - Program 
  1061. Settings in the Hypermake main window, Program - Program settings or press F8. 
  1062.  
  1063. subchapters: 
  1064. Prog page 
  1065. Help page 
  1066. 2nd Comp page 
  1067. View page 
  1068. Edit1 page 
  1069. Edit2 page 
  1070.  
  1071. next chapter: 
  1072. Commandline version HMAKE.EXE 
  1073.  
  1074.  
  1075. ΓòÉΓòÉΓòÉ 2.5.1. Prog page ΓòÉΓòÉΓòÉ
  1076.  
  1077. The Bubble help checkbox turns bubble help on and off. Bubble help is available 
  1078. for nearly all dialog items and context-sensitive inside the integrated editor 
  1079. for explanation of the Hypermake text commands (dot commands and toggles). 
  1080.  
  1081. Normally you won't change the compile priority. This slider changes the 
  1082. priority of the compile thread. Lower the value if the Hypermake program 
  1083. compiles your input with delay while compiling a project. Enlarge the compile 
  1084. priority if the compilation runs slow and has got interrupts. 
  1085.  
  1086. If you don't like the internal editor and instead you have got your favourite 
  1087. editor, you can choose an external editor. But in this case, you cannot use the 
  1088. functionality of jumping to a specific text location. Enter the filename of the 
  1089. editor (which ends normally with ".EXE") and click to the checkbox. Clicking to 
  1090. the search button helps you in entering the correct filename by activating a 
  1091. file dialog window. If the edit field gets green, the file exists, red shows a 
  1092. wrong filename. 
  1093.  
  1094. Open editors automatically when opening HMP project opens the editor with the 
  1095. source text file automatically when using Project - open in the Hypermake main 
  1096. window or when starting Hypermake by double clicking to a HMP icon. 
  1097.  
  1098.  
  1099. ΓòÉΓòÉΓòÉ 2.5.2. Help page ΓòÉΓòÉΓòÉ
  1100.  
  1101. The bubble help checkbox on the help page of the program settings notebook 
  1102. enables small yellow fly-over text windows for every dialog item. The are shown 
  1103. if the mouse cursor rests over a dialog item. Principally, each dialog item of 
  1104. the Hypermake program owns a bubble help window. 
  1105.  
  1106. With the radiobuttons on the help page you can choose between different help 
  1107. formats: 
  1108.  
  1109. An OS/2 help file (IPF file) is part of the Hypermake archive 
  1110. (ENGLISH\HYMAKE.HLP). Principally, you can also create this file by yourself 
  1111. (compile ENGLISH\HELPDOCU.HMP and run the IPFC compiler). The pre-compiled 
  1112. helpfile was not modified manually. 
  1113.  
  1114. If you choose the HTML format for context-sensitive help, the help will created 
  1115. initially when using the context-sensitive help the first time. This is done 
  1116. automatically by executing ENGLISH\HTMLDOCU.HMP. In a dialog window you can 
  1117. deselct topics which are not interested for you. 
  1118.  
  1119. You can change this setting on-the-fly and execute a second help window of 
  1120. another help format. 
  1121.  
  1122.  
  1123. ΓòÉΓòÉΓòÉ 2.5.3. 2nd Comp page ΓòÉΓòÉΓòÉ
  1124.  
  1125. If on the main page of the project settings notebook the checkbox also start 
  1126. 2nd compiler is checked, the specific compiler you can enter here will be 
  1127. started when compiling a project. If the edit field gets green, the file 
  1128. exists, red shows a wrong filename. 
  1129.  
  1130. The commandline processor is only necessary if the execution of this program is 
  1131. only possible in a commandline window and the operating system only supports 
  1132. the indirect execution (IPFC with OS/2 needs it, some DOS programs do so, too). 
  1133.  
  1134. To learn more about these compilers, please refer to the chapter about the 
  1135. supported Hypertext formats. 
  1136.  
  1137.  
  1138. ΓòÉΓòÉΓòÉ 2.5.4. View page ΓòÉΓòÉΓòÉ
  1139.  
  1140. On the view page, you can enter the filenames of the Hypertext viewers. 
  1141.  
  1142. The HTML viewer is the Browser. The Netscpape Browser has got a filename 
  1143. something like netscape4\program\netscape.exe, and the Microsoft Internet 
  1144. Explorer IEXPLORE.EXE regulary resides in the "programs" directory. 
  1145.  
  1146. If the edit field gets green, the file exists, red shows a wrong filename. 
  1147.  
  1148. Pass page location is a specific Netscape feature. Turn this checkbox on if you 
  1149. use Netscape. The Netscape browser supports not only a simple URL or HTML 
  1150. filename for a  commandline parameter, it can also have a #hd location 
  1151. appended. So the Browser starts not only with the correct file, also the 
  1152. correct position in the file will be shown. 
  1153.  
  1154. To learn more about the supported Hypertext formats and its viewers, please 
  1155. refer to the Hypertext formats chapter. 
  1156.  
  1157.  
  1158. ΓòÉΓòÉΓòÉ 2.5.5. Edit1 page ΓòÉΓòÉΓòÉ
  1159.  
  1160. The edit pages of the program settings notebook refers to the integrated 
  1161. editor. 
  1162.  
  1163. You need to enter the name of the spell checking file to use the spell checking 
  1164. functionality of the editor. Because you can create your own dictionary, you 
  1165. can enter an arbitrary new filename (full name with drive and directory). 
  1166.  
  1167. The names of translation files refers to the translation functionality. You 
  1168. have to download a dictionary from the WSedit page of my Homepage (yet only 
  1169. german-english and english-german). 
  1170.  
  1171.  
  1172. ΓòÉΓòÉΓòÉ 2.5.6. Edit2 page ΓòÉΓòÉΓòÉ
  1173.  
  1174. You can choose the behaviour of word wrapping of text: 
  1175.  
  1176.      with time delay is my personal favourite setting. If enabled, you can 
  1177.       select a delay time. I prefer 0 quarter seconds. 
  1178.  
  1179.      after every keypress is the behaviour of most word wrap editors. Because 
  1180.       of the need of reformatting a big paragraph after every keypress, the 
  1181.       amount of processor time becomes noticeable. If you type very fast and 
  1182.       your computer is not fast, this setting is not recommended. 
  1183.  
  1184.      only by hand (Ctrl-B) is the classic old DOS Wordstar behaviour. A lot of 
  1185.       people get confused if the text is reformatted automatically while 
  1186.       writing. Ctrl-B reformats the paragraph from the cursor to the end of the 
  1187.       paragraph. In any case, the paragraph is reformatted if the cursor 
  1188.       exceeds the line. (Ctrl-B is always availabe, independent from this 
  1189.       setting.) 
  1190.  
  1191.      not at all deactivates reformatting. Soft Returns are handled like Hard 
  1192.       Returns. Even ^B has no effect. 
  1193.  
  1194.  
  1195.  HTML Highlightning activates HTML Syntax Highlightning in a Hypermake source 
  1196.  text. If you embed commands in HTML-syntax inside the Hypermake source text, 
  1197.  turning this checkbox on will help you writing HTML syntax by showing these 
  1198.  commands in colors. Anyway when opening a HTML file (extension HTM or HTML) in 
  1199.  the editor, the HTML syntax highlightning is always turned on. 
  1200.  
  1201.  The Cursor left/right checkbox influences the behaviour of cursor movement. If 
  1202.  disabled, the behaviour is like in a programmers editor: you can reach every 
  1203.  point of the screen by using the cursor. If enabled, the cursor follows the 
  1204.  text. Where there is no text, you have to fill the line with spaces to reach a 
  1205.  position where no text is written yet. You can toggle this behaviour in the 
  1206.  Wordstar key table by typing Ctrl-OX. 
  1207.  
  1208.  delete word right from cursor (Ctrl-T) influences the behaviour of the Ctrl-T 
  1209.  command. The middle setting is the same as in Wordstar DOS, auto correct 
  1210.  spaces is a self-made further development improving changing the position of 
  1211.  two words where one word is located near a dot or a comma. 
  1212.  
  1213.  Max Undo Steps: The undo slider works more efficient if the editor does not 
  1214.  reformat a paragraph too often: if the text is reformatted every second while 
  1215.  typing, there are a lot of events to remember for the undo functionality: one 
  1216.  event per line and in a 10-lines paragraph for 10 events per second. You can 
  1217.  reduce this event amount by using "with time delay" and a higher delay time 
  1218.  value, e.g. 4. Useful settings for "Max Undo Steps" are from 100 to 10000. 
  1219.  
  1220.  
  1221. ΓòÉΓòÉΓòÉ 3. Commandline version HMAKE.EXE ΓòÉΓòÉΓòÉ
  1222.  
  1223. The commandline version of Hypermake (HMAKE.EXE) is a pure compiler without 
  1224. user interface. The majority of users will prefer the graphical version 
  1225. HYMAKE.EXE with user interface (integrated editor, settings notebook and so 
  1226. on). In this chapter, the usage of the commandline version is explained. 
  1227.  
  1228. You can start the commandline version in two different ways: by entering only 
  1229. one parameter - a HMP file Hypermake Project file which contents the 
  1230. parameters, or by entering several parameters behind HMAKE.EXE (especially the 
  1231. a name of source file and ini file). 
  1232.  
  1233. subchapters: 
  1234. Starting by using HMP files 
  1235. Starting by using the commandline 
  1236. specific program parameters 
  1237. Returncodes 
  1238. Writing batch files 
  1239. Debug mode 
  1240.  
  1241. next chapter: 
  1242. Reverse Converting Mode from IPF and RTF to Hypermake 
  1243.  
  1244.  
  1245. ΓòÉΓòÉΓòÉ 3.1. Starting by using HMP files ΓòÉΓòÉΓòÉ
  1246.  
  1247. HMP files are new in Hypermake 3.5. They are a substitute for using the 
  1248. commandline and batch files. 
  1249.  
  1250. After running of HMINSTAL all HMP files are associated with three programs 
  1251. simultaneously: the default association is open project which will start the 
  1252. graphical HYMAKE.EXE program with user interface. The other two associations 
  1253. are edit project file which starts an Ascii editor and compile project which 
  1254. executes the commandline version of Hypermake HMAKE.EXE. 
  1255.  
  1256. To see the file associations, click to a HMP file icon with the right mouse 
  1257. button and choose open. 
  1258.  
  1259. The default association (double clicking to the HMP icon) is the compiler. 
  1260.  
  1261. Now choose "edit project file". In each line of a HMP file, there's a setting. 
  1262. On the right side of the = character you are allowed to modify the setting. 
  1263. Comment lines beginning with ; or // are ignored. 
  1264.  
  1265. The following lines should be part of every HMP file: 
  1266.  
  1267.  
  1268. ;Hypermake Project file
  1269.  
  1270. source files = sample.txt
  1271. ini file = sample.ini
  1272.  
  1273. It's necessary to enter at least one source text and the name of the ini file. 
  1274.  
  1275. You are allowed to enter serveral source filenames, separated by spaces. 
  1276. Hypermake concatenates them in the memory in the chosen order. 
  1277.  
  1278.  target = HTML 
  1279.  
  1280. Hypermake creates Hypertext in the format IPF, WINHELP3, WINHELP4, HTML, 
  1281. HTMLHELP . There's also a target= setting in the ini file. The target setting 
  1282. in the ini file is only relevant if there's no target setting in the HMP file. 
  1283. "target" in the HMP file is useful when compiling more than one Hypertext 
  1284. format. 
  1285.  
  1286.  parameter = noframes noid bigfont 
  1287.  
  1288. There are some program parameters available. 
  1289.  
  1290.  conditions = COND1 COND2 
  1291.  
  1292. You can place if-conditions in the source text. You can enclose parts of the 
  1293. text which will be only compiled to the Hypertext if the condition is set. The 
  1294. source of this documentation contains a lot of if-conditions. 
  1295.  
  1296. Starting the second compiler automatically 
  1297.  
  1298. HTML files generated by Hypermake can be viewed immediately with a browser. All 
  1299. other hypertext formats need a second compiler where the input is the Hypermake 
  1300. output. The second compiler generates a binary hypertext file which can be 
  1301. viewed with a specific viewer. It's useful that the second compiler is started 
  1302. immediately, if Hypermake hasn't generated errors. 
  1303.  
  1304.  
  1305. compile = YES
  1306. view = YES
  1307.  
  1308. Hypermake can start the second compiler and the viewer automatically. In this 
  1309. case it needs the full filename of the second compiler: 
  1310.  
  1311.  
  1312. ipf compiler = C:\IPFC\IPFC.EXE /inf
  1313. winhelp3 compiler = C:\WINHELP\HC.EXE
  1314. winhelp4 compiler = C:\HELPWORKSHOP\PROGRAM\HCRTF.EXE /x
  1315. htmlhelp compiler = C:\HTMLHELP\HHC.EXE
  1316.  
  1317. You have to enter the correct directories, if the compiler is not in the PATH 
  1318. statement. You are allowed to enter commandline parameters behind the filename. 
  1319.  
  1320.  
  1321. ipf viewer = VIEW.EXE
  1322. winhelp3 viewer = WINHELP.EXE
  1323. winhelp4 viewer = WINHELP32.EXE
  1324. htmlhelp viewer = HH.EXE
  1325.  
  1326. You have to enter the correct directories, if the compiler is not located in a 
  1327. directory of the PATH statement. 
  1328.  
  1329.  command lines = 50 
  1330.  
  1331. Some second compilers generate a lot of messages. A fast computer don't let you 
  1332. see the first of these messages because the default textual window has only 25 
  1333. lines. Here you can enter the number of lines for the window where the second 
  1334. compiler writes its output. To try which line number is accepted by your 
  1335. system, open a commandline window and enter MODE 80,50 or another value instead 
  1336. of 50. Some systems accepts 1000 lines, depending on the operating system and 
  1337. the hardware. 
  1338.  
  1339.  processor = C:\OS2\CMD.EXE 
  1340.  
  1341. Hypermake generates a temporary batch file HMTEMP.CMD to execute the 
  1342. commandline compiler and the viewer. OS/2 needs the commandline processor to 
  1343. run batch files. If the commandline processor is not the name above, you can 
  1344. enter another processor. 
  1345.  
  1346. Copying graphic files to the target directory automatically 
  1347.  
  1348.  graphic path = fullpathname;fullpathname;fullpathname 
  1349.  
  1350. Hypermake copies graphic files automatically to the target directory. Here you 
  1351. can enter all the directories where the graphic files are located. 
  1352.  
  1353. The setting graphic path can also be placed in the ini file. 
  1354.  
  1355.  
  1356. ΓòÉΓòÉΓòÉ 3.2. Starting by using the commandline ΓòÉΓòÉΓòÉ
  1357.  
  1358. When using OS/2, before using Hypermake, you have to copy HMAKE.EXE into a 
  1359. directory of your PATH statement (in the file CONFIG.SYS); The file 
  1360. KBDVIO32.DLL has to be placed into a directory of your LIBPATH statement or in 
  1361. the same path the EXE file is located. If the EXE file doesn't find the DLL, 
  1362. you will get an OS/2 error message "0005" or "SYS3175". 
  1363.  
  1364. There are one or two parameters you have to enter: 
  1365.  
  1366. [C:\myProject] HMAKE myDoc.txt my.ini 
  1367.  
  1368. There is no order of the parameters. You have to explicit enter the file 
  1369. extensions. You can enter any extension for the Hypermake source file, but the 
  1370. extension of the ini file has to be ".INI". 
  1371.  
  1372. If the name of the ini- and text-file at the left side of the dot is identical 
  1373. like myDoc.txt and myDoc.ini, it is adequate to enter only the name of the text 
  1374. document - Hypermake will search the ini file by itself: 
  1375.  
  1376. [C:\myProject] HMAKE myDoc.txt 
  1377.  
  1378. If Hypermake does not find such ini files, it will grab the file HMAKE.INI in 
  1379. the current directory. If this file is also not present, the program stops and 
  1380. you will get an error message. 
  1381.  
  1382. For your own ini file, better use a copy of SAMPLE.INI and not DOCU.INI because 
  1383. DOCU.INI has got some exotic ASCII values for the toggle chars. 
  1384.  
  1385. The name of the output file will automatically be the entered source file name 
  1386. with the extension IPF. 
  1387.  
  1388. Many source files 
  1389.  
  1390. You can split your source text in many text files. Hypermake will copy them 
  1391. together before compiling. The order of the parameters are relevant. If you 
  1392. don't enter an ini file directly, the first source filename is used for 
  1393. searching the ini file. 
  1394.  
  1395. Changing the target format 
  1396.  
  1397. With the commandline parameters HTML IPF WINHELP3 WINHELP4 HTMLHELP RTFTEXT you 
  1398. can temporary overwrite the default setting "target file" in the ini file. 
  1399. RTFTEXTCC sets the target format to RTF-text, and turns the color correction 
  1400. setting on. You are also allowed to write a slash for these parameters: /HTML 
  1401.  
  1402. Setting conditions 
  1403.  
  1404. You can place if-conditions in the source text. You can enclose parts of the 
  1405. text and this part will be only compiled to the Hypertext if the condition is 
  1406. set. These conditions can be set by using commandline parameters, beginning 
  1407. with a hash #. 
  1408.  
  1409. [C:\myProject] HMAKE MeinDoku.txt #COND1 #COND2 
  1410.  
  1411.  
  1412. ΓòÉΓòÉΓòÉ 3.3. specific program parameters ΓòÉΓòÉΓòÉ
  1413.  
  1414.  
  1415. Specific program parameters can be entered in the HMP file, line parameters=, 
  1416. or in the commandline, beginning with a / slash. Normally you won't need these 
  1417. parameters. They are sometimes necessary when compiling to several hypertext 
  1418. formats by using only one ini file. E.g. you can type NOFRAMES  behind the 
  1419. parameters = line of the HMP file or you enter /NOFRAMES directly into the 
  1420. commandline. The parameters are not case sensitive. 
  1421.  
  1422. The majority of parameters are also supported in the graphical version 
  1423. HYMAKE.EXE, you will find them in the settings notebook on the page "Main", 
  1424. section "Parameter". They are described in chapter program paramter. The 
  1425. commandline version supports some additional parameters: 
  1426.  
  1427. Progress indicator 
  1428.  
  1429. The /dots parameter forces dots for each compiled chapter instead of the 
  1430. turning progress symbol. 
  1431.  
  1432. Omit Output and "press any key" query 
  1433.  
  1434. /quit omits the "press any key" query which appears when HMAKE ends and the 
  1435. program parameter was a HMP file. 
  1436.  
  1437. Writing Message Output to a File 
  1438.  
  1439. In addition to the screen output, Hypermake can write all messages or 
  1440. especially error messages to a file. That's useful e.g. to write batch files. 
  1441.  
  1442.  
  1443. /MESSAGES:filename
  1444. /ERRORS:filename
  1445.  
  1446. You can use the general command >NUL at the end of the command line to omit the 
  1447. screen Output of HMAKE. 
  1448.  
  1449.  
  1450. ΓòÉΓòÉΓòÉ 3.4. Returncodes ΓòÉΓòÉΓòÉ
  1451.  
  1452. Since 3.97, HMAKE ends execution with returncodes which represents categorized 
  1453. error types. A program which executes HMAKE can use these returncodes. 
  1454. Hypermake creates lots of different error messages, most of them are from 
  1455. category 31 "source file syntax error". 
  1456.  
  1457.  
  1458.  0: no termination error (but no information about warnings)
  1459.  1: internal (should not occur)
  1460.  2: external program not found
  1461. 11: file not found/file empty/parameter not existing
  1462. 12: error writing output file
  1463. 13: error writing messagefile/errorfile
  1464. 14: registration required
  1465. 21: error in ini file
  1466. 22: error in hmp file
  1467. 31: source file syntax error
  1468. 32: source file syntax error, please contact hmake author
  1469. 33: bug in Hypermake, please contact autor
  1470. 98: user break
  1471. 99: other errors
  1472.  
  1473.  
  1474. ΓòÉΓòÉΓòÉ 3.5. Writing batch files ΓòÉΓòÉΓòÉ
  1475.  
  1476. Batch files are a "macro file" for commandline input. If you enter always the 
  1477. same commands, you can write a batch file instead with a simple editor. The 
  1478. extension of batch files is BAT (DOS, Win95, NT) or CMD (OS/2, NT). 
  1479.  
  1480. Principally HMP files are a complete substitute for batch files. But if you are 
  1481. familiar with batch files, you can use them nevertheless. 
  1482.  
  1483. A useful batchfile for running in the background can be: 
  1484.  
  1485.  
  1486. rem Generating hypertext with Hypermake and IPFC
  1487. Hypermake my.txt /errors:HyperMake_errors
  1488. start /f e HyperMake_errors
  1489. ipfc /inf my.ipf >ipfc_errors
  1490. start /f e ipfc_errors
  1491. echo **
  1492.  
  1493. If you don't enter /inf behind ipfc, you'll get a HLP file instead of an INF 
  1494. file. The IPF file generated by Hypermake can be always used for generating HLP 
  1495. and INF files, even you have used HLP specific ressource connection and Panel 
  1496. ID dot commands. 
  1497.  
  1498. If you are not familiar with batch files, take a look at the chapter 
  1499. "OS/2-commands, batch files" in the OS/2 commandline reference. 
  1500.  
  1501. In the last line, behind the "echo" command, you can write two Alt-7-chars, 
  1502. that will create two beeps. 
  1503.  
  1504. The > command copies the screen output to a text file instead to the screen and 
  1505. works not with the Hypermake Win95/NT and DOS version. Better use 
  1506. /MESSAGES:filename and /ERRORS:filename instead. 
  1507.  
  1508. Other useful commands in batch files 
  1509.  
  1510.  PAUSE interrupts the batch files and the use has to "press any key". 
  1511.  
  1512.  %1 will be substituted by the first commandline parameter given to the 
  1513. executed batch file. 
  1514.  
  1515. Note that drag and drop does not work with such batch files, because if you 
  1516. write e.g. %1.IPF or %1.HPJ , two extensions are concatenated together. 
  1517.  
  1518.  
  1519. ΓòÉΓòÉΓòÉ 3.6. Debug mode ΓòÉΓòÉΓòÉ
  1520.  
  1521. It can happen that HMAKE interrupts and creates a cryptic error message. Then 
  1522. you have made a mistake I've never thought about or there's a real bug in the 
  1523. program. To locate where exactly the bug has occurred, you can view the actual 
  1524. line numbers by using the program parameter /count . Then by using the  /debug 
  1525. parameter, you can get the source text immediately before the program crashes. 
  1526. So you can find the exact position where the bug occurs. 
  1527.  
  1528. With /debugmain instead of /debug , the text is only shown when writing the 
  1529. IPF/RTF/HTML files. 
  1530.  
  1531. If you find such a bug, please contact me, even you have found out how to avoid 
  1532. it. Please send me the source text and your ini file, so I can locate the bug 
  1533. and eliminate it in the next version. Thank you. 
  1534.  
  1535.  
  1536. ΓòÉΓòÉΓòÉ 4. Reverse Converting Mode from IPF and RTF to Hypermake ΓòÉΓòÉΓòÉ
  1537.  
  1538.  
  1539. subchapters: 
  1540. About 
  1541. IPF reverse Converting 
  1542. RTF reverse converting 
  1543. Start Conversion (graphical version) 
  1544. Start Conversion (commandline version) 
  1545.  
  1546. next chapter: 
  1547. Writing a Hypermake Source Text 
  1548.  
  1549.  
  1550. ΓòÉΓòÉΓòÉ 4.1. About ΓòÉΓòÉΓòÉ
  1551.  
  1552.  
  1553. If you have already an IPF or RTF file, Hypermake helps you to get a Hypermake 
  1554. source file. It's not possible to get a perfect source file, but the 
  1555. rudimentary functions are converted. 
  1556.  
  1557. RTF (Rich Text Format) is not only the source of the Winhelp compiler, it is 
  1558. supported by a lot of word processors like Winword. 
  1559.  
  1560. The reverse converting mode shortens 90 or 95% of your work converting files, 
  1561. but not 100%. The formats are too different for programming a perfect 
  1562. conversion. So you should use this functionality only one time. Then you should 
  1563. rest in editing the Hypermake source. 
  1564.  
  1565. The ini file (project settings notebook) is used in reverse converting mode, 
  1566. too. So first take a look at the ini file settings "list char" (unordered 
  1567. lists), "toggle char" and "Source format". In the graphical Hypermake program, 
  1568. you will find it on the pages "Format" and "spec. chars" in the project 
  1569. settings. When compiling IPF source, make sure that you have defined enough 
  1570. list chars (e.g. four list chars if you have got ordered/unordered lists up to 
  1571. four levels). 
  1572.  
  1573.  
  1574. ΓòÉΓòÉΓòÉ 4.2. IPF reverse Converting ΓòÉΓòÉΓòÉ
  1575.  
  1576.  
  1577. The IPF reverse converting mode is enabled to convert: 
  1578.  
  1579.      toggles 
  1580.      Headings 
  1581.      unordered lists, ordered lists 
  1582.      main formatting commands (paragraph, break, formatting on/off) 
  1583.      index entries (only i1 level), they will also get link target 
  1584.      graphics (not graphics in text) 
  1585.  
  1586.  
  1587.  It's not enabled to convert: 
  1588.  
  1589.      Fonts 
  1590.      Window arrangement 
  1591.      Margin 
  1592.      Footnotes 
  1593.      definition lists 
  1594.      Panel ID's, connection to EXE program. 
  1595.  
  1596.  
  1597. ΓòÉΓòÉΓòÉ 4.3. RTF reverse converting ΓòÉΓòÉΓòÉ
  1598.  
  1599.  
  1600. For reverse converting RTF to Hypermake can choose between two different RTF 
  1601. formats: 
  1602.  
  1603.      RTF source files for Windows Help 
  1604.      normal RTF files which are not used for Windows Help (e.g. normal RTF 
  1605.       export from Winhelp). 
  1606.  
  1607.  
  1608.  If you want to convert a RTF file which is not for Windows Help, use the 
  1609.  Parameter  /ISTEXT when starting Hypermake from the commandline. The default 
  1610.  parameter is /ISPROG for reverse converting a RTF Winhelp file. 
  1611.  
  1612.  The RTF reverse converting mode is enabled to convert: 
  1613.  
  1614.      toggles 
  1615.      Headings 
  1616.      main formatting commands (paragraph, break, formatting on/off) 
  1617.      index entries (only i1 level), they will also get link target 
  1618.      Margin 
  1619.      Footnotes 
  1620.      graphics (also graphics in text). 
  1621.  
  1622.  
  1623.  It's not enabled to convert: 
  1624.  
  1625.      Fonts 
  1626.      Window arrangement 
  1627.      definition lists 
  1628.      Panel ID's (connection to EXE program) 
  1629.      unordered lists, ordered lists. 
  1630.  
  1631.  
  1632.  The text of the table does not disappear, but the formatting is destroyed. An 
  1633.  easy way to convert the tables and its formatting is simply copying the table 
  1634.  from the Windows viewer to the clipboard and pasting it into the Hypermake 
  1635.  source text between the two .TA dot commands. 
  1636.  
  1637.  In RTF syntax, unsorted lists and sorted lists does not exist. So converting 
  1638.  cannot work in this point. (In the normal direction Hypermake to RTF, sorted 
  1639.  lists and unsorted lists are emulated by other RTF commands.) 
  1640.  
  1641.  Note that some word processors like Winword normally do not export the heading 
  1642.  structure of the document to RTF, but Hypermake needs them in any case! In 
  1643.  Winword you have to choose a template like "heading1" instead of the "default" 
  1644.  template. Please choose a decimal heading structure like "1 - 1.1 - 1.1.1" and 
  1645.  so on. Only this structure is converted to Hypermake heading commands. 
  1646.  
  1647.  
  1648. ΓòÉΓòÉΓòÉ 4.4. Start Conversion (graphical version) ΓòÉΓòÉΓòÉ
  1649.  
  1650.  
  1651. To start the reverse conversion, select Project - Import RTF/IPF. Then you will 
  1652. be asked to select several filenames: 
  1653.  
  1654.      a filename for the new project (HMP file) 
  1655.      a filename for the Hypermake source text which Hypermake will create by 
  1656.       reverse conversion (If you enter an existing filename, the file will be 
  1657.       overwritten.) Don't use the same filename (without extension) which your 
  1658.       existing IPF or RTF file has, because later the file which Hypermake will 
  1659.       create is sourcefilename.IPF or sourcefilename.RTF and this will 
  1660.       overwrite your IPF or RTF source file without warning. 
  1661.      the name of the IPF or RTF file to be converted 
  1662.      an existing ini file with settings closest to your new project 
  1663.       (Sample.ini of this archive, if you don't have already your own files) 
  1664.      a name for a new ini file for your new project where the settings are 
  1665.       copied from the existing filename above. 
  1666.  
  1667.  
  1668.  After that, the settings notebook will be opened automatically and you can 
  1669.  modify some settings before the reverse conversion will start. Some settings 
  1670.  which define the syntax of the Hypermake source text to be generated are 
  1671.  interpreted by the reverse conversion, e.g. the selection of the toggles. Take 
  1672.  a detailed look at the settings notebook pages "format" and "spec. chars". 
  1673.  After you close the settings notebook, Hypermake starts the reverse 
  1674.  conversion. 
  1675.  
  1676.  
  1677. ΓòÉΓòÉΓòÉ 4.5. Start Conversion (commandline version) ΓòÉΓòÉΓòÉ
  1678.  
  1679. In the main direction you can start Hypermake from the commandline and from HMP 
  1680. files. Here you need to use the commandline ("OS/2 window", "MS-DOS prompt"). 
  1681.  
  1682. To start the reverse converting mode, you have to enter the ini file you will 
  1683. use later (e. g. a copy of SAMPLE.INI) and a file with the extension .IPF or 
  1684. .RTF . Several source files are not supported. For RTF files which are not a 
  1685. Windows help source, you have to enter the parameter /ISTEXT . 
  1686.  
  1687. [C:\myProject] HMAKE myDoc.ipf myDoc.ini 
  1688.  
  1689. The file which is generated has always the same name HMSOURCE.TXT. 
  1690.  
  1691.  
  1692. ΓòÉΓòÉΓòÉ 5. Writing a Hypermake Source Text ΓòÉΓòÉΓòÉ
  1693.  
  1694.  
  1695. subchapters: 
  1696. Essentials 
  1697. Beginning 
  1698. Chapters and Headings 
  1699. Fonts 
  1700. Unordered lists and ordered lists 
  1701. Including Bitmaps 
  1702. Linking and Indexing 
  1703. duplication of heading text 
  1704. Tables 
  1705. Line drawing 
  1706. Footnotes 
  1707. Margins and Formatting 
  1708. if-conditions 
  1709.  
  1710. next chapter: 
  1711. HTML-specific functionality 
  1712.  
  1713.  
  1714. ΓòÉΓòÉΓòÉ 5.1. Essentials ΓòÉΓòÉΓòÉ
  1715.  
  1716.  
  1717. subchapters: 
  1718. Dot commands 
  1719. IPF commands 
  1720. HTML commands 
  1721. Toggles 
  1722. Handling of Returns 
  1723.  
  1724. next chapter: 
  1725. Beginning 
  1726.  
  1727.  
  1728. ΓòÉΓòÉΓòÉ 5.1.1. Dot commands ΓòÉΓòÉΓòÉ
  1729.  
  1730.  
  1731. The Hypermake format uses dot commands like old WordStar. A dot command is a 
  1732. complete line beginning with a dot, for example 
  1733.  
  1734.  
  1735.  .SF
  1736.  
  1737. sets the standard font to default. Dot commands aren't case sensitive. A lot of 
  1738. dot commands require parameters, for example 
  1739.  
  1740.  
  1741.  .LM10
  1742.  
  1743. will change the left margin to 10. You can leave a space between the dot 
  1744. command and the parameter. 
  1745.  
  1746. The line 
  1747.  
  1748.  
  1749.  ..comment
  1750.  
  1751. will be ignored. 
  1752.  
  1753. Some dot commands have got more than two characters, but that's only to read it 
  1754. more easily. You can abbreviate them to the first two chars. 
  1755.  
  1756. If the dot of the dot command isn't placed in column 1, the dot command is not 
  1757. interpreted and is treated as part of the text. 
  1758.  
  1759. In this hypertext, you will find a dot command summary. 
  1760.  
  1761.  
  1762. ΓòÉΓòÉΓòÉ 5.1.2. IPF commands ΓòÉΓòÉΓòÉ
  1763.  
  1764.  
  1765.  .:ipfcommand.
  1766.  .:ipfcommand. expression
  1767.  
  1768. You can enter an IPF command directly (that will be an exception, because most 
  1769. important functions are in the much easier Hypermake format). 
  1770.  
  1771.  
  1772. ΓòÉΓòÉΓòÉ 5.1.3. HTML commands ΓòÉΓòÉΓòÉ
  1773.  
  1774. There are three ways of embedding HTML commands directly. This is interesting 
  1775. for you if you are familiar with HTML commands. Perhaps you prefer using 
  1776. original HTML commands sometimes or you want to embed Javascript or Java 
  1777. programs. Hypermake will omit these commands if you compile to other formats, 
  1778. of course. 
  1779.  
  1780. The first command to include HTML commands is directly using <HTML tags> in the 
  1781. running Hypermake text. With the dot command 
  1782.  
  1783.  
  1784.  .HC on
  1785.  .HC off
  1786.  
  1787. (HTML command) you can use HTML tags by using the HTML specific <HTML tag> 
  1788. syntax. 
  1789.  
  1790. Between the HTML brackets < > Hypermake won't change the characters. The 
  1791. default setting is off. That means, the < > chars will be printed and are not 
  1792. interpreted as a HTML command. You can turn .HC on at the beginning of your 
  1793. source text and need not change this setting until you want to use the < > 
  1794. chars as normal text. 
  1795.  
  1796. The second way is to enter HTML text and commands directly, e.g. for Javascript 
  1797. programs. Between the .HTML and the .HYPERMAKE command, the text won't be 
  1798. interpreted as Hypermake source text (e.g. dot commands would be printed) and 
  1799. is placed in the HTML file directly. 
  1800.  
  1801.  
  1802.  .HTML
  1803.  
  1804.  <HTML-commands> running HTML text
  1805.  
  1806.  .HYPERMAKE
  1807.  
  1808. The third way of embedding HTML text is for bigger quantities of commands, e.g. 
  1809. writing Javascript programs: 
  1810.  
  1811.  
  1812.  .HF filename
  1813.  
  1814. The HTML File command will copy the content of the file filename to the 
  1815. location of the dot command. 
  1816.  
  1817.  
  1818. ΓòÉΓòÉΓòÉ 5.1.4. Toggles ΓòÉΓòÉΓòÉ
  1819.  
  1820. In the ini file (project settings, page "spec. chars") you can set some toggle 
  1821. chars. If you have chosen "*" for "bold" and "@" for italic, you can write: 
  1822.  
  1823.  
  1824. This *part of this sentence* is very important.
  1825.  
  1826. And you will get: 
  1827.  
  1828. This part of this sentence is very important. 
  1829.  
  1830. You also can mix some toggles: 
  1831.  
  1832.  
  1833. This is *bold and @also italic* and only italic@.
  1834.  
  1835. And you will get: 
  1836.  
  1837. This is bold and also italic and only italic. 
  1838.  
  1839. You can enter these characters in the integrated editor by using popup menu - 
  1840. toggle. 
  1841.  
  1842. You have to think about toggle chars you don't need very often in the normal 
  1843. text. If you want to use a toggle char as a normal visible character, you have 
  1844. to type it twice: 
  1845.  
  1846.  
  1847. @My E-Mail Address:@
  1848.  
  1849. Martin@@vr-transport.de
  1850.  
  1851. A good choice would be the control chars below 32 when using IBM codepage, if 
  1852. your editor supports them. . For HTML, the chars above ASCII decimal 127 are 
  1853. useful. 
  1854.  
  1855. The integrated Hypermake Editor supports a second way to enter these characters 
  1856. below 26 when using the Wordstar or Mixed key table: E.g. for the ASCII value 
  1857. 19, you enter Ctrl-P for "printer" and then Ctrl-S or S. (S is the 19th letter 
  1858. of the alphabet.) 
  1859.  
  1860.  
  1861. ΓòÉΓòÉΓòÉ 5.1.5. Handling of Returns ΓòÉΓòÉΓòÉ
  1862.  
  1863. Writing a text by using an ASCII editor, you can choose between two kinds of 
  1864. handling Returns. With the ASCIIHARDRET setting in the ini file ("word wrap" in 
  1865. project settings, page "Format"), every Return will be treated as a new line. 
  1866. Use this setting if your editor does not put Returns in wrapped lines. Most 
  1867. editors support this function (often: options - word wrap on/off). 
  1868.  
  1869. Use ASCIISOFTRET if your editor puts Returns on all line endings. This will 
  1870. only treat a Return as a new line, if 
  1871.  
  1872.      there are two Returns behind each other (i. e. an empty line) 
  1873.      the last character in the line is . ! ? : ; 
  1874.  
  1875.  
  1876. ΓòÉΓòÉΓòÉ 5.2. Beginning ΓòÉΓòÉΓòÉ
  1877.  
  1878. Every document has one title. The title will be shown as title of the main 
  1879. window and in the tasklist. 
  1880.  
  1881.  
  1882.  .TI
  1883.  Documentation of my program
  1884.  
  1885. sets the title in HTML files or INF files. Every Hypermake source text should 
  1886. begin with the title dot command, before the first heading. 
  1887.  
  1888. Hypermake creates several HTML files from one source text file. You can define 
  1889. the title of every HTML file with the ini file setting file title (project 
  1890. settings, page "html-2"). 
  1891.  
  1892. In OS/2 HLP files, the title is set in your program source code, see function 
  1893. InitHelp. The TI dot command title is ignored. 
  1894.  
  1895. By default, HLP files don't have the Pushbuttons "Contents", "Back" and 
  1896. "Forward" that INF files have. If you want to have the same Pushbuttons in HLP 
  1897. files as in INF files, enter the dot command 
  1898.  
  1899.  
  1900.  .<>
  1901.  
  1902. By default, Winhelp files don't have the Pushbuttons Back << and Forward >>, 
  1903. but they are useful in any case. If you want to have these Pushbuttons, then 
  1904. enter the dot command 
  1905.  
  1906.  
  1907.  .<>
  1908.  
  1909.  
  1910. ΓòÉΓòÉΓòÉ 5.3. Chapters and Headings ΓòÉΓòÉΓòÉ
  1911.  
  1912. Every Hypermake document is structured by chapters. Every chapter begins with a 
  1913. heading. Starting an Hypertext document created by Hypermake, you will get the 
  1914. content which lists all chapter headings. From the content you can go to every 
  1915. page of the hypertext. 
  1916.  
  1917. In the contents window of IBM INF files, you can open and close sub-chapters 
  1918. like a directory tree. The text under every heading fills a separate window. 
  1919.  
  1920. Every chapter in a Winhelp document gets its own page. 
  1921.  
  1922. When Hypermake creates HTML files, you will get a contents file with the 
  1923. filename INDEX.HTML. Normally every chapter gets its own HTML file. You can 
  1924. turn off the creation of a contents file on the page HTML-0 of the project 
  1925. settings notebook when compiling a very small project with perhaps only one 
  1926. "chapter", that means only one HTML page. 
  1927.  
  1928. You can arrange your text with heading levels like you would in a scientific 
  1929. work: 
  1930.  
  1931. first heading 
  1932.     first sub-heading 
  1933.     second sub-heading 
  1934.          first sub-sub-heading 
  1935.          second sub-sub-heading 
  1936.     third sub-heading 
  1937.  second heading 
  1938.  
  1939.  In the Hypermake format, the headings are written like 
  1940.  
  1941.  
  1942.    .1
  1943.    first heading
  1944.  
  1945.    .2
  1946.    first sub-heading
  1947.  
  1948.    .2
  1949.    second sub-heading
  1950.  
  1951.    .3
  1952.    first sub sub-heading
  1953.  
  1954.    .3
  1955.    second sub sub-heading
  1956.  
  1957.    .2
  1958.    third sub-heading
  1959.  
  1960.    .1
  1961.    second heading
  1962.  
  1963.  On the next line after the dot command for the heading level, you can enter 
  1964.  the heading text. 
  1965.  
  1966.  Heading text can be longer than one line. Using the ASCIISOFTRET source 
  1967.  format, you have to enter two Returns after writing a heading text; the text 
  1968.  can be longer than one line. 
  1969.  
  1970.  In a normal document, you would use numeric headings: 
  1971.  
  1972.  1. first heading 
  1973.    1.1 first sub heading 
  1974.    1.2 second sub heading 
  1975.           1.2.1 first sub sub heading 
  1976.           1.2.2 second sub sub heading 
  1977.    1.3 third sub heading 
  1978.  2. second heading 
  1979.  
  1980.  When generating IPF, the Text behind a heading dot command is limited to 
  1981.  approx. 200 chars , but you will see only 70 to 120 chars, dependent on the 
  1982.  size of the INF window on the screen. 
  1983.  
  1984.  At the beginning of a document, normal text can only be written after using 
  1985.  the first heading dot command. 
  1986.  
  1987.  You are allowed to use up to 6 heading levels. 
  1988.  
  1989.  subchapters: 
  1990.  HTML specifics 
  1991.  Winhelp specifics 
  1992.  Links to subchapters 
  1993.  Window arrangement (Frames) 
  1994.  
  1995.  next chapter: 
  1996.  Fonts 
  1997.  
  1998.  
  1999. ΓòÉΓòÉΓòÉ 5.3.1. HTML specifics ΓòÉΓòÉΓòÉ
  2000.  
  2001. With the ini file setting content level ("shown in contents", project settings 
  2002. page "html-1"), you can define the number of levels shown on the content page. 
  2003.  
  2004. Most HTML browsers are using a very small font for heading text with level 5 
  2005. and 6 - smaller than the normal text. Of couse, that's not acceptable. If you 
  2006. want to create HTML files with 5 or 6 heading levels, you should use bigger 
  2007. fonts to the level 5 and 6 or for the levels from 4 up to 6. 
  2008.  
  2009.  .HS 123234 
  2010.  
  2011. or 
  2012.  
  2013.  .HS 112233 
  2014.  
  2015. changes the size of the fonts of levels 1 to 6. 
  2016.  
  2017. The default setting is: 
  2018.  
  2019.  .HS 123456 
  2020.  
  2021. Please note the Javascript contents tree view since Hypermake 3.6. 
  2022.  
  2023.  
  2024. ΓòÉΓòÉΓòÉ 5.3.2. Winhelp specifics ΓòÉΓòÉΓòÉ
  2025.  
  2026.  
  2027. You will find all Winhelp-specific ini file settings in the project settings 
  2028. notebook, page "Winhelp". 
  2029.  
  2030. With the setting heading fonts in the ini file, you can choose the font of the 
  2031. heading text by typing a font char for each heading level. Font chars are 
  2032. defined in the ini file. 
  2033.  
  2034. Winhelp allows to get the heading text fixed, so scrolling the page does not 
  2035. hide the heading text. You can turn off and on this setting with keep heading . 
  2036.  
  2037. The two Winhelp formats WINHELP3 and WINHELP4 have got a different way of 
  2038. showing the contents: WINHELP3 has no contents functionality, so Hypermake 
  2039. generates a contents on the first page of the Hypertext. WINHELP4 uses CNT 
  2040. files. These contents files have to be shipped together with the HLP file and 
  2041. are in ASCII format. CNT files are pointing to all pages of the HLP file. They 
  2042. have got a tree view of the chapter headings. 
  2043.  
  2044. CNT files cannot be read with Windows 3.1. Hypermake enables you generating an 
  2045. internal contents or a CNT file or both, independent from choosing the target 
  2046. format WINHELP3 or WINHELP4, by using the contents creation setting in the ini 
  2047. file. 
  2048.  
  2049. When creating an internal contents page in the HLP file, the normally HTML 
  2050. specific  contents level setting is interpretated. So you can create a contents 
  2051. page with only 2 heading levels. In addition, you can use the program parameter 
  2052. /internal, so you can create an internal contents instead of a CNT file without 
  2053. changing the ini file. 
  2054.  
  2055. CNT files have got a very bad design: A main chapter cannot point to a page 
  2056. with normal text before the sub chapters begin. But that's the normal form of 
  2057. text documents. Hypermake creates a new first sub chapter with a heading 
  2058. "general" where this text is placed. You can change the heading text of this 
  2059. first sub chapter with contents general text . 
  2060.  
  2061.  
  2062. ΓòÉΓòÉΓòÉ 5.3.3. Links to subchapters ΓòÉΓòÉΓòÉ
  2063.  
  2064. When a chapter has got subchapters, links to subchapters and a link to the next 
  2065. chapter with the same heading level are automatically created. You can set the 
  2066. text "subchapters" and "next chapter" and in the ini file (project settings 
  2067. page "Link"), setting text for link to... . 
  2068.  
  2069. By default, the heading text links of the sub chapters are written line by 
  2070. line. E.g. in a homepage, it can be useful to save vertical space. In this case 
  2071. writing the heading texts without Return is recommended. 
  2072.  
  2073. With the dot command .SC (Subchapter separation characters) you can change the 
  2074. appearance of the links to subchapters. 
  2075.  
  2076.  .sc chars 
  2077.  
  2078. fits the characters "chars" between the subchapters heading text instead of a 
  2079. Return. The command 
  2080.  
  2081.  .sc RETURN 
  2082.  
  2083. resets the default setting with one Return between each heading text. 
  2084.  
  2085.  
  2086.  .btx blackdot
  2087.  .sc  x
  2088.  .2
  2089.  heading text of the first sub chapter
  2090.  
  2091.  .sc RETURN
  2092.  
  2093. Instead of x, you have to use a character you won't need in your text. These 
  2094. commands will place the graphics file BLACKDOT.GIF in the heading text. 
  2095.  
  2096.  
  2097.  .sc RETURN RETURN
  2098.  .sc PARAGRAPH
  2099.  
  2100. The two commands have got the same effect: They force an empty line between 
  2101. each heading text. 
  2102.  
  2103.  
  2104.  .sc LIST
  2105.  
  2106. writes the sub chapter headings as an unsorted list. 
  2107.  
  2108.  
  2109. ΓòÉΓòÉΓòÉ 5.3.4. Window arrangement (Frames) ΓòÉΓòÉΓòÉ
  2110.  
  2111. With only one dot command, you are able to divide the hypertext screen into two 
  2112. or three parts to show two or three heading levels simultaneously. 
  2113.  
  2114. Arranging two heading levels 
  2115.  
  2116. With the dot command Window Arrangement 
  2117.  
  2118.  
  2119.  .WA verti 30
  2120.  
  2121. followed by a normal heading level dot command, the main window is divided 
  2122. vertically into a left window (30% of the main window) and a right window (the 
  2123. remaining 70%). The left window contains the chapter with the heading level 
  2124. entered after the WA dot command (called the "main chapter" below). In the 
  2125. right window the first sub chapter of the main chapter appears. 
  2126.  
  2127. Note the spaces between the parameters of the window arrangement dot command. 
  2128.  
  2129. When using window arrangement, I strongly recommend leaving the automatic link 
  2130. to subchapters function turned on in the ini file (project settings page 
  2131. "Link"). 
  2132.  
  2133.  
  2134.  .WA hori 40
  2135.  
  2136. divides the main window horizontally. The main chapter gets the top window (40% 
  2137. of the main window), the subchapter the bottom window (the remaining 60%). 
  2138.  
  2139. You can enter percent values from 10 to 90. 
  2140.  
  2141. With the commandline parameter /NOFRAMES , this dot command won't be 
  2142. interpreted. 
  2143.  
  2144. For a sample arrangement of two heading levels see dot command summary or ini 
  2145. file. 
  2146.  
  2147. Winhelp does not support Frames. Nevertheless, the .WA command is 
  2148. interpretated, but only with WINHELP4. Hypermake separates the help text in two 
  2149. help windows. 
  2150. On the left side of the main window, Hypermake generates a smaller window. The 
  2151. name of the smaller left window is "navi", the name of the normal window is 
  2152. "main". The verti/hori and percent values of the .WA command are not 
  2153. interpreted. I recommend not to write a lot of text in the main chapter because 
  2154. the main chapter gets the small "navi" window. In the smaller "navi" window the 
  2155. automatically generated links to subchapters let the user navigate between 
  2156. several subchapters which are shown in the bigger "main" window. 
  2157.  
  2158. When creating HTMLHELP, Hypermake always uses the "hori" setting of the .WA 
  2159. command even "verti" was entered: The MS HTML-Help viewer shows the contents 
  2160. tree at the left side and the normal text at the right side of the help window. 
  2161. Separating the text window vertically again would produce an inacceptable small 
  2162. text window. 
  2163.  
  2164. Arranging three heading levels 
  2165.  
  2166. This functionality is only available so far for creating IPF files. 
  2167.  
  2168. In the same way, you are allowed to arrange three heading levels. Now you have 
  2169. to enter a hori and a verti value simultaneously. 
  2170.  
  2171.  
  2172.  .WA hori 40 verti 30 III
  2173.  
  2174. The first hori/verti value divides the main window completely from left to 
  2175. right / from top to bottom. The second hori/verti value divides again one of 
  2176. the parts into two parts, so you will get three windows: two smaller windows 
  2177. and a bigger window. You can choose which heading level gets the bigger window. 
  2178. Possible settings are I and III . So you can choose between four kinds of 
  2179. arrangements: 
  2180.  
  2181.  
  2182.  
  2183.             verti hori           hori verti
  2184.  
  2185.         ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ   ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  2186.         Γöé     Γöé   II     Γöé   Γöé       I        Γöé
  2187.   I     Γöé  I  Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2188.         Γöé     Γöé   III    Γöé   Γöé II  Γöé   III    Γöé
  2189.         Γöé     Γöé          Γöé   Γöé     Γöé          Γöé
  2190.         ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ   ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2191.  
  2192.         ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ   ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  2193.         Γöé  I  Γöé          Γöé   Γöé  I  Γöé   II     Γöé
  2194.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ          Γöé   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2195.  III    Γöé     Γöé   III    Γöé   Γöé                Γöé
  2196.         Γöé II  Γöé          Γöé   Γöé      III       Γöé
  2197.         Γöé     Γöé          Γöé   Γöé                Γöé
  2198.         ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ   ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2199.  
  2200.  I is the main chapter, II the subchapter of the main chapter, III the sub sub 
  2201. chapter of the main chapter. 
  2202.  
  2203. The window arrangement dot command is active for one main chapter with its sub 
  2204. and sub sub chapters. 
  2205.  
  2206. The window arrangement only works when the main chapter window is activated 
  2207. directly. When linking from somewhere to the sub sub chapter or using the 
  2208. contents window to get directly into the sub sub chapter ( III ), the screen 
  2209. won't be divided. When linking to a II window, the III window also appears, but 
  2210. the space for the I window will not be used. 
  2211.  
  2212. If you want to arrange three heading levels simultaneously, but not every 
  2213. chapter contains sub chapters, the level I window should become the bigger 
  2214. window. That means I and not III should be used in the WA dot command. Then the 
  2215. window of level II also takes the room of the level III window, if the level 
  2216. III does not exist. 
  2217.  
  2218. subchapters: 
  2219. Sample Input 
  2220. Sample Output 
  2221.  
  2222. next chapter: 
  2223. Fonts 
  2224.  
  2225.  
  2226. ΓòÉΓòÉΓòÉ 5.3.4.1. Sample Input ΓòÉΓòÉΓòÉ
  2227.  
  2228. .WA verti 50 hori 40 I 
  2229. .4 
  2230. Sample Output 
  2231.  
  2232. The main chapter with links to subchapters. 
  2233.  
  2234. .5 
  2235. first sub chapter 
  2236.  
  2237. The first sub chapter. 
  2238. 3 frames are only supported when compiling IPF. 
  2239.  
  2240. .6 
  2241. first sub sub chapter 
  2242.  
  2243. The first sub sub chapter of the first sub chapter. 
  2244.  
  2245. .6 
  2246. second sub sub chapter 
  2247.  
  2248. The second sub sub chapter of the first sub chapter. 
  2249.  
  2250. .5 
  2251. second sub chapter 
  2252.  
  2253. The second sub chapter. 
  2254.  
  2255. .6 
  2256. first sub sub chapter 
  2257.  
  2258. The first sub sub chapter of the second sub chapter. 
  2259.  
  2260. .6 
  2261. second sub sub chapter 
  2262.  
  2263. The second sub sub chapter of the second sub chapter. 
  2264.  
  2265.  
  2266. ΓòÉΓòÉΓòÉ 5.3.4.2. Sample Output ΓòÉΓòÉΓòÉ
  2267.  
  2268. The main chapter with links to subchapters. 
  2269.  
  2270. subchapters: 
  2271. first sub chapter 
  2272. second sub chapter 
  2273.  
  2274. next chapter: 
  2275. Fonts 
  2276.  
  2277.  
  2278. ΓòÉΓòÉΓòÉ 5.3.4.2.1. first sub chapter ΓòÉΓòÉΓòÉ
  2279.  
  2280.  
  2281. The first sub chapter. 
  2282. 3 frames are only supported when compiling IPF. 
  2283.  
  2284. subchapters: 
  2285. first sub sub chapter 
  2286. second sub sub chapter 
  2287.  
  2288. next chapter: 
  2289. second sub chapter 
  2290.  
  2291.  
  2292. ΓòÉΓòÉΓòÉ 5.3.4.2.1.1. first sub sub chapter ΓòÉΓòÉΓòÉ
  2293.  
  2294.  
  2295. The first sub sub chapter of the first sub chapter. 
  2296.  
  2297.  
  2298. ΓòÉΓòÉΓòÉ 5.3.4.2.1.2. second sub sub chapter ΓòÉΓòÉΓòÉ
  2299.  
  2300.  
  2301. The second sub sub chapter of the first sub chapter. 
  2302.  
  2303.  
  2304. ΓòÉΓòÉΓòÉ 5.3.4.2.2. second sub chapter ΓòÉΓòÉΓòÉ
  2305.  
  2306.  
  2307. The second sub chapter. 
  2308.  
  2309. subchapters: 
  2310. first sub sub chapter 
  2311. second sub sub chapter 
  2312.  
  2313. next chapter: 
  2314. Fonts 
  2315.  
  2316.  
  2317. ΓòÉΓòÉΓòÉ 5.3.4.2.2.1. first sub sub chapter ΓòÉΓòÉΓòÉ
  2318.  
  2319.  
  2320. The first sub sub chapter of the second sub chapter. 
  2321.  
  2322.  
  2323. ΓòÉΓòÉΓòÉ 5.3.4.2.2.2. second sub sub chapter ΓòÉΓòÉΓòÉ
  2324.  
  2325.  
  2326. The second sub sub chapter of the second sub chapter. 
  2327.  
  2328.  
  2329. ΓòÉΓòÉΓòÉ 5.4. Fonts ΓòÉΓòÉΓòÉ
  2330.  
  2331.  
  2332. subchapters: 
  2333. Using fonts 
  2334. HTML Phrase element samples 
  2335. Color samples 
  2336.  
  2337. next chapter: 
  2338. Unordered lists and ordered lists 
  2339.  
  2340.  
  2341. ΓòÉΓòÉΓòÉ 5.4.1. Using fonts ΓòÉΓòÉΓòÉ
  2342.  
  2343.  
  2344. You can define serveral fonts in the ini file (project settings page "Font"). A 
  2345. "font" has got a specific size, a specific color, a specific fontname (like 
  2346. "Helvetica") and some other attributes. Some attributes are target format 
  2347. specific. 
  2348.  
  2349. A font which is defined in the ini file is abbreviated with an upcase or an 
  2350. downcase letter, the "font char". The letters are case-sensitive, so you can 
  2351. use 2 x 26 font char as shortcuts. Every font char represents a font with 
  2352. specific attributes defined in the ini file. Normally you won't use more than 3 
  2353. or 4 font chars. I recommend using the default font for most of the text (with 
  2354. no attributes). Otherwise the user who views the text has to read a font which 
  2355. is good for you and your screen, but not for him! 
  2356.  
  2357. Select Font 
  2358.  
  2359. You can choose a font with the dot command select font 
  2360.  
  2361.  
  2362.  .SFX
  2363.  
  2364.  X is a font character from A to Z and from a to z (case sensitive!). 
  2365.  
  2366. You can assign different fonts, sizes and colors to each of the 2 x 26 chars in 
  2367. the ini file. 
  2368.  
  2369. A font will be active till the next font dot command, even through headings. 
  2370.  
  2371. To set the font to default, use the dot command without parameter: 
  2372.  
  2373.  
  2374.  .SF
  2375.  
  2376. Alternate Font 
  2377.  
  2378. Like .SF you can use .AF alternate font. The alternate font will be activated 
  2379. between two occurrences of the alternate toggle char, assigned in the ini file 
  2380. (project settings page "spec. chars"). 
  2381.  
  2382. So you can change font and color in one line: 
  2383.  
  2384. That d o e s n't l o o k very good. 
  2385.  
  2386. Alternate fonts should be only active within a paragraph. To write more than 
  2387. one paragraph in another font, please use the .SF command. 
  2388.  
  2389. Font Attributes 
  2390.  
  2391. Font attributes are defined for every font character: 
  2392.  
  2393.  
  2394. font X =
  2395.  
  2396. At the right side of the equal char, you can list attributes, seperated by 
  2397. spaces. An attribute must not contain spaces, use underscore instead. 
  2398.  
  2399. Fontname 
  2400.  
  2401. When creating an OS/2 help file, you can choose between all fonts which are 
  2402. part of the default installation of OS/2: You will find a list of the available 
  2403. font in the folder "system configuration", program "font palette": Courier Helv 
  2404. Helvetica Roman System_monospaced System_proportional System_VIO 
  2405. Times_New_Roman Tms_Rmn and since Warp 3 Swiss Warp_Sans. Rembember that 
  2406. instead of spaces you have to enter _ underscore. 
  2407.  
  2408. Creating Winhelp, fontnames have to be entered together with its family name, 
  2409. e.g. fswiss:Helvetica. There are three font families: 
  2410.  
  2411.      fmodern: fixed font, that means i has the same width like m (e.g. 
  2412.       Courier) 
  2413.      froman: proportional font with serifs (e.g. Roman) 
  2414.      fswiss: proportional font without serifs (e.g. Helvetica) 
  2415.  
  2416.  
  2417.  For HTML, you can enter fontnames or "phrase elements". 
  2418.  
  2419.  Assigning fontnames directly is not supported by every browser and you can't 
  2420.  be sure that the font you have chosen is available on every operating system. 
  2421.  To get a realistic chance to hit a font supported by the browser or the 
  2422.  operating system, you have to enter more than one fonts, e.g. 
  2423.  Arial,Helv,Helvetica,Univers . Hypermake requires at least two fonts, divided 
  2424.  by comma, without spaces. If you want to enter a font with a space in the font 
  2425.  name like "Tms Rmn", write an underscore _ instead of the space. 
  2426.  
  2427.  I recommend not using HTML fonts, because you don't know whether the font is 
  2428.  available on the operating system of the user. And it's patronizing the user 
  2429.  who is no more able to choose his favorite font. 
  2430.  
  2431.  HTML Phrase Element 
  2432.  
  2433.  The concept of HTML is different to Help files. Help files are special files 
  2434.  for a specific operating system, HTML files not. Perhaps the HTML file is 
  2435.  viewed on a computer where the "Courier" font isn't available. The user should 
  2436.  choose how the information is shown - the author only defines the purpose of 
  2437.  the text, e.g. CODE for program code (a fixed font will be used). The browser 
  2438.  chooses a font which harmonizes with the purpose. 
  2439.  
  2440.  HTML knows the following Phrase Elements: 
  2441.   PRE ADDRESS EM STRONG DFN CODE SAMP VAR CITE 
  2442.  
  2443.  PRE has got a special effect: If a font with Phrase element PRE is chosen, all 
  2444.  Carriage Returns of the source text will be shown in the HTML file - automatic 
  2445.  formatting of running text is disabled. 
  2446.  
  2447.  And here is the purpose of the other Phrase elements: 
  2448.  
  2449.      EM basic emphasis typically rendered in an italic font 
  2450.      STRONG strong emphasis typically rendered in a bold font 
  2451.      DFN defining instance of the enclosed term 
  2452.      CODE used for extracts from program code 
  2453.      SAMP used for sample output from programs, and scripts etc. 
  2454.      VAR used for variables or arguments to commands 
  2455.      CITE used for citations or references to other sources 
  2456.  
  2457.  
  2458.  For IPF, you can define a font with PRE , so you do not need formatting dot 
  2459.  commands.  PRE will turn formatting off. 
  2460.  
  2461.  Font size 
  2462.  
  2463.  All target formats support font sizes. 10 or 12 (point) is a normal size. It 
  2464.  can happen that some target formats gets a too small or too large font in 
  2465.  comparison to other target formats when using font sizes. In this case, you 
  2466.  can globally influence the size of the fonts which have got a size value in 
  2467.  the ini file by using the program parameters bigfont and smallfont (parameter 
  2468.  section in project settings page "main"). This will enlarge or reduce the size 
  2469.  by 30%. 
  2470.  
  2471.  Then you can enter relative sizes like 0 +1 -1. In addition to relative size, 
  2472.  you can also enter absolute sizes for other Hypertext formats. But the 
  2473.  relative HTML size has to be placed in front of the absolute size. 
  2474.  
  2475.  The IPFC compiler won't accept more than 14 fonts of a specific size in one 
  2476.  document. 
  2477.  
  2478.  Codepage 
  2479.  
  2480.  For IPF you can enter a codepage number with three digits like 437 or 850 . 
  2481.  
  2482.  Colors 
  2483.  
  2484.  All hypertext formats supports colors. The colors for the different target 
  2485.  formats are distinguished by case sensitive color names. 
  2486.  
  2487.  For HTML and Winhelp, the color names have to begin with a capital letter and 
  2488.  the following letters are small ones. There are 16 colors: 
  2489.  
  2490.   Black Silver Gray White Maroon Red Purple Fuchsia Green Lime Olive Yellow 
  2491.  Navy Blue Teal Aqua 
  2492.  
  2493.  IPF knows the following colors for the font: 
  2494.   default blue cyan green neutral red yellow black 
  2495.  Note that the colors are written in small letters. IPF is the only format 
  2496.  which lets you define background colors. The background colors are the same, 
  2497.  but written completely in capital letters. 
  2498.  
  2499.  other attributes 
  2500.  
  2501.  You can define a font with a center attribute, so you do not need the output 
  2502.  centered dot command. 
  2503.  
  2504.  There are two other font attributes. OmitLinks is described in linking, 
  2505.  Omitting links; LineStandard in line drawing. 
  2506.  
  2507.  
  2508. ΓòÉΓòÉΓòÉ 5.4.2. HTML Phrase element samples ΓòÉΓòÉΓòÉ
  2509.  
  2510.  
  2511. The output of phrase element commands depends on the browser. 
  2512.  
  2513. HTML Phrase Elements cannot be shown with this Hypertext format. 
  2514.  
  2515.  
  2516. ΓòÉΓòÉΓòÉ 5.4.3. Color samples ΓòÉΓòÉΓòÉ
  2517.  
  2518. IPF Colors: 
  2519.  
  2520. foreground 
  2521.  
  2522. default 
  2523. blue 
  2524. cyan 
  2525. green 
  2526. neutral 
  2527. red 
  2528. yellow 
  2529. black 
  2530.  
  2531. background 
  2532.  
  2533. DEFAULT 
  2534. BLUE 
  2535. CYAN 
  2536. GREEN 
  2537. NEUTRAL 
  2538. RED 
  2539. YELLOW 
  2540. BLACK 
  2541.  
  2542.  
  2543. ΓòÉΓòÉΓòÉ 5.5. Unordered lists and ordered lists ΓòÉΓòÉΓòÉ
  2544.  
  2545. The following text represents an unordered list: 
  2546.  
  2547.      Style 
  2548.         -  font (default, Tms_Rmn, Helv, Courier, System_VIO) 
  2549.         -  size 
  2550.      Color 
  2551.         -  foreground color (default, blue, cyan, green, neutral, red, yellow, 
  2552.            black) 
  2553.         -  background color (same colors as foreground color). 
  2554.  
  2555.  Resize the window with your mouse and observe the formatting of the text. You 
  2556.  won't get this effect when using normal characters and spaces. 
  2557.  
  2558.  In IPF and HTML format, you can't change the list chars the viewer/browser 
  2559.  chooses. 
  2560.  
  2561.  Winhelp has no list functionality included, so Hypermake emulates that 
  2562.  functionality. Because Hypermake generates the lists, Winhelp is the only 
  2563.  format where you can influence the appearence of the lists: 
  2564.  
  2565.      The ini file setting List indention (project settings page "Winhelp") 
  2566.       influences the size of the left margin (dot command .LM) and the 
  2567.       indention of Lists. 
  2568.  
  2569.      With "printed listchars" you can choose which character is the left fat 
  2570.       dot. Capital O and small o are useful letters. You are allowed here to 
  2571.       use bitmap characters (command .BT bitmap text). A Bitmap character is a 
  2572.       special character which represents a bitmap file. A fine looking list dot 
  2573.       is BLACKDOT.BMP in the Hypermake folder BUTTONS\WINBMP. 
  2574.  
  2575.  
  2576.  The HTML and IPF command "Definition List" is not supported directly. You can 
  2577.  emulate it with the Hypermake auto margin command. 
  2578.  
  2579.  In the ini file (project settings page "spec. chars") you can define list 
  2580.  chars. List chars have to be at the beginning of a line. If the list chars in 
  2581.  the ini file are * for the first list level and = for the second level, then 
  2582.  to generate the list from the last page, you have to enter 
  2583.  
  2584.  
  2585.   * Style
  2586.   = font (default, Tms_Rmn, Helv, Courier, System_VIO)
  2587.   = size
  2588.   * Color
  2589.   = foreground color (default, blue, cyan, green, neutral, red, yellow, black)
  2590.   = background color (same colors as foreground color).
  2591.  
  2592.  You can add list chars for further levels. Other useful chars are the square 
  2593.  Alt-254, the graphical double/single slash Alt-205/Alt-196 and the normal 
  2594.  slash -. 
  2595.  
  2596.  To enter normal text after writing an unordered list, you have to enter a 
  2597.  paragraph. 
  2598.  
  2599.  You can put more spaces before and after the list char, they will be ignored. 
  2600.  The same result as above will be produced by: 
  2601.  
  2602.  
  2603.    *  Style
  2604.      =  font (default, Tms_Rmn, Helv, Courier, System_VIO)
  2605.      =  size
  2606.  
  2607.  subchapters: 
  2608.  Ordered lists 
  2609.  
  2610.  next chapter: 
  2611.  Including Bitmaps 
  2612.  
  2613.  
  2614. ΓòÉΓòÉΓòÉ 5.5.1. Ordered lists ΓòÉΓòÉΓòÉ
  2615.  
  2616. An ordered list counts with 1., 2., 3., and, in the second list level, with a., 
  2617. b., c. The third list level will be numeric again and so on. You can't change 
  2618. this. 
  2619.  
  2620. To create an ordered list, you first have to proceed like writing an unordered 
  2621. list.  With the dot commands ordered list and unordered list 
  2622.  
  2623.  
  2624.  .OL
  2625.  .UL
  2626.  
  2627. you can switch between ordered and unorderd lists. So you can use this two 
  2628. commands as brackets to get an ordered list. The default setting is unordered 
  2629. list. 
  2630.  
  2631.  
  2632. ΓòÉΓòÉΓòÉ 5.6. Including Bitmaps ΓòÉΓòÉΓòÉ
  2633.  
  2634. To include a big bitmap centered, you can use the dot command bitmap 
  2635.  
  2636.  
  2637.  .BM filename
  2638.  
  2639. If you write the filename without extension when creating IPF files, ".BMP" 
  2640. will be automatically added. IPFC also supports OS/2-MET-files. 
  2641.  
  2642. Remember that both IPF and Winhelp are using BMP files, but IPF wants to get 
  2643. OS/2 Bitmap files and Winhelp Windows Bitmap files. Use the graphic path 
  2644. setting to copy the right BMP files for both target formats. 
  2645.  
  2646. If you write the filename without extension, ".BMP" will be automatically added 
  2647. when creating Winhelp files. 
  2648.  
  2649. When creating HTML files, ".GIF" is automatically added, if you write the 
  2650. filename without extension. 
  2651.  
  2652. Instead of a filename, the BM dot command accepts also the keywords LEFT  RIGHT 
  2653. CENTER (CENTER only IPF). The default setting is LEFT . The setting is active 
  2654. until you change it a second time. E. g. to include a graphics file with right 
  2655. alignment, enter: 
  2656.  
  2657.  
  2658.  .BM RIGHT
  2659.  .BM filename
  2660.  
  2661. In HTML, with the default stting CENTER you will get a bitmap with left 
  2662. alignment with no floating text. 
  2663.  
  2664. With the second dot command bitmap text, you can include bitmaps in text. 
  2665.  
  2666.  
  2667.  .BTX filename
  2668.  
  2669.  X represents a bitmap char, a special character you don't need in your text. 
  2670. This character will be replaced in your text by the bitmap "filename". Note 
  2671. that bitmaps are bigger than characters, so you will get a greater line hight 
  2672. at the lines with included bitmaps, even if the bitmap is as small as a 
  2673. character. Block chars like Γûá (Alt-219), Γûá (Alt-220), Γûá (Alt-223) are useful 
  2674. bitmap chars (IBM codepage). 
  2675.  
  2676. You are allowed to define several bitmap chars simultaneously. 
  2677.  
  2678. To deactivate a character-bitmap definition, you can enter 
  2679.  
  2680.  
  2681.  .BTX
  2682.  
  2683. without a filename. 
  2684.  
  2685. (new in Hypermake 3.65) If the graphics files are not placed in the current 
  2686. directory, you can set a directory with 
  2687.  
  2688.  
  2689.  .BD directory/
  2690.  
  2691. with bitmap directory. directory/ is placed in front of every filename in the 
  2692. .BM and .BT commands which follows. Don't forget the Backslash \ or Slash  / . 
  2693. This command does not affect HTML navigation buttons. Copying graphic files is 
  2694. deactivated when using .BD . 
  2695.  
  2696.  
  2697. ΓòÉΓòÉΓòÉ 5.7. Linking and Indexing ΓòÉΓòÉΓòÉ
  2698.  
  2699.  
  2700. subchapters: 
  2701. Introduction 
  2702. Marking a single word, Changing the index char 
  2703. Marking a phrase of several words in the running text 
  2704. Marking a phrase outside the running text 
  2705. Handling of endings, uppercase and lowercase letters 
  2706. Marking a word several times 
  2707. Omitting links 
  2708. External links (IPF/Winhelp4) 
  2709. External links to the WWW 
  2710. Launching programs by links 
  2711.  
  2712. next chapter: 
  2713. duplication of heading text 
  2714.  
  2715.  
  2716. ΓòÉΓòÉΓòÉ 5.7.1. Introduction ΓòÉΓòÉΓòÉ
  2717.  
  2718.  
  2719. Linking is the most powerful function of Hypermake. When writing an HTML, RTF 
  2720. or IPF file directly, you have to create every link by yourself - so if you 
  2721. write a document of 1 MB about workgroup computing and you have the occurrence 
  2722. of the phrase "workgroup computing" one thousand times, it's your job to create 
  2723. one thousand links... 
  2724.  
  2725. With Hypermake, your job is only to mark one occurrence of a single word or a 
  2726. phrase of several words with a special character (index char). All other 
  2727. occurrences will get a link to the marked occurrence (link target). 
  2728. Simultaneously, it will be placed in the index. 
  2729.  
  2730. When creating HTML files, an index in alphabetic order is written in a seperate 
  2731. HTML file. This index file has got two kinds of appearence: A simple index and 
  2732. an extended index. The simple index is for only a few index entries, the 
  2733. extended index is for a bigger number of entries. The extended index has got 
  2734. links for the letters A to Z, the simple index not. You can enter the number of 
  2735. index entries to activate the extended index in the ini file, entries for 
  2736. extended index (project settings page "html-1"). 
  2737.  
  2738. On page HTML-0 of the project settings notebook, you can omit the creation of 
  2739. the index page when creating HTML. This can be recommended when compiling a 
  2740. small web page where only a small number index entries wouldn't look adequate. 
  2741.  
  2742.  
  2743. ΓòÉΓòÉΓòÉ 5.7.2. Marking a single word, Changing the index char ΓòÉΓòÉΓòÉ
  2744.  
  2745. Marking a single word 
  2746.  
  2747. You can mark a single word for linking and indexing with the index char, 
  2748. defined in the ini file. 
  2749.  
  2750.  
  2751. A #workgroup is a group of people...
  2752.  
  2753. Note: Do not use index chars in headings, use automatic duplication of heading 
  2754. text instead. 
  2755.  
  2756. Changing the index char 
  2757.  
  2758. You also can change the index char in the text by using the dot command index 
  2759. char 
  2760.  
  2761.  
  2762.  .IC@
  2763.  
  2764. This will change the index char from the actual setting, for example # , to @ . 
  2765.  
  2766.  
  2767. ΓòÉΓòÉΓòÉ 5.7.3. Marking a phrase of several words in the running text ΓòÉΓòÉΓòÉ
  2768.  
  2769.  
  2770. When using the index char, only one word will be marked. A word ends with the 
  2771. first character which is not a letter or "-". (Characters which have to be 
  2772. handled like letters can be defined in the ini file, extended letters, project 
  2773. settings page "spec. chars"). 
  2774.  
  2775. To mark a phrase, you have to use ":" as brackets: 
  2776.  
  2777.  
  2778. Today, the #:security of computers: is...
  2779.  ...
  2780. Nevertheless, the #:security of mainframes: can be...
  2781.  ...
  2782. But the #:usability of computers; has to...
  2783.  
  2784. In the index, it will appear 
  2785.  
  2786. computers, usability of 
  2787. security 
  2788.     of computers 
  2789.     of mainframes 
  2790.  
  2791.  Note the difference between the first/second and the third example: A 
  2792.  "#:XXXX:" will use the first word of the phrase as the leading word, a 
  2793.  "#:XXXX;" the last word. The leading word is the word which determines the 
  2794.  alphabetic order in the index. The leading word does not refer to the linking 
  2795.  function. 
  2796.  
  2797.  If there is only one occurrence of a leading word like 
  2798.  
  2799.  computers 
  2800.     usability of 
  2801.  
  2802.  the Hypermake entry in the index will be: 
  2803.  
  2804.  computers, usability of 
  2805.  
  2806.  You are allowed to use the "colon brackets" to crop endings: 
  2807.  
  2808.  
  2809.   The importance of #:computer:s is growing...
  2810.  
  2811.  In the index "computer" will appear without "s", also the link target will be 
  2812.  "computer" and not "computers". 
  2813.  
  2814.  
  2815. ΓòÉΓòÉΓòÉ 5.7.4. Marking a phrase outside the running text ΓòÉΓòÉΓòÉ
  2816.  
  2817. With the dot command INdex 
  2818.  
  2819.  
  2820.  .IN phrase
  2821.  
  2822. you can place a word or a phrase in the index and define it as a link target. 
  2823. Because it's a dot command, "phrase" won't be printed. You can use this 
  2824. command, when the phrase you want to place in the index and you want to link 
  2825. doesn't appear explicitly in the running text. 
  2826.  
  2827. Normally, the first word of the phrase will be the leading word. If you want to 
  2828. make the last word the leading word like using the brackets colon-semicolon in 
  2829. running text, you can use the dot command index turned. 
  2830.  
  2831.  
  2832.  .IT usability of computers
  2833.  
  2834. When the phrase in the dot command IN or IT ends with a space, links won't be 
  2835. created, but the phrase is placed into the index. You can use this bug as a 
  2836. feature. 
  2837.  
  2838.  
  2839. ΓòÉΓòÉΓòÉ 5.7.5. Handling of endings, uppercase and lowercase letters ΓòÉΓòÉΓòÉ
  2840.  
  2841. Handling of endings 
  2842.  
  2843. What to do when the source link word is "computers" and the marked word is 
  2844. "computer" without "s"? In this case, Hypermake will create the link 
  2845. nevertheless, because the ending "s" is defined in the ini file (endings of 
  2846. words, project settings page "Link"). Note when using other languages you have 
  2847. to edit the "endings of words". 
  2848.  
  2849. Marking a word with an ending is not recommended, because when the word occurs 
  2850. without the ending, the link won't be created. 
  2851.  
  2852. To find the corresponding word even in the case "query" "queries", Hypermake 
  2853. crops the last letter of the word when it's a vowel (in this case "y"). That's 
  2854. the correct method for the english and german language (and I hope it's okay in 
  2855. the other languages, too). 
  2856.  
  2857. Uppercase and lowercase letters 
  2858.  
  2859. Links are created, regardless of whether the first letter in the target link 
  2860. phrase is capitalised. If other chars than the first letter are different, the 
  2861. link won't be created. Sample: 
  2862.  
  2863.  
  2864.  .IN Word
  2865.  
  2866. Links are created to Word , word , but not to WORD . 
  2867.  
  2868. (new in Hypermake 3.65) With the dot command 
  2869.  
  2870.  
  2871.  .IU
  2872.  
  2873. (ignore uppercase) at the beginning of the source text will  ignore uppercase 
  2874. and lowercase letters. 
  2875.  
  2876.  
  2877. ΓòÉΓòÉΓòÉ 5.7.6. Marking a word several times ΓòÉΓòÉΓòÉ
  2878.  
  2879.  
  2880. Hypermake expects a word or a phrase to be marked only once. If you mark a word 
  2881. several times, it will appear several times in the index, and the link target 
  2882. will be the first marked phrase. 
  2883.  
  2884.  
  2885. ΓòÉΓòÉΓòÉ 5.7.7. Omitting links ΓòÉΓòÉΓòÉ
  2886.  
  2887. Of course, links are omitted when the link would point to the same window 
  2888. (chapter). Links are also omitted when there is more than one occurrence of the 
  2889. target link phrase in the paragraph. For example dot command dot command dot 
  2890. command - only the first occurrence of "dot command" in the paragraph gets the 
  2891. link. 
  2892.  
  2893. If you want to omit several links of the same phrase in the whole window and 
  2894. not only in the same paragraph, you can edit the ini file, switch no more links 
  2895. in (project settings page "Link", "paragraph" or "window"). With this setting, 
  2896. you can also turn of the omitting functionality ("always"). 
  2897.  
  2898. Sometimes it can be useful to omit links font specific, for example in sample 
  2899. text. You can define fonts which omit links automatically with the Font switch, 
  2900. setting OmitLinks in the ini file (Font Dialog on project settings page 
  2901. "Font"). 
  2902.  
  2903. Of course you are allowed to define another font with identical parameters, but 
  2904. with the OmitLinks setting. So you can omit links without really changing the 
  2905. font. 
  2906.  
  2907.  
  2908. ΓòÉΓòÉΓòÉ 5.7.8. External links (IPF/Winhelp4) ΓòÉΓòÉΓòÉ
  2909.  
  2910. External links are links to chapters of other INF or HLP files or links to the 
  2911. WWW. You can only create links to other help files if you write the remote help 
  2912. file by yourself or you know the ID names of the pages you want to link to. 
  2913.  
  2914. External links are not supported by Winhelp3. 
  2915.  
  2916. For creating Winhelp, Panel ID files are not used. When compiling IPF, 
  2917. Hypermake gets the information about the link target from the Panel ID file of 
  2918. the remote helpfile. The other steps are identical for both formats. 
  2919.  
  2920. To create such external links, you have to edit 
  2921.  
  2922.      the ini file or project settings, page help (IPF only) 
  2923.      the file which is shown when using the link (link target file) 
  2924.      the file from where the link is executed (link start file). 
  2925.  
  2926.  
  2927.  External links for IPF are using the Hypermake function panel ID. But you need 
  2928.  not read the panel ID chapter. 
  2929.  
  2930.  Ini file 
  2931.  
  2932.  After "Panel ID filename =" in the ini file (project settings page 
  2933.  "Helpfile"), you have to enter a file extension beginning with *. like 
  2934.  
  2935.  
  2936.   Panel ID filename = *.PAN
  2937.  
  2938.  Compiling the link target file with Hypermake automatically generates a panel 
  2939.  ID file with the file name of the source text file and the extension PAN. This 
  2940.  panel ID file is used by Hypermake when compiling the link start file. 
  2941.  
  2942.  Link target file 
  2943.  
  2944.  When indexing headings, Hypermake assigns numbers to the headings 
  2945.  automatically beginning with 1. It would be tedious to remember a heading ID 
  2946.  number like 237 - and the number changes when a new heading is inserted - so 
  2947.  instead of a ID number, you enter an easy to remember constant like 
  2948.  Chapter_beginning. With the dot command 
  2949.  
  2950.  
  2951.    .ID Chapter_beginning
  2952.  
  2953.  in the link target file, the chapter gets this ID name, e.g. 
  2954.  "Chapter_beginning", where the dot command is placed, see file SAMPLE. 
  2955.  
  2956.  When creating IPF, all these ID names are placed in a file Sourcefilename.PAN, 
  2957.  or with another extension, depending on the entry in the ini file. This panel 
  2958.  ID file is used by Hypermake for IPF when compiling the link start file. 
  2959.  
  2960.  Link start file 
  2961.  
  2962.  In the file where the external link is executed from, the ID dot command of 
  2963.  the link target file has to be repeated. Then the dot commands for normal 
  2964.  links .IN and .IT (index turned) are used as usual. These dot commands are 
  2965.  placed between two new .EX dot commands. 
  2966.  
  2967.  
  2968.    .EX filename.hlp
  2969.    .ID Chapter_beginning
  2970.    .IN expression
  2971.    .EX
  2972.  
  2973.  After the EX dot command, you can enter the filename of the external hypertext 
  2974.  file. Note that the extensions INF and HLP are allowed. All following ID, IN 
  2975.  and IV dot commands are referenced to the external file until EX is entered 
  2976.  with a new filename or without any parameters. You must not write normal text 
  2977.  between the two EX commands. 
  2978.  
  2979.  All expressions "expression" in the link start file are getting an external 
  2980.  link to the chapter of the file filename.inf or filename.hlp, marked with the 
  2981.  ID dot command ".ID P_Chapter_beginning". 
  2982.  
  2983.  It does not matter where the .EX - .EX block is placed in the link start file. 
  2984.  
  2985.  Pascal programmers have to pay attention: the constant following the ID dot 
  2986.  command is case sensitive! 
  2987.  
  2988.  Always take a look at the date of the IPF files: If you change the link target 
  2989.  file, Hypermake has to compile this file before compiling the link start file 
  2990.  - because of updating the panel ID file. 
  2991.  
  2992.  When entering a filename 
  2993.  
  2994.  
  2995.    .EX filename.hlp
  2996.  
  2997.  you normally should not enter drive letters and directory names, because on 
  2998.  several computers the file can be located at different drives and directories. 
  2999.  You need not enter any directory names if the link target file is located in 
  3000.  the same directory as the link source file. You won't have any problems 
  3001.  either, if the directory appears after "SET BOOKSHELF" in the file CONFIG.SYS. 
  3002.  If these two possibilities do not work, you should use environment variables. 
  3003.  
  3004.  Try the sample external links or click to the expressions chancellor, SPD and 
  3005.  CDU (only if this document is a Win95 or OS/2 help file). While writing this 
  3006.  hypertext (that's the link start file) I have entered somewhere the following 
  3007.  commands: 
  3008.  
  3009.  
  3010.    .EX sample.hlp
  3011.    .ID chapter_chancellor
  3012.    .IN chancellor
  3013.    .ID chapter_political_parties
  3014.    .IN SPD
  3015.    .IN CDU
  3016.    .EX
  3017.  
  3018.  In the file SAMPLE which is the link target, you also can find the two ID dot 
  3019.  commands in the specific chapters about chancellor and political parties. 
  3020.  
  3021.  
  3022. ΓòÉΓòÉΓòÉ 5.7.9. External links to the WWW ΓòÉΓòÉΓòÉ
  3023.  
  3024. This functionality is supported by all formats, but not by Winhelp3. From help 
  3025. files, the browser is started automatically. 
  3026.  
  3027. To use the functionality in OS/2 help files, the user needs to have a browser 
  3028. NETSCAPE.EXE in a directory listed in the PATH statement of the CONFIG.SYS 
  3029. file. 
  3030. When using Win95/NT and a Winhelp file, the browser with the HTML file default 
  3031. association is started. 
  3032.  
  3033. External mailto: links (starting the browser E-Mail program) are neither 
  3034. supported in Winhelp3 nor in Winhelp4. 
  3035.  
  3036. Manual external links 
  3037.  
  3038. If Hypermake locates an expression beginning with a transfer protocol name and 
  3039. a colon like ftp://ftp.leo.org, the link is activated automatically. The end of 
  3040. such a URL address is SPACE or RETURN or , or ) or ;. This feature is always 
  3041. active, but you can turn it off by using a font with OmitLinks setting. 
  3042.  
  3043. Transfer protocol names are: 
  3044. http:// 
  3045. ftp:// 
  3046. gopher:// 
  3047. wais:// 
  3048. news:// 
  3049. file:// 
  3050. javascript: 
  3051. mailto: 
  3052.  
  3053. Automatic external links 
  3054.  
  3055. With Hypermake you can define a word or a phrase getting a link to an URL. That 
  3056. means all specific words/phrases in the document are pointing to a specific 
  3057. internet address. For example if all occurences of "Netscape" and 
  3058. "Netscape-Browser" should point to the Netscape page in the internet, you have 
  3059. to enter: 
  3060.  
  3061.  
  3062.  .URL http://home.netscape.com
  3063.  .IN Netscape
  3064.  .IN Netscape-Browser
  3065.  .LOCAL
  3066.  
  3067. Note that the well-known IN-commands have to be placed between a ".URL" and a 
  3068. ".LOCAL" command. So before writing normal text, don't forget the ".LOCAL" 
  3069. command. I recommend to place all these URL links at the beginning or end of 
  3070. the text. 
  3071.  
  3072. Marking external links 
  3073.  
  3074. You can set a graphics file in the ini file, setting URL graphics file (project 
  3075. settings page "Link") which is placed in front of every external link. So the 
  3076. user can distinguish between links where he need not to be online and external 
  3077. links where he needs to be online (which are starting a browser from the help 
  3078. file). Please turn off this functionality with  URL graphics file = NO if you 
  3079. want to publish HTML files in the WWW, because external links are here 
  3080. absolutely normal. 
  3081.  
  3082. The BMP and GIF files WORLD and WORLD2 In the Hypermake Library of buttons 
  3083. (directory BUTTONS) serves this purpose. 
  3084.  
  3085.  
  3086. ΓòÉΓòÉΓòÉ 5.7.10. Launching programs by links ΓòÉΓòÉΓòÉ
  3087.  
  3088. Similar to external links, you can create links from Help files to external 
  3089. programs, that means launching programs. 
  3090.  
  3091. This functionality is supported by Winhelp3, Winhelp4 and IPF and does not work 
  3092. with HTML. 
  3093.  
  3094.  
  3095.  .EX NOTEPAD.EXE SAMPLE.TXT
  3096.  .IN file SAMPLE for Windows
  3097.  .EX E.EXE SAMPLE.TXT
  3098.  .IN file SAMPLE for OS/2
  3099.  .EX
  3100.  
  3101. If the user clicks to file SAMPLE for Windows or file SAMPLE for OS/2, the 
  3102. external program is launched. In the EX dot command, the parameters behind the 
  3103. program filename are optional. Program name and parameter are divided by a 
  3104. space character. The extension .EXE has to be entered! You can also launch 
  3105. batch files with the extension .CMD  or DOS programs with the suffix .BAT or 
  3106. .COM . 
  3107.  
  3108. You can enter several IN dot commands after one EX command, for example to get 
  3109. links with the expression "parrot" and "bird movie". 
  3110.  
  3111. Winhelp3 has got problems when locating the data file, in this sample 
  3112. SAMPLE.TXT, because it does not remember the current path of the help file, 
  3113. Winhelp4 and IPF does not have these problems. Use environment variables in 
  3114. this case or avoid launching programs with a data file. 
  3115.  
  3116. To use an expression like "CONFIG.SYS" or "bird (movie)" as a link target, the 
  3117. dot and the parenthesis have to be defined as extended letters. 
  3118.  
  3119. If the files are not located in the same directory at different computers, you 
  3120. should use environment variables. 
  3121.  
  3122. subchapters: 
  3123. Environment variables 
  3124.  
  3125. next chapter: 
  3126. duplication of heading text 
  3127.  
  3128.  
  3129. ΓòÉΓòÉΓòÉ 5.7.10.1. Environment variables ΓòÉΓòÉΓòÉ
  3130.  
  3131. When creating external links and when launching programs, environment variables 
  3132. can be useful and necessary. 
  3133.  
  3134. If you want to use a help file on different computers, directory names should 
  3135. be substituted by environment variables, e.g. %MMVIDEO%. On every computer 
  3136. using your hypertext, the file CONFIG.SYS (OS/2) AUTOEXEC.BAT (DOS, Win95) or 
  3137. the Registry (NT) should have for example the following entry: 
  3138.  
  3139.  
  3140. SET MMVIDEO=C:\MMOS2\MOVIES
  3141.  
  3142. In the Hypermake source file, you can use this variable: 
  3143.  
  3144.  
  3145.  .EX mppm.exe %MMVIDEO%\macaw.avi
  3146.  .IN parrot
  3147.  .EX
  3148.  
  3149. The operating system replaces the expression %MMVIDEO% with the drive and 
  3150. directory name listed in the SET statement. 
  3151.  
  3152. In the same way you can create external links. 
  3153.  
  3154. But take care of the directory names ending with semicolon: 
  3155.  
  3156.  
  3157. SET MMBASE=C:\MMOS2;
  3158.  
  3159. In this case the environment variable does not work (at least with OS/2) and 
  3160. the link won't be created. 
  3161.  
  3162.  
  3163. ΓòÉΓòÉΓòÉ 5.8. duplication of heading text ΓòÉΓòÉΓòÉ
  3164.  
  3165. The appearance and placement of the headings depends on the target format: IBM 
  3166. Help places the heading into the titlebar, HTML places the heading into the 
  3167. text area. By default, Winhelp doesn't show any heading - in any case Hypermake 
  3168. needs to act here. 
  3169.  
  3170. It's often necessary to use the heading text as a link target, to place it into 
  3171. the index and - interesting for IPF - to duplicate the heading text in the text 
  3172. window with a bigger or colored font: 
  3173.  
  3174.  
  3175.  .3
  3176.  heading text
  3177.  
  3178.  .IN heading text
  3179.  .sfX
  3180.  heading text
  3181.  .sf
  3182.  
  3183. You can shorten this tedious job: Using the new dot command DuPlicate 
  3184.  
  3185.  
  3186.  .dpX
  3187.  
  3188. duplicates the heading text at the beginning of the text window, in all heading 
  3189. levels. 
  3190. That's useful if you write long heading text, because in the titlebar of OS/2 
  3191. INF files only the first 70 characters are shown on average. 
  3192. When compiling Winhelp, heading duplication is always activated. Otherwise the 
  3193. heading text would only appear in the search result list. With heading fonts in 
  3194. the ini file (project settings page "Winhelp") you can choose the font chars of 
  3195. the heading text. Of course these font chars have to be defined in the ini 
  3196. file. In addition, you can choose whether scrolling of the page also let the 
  3197. heading scroll or not. You can turn this setting off and on with keep heading . 
  3198.  
  3199. You can omit specific characters in the index and when duplicating heading text 
  3200. with the ini file setting index filter . 
  3201.  
  3202.  
  3203.  .dpX34
  3204.  
  3205. duplicates heading text only in heading level 3 and 4. 
  3206.  
  3207.  
  3208.  .dp-
  3209.  
  3210. turns off the duplication of heading text for all heading levels. 
  3211.  
  3212.  
  3213.  .dp-234
  3214.  
  3215. deactivates the duplication functionality only in the heading levels 2, 3 and 
  3216. 4. 
  3217.  
  3218.  
  3219.  .dp#
  3220.  
  3221. the heading text becomes a link target. Writing the heading text after the IN 
  3222. dot dommand is no longer necessary. Instead of # you can also write the index 
  3223. char you have chosen in the ini file (project settings page "spec. chars"). 
  3224.  
  3225.  
  3226.  .dp##
  3227.  
  3228. In addition to the last sample, the heading text is also listed in the index. 
  3229. But be carful with this function, because you will get a redundancy of 
  3230. information in the contents and the index. 
  3231. And a big index can dramatically slow down a (very big) OS/2 HLP or INF file! 
  3232.  
  3233.  
  3234.  .dp3##,
  3235.  .3
  3236.  Smith, John
  3237.  
  3238. in the text window (duplicated text), "John Smith" is shown, and that's also 
  3239. the link target. But in the window heading, the contents and the index, "Smith, 
  3240. John" is written. 
  3241.  
  3242. You can combine any of these commands, the order makes no difference. 
  3243.  
  3244. subchapters: 
  3245. Sample input 
  3246. Sample output 
  3247.  
  3248. next chapter: 
  3249. Tables 
  3250.  
  3251.  
  3252. ΓòÉΓòÉΓòÉ 5.8.1. Sample input ΓòÉΓòÉΓòÉ
  3253.  
  3254. .WA verti 40 
  3255. .dp4E#, 
  3256. .3 
  3257. Sample output 
  3258.  
  3259. German federal chancellors since 1949 
  3260.  
  3261. (CDU, SPD and chancellor are external links. Font E is defined in the ini 
  3262. file.) 
  3263.  
  3264. .4 
  3265. Adenauer, Konrad 
  3266.  
  3267. 1949-1963, CDU, first chancellor after the second world war. His successor was 
  3268. Ludwig Erhard. 
  3269.  
  3270. .4 
  3271. Erhard, Ludwig 
  3272.  
  3273. 1963-1966, CDU, Successor of Konrad Adenauer. Second chancellor of the Federal 
  3274. Republic of Germany. He was predecessor of Kurt Georg Kiesinger. 
  3275.  
  3276. .4 
  3277. Kiesinger, Kurt Georg 
  3278.  
  3279. 1966-1969, third chancellor of CDU, leader of the "big coalition" of the 
  3280. parties CDU and SPD. Successor of Ludwig Erhard. 
  3281.  
  3282. .4 
  3283. Brandt, Willy 
  3284.  
  3285. 1969-1974, first chancellor of the SPD. 
  3286.  
  3287. .4 
  3288. Schmidt, Helmut 
  3289.  
  3290. 1974-1982, chancellor of the SPD. Successor of Willy Brandt. 
  3291.  
  3292. .4 
  3293. Kohl, Helmut 
  3294.  
  3295. chancellor of the CDU from 1982 till 1998. His predecessor was Helmut Schmidt. 
  3296.  
  3297. .4 
  3298. Schroeder, Gerhard 
  3299.  
  3300. current chancellor of the SPD. His predecessor was Helmut Kohl. 
  3301.  
  3302.  
  3303. ΓòÉΓòÉΓòÉ 5.8.2. Sample output ΓòÉΓòÉΓòÉ
  3304.  
  3305. german federal chancellors since 1949 
  3306.  
  3307. (CDU, SPD and chancellor are external links. Font R is defined in the ini 
  3308. file.) 
  3309.  
  3310. subchapters: 
  3311. Adenauer, Konrad 
  3312. Erhard, Ludwig 
  3313. Kiesinger, Kurt Georg 
  3314. Brandt, Willy 
  3315. Schmidt, Helmut 
  3316. Kohl, Helmut 
  3317. Schroeder, Gerhard 
  3318.  
  3319. next chapter: 
  3320. Tables 
  3321.  
  3322.  
  3323. ΓòÉΓòÉΓòÉ 5.8.2.1. Adenauer, Konrad ΓòÉΓòÉΓòÉ
  3324.  
  3325.  
  3326.  Konrad Adenauer 
  3327.  
  3328. 1949-1963, CDU, first chancellor after the second world war. His successor was 
  3329. Ludwig Erhard. 
  3330.  
  3331.  
  3332. ΓòÉΓòÉΓòÉ 5.8.2.2. Erhard, Ludwig ΓòÉΓòÉΓòÉ
  3333.  
  3334.  
  3335.  Ludwig Erhard 
  3336.  
  3337. 1963-1966, CDU, Successor of Konrad Adenauer. Second chancellor of the Federal 
  3338. Republic of Germany. He was predecessor of Kurt Georg Kiesinger. 
  3339.  
  3340.  
  3341. ΓòÉΓòÉΓòÉ 5.8.2.3. Kiesinger, Kurt Georg ΓòÉΓòÉΓòÉ
  3342.  
  3343.  
  3344.  Kurt Georg Kiesinger 
  3345.  
  3346. 1966-1969, third chancellor of CDU, leader of the "big coalition" of the 
  3347. parties CDU and SPD. Successor of Ludwig Erhard. 
  3348.  
  3349.  
  3350. ΓòÉΓòÉΓòÉ 5.8.2.4. Brandt, Willy ΓòÉΓòÉΓòÉ
  3351.  
  3352.  
  3353.  Willy Brandt 
  3354.  
  3355. 1969-1974, first chancellor of the SPD. 
  3356.  
  3357.  
  3358. ΓòÉΓòÉΓòÉ 5.8.2.5. Schmidt, Helmut ΓòÉΓòÉΓòÉ
  3359.  
  3360.  
  3361.  Helmut Schmidt 
  3362.  
  3363. 1974-1982, chancellor of the SPD. Successor of Willy Brandt. 
  3364.  
  3365.  
  3366. ΓòÉΓòÉΓòÉ 5.8.2.6. Kohl, Helmut ΓòÉΓòÉΓòÉ
  3367.  
  3368.  
  3369.  Helmut Kohl 
  3370.  
  3371. chancellor of the CDU from 1982 till 1998. His predecessor was Helmut Schmidt. 
  3372.  
  3373.  
  3374. ΓòÉΓòÉΓòÉ 5.8.2.7. Schroeder, Gerhard ΓòÉΓòÉΓòÉ
  3375.  
  3376.  
  3377.  Gerhard Schroeder 
  3378.  
  3379. current chancellor of the SPD. His predecessor was Helmut Kohl. 
  3380.  
  3381.  
  3382. ΓòÉΓòÉΓòÉ 5.9. Tables ΓòÉΓòÉΓòÉ
  3383.  
  3384. Hypermake 3.0 supports easy creation of tables. You enter tables like you do it 
  3385. in an ASCII text with a fixed font: 
  3386.  
  3387.  
  3388.  .TA Sample
  3389.  first cell  numbers   -----third and fourth-----
  3390.  first cell    97.96  third cell   fourth cell+
  3391.  first cell  1.324.90  third cell   2nd line
  3392.  first cell    0.00  third cell   hyphen-
  3393.  first cell   -123.45  "       append
  3394.  .TA
  3395.  
  3396. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  3397. Γöéfirst cell  Γöénumbers   Γöéthird and    Γöé           Γöé
  3398. Γöé            Γöé          Γöéfourth       Γöé           Γöé
  3399. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3400. Γöéfirst cell  Γöé97.96     Γöéthird cell   Γöéfourth cellΓöé
  3401. Γöé            Γöé          Γöé             Γöé2nd line   Γöé
  3402. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3403. Γöéfirst cell  Γöé1.324.90  Γöéthird cell   Γöé           Γöé
  3404. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3405. Γöéfirst cell  Γöé0.00      Γöéthird cell   Γöéhyphen-    Γöé
  3406. Γöé            Γöé          Γöé             Γöéappend     Γöé
  3407. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3408. Γöéfirst cell  Γöé-123.45   Γöé             Γöé           Γöé
  3409. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  3410.  
  3411. The IPF table functionality is restricted in comparison to HTML. Don't use " 
  3412. and + chars. Hypermake tries to make it's best, but the result is often not 
  3413. good enough. IPFC only supports fixed fonts within tables. 
  3414.  
  3415. The RTF table functionality does not draw lines, so the " char does not make 
  3416. sense. The + char is supported, but the result is not very good. 
  3417.  
  3418. A table begins with a .TA dot command, followed by a title for the table. If 
  3419. the table hasn't got a title, then write .TA NO . .TA , immediately followed by 
  3420. a Return, closes the table. 
  3421.  
  3422. Winhelp und IPF don't support table titles. If you want to create this formats, 
  3423. write the title outside the table and then begin the table with .TA NO . 
  3424.  
  3425. You principally edit the table like in an ASCII text with fixed font. Please 
  3426. note: 
  3427.  
  3428.      Between two cells, there have to be two spaces. This is the separation 
  3429.       criterion for the two cells. It's not necessary that two rows are 
  3430.       completely filled with spaces, only one row is necessary. Right or left 
  3431.       formatting makes no difference - formatting is not relevant. 
  3432.      If you want to extend one cell to the bottom, type a quotation mark " to 
  3433.       the line above the cell. 
  3434.      If a cell has to be spread over two or more cells, fill the area of your 
  3435.       choice with hyphen chars - . Hypermake deletes the hyphen chars which are 
  3436.       not on their own, as in the negative number -123.45. 
  3437.      Text in several lines can be concatenated to one large cell by using the 
  3438.       plus char + at the end of the line, the + char will be deleted; or by 
  3439.       using a single hypen which won't be deleted. 
  3440.  
  3441.  
  3442.  If you can't use the + char, you can change this setting with the dot command 
  3443.  
  3444.   .tc X 
  3445.  
  3446.  (table character) will change the default + char setting to a character X of 
  3447.  your choice. 
  3448.  
  3449.  With the dot command 
  3450.  
  3451.   .TT 
  3452.  
  3453.  Table Tags you can change the HTML table tags. the default setting is 
  3454.  
  3455.   .TT BORDER CELLPADDING=5 
  3456.  
  3457.   .TT BORDER CELLPADDING=5 BGCOLOR="#D0D0D0" 
  3458.  
  3459.  uses gray background for the tables. This choice can be necessary if you use a 
  3460.  background graphic (see ini file or project settings page "html-1", setting 
  3461.  body tags) with lines. In this case the combination of table lines and 
  3462.  background graphic lines would reduce the visibility of the cells. 
  3463.  
  3464.  Since Hypermake 3.6, there are some useful additional settings especially for 
  3465.  HTML tables. 
  3466.  
  3467.  By default, HTML cells containing more digits than letters will be 
  3468.  right-justified, and in the reverse case left-justified. Cells which spread 
  3469.  over two or more cells will get centered text. You can override this default 
  3470.  mechanism with the .TP table position command: 
  3471.  
  3472.  
  3473.    .TA This is a Table
  3474.    .TP left
  3475.  
  3476.  Behind .TP you can enter left , right or center . 
  3477.  
  3478.  Then you can add a second new command .TE table empty. 
  3479.  
  3480.   ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  3481.   Γöéfirst cell  Γöénumbers   Γöéthird and    Γöé           Γöé
  3482.   Γöé            Γöé          Γöéfourth       Γöé           Γöé
  3483.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3484.   Γöéfirst cell  Γöé97.96     Γöéthird cell   Γöéfourth cellΓöé
  3485.   Γöé            Γöé          Γöé             Γöé2nd line   Γöé
  3486.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3487.   Γöéfirst cell  Γöé1.324.90  Γöéthird cell   Γöé           Γöé
  3488.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3489.   Γöéfirst cell  Γöé0.00      Γöéthird cell   Γöéhyphen-    Γöé
  3490.   Γöé            Γöé          Γöé             Γöéappend     Γöé
  3491.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3492.   Γöéfirst cell  Γöé-123.45   Γöé             Γöé           Γöé
  3493.   ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  3494.  
  3495.  Please compare the last column with the sample above. When .TE is activated, 
  3496.  every cell in a row gets the same height; instead you get empty cells. Use 
  3497.  this command if you have cells which rests empty. 
  3498.  
  3499.  The difference is difficult to eplain, you see. Simply use the .TE command if 
  3500.  Hypermake destroys your table otherwise. 
  3501.  
  3502.  The .TP and .TE setting is valid for the actual Table. The next table gets 
  3503.  again the default values. 
  3504.  
  3505.  Hint: If you have something like 
  3506.  
  3507.  
  3508.   maximal average speed+
  3509.   in kilometers per hour     180     240
  3510.  
  3511.  then you should better write the numbers one line higher to the line where the 
  3512.  cell with the two lines begins. In the other case, you will get two different 
  3513.  rows. 
  3514.  
  3515.  (new in Hypermake 3.65) With the new dot command  .TW Table word wrap, the 
  3516.  table fits the whole window width and RETURN in a cell is changed to SPACE, so 
  3517.  you get a new formatting in a cell. Like .TE , also .TW has to be placed after 
  3518.  .TA in every table. 
  3519.  
  3520.  
  3521. ΓòÉΓòÉΓòÉ 5.10. Line drawing ΓòÉΓòÉΓòÉ
  3522.  
  3523. Line drawing is best supported by IPF and does not look very good with HTML or 
  3524. Winhelp because of the lack of line drawing characters in the Ansi codepage. 
  3525.  
  3526. As creating boxes is usually a tedious job, a dot command has been defined to 
  3527. facilitate line drawing. The following example illustrates its use. 
  3528.  
  3529.  
  3530.  .LIXY
  3531.  
  3532.    X              X
  3533.  
  3534.       Operating systems
  3535.  
  3536.    Y         ZY         X       X
  3537.       Novell     IBM        Hardware
  3538.    Y    Y              X       X
  3539.      DOS  Netware   OS/2
  3540.    X              X
  3541.  .LI
  3542.  
  3543. The result will be: 
  3544.  
  3545.  
  3546.       ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  3547.       Γöé                           Γöé
  3548.       Γöé     Operating systems     Γöé
  3549.       Γöé                           Γöé
  3550.       Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ      ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  3551.       Γöé      Novell     Γöé  IBM    Γöé      Γöé  Hardware  Γöé
  3552.       Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ      ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  3553.       Γöé  DOS  Γöé Netware Γöé  OS/2   Γöé
  3554.       ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  3555.  
  3556. In the dot command .LIXYZ , X represents a special character marking the 
  3557. corners of the box, Y a partition of the box. Z, placed in front of X or Y, 
  3558. generates double lines (only IPF). 
  3559.  
  3560. You can change the standard font for line drawing in the ini file (Font Dialog 
  3561. on project settings page "Font"), font setting LineStandard. 
  3562.  
  3563. With IPF, mixed single/double line characters are only supported by Codepage 
  3564. 437. When using foreign language letters which aren't supported in Codepage 
  3565. 437, don't use double lines. 
  3566.  
  3567.  
  3568. ΓòÉΓòÉΓòÉ 5.11. Footnotes ΓòÉΓòÉΓòÉ
  3569.  
  3570. The help formats IPF and Winhelp supports footnote popup windows. With HTML, 
  3571. Hypermake generates frames to show footnotes. 
  3572.  
  3573. Generating Footnotes with Hypermake is very simple. For example, footnote text 
  3574. can be quoted in brackets like {This will be the content of the footnote} after 
  3575. entering the dot command footnote usage 
  3576.  
  3577.  .FU{} 
  3578.  
  3579. Instead of the brackets and the footnote text, a star character or a graphics 
  3580. file appears on which you can click with the mouse. 
  3581.  
  3582. Other useful footnote bracket chars are [ ], < > or Γûá (Alt-220) Γûá (Alt-223) 
  3583. (only IBM codepage). 
  3584.  
  3585. For HTML, you can add a font character to the footnote dot command: 
  3586.  
  3587.  .FU{}sfX 
  3588.  
  3589. This will select font X in the HTML footnote window. 
  3590.  
  3591. With the dot command footnote size 
  3592.  
  3593.  .FS 30 
  3594.  
  3595. you can change the size percent of the footnote window. Default is 15 percent. 
  3596. You have to place this command before beginning a new chapter with the changed 
  3597. window sizes. 
  3598.  
  3599. You can temporary deactivate the footnote function by using the footnote 
  3600. command without parameters: 
  3601.  
  3602.  .FU 
  3603.  
  3604. or you can define other footnote chars. The default setting is no footnote 
  3605. chars. 
  3606.  
  3607. If you don't want to get "***" as a link to the footnote window, you can change 
  3608. the text "***" with the dot command footnote text 
  3609.  
  3610.  .FT XXX 
  3611.  
  3612. Instead of "***", the text "XXX" will appear. You are allowed to use a bitmap 
  3613. instead of a character or a text: 
  3614.  
  3615.  
  3616.  .BT& filename
  3617.  .FT&
  3618.  
  3619. (see bitmap text.) 
  3620.  
  3621. When creating HTML, you can choose the appearance of the footnotes. In the ini 
  3622. file, setting footnotes (project settings page "html-2") you can choose between 
  3623. frames , noframes and activex . The activex setting forces popup footnotes and 
  3624. is useful together with HTML-Help. For the activex setting, the user needs a 
  3625. Microsoft browser, so don't use this setting to publish in the Web! 
  3626.  
  3627. If you don't want to create HTML Frames for the footnote and text window, you 
  3628. can also use the program parameter  /NOFRAMES . This will generate one footnote 
  3629. file with all footnotes which will be numbered. 
  3630.  
  3631.  
  3632. ΓòÉΓòÉΓòÉ 5.12. Margins and Formatting ΓòÉΓòÉΓòÉ
  3633.  
  3634.  
  3635. subchapters: 
  3636. Changing the left margin 
  3637. Turning Formatting off and on 
  3638. Centered Text 
  3639. Auto Margin 
  3640.  
  3641. next chapter: 
  3642. if-conditions 
  3643.  
  3644.  
  3645. ΓòÉΓòÉΓòÉ 5.12.1. Changing the left margin ΓòÉΓòÉΓòÉ
  3646.  
  3647.  
  3648. This is a sample text with left margin 1. 
  3649.  
  3650.           This is a sample of left margin 10; note that the formatting will be 
  3651.           correct. 
  3652.  
  3653.                     This is a sample of left margin 20; note that the 
  3654.                     formatting will be correct. 
  3655.  
  3656.  You can change the left margin by using the dot command left margin 
  3657.  
  3658.  
  3659.    .LM n
  3660.  
  3661.  n is a number from 1 to approx. 30. Default setting is 1. 
  3662.  
  3663.  If you enter the left margin dot command without a number, the standard 1 will 
  3664.  be active. 
  3665.  
  3666.  HTML is not able to change the margin in steps of one column. Hypermake 
  3667.  emulates the left margin setting by using HTML definition lists. Left Margin 2 
  3668.  und 3 won't change the margin, 3 will change the margin to approx. 5 
  3669.  (depending on the browser) and then the margin is changed in steps of 5 
  3670.  columns. 
  3671.  
  3672.  The Winhelp specific ini file setting  List indention (project settings page 
  3673.  "Winhelp") influences the size of the left margin (dot command .LM) and the 
  3674.  indention of Lists. 
  3675.  
  3676.  
  3677. ΓòÉΓòÉΓòÉ 5.12.2. Turning Formatting off and on ΓòÉΓòÉΓòÉ
  3678.  
  3679. (Only IPF) With the dot commands Formatting off and Formatting on 
  3680.  
  3681.  
  3682.  .FM off
  3683.  
  3684.  .FM on
  3685.  
  3686. you can turn formatting (word wrap) off and on. The standard is Formatting on. 
  3687. "Off" means the formatting of the source text isn't changed. The setting will 
  3688. be active till the next formatting dot command, even through headings. 
  3689.  
  3690. Between line drawing dot commands, formatting is automatically turned off. 
  3691.  
  3692. Don't use the index/linking function when formatting is off. Don't use index 
  3693. chars, only use the index dot command, between two formatting dot commands: 
  3694.  
  3695.  
  3696.  .fm on
  3697.  .in word1
  3698.  .in word2
  3699.  .fm off
  3700.  
  3701. When creating HTML files, there are no dot commands to turn formatting off and 
  3702. on. To omit formatting, use a font with Phrase element PRE. 
  3703.  
  3704. For IPF, you can define a font with PRE in the ini file (Font Dialog on project 
  3705. settings page "Font"), so you do not need separate dot commands. 
  3706.  
  3707.  
  3708. ΓòÉΓòÉΓòÉ 5.12.3. Centered Text ΓòÉΓòÉΓòÉ
  3709.  
  3710. In centered text, formatting will be off. You can turn centered text on and off 
  3711. with Output Centered on and Output Centered off dot command 
  3712.  
  3713.  
  3714.  .OC on
  3715.  .OC off
  3716.  
  3717. But you can also define a font with center in the ini file (Font Dialog), so 
  3718. you do not need separate dot commands. 
  3719.  
  3720.  
  3721. ΓòÉΓòÉΓòÉ 5.12.4. Auto Margin ΓòÉΓòÉΓòÉ
  3722.  
  3723.  
  3724. To write definition lists for example, you can simply change the left margin by 
  3725. using spaces: 
  3726.  
  3727.  
  3728. *motherboard*
  3729.    The motherboard contents the main processor, the RAM
  3730.    memory and some other important parts of your computer.
  3731.  
  3732. *screen*
  3733.    Computer screens are available from 14 up to 21
  3734.    inches; You shouldn't save money with a cheap small
  3735.    screen.
  3736.  
  3737. motherboard 
  3738.        The motherboard contents the main processor, the RAM memory and some 
  3739.        other important parts of your computer. 
  3740.  
  3741.   screen 
  3742.        Computer screens are available from 14 up to 21 inches; You shouldn't 
  3743.        save money with a cheap small screen. 
  3744.  
  3745.   With the new dot command Auto Margin you can turn off/on the interpretation 
  3746.   of the spaces at the beginning of a line. 
  3747.  
  3748.  
  3749.      .AM off
  3750.      .AM on
  3751.  
  3752.   Default is on. 
  3753.  
  3754.   You can leave the AM setting on for normal running text. Every space at the 
  3755.   beginning of a paragraph will change the left margin. You have to turn it 
  3756.   off, if you want to have a margin only at the first line of a paragraph. 
  3757.  
  3758.   Using an ASCII editor with ASCIIHARDRET, spaces should only be at the 
  3759.   beginning of the first line; of course the following lines wrapped by the 
  3760.   editor should not have a margin. 
  3761.  
  3762.  
  3763. ΓòÉΓòÉΓòÉ 5.13. if-conditions ΓòÉΓòÉΓòÉ
  3764.  
  3765. With if-conditions, you can create slightly different RTF, IPF or HTML files 
  3766. from the same source text. In the Hypermake docu source, you will find a lot of 
  3767. if-conditions. It's easier to write only one documentation file for several 
  3768. platforms or purposes instead of several files. 
  3769.  
  3770. There are three dot commands 
  3771.  
  3772.  
  3773.  .IF CONDITION
  3774.  .ELSE
  3775.  .END
  3776.  
  3777. The conditions are not case-sensitive. It's not necessary to use the ELSE 
  3778. command, of course. 
  3779.  
  3780. This means text between these commands is only compiled if the condition is 
  3781. set. 
  3782.  
  3783. Hypermake also supports the following expressions: 
  3784.  
  3785.  
  3786.  .IF NOT COND
  3787.  .IF COND1 AND COND2
  3788.  .IF COND1 OR COND2
  3789.  
  3790. Sorry, but more sophisticated if-conditions with parenthesis are not supported. 
  3791.  
  3792. The conditions are set in the HMP file, line conditions . 
  3793.  
  3794. For compiling the source text from the commandline, you have to enter: 
  3795.  
  3796. [C:\myProject] HMAKE myDoc.txt #CONDITION 
  3797.  
  3798. You can enter more than one condition in the commandline. Note the # character, 
  3799. the parameters can be in any order. 
  3800.  
  3801. Dependent on the target format, Hypermake sets the conditions HTML IPF WINHELP 
  3802. WINHELP3 WINHELP4 HTML HTMLHELP automatically. WINHELP is set when compiling 
  3803. WINHELP3 or WINHELP4. HTML is also set when compiling HTMLHELP. 
  3804.  
  3805. The three different Hypermake versions for OS/2, Win95/NT and DOS set the 
  3806. conditions OS2, WIN95 und DOS. 
  3807.  
  3808.  
  3809. ΓòÉΓòÉΓòÉ 6. HTML-specific functionality ΓòÉΓòÉΓòÉ
  3810.  
  3811. Hypermake offers special HTML functionality for publishing on the WWW. Most 
  3812. commands explained in this chapter aren't activated from the source text using 
  3813. dot commands, they are settings in the settings notebook (pages HTML-0, HTML-1, 
  3814. HTML-2) respectively ini file and program parameters (settings notebook page 
  3815. Main). 
  3816.  
  3817. When creating HTML or HTMLHELP, Hypermake always creates a useful HTML info 
  3818. file with statistic data about your project (length of the text, number of 
  3819. links, error messages...). The filename is the same as the project name and is 
  3820. placed in the same directory where the source file is located and not in the 
  3821. target directory. You can use this document to start with the browser into your 
  3822. project. 
  3823.  
  3824. If you want to publish Hypermake documents in the WWW, please read this 
  3825. chapter, escpecially the sub chapter about HTML filenames! 
  3826.  
  3827. subchapters: 
  3828. Navigation Buttons 
  3829. HTML filenames 
  3830. Title and Meta entries 
  3831. Statusbar Text 
  3832. Javascript Contents Tree 
  3833. File comparison 
  3834.  
  3835. next chapter: 
  3836. copying graphic files 
  3837.  
  3838.  
  3839. ΓòÉΓòÉΓòÉ 6.1. Navigation Buttons ΓòÉΓòÉΓòÉ
  3840.  
  3841.  
  3842. You will find a Library of Buttons in the directory BUTTONS. 
  3843.  
  3844. More complex HTML documents have got buttons at the beginning and the end of a 
  3845. page where the user can navigate from one page of the document to the other. 
  3846. You can define such standard functionality in the settings notebook, page 
  3847. HTML1, respectively ini file: 
  3848.  
  3849.  
  3850. function for first line = BACK FORWARD CONTENT INDEX HOMEF MAX
  3851. text for first line =   previous next content index home max
  3852.  
  3853. The four keywords BACK FORWARD CONTENT INDEX have the following meanings: 
  3854.  
  3855.      BACK goes to the previous page in the order of the source text 
  3856.      FORWARD goes to the next page 
  3857.      CONTENT goes to the contents 
  3858.      INDEX goes to the index 
  3859.      HOMEF and MAX is used by the Hypermake 4.0 design (see settings notebook 
  3860.       page HTML-0) 
  3861.  
  3862.  
  3863.  Corresponding to the keywords BACK, FORWARD, the filenames of the gif files 
  3864.  are BACK.GIF, FORWARD.GIF and so on. 
  3865.  
  3866.  The CONTENT and INDEX buttons do not appear when compiling HTML-Help because 
  3867.  this functionality is supported anyway by the HTML-Help viewer. 
  3868.  
  3869.  HOMEF and MAX: The Hypermake 4.0 design shows normal text always in frames: in 
  3870.  the left frame, the contents tree is shown, and in the right frame the text 
  3871.  appears. But if the user activates a text page directly, the text fits the 
  3872.  whole browser window. (Only activating the home frame file INDXF.HTML will 
  3873.  show the frames view.) With the HOMEF button (Homeframe), the homeframe page 
  3874.  will be loaded and the text is shown in frame view. The opposite is the MAX 
  3875.  (maximize) button: it will maximize the text window, so the text window will 
  3876.  fit the whole browser window. This function is comparable to the "maximize" 
  3877.  button of every window of the graphical computer desktop. MAX is not used in 
  3878.  the default setting of the predefined Hypermake 4.0 design. 
  3879.  
  3880.  For every keyword you can define a text. If "auto load graphics" in the 
  3881.  browser is turned off, the text appears instead of the graphic. You can turn 
  3882.  off the graphic buttons completely in the ini file, setting buttons = TEXT 
  3883.  ("button type" on project settings page "html-1"). Then you get the text as a 
  3884.  link instead of the navigation buttons. 
  3885.  
  3886.  The setting buttons = JAVASCRIPT creates buttons based on the Javascript 
  3887.  programming language. The program generating the Javascript buttons is part of 
  3888.  the HTML file and much more smaller and faster than separate GIF files. But 
  3889.  Javascript is not supported by very old browsers (before Netscape 2) and 
  3890.  dependent on the length of the text expression the width of the buttons can be 
  3891.  different. But you can omit extremly different length by using the " in pairs 
  3892.  and space characters between the two " characters: 
  3893.  
  3894.  
  3895.   previous " next " " home " "  max  " content index
  3896.  
  3897.  If you don't want to get specific buttons, you can delete the keyword and its 
  3898.  text in the line "function for.." and "text for..". You can change these 
  3899.  settings separately for the beginning of the page and the end of the page 
  3900.  ("first line" and "last line"). You also can change the order of the buttons, 
  3901.  but remember to change both function and text. It can be useful to leave out 
  3902.  some functionality in the "last line", e.g. the BACK button. 
  3903.  
  3904.  User-defined Navigation Buttons 
  3905.  
  3906.  It's possible to define navigation buttons by yourself, pointing to a chapter 
  3907.  of your choice. To do this, you need an entry in the ini file and a dot 
  3908.  command in the source text, marking the link target. 
  3909.  
  3910.  In the ini file: (project settings page "html-1") 
  3911.  
  3912.  
  3913.   function for first line = BACK FORWARD CONTENT INDEX LABEL _A LABEL_B ...
  3914.   text for first line =   previous next content index chapterA chapterB ...
  3915.  
  3916.  and in the source text in the chapters of your choice: 
  3917.  
  3918.  
  3919.    .ID LABEL_A
  3920.    .ID LABEL_B
  3921.  
  3922.  If the user presses the button LABEL_A.GIF, he will get to the chapter where 
  3923.  LABEL_A is placed in the source text. The keyword is not case-sensitive. 
  3924.  There's no limitation of the numbers of user buttons. 
  3925.  
  3926.  If you use .ID dot commands, the HTML file gets e.g. the name LABEL_A.HTML. 
  3927.  Normally Hypermake uses filenames N000.HTML, N001.HTML and so on. If you want 
  3928.  to use navigation buttons, but don't want to change to fixed filenames, you 
  3929.  can use the commandline parameter /NOID . 
  3930.  
  3931.  In the Library of Buttons you will find some user buttons. 
  3932.  
  3933.  Navigation Buttons pointing to URL's 
  3934.  
  3935.  You can use the .ID dot command within an .URL external link. 
  3936.  
  3937.  
  3938.    .URL http://www.netscape.com
  3939.    .ID NETSCAPE
  3940.    .LOCAL
  3941.  
  3942.  If you have added the keyword NETSCAPE in the ini file (project settings page 
  3943.  "html-1"), line "function", the button NETSCAPE.GIF gets the link to Netscape 
  3944.  in the WWW. 
  3945.  
  3946.  E. g. you can write an offline program documentation where the user can reach 
  3947.  your homepage in the WWW from every page by pushing a homepage button or your 
  3948.  company logo. 
  3949.  
  3950.  
  3951. ΓòÉΓòÉΓòÉ 6.2. HTML filenames ΓòÉΓòÉΓòÉ
  3952.  
  3953.  
  3954. By default, Hypermake numbers the generated HTML files: N000.HTML, N001.HTML 
  3955. and so on. That means, filenames of a particular chapter can change after 
  3956. updating your document. If the page shows a frame, the frame file name is the 
  3957. default name e.g. N003.HTML. The file which is shown in the top or left window 
  3958. gets the filename N003F.HTML and the subchapter page on the bottom or the right 
  3959. gets the next number N004.HTML. If the job ob the frame is showing text with 
  3960. footnotes, the frame file name will be N003.HTML, the text gets the filename 
  3961. N003T.HTML an the footnotes gets N003N.HTML (N for "notes"). 
  3962.  
  3963. There are several ways of making Hypermake generate other filenames. 
  3964.  
  3965. subchapters: 
  3966. Using a fixed filename 
  3967. 8.3 filenames, long filenames, small and capital letters 
  3968. User-defined internal numbering of headings and files 
  3969.  
  3970. next chapter: 
  3971. Title and Meta entries 
  3972.  
  3973.  
  3974. ΓòÉΓòÉΓòÉ 6.2.1. Using a fixed filename ΓòÉΓòÉΓòÉ
  3975.  
  3976.  
  3977.  .2
  3978.  About me
  3979.  
  3980.  .ID AUTHOR
  3981.  I'm 31 years old, have studied economics...
  3982.  
  3983. You can mark a particular chapter with an ID. It's the same command you need 
  3984. for user buttons. 
  3985.  
  3986. If a chapter is marked with .ID LABEL_A , the filename is LABEL_A.HTML and 
  3987. won't change while updating your document. You have to do so for all pages of 
  3988. your document to which other authors in the WWW may want to make a link. If you 
  3989. do not so, the filename of the specific chapter may change when updating your 
  3990. whole document. This procedure can be also useful for you: When updating only a 
  3991. part of your document, you don't need to upload all the HTML files: All 
  3992. chapters with a particular ID can be changed and uploaded separately without 
  3993. the risk of destroying links. 
  3994.  
  3995.  
  3996. ΓòÉΓòÉΓòÉ 6.2.2. 8.3 filenames, long filenames, small and capital letters ΓòÉΓòÉΓòÉ
  3997.  
  3998. Different operating systems handle filenames in different ways. DOS only knows 
  3999. short filenames in the 8.3 convention. The PC operating systems DOS, OS/2, 
  4000. Windows 95 and Windows NT are handling filenames not case-sensitive, but Unix 
  4001. systems - most internet servers are Unix machines - distinguish between small 
  4002. and capital letters. So it can happen that the links on your machine work well, 
  4003. but after uploading to the server, the links don't work any more! 
  4004.  
  4005. To avoid this, Hypermake offers you several methods: A setting in the ini file 
  4006. (project settings page "html-2"), a commandline parameter and an automatic 
  4007. recognition of DOS drives. 
  4008.  
  4009.  
  4010. //possible settings: sample.html SAMPLE.HTML Sample.html sample.htm SAMPLE.HTM Sample.htm
  4011. filename appearance = sample.html
  4012.  
  4013. You can define the appearance of the filenames in the ini file (project 
  4014. settings page "html-2"). 
  4015.  
  4016. Remember that this decision depends on your drive and your upload program. If 
  4017. your operating system is OS/2 with long filename support, but your upload 
  4018. program is a Windows 3.1 software, you are forced to use the "SAMPLE.HTM" form. 
  4019. If all the programs you need are Windows 95 programs, you should choose 
  4020. "Sample.html". 
  4021.  
  4022. If you choose an obvious false setting, e.g. "sample.html" on a DOS drive with 
  4023. the 8.3 limitation, Hypermake automatically changes the filename to the 
  4024. extension ".HTM" and the created links are OK. 
  4025.  
  4026. With the program parameter (project settings page "Main") FAT (File allocation 
  4027. table, that's the name of the DOS file system) you will get the same result as 
  4028. with the setting  SAMPLE.HTM in the ini file: Even though the drive supports 
  4029. long filenames, Hypermake uses the DOS 8.3 conventions. 
  4030.  
  4031. When publishing in the Web, I recommend that the Hypermake functionality 
  4032. copying graphic files is enabled. In this case Hypermake has got control of the 
  4033. correct notation of your GIF filenames (small/capital letters). 
  4034.  
  4035. Hypermake generates a lot of warnings if in the filename appearance setting a 3 
  4036. char extension was chosen and Hypermake locates filenames with more than 8 
  4037. characters length. With the ini file setting filenames = long ("Warning if 
  4038. Filename not 8.3" on project settings page "html-2") you can omit these 
  4039. warnings. 
  4040.  
  4041.  
  4042. ΓòÉΓòÉΓòÉ 6.2.3. User-defined internal numbering of headings and files ΓòÉΓòÉΓòÉ
  4043.  
  4044. (new in Hypermake 3.65) If you extend a HTML document which is already 
  4045. published in the WWW, you will get a problem with the internal numbering of 
  4046. headings and files. With two new dot commands, you can fix this problem. 
  4047.  
  4048. Hypermake simply numbers the headings of the documents: #hd1, #hd2, #hd3, and 
  4049. also the files: N000.HTML, N001.HTML and so on. If you insert new headings in 
  4050. the middle of your document, all headings and files after the insertion will 
  4051. get a higher internal number. The consequence is the need of uploading all the 
  4052. files of your document to the server again. But now links from other documents 
  4053. in the WWW pointing to a page of your Hypermake document can be obsolete. 
  4054.  
  4055. To avoid this, you can control the internal numbering of headings and files. 
  4056. With new commands, you can set the internal counter of headings and files to a 
  4057. higher value. So the insertion of new headings immediately above the new 
  4058. commands won't have an effect on the internal numbering after this command. You 
  4059. have to choose a value which is big enough to fit all future chapters. In the 
  4060. HTML info file, section "Enumeration", Hypermake lets you know if the chosen 
  4061. values are not big enough and the created numbering "space" is depleted. 
  4062.  
  4063. With the dot command .NR you can set the internal file counter and with .HD the 
  4064. internal heading counter. 
  4065.  
  4066.  
  4067.  .NR 10
  4068.  .HD 100
  4069.  .1
  4070.  Heading with fixed internal number
  4071.  
  4072. If one file contains several chapters, the value of .HD has to be greater than 
  4073. the value of .NR . (See ini file, setting new file level, project settings page 
  4074. "html-1"). Otherwise it is sufficient to use .NR . 
  4075.  
  4076.  
  4077. ΓòÉΓòÉΓòÉ 6.3. Title and Meta entries ΓòÉΓòÉΓòÉ
  4078.  
  4079. At the beginning of every HTML file, a title is defined which appears in the 
  4080. titlebar of the browser. 
  4081.  
  4082. For this chapter for example, a meaningful title is: 
  4083.  
  4084. Hypermake 4.0 - Title and Meta entries 
  4085.  
  4086. You can define which text has to appear in the titlebar of every HTML file: 
  4087. (project settings page "html-2") 
  4088.  
  4089.  
  4090. //here you can define the text appearing in the browser titlebar
  4091. //enter DOCTITLE and/or HEADING and fixed text, e.g. a slash; NO means no text
  4092. file title = DOCTITLE - HEADING
  4093.  
  4094. DOCTITLE is the title of the whole Hypermake document, defined behind the .TI 
  4095. dot command. HEADING is the actual heading text of the chapter. In addition to 
  4096. the two keywords DOCTITLE and HEADING, you can write text of your choice, e.g. 
  4097.  
  4098.  
  4099. file title = Martin Vieregg: DOCTITLE, chapter HEADING
  4100.  
  4101. It's not possible to use the characters ' and ". 
  4102.  
  4103. At the pages content and index, for the heading text the string defined in the 
  4104. line "text for first/last line" is used. In the footnote file, the heading text 
  4105. defined in the line "notes text" is used. 
  4106.  
  4107. Information for search machines 
  4108.  
  4109. Informations for search machines aren't visible when viewing the file with a 
  4110. browser. It's interpreted by Internet search machines like Hotbot or Yahoo. 
  4111.  
  4112. Like defining a HTML file title, you also can define an automatic meta entry 
  4113. with "meta content": 
  4114.  
  4115.  
  4116. meta content = DOCTITLE - HEADING
  4117.  
  4118. Into the head of the HTML file, Hypermake will place: 
  4119.  
  4120.  
  4121. <META NAME="description" CONTENT="Hypermake 4.0 - Title and Meta entries">
  4122.  
  4123. Hypermake always writes all index expressions of the page which are marked in 
  4124. the Hypermake source file: 
  4125.  
  4126.  
  4127. <META NAME="keywords" CONTENT="expression1, expression2">
  4128.  
  4129. Embedding user-defined HEAD tags 
  4130.  
  4131. You can write HEAD tags for all HTML files or for specific HTML files. By 
  4132. default, Hypermake only writes: 
  4133.  
  4134.  
  4135. <HEAD>
  4136. <META NAME="generator" CONTENT="Hypermake 4.00">
  4137. <META NAME ="Author" CONTENT="Martin Vieregg">
  4138. <title>Hypermake 4.0 - Title and Meta entries</title>
  4139. </HEAD>
  4140.  
  4141. Above the <title> tag, other head tags can be embedded. You have to place these 
  4142. lines into text files with specific filenames: If all HTML files are to get the 
  4143. information, you have to place it into a file called EVERY.HEAD . If only a 
  4144. specific file is to get the info, you have to mark the chapter of your choice 
  4145. with .ID USERLABEL and then place the information into the file USERLABEL.HEAD 
  4146.  
  4147. Embedding user-defined head tags or not depends on the existence of the 
  4148. individual *.HEAD files. There's no special setting. 
  4149.  
  4150. If a "pre filename" is set, the filenames of the HEAD-files have to begin with 
  4151. the pre filename. 
  4152.  
  4153. If you use a DOS drive or have set the DOS conventions for creating filenames 
  4154. (setting filename appearance), the filename extension has to be .HEA instead of 
  4155. .HEAD . 
  4156.  
  4157.  
  4158. ΓòÉΓòÉΓòÉ 6.4. Statusbar Text ΓòÉΓòÉΓòÉ
  4159.  
  4160.  
  4161. Two settings in the ini file (project settings page "html-2") let you modify 
  4162. the statusbar text appearing in the gray bottom text field of every 
  4163. HTML-browser. 
  4164.  
  4165.  
  4166. statusbar mouseover = to chapter: HEADING (file FILENAME)
  4167. statusbar default = DOCTITLE - visit the Homepage regulary!
  4168.  
  4169. If the mouse pointer is over a link, the text under statusbar mouseover will 
  4170. appear, otherwise the text defined in the statusbar default setting. Instead of 
  4171. HEADING, the heading of the chapter which is the target link will appear. 
  4172. FILENAME is the filename of the target link file. 
  4173.  
  4174. Note that the statusbar mouseover functionality enlarges the size of the HTML 
  4175. files. Not only the "mouseover" text, also the "default" text will be part of 
  4176. every link command, because when the mouse leaves the link, the default setting 
  4177. has to appear again. When publishing in the WWW, you have to consider carefully 
  4178. the benefit of additional information in comparision to increasing download 
  4179. time. 
  4180.  
  4181. The statusbar default setting increases the length of HTML files nearly not. 
  4182. Here, the FILENAME expression can be useful if you often use Frames because the 
  4183. user can see the filename of the child window - in the location field of the 
  4184. browser only the filename of the frame window is shown. 
  4185.  
  4186. It's not possible to use the characters ' and ". 
  4187.  
  4188.  
  4189. ΓòÉΓòÉΓòÉ 6.5. Javascript Contents Tree ΓòÉΓòÉΓòÉ
  4190.  
  4191. Since Hypermake 3.6 you can choose between the normal contents view (unordered 
  4192. list, subchapters always visible) and a contents tree generated by a Javascript 
  4193. program. The setting in the ini file is contents tree ("Javascript contents 
  4194. tree" on project settings page "html-1"), here you can also define the concrete 
  4195. explanation text for the Javascript Contents Tree. If the user has got a not 
  4196. Javascript 1.0 enabled browser, he can use a link to the normal unordered list 
  4197. contents view. 
  4198.  
  4199. What is Javascript? 
  4200.  
  4201. Javascript is a simple programming language you can embed directly into HTML 
  4202. text. Today, the majority of browsers interpretate Javascript. Netscape 
  4203. Navigator 2 can execute Javascript 1.0 programs, Navigator and MS Internet 
  4204. Explorer 3 Javascript 1.1 and Navigator and MS Internet Explorer 4 Javascript 
  4205. 1.2. 
  4206.  
  4207. Which Browsers view the Hypermake Javascript Contents Tree? 
  4208.  
  4209. The Javascript code Hypermake generates is written for all Browsers supporting 
  4210. Javascript. It's tested on Netscape Navigator 2.02, 3 and 4, Microsoft Internet 
  4211. Explorer 3 and 4. 
  4212.  
  4213. Used graphics files 
  4214.  
  4215. In the library of buttons \BUTTONS\ICON you will find three files TREECLOS.GIF, 
  4216. TREEOPEN.GIF and TREENO.GIF. If the user clicks to TREECLOS.GIF and 
  4217. TREEOPEN.GIF, the tree will open and close. TREENO.GIF has no link 
  4218. functionality and shows that there are no subchapters. 
  4219. Since Hypermake 4.0, a fourth graphics file TREEMPTY.GIF is needed. This 
  4220. graphic has got the width of the other TREE*.GIF graphics, but is invisible and 
  4221. is used for indention. 
  4222.  
  4223. The names of these three graphics files Hypermake needs are fixed. If you want 
  4224. to use other GIF files, rename them to the names above. Note that TREECLOS.GIF 
  4225. looks like e.g. a closed book and TREEOPEN.GIF like an open book, but the link 
  4226. functionality is reverse: TREECLOS.GIF opens the subchapter list, TREEOPEN.GIF 
  4227. closes it. 
  4228.  
  4229. Special functionality with Netscape / Internet Explorer 4 
  4230.  
  4231. Javascript 1.2 has got functions to query and set the position of the 
  4232. scrollbar. The Hypermake generated Javascript program uses this functionality 
  4233. to restore the scrollbar position after a tree was closed or opened. Browsers 
  4234. before Netscape / IE 4 does not remember the vertical scrolbar position. Thats 
  4235. uncomfortable when having long directory trees. 
  4236.  
  4237. Filenames 
  4238.  
  4239. The filename of the Javascript contents tree page is the same as choosing a 
  4240. normal contents view: INDEX.HTML. This is the file of the main window with the 
  4241. Javascript program code. The small upper window is INDXI.HTML (Index-Info), the 
  4242. alternate normal contents view is INDXA.HTML ("a" for alternate). Before the 
  4243. Javascript program gets active and draws the contents tree, the big lower 
  4244. window is EMPTY.HTML. So EMPTY.HTML has to be uploaded when publishing in the 
  4245. Web! 
  4246.  
  4247. Two browser windows 
  4248.  
  4249. It's possible that the contents window gets its own browser. You can do that 
  4250. when choosing different names for the ini settings default frame and contents 
  4251. frame , e.g. "main" and "cont". 
  4252.  
  4253.  
  4254. ΓòÉΓòÉΓòÉ 6.6. File comparison ΓòÉΓòÉΓòÉ
  4255.  
  4256. If you want to publish a big document in the WWW, you have to upload 100 HTML 
  4257. files or more. But if you update your document, only a few HTML files gets 
  4258. changed and have to be uploaded again. The File comparison (since Hypermake 
  4259. 3.99) can be used to get the information, which files have changed since the 
  4260. last upload. 
  4261.  
  4262. How to use file comparison: 
  4263.  
  4264.    1. Make a copy of the directory where Hypermake has written the HTML files 
  4265.       (HTML directory). Choose a expedient name for the copy like 
  4266.       projectname_date. You should create a copy after uploading or before 
  4267.       changing a project. 
  4268.    2. If you delete chapters, delete the current HTML directory. 
  4269.    3. After you have made changes on your project and recompiled the project, 
  4270.       start the file comparison. You will get a list of the changed files. 
  4271.  
  4272.  
  4273.  You can start file comparison in three different ways: 
  4274.  
  4275.  In the graphical version, open the current project you want to compare with 
  4276.  the old state. Then select project - compare HTML dir and choose the filename 
  4277.  of the old HTML directory or simply drop the old HTML directory icon to the 
  4278.  success window with the blue font. 
  4279.  
  4280.  When using the commandline version, enter 
  4281.  
  4282.  [C:\myProject] HMAKE /COMPARE olddir newdir 
  4283.  
  4284.  The file comparison mode compiles HTML files, but also other files like 
  4285.  graphic files. In difference to default file comparison tools like "COMP" in 
  4286.  the commandline, the Hypermake file comparison recognices that changes of the 
  4287.  version number which are written at the beginning of every HTML file 
  4288.  
  4289.  
  4290.   <META NAME="generator" content="Hypermake 4.00">
  4291.  
  4292.  do not really make a difference. So if only the version number has changed, 
  4293.  the files won't get part of the update list. 
  4294.  
  4295.  
  4296. ΓòÉΓòÉΓòÉ 7. copying graphic files ΓòÉΓòÉΓòÉ
  4297.  
  4298. Nearly every hypertext has got graphics. HTML pages often uses graphical 
  4299. buttons for navigation. Normally they are located all over the disk, but they 
  4300. have to be in the target directory so the HTML browser or the second compiler 
  4301. can find them. 
  4302.  
  4303. You can place the setting 
  4304.  
  4305.  
  4306. graphic path = D:\HMAKE\Testgrafics;D:\HMAKE\Worldgrafics;D:\HMAKE\Buttons;
  4307.  
  4308. in the HMP file ("Graphic files" on project settings page "Main") or in the ini 
  4309. file. 
  4310.  
  4311. Here you can enter a list of directories where your graphics files are located. 
  4312. Hypermake automatically copies the graphics files to the target directory, if 
  4313. the graphics files are not already here. If Hypermake does not find the 
  4314. graphics file, then you will get a warning. HTML graphics filenames 
  4315. automatically get the correct notation (small or capital letters, see ini file 
  4316. setting filename appearance , project settings page "html-2"). 
  4317.  
  4318. This functionality saves you from error messages in the OS/2 or Windows help 
  4319. compiler. 
  4320.  
  4321. If the user turns "auto load images" in the HTML browser off, then the name of 
  4322. the graphics file and the size of the file is shown. The size is only shown 
  4323. when using the .BM command, not when using the .BT command or the navigation 
  4324. buttons, because the graphics files used by the .BT command or navigations 
  4325. buttons have a very small size which is not interesting. 
  4326.  
  4327. Since Hypermake 3.99, a graphics file are also copied if the needed graphics 
  4328. file already resides in the target directory and the date of the file in the 
  4329. "graphic path" is more current. So it is sufficient to update a graphics file 
  4330. in the "graphic path". 
  4331.  
  4332. Please remember that both Winhelp and OS/2 help compiler uses graphics files 
  4333. with the extension BMP, but theses formats are different! (In the BUTTONS 
  4334. directory, you will find a WINBMP and an OS2BMP directory, with the same 
  4335. graphics but different files.) So if you create both OS/2 and Windows Help 
  4336. files, you have to delete the ("wrong") BMP files in the target directory 
  4337. before creating the other format so Hypermake will copy again the right BMP 
  4338. files. 
  4339.  
  4340.  
  4341. ΓòÉΓòÉΓòÉ 8. Context-sensitive Program Help ΓòÉΓòÉΓòÉ
  4342.  
  4343. Most programs with a graphical user interface have got an online help included. 
  4344. If the user presses F1 or a "help" button, he gets automatically to a specific 
  4345. chapter of the hypertext. Hypermake offers some functionality to get this 
  4346. connection between EXE program and hypertext. 
  4347.  
  4348. If you want to write separate hypertext files and no programs, you can skip 
  4349. this chapter. 
  4350.  
  4351. subchapters: 
  4352. OS/2 Online Help 
  4353. Windows Online Help 
  4354. Writing several HLP files in different languages 
  4355.  
  4356. next chapter: 
  4357. dot command summary 
  4358.  
  4359.  
  4360. ΓòÉΓòÉΓòÉ 8.1. OS/2 Online Help ΓòÉΓòÉΓòÉ
  4361.  
  4362. The main difference between HLP and INF files is the connection of HLP files to 
  4363. a PM oriented program. The INF file is a "stand alone" solution, in the HLP 
  4364. file you can create links between windows or buttons of your program to 
  4365. chapters of your hypertext. Clicking on a Help button or pressing F1 will 
  4366. activate a chapter (a window) of the hypertext. 
  4367.  
  4368. There are two different kinds of links from a program to a HLP file: 
  4369.  
  4370.      links by using helptables 
  4371.      direct links by using panel ID's. 
  4372.  
  4373.  
  4374.  Links by using helptables are activated when pushing F1 together with a help 
  4375.  button; instead of pressing F1, there is the possibility to push a button with 
  4376.  the flags BS_HELP | BS_NOPOINTERFOCUS. In the helptable, button ID's are 
  4377.  related to chapters (windows) of the hypertext. 
  4378.  
  4379.  Direct links don't use a helptable, they use a function in your program source 
  4380.  code which is directly activating a help chapter (window). Direct links can 
  4381.  also be used in text oriented programs. 
  4382.  
  4383.  Without Hypermake, you would have to write a helptable in the RC file 
  4384.  specifying which window or button will be linked to which chapter of the 
  4385.  hypertext. For direct links, you would have to create a panel ID header file 
  4386.  with the IPF internal heading resource ID's, related to meaningful constant 
  4387.  identifiers like "Panel_Introduction". 
  4388.  
  4389.  subchapters: 
  4390.  Writing the Hypermake source file 
  4391.  Writing your C program source file 
  4392.  Writing your Pascal program source file 
  4393.  
  4394.  next chapter: 
  4395.  Windows Online Help 
  4396.  
  4397.  
  4398. ΓòÉΓòÉΓòÉ 8.1.1. Writing the Hypermake source file ΓòÉΓòÉΓòÉ
  4399.  
  4400. In the Hypermake file, there are two new dot commands: The command resource 
  4401. connection 
  4402.  
  4403.  
  4404.  .RC ID_window, ID_button_or_Menu_Item
  4405.  
  4406. creates a connection between the help chapter and the button or menu item with 
  4407. the ID "ID_button_or_Menu_Item", located in the child window "ID_window": If 
  4408. the button/menu item is pressed with F1 simultaneously, the help chapter is 
  4409. activated where the RC command is located. 
  4410.  
  4411.  ID_window is the constant placed after MENU or DIALOG in your RC file. 
  4412.  
  4413. Note: ID_window is not the constant placed after DLGTEMPLATE. 
  4414.  
  4415. And with panel ID 
  4416.  
  4417.  
  4418.  .ID Chapter_Name
  4419.  
  4420. the chapter where the ID command is located gets the label "Chapter_Name". With 
  4421. DisplayHelpPanel(Chapter_Name) in the program source text, you can activate 
  4422. this help chapter directly. 
  4423.  
  4424. Pascal programmers have to pay attention: the constant behind the ID dot 
  4425. command is case sensitive! 
  4426.  
  4427. You can place these dot commands somewhere in the chapter (window) which will 
  4428. be connected to the button or menu item. I recommend placing these dot commands 
  4429. very close to the related paragraph. So if you later create sub chapters and a 
  4430. button has to be linked to the new, special sub chapter, you need not change 
  4431. the position of ID and RC dot commands. 
  4432.  
  4433. Using the RC dot command, you normally have to enter two ID's: The first ID for 
  4434. the program window containing the item (a menu item, button, entryfield etc.), 
  4435. and the second ID for the item itself. 
  4436.  
  4437. If you enter a lot of RC commands, you are allowed to use the shortcut 
  4438.  
  4439.  
  4440.  .RC , ID_button_or_Menu_Item
  4441.  
  4442. This will use the name of the last window ID. 
  4443.  
  4444. You are allowed to generate an INF file with IPFC when the Hypermake source 
  4445. file includes HLP specific RC dot commands: The only effect of RC and ID dot 
  4446. commands is generating a helptable and a panel ID file, the IPF file won't be 
  4447. affected. 
  4448.  
  4449. You should always use the RC command one time with only one parameter (the 
  4450. window ID). All items in this window which are not placed in the helptable will 
  4451. get a link to this chapter. If you don't do that, Hypermake creates a warning. 
  4452.  
  4453. This sample Hypermake source file has got resource connection and Panel ID dot 
  4454. commands: 
  4455.  
  4456.  
  4457.  .1
  4458. Introduction
  4459.  
  4460.  .RC ID_childwindow
  4461.  .ID PANEL_Introduction
  4462. This is the documentation of my prog.
  4463.  
  4464.  .1
  4465. Usage of the OK button
  4466.  
  4467.  .RC ID_childwindow, ID_OK
  4468.  .ID PANEL_usage_OK
  4469. With the OK button - you'll be surprised - you can press OK.
  4470.  
  4471.  .1
  4472. Usage of the Cancel button
  4473.  
  4474.  .RC ID_childwindow, ID_Cancel
  4475. With the Cancel button, you can cancel the operation.
  4476.  
  4477.  
  4478. ΓòÉΓòÉΓòÉ 8.1.2. Writing your C program source file ΓòÉΓòÉΓòÉ
  4479.  
  4480.  
  4481. Hypermake automatically creates a file HLPTABLE.RC: 
  4482.  
  4483.  
  4484. #define SUBTABLE_ID_childwindow 7001
  4485.  
  4486. HELPTABLE HELP_TABLE {
  4487.  HELPITEM ID_childwindow, SUBTABLE_ID_childwindow, 1 /* Introduction */
  4488. }
  4489.  
  4490. HELPSUBTABLE SUBTABLE_ID_childwindow {
  4491.  HELPSUBITEM ID_OK, 2 /* Usage of the OK button */
  4492.  HELPSUBITEM ID_Cancel, 3 /* Usage of the Cancel button */
  4493. }
  4494.  
  4495. Hypermake also creates a file PANELID.H: 
  4496.  
  4497.  
  4498. /*****Panel ID's created by Hypermake*****/
  4499.  
  4500. #define PANEL_Introduction  1
  4501. #define PANEL_usage_OK    2
  4502.  
  4503. The numbers 1, 2 and 3 are the IPF internal heading-ressource-id's. In the 
  4504. helptable file, Hypermake automatically writes the heading text as comment, so 
  4505. you can read this file more easily while debugging. (Normally you don't have 
  4506. any reason to read the Helptable and panel ID file.) 
  4507.  
  4508. You can change the Help Subtable Start ID value in the ini file (project 
  4509. settings page "Helpfile"), switch Help Subtable Start ID , also you can change 
  4510. the filenames of the two created files. 
  4511.  
  4512. You can simply include the helptable file and the panel ID file into your 
  4513. program source by typing 
  4514.  
  4515.  
  4516. #include "HLPTABLE.RC"
  4517.  
  4518. for example after a MENU or a DLGTEMPLATE block in your RC file and 
  4519.  
  4520.  
  4521. #include "PANELID.H"
  4522.  
  4523. at the top of your program source file (a C or CPP file). 
  4524.  
  4525. In your main header file, you have to define a constant HELP_TABLE with an 
  4526. unused value, for example 
  4527.  
  4528.  
  4529. #define HELP_TABLE 7000
  4530.  
  4531. which will be valid in the RC and in the C or CPP source file. 
  4532.  
  4533. In the C source file you need at least two functions like 
  4534.  
  4535.  
  4536.  void InitHelp (hwnd) /*initialize the help process*/
  4537.  void DestroyHelp () /*destroy the help instance*/
  4538.  
  4539. which uses the constant HELP_TABLE. 
  4540.  
  4541. The function InitHelp needs a parameter: the window handle of your program. Of 
  4542. course, this window handle has already to be valid. If your program is a 
  4543. standardwindow, you should place the function InitHelp between 
  4544. WinCreateStdWindow...  and while WinGetMsg... and the function DestroyHelp 
  4545. after  while WinGetMsg... . If your program is only a dialogbox, you won't have 
  4546. a  WinCreateStdWindow function. In this case, you can place InitHelp into the 
  4547. WM_INITDLG and DestroyHelp into the WM_CLOSE section of your dialogbox message 
  4548. function. 
  4549.  
  4550. A third function 
  4551.  
  4552.  
  4553.  void DisplayHelpPanel (PanelID)
  4554.  
  4555. is necessary to create a direct link from your program to a chapter of your 
  4556. hypertext. It's the complement for the panel ID dot command. 
  4557.  
  4558. I have written a very short version of these functions. To compile these 
  4559. functions, you have to enter 
  4560.  
  4561.  
  4562. #define INCL_HELP
  4563.  
  4564. subchapters: 
  4565. C source code with the three help functions 
  4566.  
  4567. next chapter: 
  4568. Writing your Pascal program source file 
  4569.  
  4570.  
  4571. ΓòÉΓòÉΓòÉ 8.1.2.1. C source code with the three help functions ΓòÉΓòÉΓòÉ
  4572.  
  4573.  
  4574.  C source code with the three help functions 
  4575.  
  4576.  
  4577.  
  4578. #define HelpFilename "FILENAME.HLP"
  4579. #define HelpWindowTitle "Title of the Hypertext window"
  4580.  
  4581. BOOL fHelpEnabled;
  4582. static HWND hwndHelpInstance;
  4583.  
  4584. #define InfoBox(st) WinMessageBox (HWND_DESKTOP, HWND_DESKTOP, st, "", 0, MB_OK | MB_ERROR)
  4585.  
  4586. /*to be placed in front of the main program message loop*/
  4587. VOID InitHelp (HWND hwndClientFrame) {
  4588.   HELPINIT hini;
  4589.   /* If we return because of an error, Help will be disabled */
  4590.   fHelpEnabled = FALSE;
  4591.   /* Initialize help init structure */
  4592.   hini.cb = sizeof(HELPINIT);
  4593.   hini.ulReturnCode = 0;
  4594.   /* If tutorial added, add name here */
  4595.   hini.pszTutorialName = (PSZ)NULL;
  4596.   hini.phtHelpTable = (PHELPTABLE)MAKELONG(HELP_TABLE, 0xFFFF);
  4597.   hini.hmodHelpTableModule = 0; hini.hmodAccelActionBarModule = 0;
  4598.   hini.idAccelTable = 0; hini.idActionBar = 0;
  4599.   hini.pszHelpWindowTitle = HelpWindowTitle;
  4600.   hini.fShowPanelId = CMIC_HIDE_PANEL_ID;
  4601.   hini.pszHelpLibraryName = HelpFilename;
  4602.   /* Creating help instance */
  4603.   hwndHelpInstance = WinCreateHelpInstance(hab, &hini);
  4604.   if(hwndHelpInstance == 0L || hini.ulReturnCode) {
  4605.    InfoBox("Failed to load help manager."); return;
  4606.   }
  4607.   /* Associate help instance with main frame */
  4608.   if(!WinAssociateHelpInstance(hwndHelpInstance, hwndClientFrame)) {
  4609.    InfoBox("Failed to load help manager."); return;
  4610.   }
  4611.   /* Help manager is successfully initialized so set flag to TRUE */
  4612.   fHelpEnabled = TRUE;
  4613.   return;
  4614. }
  4615.  
  4616. /*to be placed behind the main program message loop*/
  4617. VOID DestroyHelp (VOID) {
  4618.   if(hwndHelpInstance != 0L) WinDestroyHelpInstance(hwndHelpInstance);
  4619.   return;
  4620. }
  4621.  
  4622. /*
  4623.  some possible parameters:
  4624.  HM_HELP_INDEX   shows the index
  4625.  HM_HELP_CONTENTS, shows the contents
  4626.  HM_DISPLAY_HELP  shows help for help
  4627. */
  4628. VOID SendHelpMessage (LONG HelpMessage) {
  4629.   if(fHelpEnabled)
  4630.    if((LONG)WinSendMsg(hwndHelpInstance, HelpMessage, (MPARAM) 0, (MPARAM) 0))
  4631.   InfoBox ("Failed to display help panel.");
  4632. }
  4633.  
  4634. /*
  4635.  parameters are the Panel ID's, defined with ID dot commands
  4636.  in the Hypermake source file
  4637. */
  4638. VOID DisplayHelpPanel (LONG PanelID) {
  4639.   if(fHelpEnabled)
  4640.    if((LONG)WinSendMsg(hwndHelpInstance, HM_DISPLAY_HELP,
  4641.      MPFROMLONG(MAKELONG(PanelID, NULL)),
  4642.      MPFROMSHORT(HM_RESOURCEID))) InfoBox ("Failed to display help panel.");
  4643. }
  4644.  
  4645.  
  4646. ΓòÉΓòÉΓòÉ 8.1.3. Writing your Pascal program source file ΓòÉΓòÉΓòÉ
  4647.  
  4648.  
  4649. In the ini file (project settings page "General"), setting languages , you can 
  4650. choose between generating Pascal or C source. 
  4651.  
  4652. Hypermake automatically creates a file e.g. HLPTABLE.RC: 
  4653.  
  4654.  
  4655. CONST
  4656.  SUBTABLE_ID_childwindow = 7001
  4657.  
  4658. HELPTABLE 1000
  4659. BEGIN
  4660.  HELPITEM ID_childwindow, SUBTABLE_ID_childwindow, 1 /* Introduction */
  4661. END
  4662.  
  4663. HELPSUBTABLE SUBTABLE_ID_childwindow
  4664. BEGIN
  4665.  HELPSUBITEM ID_OK, 2 /* Usage of the OK button */
  4666.  HELPSUBITEM ID_Cancel, 3 /* Usage of the Cancel button */
  4667. END
  4668.  
  4669. Hypermake also creates a file e.g. PANELID.INC: 
  4670.  
  4671.  
  4672. {   Panel ID's created by Hypermake   }
  4673.  
  4674. const
  4675.  PANEL_Introduction = 1;
  4676.  PANEL_usage_OK = 2;
  4677.  
  4678. The numbers 1, 2 and 3 are the IPF internal heading-resource-id's. In the 
  4679. helptable file, Hypermake automatically writes the heading text as comment, so 
  4680. you can read this file more easily while debugging. (Normally you don't have 
  4681. any reason to read the helptable and panel ID file.) 
  4682.  
  4683. You can change the Help Subtable Start ID value in the ini file (project 
  4684. settings page "Helpfile"), switch Help Subtable Start ID , also you can change 
  4685. the filenames of the two created files. 
  4686.  
  4687. You can simply include the helptable file and the panel ID file into your 
  4688. program source by typing 
  4689.  
  4690.  
  4691. {$I HLPTABLE.RC}
  4692.  
  4693. for example after a MENU or a DLGTEMPLATE block in your RC file and 
  4694.  
  4695.  
  4696. {$I PANELID.INC}
  4697.  
  4698. at the top of your program source file (a PAS file). 
  4699.  
  4700. First, there are two procedures to start the HLP file: 
  4701.  
  4702.  
  4703. DisplayHelpPanel (PanelID)
  4704.  
  4705. is necessary to create a direct link from your program to a chapter of your 
  4706. hypertext. It's the complement for the panel ID dot command. 
  4707.  
  4708.  
  4709. SendHelpMessage (HM_HELP_CONTENTS)
  4710.  
  4711. activates the contents of the HLP file directly. There are other HM_* 
  4712. constants, defined in the SpeedPascal PMHELP.PAS unit. 
  4713.  
  4714. The following depends on whether you want to use SpeedPascal 1.5 OPML or not. 
  4715.  
  4716. subchapters: 
  4717. Creating the help functionality with SpeedPascal OPML 
  4718. Creating the help functionality without OPML 
  4719.  
  4720. next chapter: 
  4721. Windows Online Help 
  4722.  
  4723.  
  4724. ΓòÉΓòÉΓòÉ 8.1.3.1. Creating the help functionality with SpeedPascal OPML ΓòÉΓòÉΓòÉ
  4725.  
  4726.  
  4727.  Creating the help functionality with SpeedPascal OPML 
  4728.  
  4729. In the method 
  4730.  
  4731.  
  4732. TApplication.InitMainWindow
  4733.  
  4734. you have to append the following line at the end: 
  4735.  
  4736.  
  4737. MainWindow^.InitWindowHelp ('MYPROG.HLP', 'help window title');
  4738.  
  4739. That's all. 
  4740.  
  4741.  
  4742. ΓòÉΓòÉΓòÉ 8.1.3.2. Creating the help functionality without OPML ΓòÉΓòÉΓòÉ
  4743.  
  4744.  
  4745.  Creating the help functionality without OPML 
  4746.  
  4747. To create the connection between your EXE file and the HLP file, you need two 
  4748. procedures: 
  4749.  
  4750.  
  4751.  uses PMHELP;
  4752.  
  4753.  InitHelp (hwnd); {initialize the help process}
  4754.  DestroyHelp; {destroy the help instance}
  4755.  
  4756. This procedures are defined in the PMHELP.PAS unit of SpeedPascal 1.5. 
  4757.  
  4758. The procedure InitHelp needs a parameter: the window handle of your program. Of 
  4759. course, this window handle has already to be valid. If your program is a 
  4760. standardwindow, you should place the function InitHelp between 
  4761. WinCreateStdWindow...  and while WinGetMsg... and the function DestroyHelp 
  4762. after  while WinGetMsg... . If your program is only a dialogbox, you won't have 
  4763. a  WinCreateStdWindow function. In this case, you can place InitHelp into the 
  4764. WM_INITDLG and DestroyHelp into the WM_CLOSE section of your dialogbox message 
  4765. function. 
  4766.  
  4767. Immidiately before using the procedure "InitHelp" you have to set some values 
  4768. of variables: 
  4769.  
  4770.  
  4771.  HelpFilename := 'MYPROG.HLP';
  4772.  HelpWindowTitle := 'heading of the hypertext window';
  4773.  HELP_TABLE := 1000;
  4774.  
  4775. The number 1000 is also used in the Helptable created by Hypermake. 
  4776.  
  4777. If you do not use SpeedPascal 1.5 (or later), you will find the procedures and 
  4778. variables in the subchapter. 
  4779.  
  4780. subchapters: 
  4781. Pascal Help Source 
  4782.  
  4783. next chapter: 
  4784. Windows Online Help 
  4785.  
  4786.  
  4787. ΓòÉΓòÉΓòÉ 8.1.3.2.1. Pascal Help Source ΓòÉΓòÉΓòÉ
  4788.  
  4789.  
  4790. {Help manager helpers}
  4791.  
  4792. FUNCTION InfoBox(st:STRING):LONGINT;
  4793. BEGIN
  4794.  result:=WinMessageBox (HWND_DESKTOP, HWND_DESKTOP, st,'', 0, MB_OK | MB_ERROR);
  4795. END;
  4796.  
  4797. {to be placed in front of the main program message loop}
  4798. PROCEDURE InitHelp (hwndClientFrame:HWND);
  4799. VAR
  4800.   hini:HELPINIT;
  4801.   { If we return because of an error, Help will be disabled }
  4802. BEGIN
  4803.    fHelpEnabled := FALSE;
  4804.    { Initialize help init structure }
  4805.    hini.cb := sizeof(HELPINIT);
  4806.    hini.ulReturnCode := 0;
  4807.    { If tutorial added, add name here }
  4808.    hini.pszTutorialName := NIL;
  4809.    hini.phtHelpTable := PHELPTABLE(MAKELONG(HELP_TABLE, $FFFF));
  4810.    hini.hmodHelpTableModule := 0;
  4811.    hini.hmodAccelActionBarModule := 0;
  4812.    hini.idAccelTable := 0;
  4813.    hini.idActionBar := 0;
  4814.    hini.pszHelpWindowTitle := @HelpWindowTitle;
  4815.    hini.fShowPanelId := CMIC_HIDE_PANEL_ID;
  4816.    hini.pszHelpLibraryName := @HelpFilename;
  4817.    { Creating help instance }
  4818.    hwndHelpInstance := WinCreateHelpInstance(AppHandle,hini);
  4819.    if ((hwndHelpInstance = 0 )OR(hini.ulReturnCode<>0)) THEN
  4820.    BEGIN
  4821.      InfoBox('Failed to load help manager.');
  4822.      exit;
  4823.    END;
  4824.  
  4825.    { Associate help instance with main frame }
  4826.    if not WinAssociateHelpInstance(hwndHelpInstance, hwndClientFrame) THEN
  4827.    BEGIN
  4828.      InfoBox('Failed to load help manager.');
  4829.      exit;
  4830.    END;
  4831.  
  4832.    { Help manager is successfully initialized so set flag to TRUE }
  4833.    fHelpEnabled := TRUE;
  4834. END;
  4835.  
  4836. {to be placed behind the main program message loop}
  4837. PROCEDURE DestroyHelp;
  4838. BEGIN
  4839.    IF hwndHelpInstance <> 0 THEN WinDestroyHelpInstance(hwndHelpInstance);
  4840. END;
  4841.  
  4842.  {
  4843.   some possible parameters:
  4844.   HM_HELP_INDEX   shows the index
  4845.   HM_HELP_CONTENTS, shows the contents
  4846.   HM_DISPLAY_HELP  shows help for help
  4847.  }
  4848. PROCEDURE SendHelpMessage (HelpMessage:LONG);
  4849. BEGIN
  4850.    if fHelpEnabled THEN
  4851.    if WinSendMsg(hwndHelpInstance, HelpMessage, 0, 0)<>0
  4852.     then InfoBox ('Failed to display help panel.');
  4853. END;
  4854.  
  4855.  {
  4856.   parameters are the Panel ID's, defined with ID dot commands
  4857.   in the Hypermake source file
  4858.  }
  4859. PROCEDURE DisplayHelpPanel (PanelID:LONG);
  4860. BEGIN
  4861.    if fHelpEnabled then
  4862.     if WinSendMsg(hwndHelpInstance, HM_DISPLAY_HELP,
  4863.      MPFROMLONG(MAKELONG(PanelID, 0)),
  4864.      MPFROMSHORT(HM_RESOURCEID))<>0
  4865.       then InfoBox ('Failed to display help panel.');
  4866. END;
  4867.  
  4868.  
  4869. ΓòÉΓòÉΓòÉ 8.2. Windows Online Help ΓòÉΓòÉΓòÉ
  4870.  
  4871.  
  4872. To create context-sensitive program help, there has to be a connection between 
  4873. the EXE file and the hypertext. Hypermake helps you doing that. 
  4874.  
  4875. Relating ID's to chapters in the Hypermake source text 
  4876.  
  4877. You can define ID constant names in a chapter. 
  4878.  
  4879.  
  4880.  .1
  4881.  My Chapter
  4882.  
  4883.  .ID ID_MY_CHAPTER
  4884.  This is my chapter.
  4885.  
  4886. Hypermake creates a file PANELID.H, or another filename you can define in the 
  4887. ini file (project settings page "Helpfile"), setting Panel ID filename" . In 
  4888. this file, contant names are getting values. 
  4889.  
  4890. In the ini file (project settings page "General"), setting languages , you can 
  4891. choose between generating Pascal or C source. 
  4892.  
  4893. Creating Help in C programs 
  4894.  
  4895. The Panel ID file looks like the following: 
  4896.  
  4897.  
  4898. /*****Help Panel ID's created by Hypermake*****/
  4899.  
  4900. #define ID_MY_CHAPTER 27
  4901.  
  4902. You can include this file in your C program source: 
  4903.  
  4904.  #include "panelid.h" 
  4905.  
  4906. Creating Help in Pascal programs 
  4907.  
  4908. The Panel ID file gets the Pascal syntax: 
  4909.  
  4910.  
  4911. {   Panel ID's created by Hypermake   }
  4912.  
  4913. const
  4914.  ID_MY_CHAPTER = 27;
  4915.  
  4916. You can include this file in your Pascal program source: 
  4917.  
  4918.  {$I PANELID.PAS} 
  4919.  
  4920. Access from the EXE source to the help file 
  4921.  
  4922. With 
  4923.  
  4924.  WinHelp (hwnd, "MYPROG.HLP", HELP_CONTEXT, ID_MY_CHAPTER); 
  4925.  
  4926. you can activate the specific help page. 
  4927.  
  4928. In addition, there are two other important kinds of using this API function: 
  4929.  
  4930.  WinHelp (hwnd, "MYPROG.HLP", HELP_FINDER, 0); 
  4931. activates the help window with the contents, index, search pages (you cannot 
  4932. get directly to these pages) 
  4933.  
  4934.  WinHelp (hwnd, "MYPROG.HLP", HELP_HELPONHELP, 0); 
  4935. activates the "help on help" page of the Windows operating system. 
  4936.  
  4937. HTML-Help functionality 
  4938.  
  4939. The way of creating the connection between EXE and help file is very similar to 
  4940. Winhelp. But Hypermake does not relate integer values to the constant names. 
  4941. The constant names represent strings, comparible to URL locations. These 
  4942. constants are used in the new HTML-Help function. 
  4943.  
  4944. To include HTML-Help in your program, you need to link the library HHCTRL.LIB 
  4945. or HTMLHELP.LIB. The function call is very similar to the WinHelp function. 
  4946.  
  4947.  HtmlHelp (hwnd, "MYPROG.CHM:://N000.HTML", HH_DISPLAY_TOPIC, 0); 
  4948.  
  4949. Because the parameter is a HTML filename string, there's no need for a Panel ID 
  4950. file which assigns integer values to chapters. It is useful to offer both help 
  4951. formats in your program, so you should write a function where both a Panel ID 
  4952. constant name and a string is defined. 
  4953.  
  4954.  
  4955. ΓòÉΓòÉΓòÉ 8.3. Writing several HLP files in different languages ΓòÉΓòÉΓòÉ
  4956.  
  4957.  
  4958. If you are writing several help files in different languages and you have only 
  4959. one EXE file, it is adequate to enter the ID- (and OS/2 RC-) dot commands only 
  4960. in one Hypermake source file. There aren't any problems if you have got exactly 
  4961. the same heading level structure in every Hypermake source file. Hypermake 
  4962. simply enumerates the headings from the first heading (res ID 1) to the end. 
  4963.  
  4964.  
  4965. ΓòÉΓòÉΓòÉ 9. dot command summary ΓòÉΓòÉΓòÉ
  4966.  
  4967.  
  4968. subchapters: 
  4969. About 
  4970. Essentials 
  4971. Beginning 
  4972. Headings 
  4973. Fonts 
  4974. Lists 
  4975. Bitmaps 
  4976. Linking and Indexing 
  4977. Duplication of heading text 
  4978. Tables 
  4979. Line drawing 
  4980. Footnotes 
  4981. Margins and Formatting 
  4982. if-conditions 
  4983. HTML specific commands 
  4984.  
  4985. next chapter: 
  4986. Project Settings (Ini file) 
  4987.  
  4988.  
  4989. ΓòÉΓòÉΓòÉ 9.1. About ΓòÉΓòÉΓòÉ
  4990.  
  4991.  
  4992. Here you find a summary of all Hypermake dot commands. You will find the same 
  4993. structure of subjects in Writing a Hypermake source text. 
  4994.  
  4995. Some dot commands have got synonyms in German language or WordStar synonyms, 
  4996. they are quoted in brackets and both are interpreted. 
  4997.  
  4998.  
  4999. ΓòÉΓòÉΓòÉ 9.2. Essentials ΓòÉΓòÉΓòÉ
  5000.  
  5001.  ..comment 
  5002.  
  5003. "comment" is not interpreted. 
  5004.  
  5005.  
  5006.  .:ipfcommand.
  5007.  .:ipfcommand. expression
  5008.  
  5009. You can enter an IPF command directly. 
  5010.  
  5011.  
  5012.  .HC on
  5013.  .HC off
  5014.  
  5015. Enables embedding <HTML tags> in normal Hypermake source text. Default is off. 
  5016.  
  5017.  
  5018.  .HTML
  5019.  <HTML-commands> running text
  5020.  .HYPERMAKE
  5021.  
  5022. enables direct writing of HTML text. 
  5023.  
  5024.  
  5025.  .HF filename
  5026.  
  5027. copies the content of the file filename to the location of the dot command when 
  5028. creating HTML. 
  5029.  
  5030.  
  5031. ΓòÉΓòÉΓòÉ 9.3. Beginning ΓòÉΓòÉΓòÉ
  5032.  
  5033.  
  5034.  .TI
  5035.  Title
  5036.  
  5037. sets the title of the hypertext to "Title". 
  5038.  
  5039.  
  5040.  .<>
  5041.  
  5042. creates pushbuttons "Back" and "Forward" in Winhelp and OS/2 HLP files and 
  5043. "Contents" in OS/2 HLP files. 
  5044.  
  5045.  
  5046. ΓòÉΓòÉΓòÉ 9.4. Headings ΓòÉΓòÉΓòÉ
  5047.  
  5048.  
  5049.  .1 up to .6 sets a heading level 
  5050.  
  5051.  .1 
  5052.  Main heading 
  5053.  
  5054. The title of the first heading level is "Main heading". 
  5055.  
  5056. (Heading Size) Changing the font size of the heading text (HTML). E.g. Level 4 
  5057. gets the font size of level 2. 
  5058.  
  5059.  .HS 123234 
  5060.  
  5061. Appearance of links to subchapters 
  5062.  
  5063.  
  5064.  .sc separation text of your choice
  5065.  .sc RETURN      (default)
  5066.  .sc PARAGRAPH
  5067.  .sc LIST
  5068.  
  5069. Window Arrangement (Frames) 
  5070.  
  5071.  .WA ( .FA ) 
  5072.  .WA hori 30 
  5073.  .WA hori 30 verti 40 III 
  5074.  
  5075. Window arrangement enables showing two or three heading level windows 
  5076. simultaneously. It has to be placed above the first heading level dot command 
  5077. where the arrangement shall begin. 
  5078.  
  5079. Chapter ID 
  5080.  
  5081.  .ID NAME 
  5082.  
  5083. The chapter where the command is located gets the ID "NAME". 
  5084.  
  5085. The corresponding page gets the name "NAME.HTML" instead of an enumeration. In 
  5086. the ini file (project settings page "link"), you can enter the keyword "NAME" 
  5087. in the line "function for link for". The navigation button "NAME.HTML" gets a 
  5088. link to the marked chapter. You will find a Library of Buttons in the directory 
  5089. BUTTONS. 
  5090.  
  5091. This command is used for creating context-sensitive help. 
  5092.  
  5093.  
  5094. ΓòÉΓòÉΓòÉ 9.5. Fonts ΓòÉΓòÉΓòÉ
  5095.  
  5096.  
  5097.  .SFX ( .SNX ) 
  5098.  .AFX ( .SAX ) 
  5099.  
  5100. standard font and alternate font changes the font to the font X. X represents a 
  5101. character from A to Z and from a to z (case sensitive). The font chars are 
  5102. defined in the ini file (project settings page "Font"). 
  5103.  
  5104. The alternate font is active between two alternate toggle chars, also defined 
  5105. in the ini file. 
  5106.  
  5107.  
  5108. ΓòÉΓòÉΓòÉ 9.6. Lists ΓòÉΓòÉΓòÉ
  5109.  
  5110.  
  5111.  .OL turns the ordered list setting on 
  5112.  .UL turns it off (default, "unordered list"). 
  5113.  
  5114.  
  5115. ΓòÉΓòÉΓòÉ 9.7. Bitmaps ΓòÉΓòÉΓòÉ
  5116.  
  5117.  
  5118.  .BM filename 
  5119.  
  5120. places a bitmap centered. The filename extension is ".BMP" (IPF, Winhelp) and 
  5121. ".GIF" (HTML). 
  5122.  
  5123.  .BTX filename 
  5124.  
  5125. replaces all occurrences of the bitmap char X by the bitmap filename.bmp. 
  5126.  
  5127.  .BD directory/ 
  5128.  
  5129. bitmap directory defines a default directory for all .BM  and .BT commands 
  5130. which follows. 
  5131.  
  5132.  
  5133. ΓòÉΓòÉΓòÉ 9.8. Linking and Indexing ΓòÉΓòÉΓòÉ
  5134.  
  5135.  
  5136.  .ICX  ( .IZX , .STX ) 
  5137.  
  5138. sets the index char to X. 
  5139.  
  5140.  .IN phrase  ( .SW ) 
  5141.  
  5142. places "phrase" into the index; all occurrences of "phrase" will get a link to 
  5143. the chapter where the IN dot command is placed. 
  5144.  
  5145.  .IT phrase  ( .IV , .SV ) 
  5146.  
  5147. Index Turned: same as IN, but uses the last word as leading word. 
  5148.  
  5149.  .IU ignore uppercase 
  5150.  
  5151. at the beginning of the source text ignores upper and lowercase letters when 
  5152. creating links 
  5153.  
  5154. External links (IPF, Winhelp) 
  5155.  
  5156.  .EX extern.hlp 
  5157.  .ID chapter_beginning 
  5158.  .IN phrase 
  5159.  .EX 
  5160.  
  5161. All occurrences of "phrase" become an external link to the chapter of the file 
  5162. extern.hlp which was labeled with the dot command 
  5163.  .ID chapter_beginning 
  5164.  
  5165. External links (HTML) 
  5166.  
  5167.  .URL internetaddress 
  5168.  .IN phrase 
  5169.  .LOCAL 
  5170.  
  5171. All occurrences of "phrase" become an external link to the URL 
  5172. "internetaddress". 
  5173.  
  5174. Launching programs (IPF, Winhelp) 
  5175.  
  5176.  .EX programname.exe parameter 
  5177.  .IN phrase 
  5178.  .EX 
  5179.  
  5180. All occurrences of "phrase" become a link to the program "programname.exe", 
  5181. with the parameter "parameter". 
  5182.  
  5183.  
  5184. ΓòÉΓòÉΓòÉ 9.9. Duplication of heading text ΓòÉΓòÉΓòÉ
  5185.  
  5186.  
  5187.  .dp34C 
  5188.  
  5189. Duplication of heading text at the beginning of the text window in heading 
  5190. level 3 and 4 with font C 
  5191.  
  5192.  .dp##C 
  5193.  
  5194. in all heading levels, headings are duplicated at the beginning of the text 
  5195. window, gets link target (first #) and is placed into the index (second #). 
  5196.  
  5197.  .dp-34 
  5198.  
  5199. deactivates heading duplication at the heading level 3 and 4. 
  5200.  
  5201. In Winhelp, duplication of heading text is always activated and the fonts are 
  5202. set in the ini file instead of the dot command. 
  5203.  
  5204.  
  5205. ΓòÉΓòÉΓòÉ 9.10. Tables ΓòÉΓòÉΓòÉ
  5206.  
  5207.  
  5208.  .TA table heading text
  5209.  cell one   cell two  cell three
  5210.  2nd line   2nd line  one+
  5211.  third cell  "     big cell
  5212.  .TA
  5213.  
  5214. and you will get: 
  5215.  
  5216. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  5217. Γöécell one   Γöécell two Γöécell     Γöé
  5218. Γöé           Γöé         Γöéthree    Γöé
  5219. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5220. Γöé2nd line   Γöé2nd line Γöéone big  Γöé
  5221. Γöé           Γöé         Γöécell     Γöé
  5222. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5223. Γöéthird cell Γöé         Γöé         Γöé
  5224. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  5225.  
  5226. In tables, cells can be expanded with " and with + (only HTML). 
  5227.  
  5228.  .tc X 
  5229.  
  5230. (table character) changes the concatenation-char + to another char. 
  5231.  
  5232.  .TT 
  5233.  
  5234. (Table Tags) default is: 
  5235.  .TT BORDER CELLPADDING=5 
  5236.  
  5237. Gray background without graphics: 
  5238.  .TT BORDER CELLPADDING=5 BGCOLOR="#D0D0D0" 
  5239.  
  5240.  .TW 
  5241. Table word wrap (only HTML): table fits the whole window width and the text in 
  5242. the cells is reformatted. 
  5243.  
  5244.  
  5245. ΓòÉΓòÉΓòÉ 9.11. Line drawing ΓòÉΓòÉΓòÉ
  5246.  
  5247.  
  5248.  .LIXY
  5249. X  Y  X        ΓöîΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÉ
  5250.             Γöé  Γöé  Γöé
  5251. Y       result:   Γö£ΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöñ
  5252.             Γöé  Γöé  Γöé
  5253. X    X        ΓööΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÿ
  5254.  .LI
  5255.  
  5256. Line drawing generates a box (X are the corners), divided by Y. Z in front of X 
  5257. or Y uses double lines (only IPF). 
  5258.  
  5259.  
  5260. ΓòÉΓòÉΓòÉ 9.12. Footnotes ΓòÉΓòÉΓòÉ
  5261.  
  5262.  
  5263.  .FU{} 
  5264.  .FU{}sfX 
  5265.  
  5266. defines brackets to quote footnote text; selects font X for the footnote 
  5267. window. If you enter 
  5268.  
  5269.  you will get {content of the footnote}. 
  5270.  
  5271. you will get . 
  5272.  
  5273.  .FS 30 
  5274.  
  5275. footnote size: changes the default setting of text window size / footnote 
  5276. window size 85 / 15 to 70 / 30. 
  5277.  
  5278.  .FT XXX 
  5279.  
  5280. footnote text: writes "XXX" instead of the default "*". Bitmap chars are 
  5281. allowed. 
  5282.  
  5283.  
  5284. ΓòÉΓòÉΓòÉ 9.13. Margins and Formatting ΓòÉΓòÉΓòÉ
  5285.  
  5286.  
  5287.  .LM 10 
  5288.  
  5289. will set the left margin from default 1 to 10. 
  5290.  
  5291.  .FM off  ( .FM aus ) 
  5292.  .FM on  ( .FM an ) 
  5293.  
  5294. (only IPF and Winhelp) Formatting turns formatting (word wrap) off and on. 
  5295. Default is on. 
  5296.  
  5297.  .OC on  ( .OC an ) 
  5298.  .OC off  ( .OC aus ) 
  5299.  
  5300. turns centered text on and off. 
  5301.  
  5302.  .AM off  ( .AM aus ) 
  5303.  .AM on  ( .AM an ) 
  5304.  
  5305. Auto Margin let you change the left margin by entering spaces at the beginning 
  5306. of a paragraph. Default is on. 
  5307.  
  5308. In HTML files, the margin can only be changed in steps of 5 spaces. 
  5309.  
  5310.  
  5311. ΓòÉΓòÉΓòÉ 9.14. if-conditions ΓòÉΓòÉΓòÉ
  5312.  
  5313.  
  5314.  .IF CONDITION
  5315.  .ELSE
  5316.  .END
  5317.  
  5318. is only compiling specific source text to the output file. The conditions are 
  5319. set in the HMP file or from the commandline with #CONDITION (not 
  5320. case-sensitive). Also accepted expressions: 
  5321.  
  5322.  
  5323.  .IF not CONDITION
  5324.  .IF COND1 and COND2
  5325.  .IF COND1 or COND2
  5326.  
  5327.  
  5328. ΓòÉΓòÉΓòÉ 9.15. HTML specific commands ΓòÉΓòÉΓòÉ
  5329.  
  5330.  
  5331.  .ID LABEL
  5332.  
  5333. the actual HTML file will get the name LABEL.HTML instead of e.g. N001.HTML. 
  5334.  
  5335.  
  5336.  .NR 10
  5337.  .HD 100
  5338.  .1
  5339.  Heading with fixed internal number
  5340.  
  5341. (internal numbering) sets the interal counter for headings and files to a 
  5342. higher value, so additional chapters can be inserted later above these commands 
  5343. without affecting the enumeration which is following. 
  5344.  
  5345.  
  5346. ΓòÉΓòÉΓòÉ 10. Project Settings (Ini file) ΓòÉΓòÉΓòÉ
  5347.  
  5348.  
  5349. subchapters: 
  5350. Introduction 
  5351. Main (HMP) settings 
  5352. General settings 
  5353. Format settings 
  5354. specific characters 
  5355. Font characters 
  5356. link specific settings 
  5357. HTML-0: preselect HTML designs 
  5358. HTML-1: HTML specific settings, page 1 
  5359. HTML-2: HTML specific settings, page 2 
  5360. Winhelp specific settings 
  5361. Rich text format specific settings 
  5362. Help file specific settings (not HTML) 
  5363.  
  5364. next chapter: 
  5365. About 
  5366.  
  5367.  
  5368. ΓòÉΓòÉΓòÉ 10.1. Introduction ΓòÉΓòÉΓòÉ
  5369.  
  5370.  
  5371. The project settings notebook contains settings which influences the design and 
  5372. functionality of the hypertext files Hypermake generates. The settings on the 
  5373. "Main" page are saved in the HMP file (HyperMake Project file) and all the 
  5374. other pages in the ini file. Every hypertext project has always its own HMP 
  5375. file, but several projects can share the same ini file, if the design and 
  5376. functionality of these projects are the same. 
  5377.  
  5378. Principally, you can edit the HMP and the ini file with an ASCII editor. This 
  5379. is necessary if you don't use the graphical HYMAKE.EXE program and prefer 
  5380. running HMAKE.EXE. The first line of HMP and ini files won't be interpreted. 
  5381. For your own ini file, better use a copy of SAMPLE.INI and not DOCU.INI because 
  5382. DOCU.INI has got some exotic ASCII values for the toggle chars. 
  5383.  
  5384. In the sub chapters below, the corresponding line in the ini file is written in 
  5385. typewriter font. If you use the settings notebook exclusively, this information 
  5386. won't be interested for you. 
  5387.  
  5388. If you want to edit HMP and ini files instead of using the settings notebook 
  5389.  
  5390. In the manner of the C++ and Java programming languages, text at the right side 
  5391. of a double slash // won't be interpreted. Also the windows specific comments 
  5392. beginning with ; are allowed, but ; has to be at at column 1. You can change 
  5393. the order of the switches, but all switches have to appear exactly one time. 
  5394. With a few exceptions, the lines aren't interpreted case sensitive. 
  5395.  
  5396. In comparison to Windows ini files, the headings in brackets like [general 
  5397. settings] aren't interpretated and helps you only grouping the switches. 
  5398.  
  5399. You aren't allowed to change the text at the left side of the = (equal) 
  5400. character, because that's the name of the switch. At the right side, you can 
  5401. change the setting. 
  5402.  
  5403.  
  5404. ΓòÉΓòÉΓòÉ 10.2. Main (HMP) settings ΓòÉΓòÉΓòÉ
  5405.  
  5406. The "Main" page holds all settings which are stored in the HMP file (Hypermake 
  5407. project file). The most important information here is the name of the source 
  5408. file and the name of the ini file - this is the file which stores all the 
  5409. information of the following pages of the settings notebook. 
  5410.  
  5411. The reason for storing into two different files is the ability to use one 
  5412. single ini file for several projects where the functionality and the look are 
  5413. similar. 
  5414.  
  5415. Source files 
  5416.  
  5417. You can use only one or several source files. If you enter several source files 
  5418. here, they were handled like the text would be stored in a single file with the 
  5419. order you have chosen here. 
  5420.  
  5421. It can be a useful decision to separate specific parts of your source file into 
  5422. separate files, e.g. all external link (external WWW addresses) which have to 
  5423. be controled separately. If you have got very large files, a separation can 
  5424. also be useful. (But the Hypermake editor works with files up to 15 MB.) If 
  5425. different persons are responsible for concrete chapters, a separation can be 
  5426. also useful. 
  5427.  
  5428. If no drive letter and directory is entered, the souce file has to be located 
  5429. in the same directory where the current HMP file resides. 
  5430.  
  5431. Ini File 
  5432.  
  5433. The settings on the "Main" page are stored in the HMP file and all other pages 
  5434. are stored in the ini file you can select here. You can select the same ini 
  5435. file for projects with similar look and functionality. 
  5436.  
  5437. It would be extremely tedious to fill out all settings of the settings notebook 
  5438. when starting a new Hypertext project. Instead, when pressing New, Hypermake 
  5439. let you select an existing ini file and then creates a copy this ini file (e.g. 
  5440. the SAMPLE.INI file which is part of the archive). Then you have only to make 
  5441. some changes on the pages of the settings notebook. Open let you select an 
  5442. existing ini file for your current project. Changes on the notebook pages will 
  5443. overwrite the selected ini file which will have an effect to other projects 
  5444. using this ini file. Save as makes a copy of the current ini file. The old ini 
  5445. file can be used for another Hypertext project. 
  5446.  
  5447. Graphic Files 
  5448.  
  5449. When checking "check graphic files" the list above will be activated. In this 
  5450. case when compiling, Hypermake searches the necessary graphic files in the 
  5451. directories you have entered here. If a file is missing, you will get a warning 
  5452. message. See copying graphic files. 
  5453.  
  5454. If you don't check this checkbox, you have to copy the graphic files yourself 
  5455. to the directory where the HTML files or where the source file for the second 
  5456. compiler (IPF, RTF file) resides. 
  5457.  
  5458. also do start 2nd compiler, start viewer 
  5459.  
  5460. After compilation of the source text to the hypertext format is finished 
  5461. successfully, Hypermake can start the second compiler and/or the viewer 
  5462. automatically, if you want. If you enable this checkboxes, make sure that in 
  5463. the program settings (view - program settings), page "2nd Comp" and "View", the 
  5464. filenames of the programs are entered correctly, e.g. the EXE file of the 
  5465. Netscape Browser). 
  5466.  
  5467. More about how Hypermake works see compilation. 
  5468.  
  5469. Target 
  5470.  
  5471. You can select one Hypertext format you want to get created from your source 
  5472. text. You can also select a different target format with project - compile to, 
  5473. which overwrites this setting. 
  5474.  
  5475. If-Conditions 
  5476.  
  5477. Hypermake lets you define conditions for including and excluding parts of your 
  5478. source text without changing the source text, see if-conditions. 
  5479.  
  5480. subchapters: 
  5481. Parameter 
  5482.  
  5483. next chapter: 
  5484. General settings 
  5485.  
  5486.  
  5487. ΓòÉΓòÉΓòÉ 10.2.1. Parameter ΓòÉΓòÉΓòÉ
  5488.  
  5489. In the settings notebook, page "Main", you will find a number of checkboxes in 
  5490. the "Parameter" section. If you use the commandline version of Hypermake, the 
  5491. expressions in parenthesis are the parameter names you have to enter. 
  5492.  
  5493. "No Frames": Creating HTML files without frames functionality (NOFRAMES) 
  5494.  
  5495. (only HTML) This parameter creates HTML pages without frame functionality. This 
  5496. has got two effects: First, all .WA (window arrangement) commands aren't 
  5497. interpreted. Second, all footnotes are placed in only one footnote file and the 
  5498. footnotes will be numbered. The link to the footnote will be e.g. . 
  5499.  
  5500. "No ID": Ignore ID dot commands (NOID) 
  5501.  
  5502. (only HTML) If you use .ID dot commands, the HTML file gets the name of the ID. 
  5503. Normally Hypermake uses filenames N000.HTML, N001.HTML and so on. If you don't 
  5504. want to change to fixed ID filenames, you can use this parameter. 
  5505.  
  5506. "Pre Filename": Several Hypermake documents in only one directory (PRE) 
  5507.  
  5508. (only HTML) The ini file setting "pre filename" enables you to set a character 
  5509. string in front of all HTML filenames generated by Hypermake, e.g. 
  5510. UserN000.HTML, UserN001.HTML. But for this procedure you need one ini file for 
  5511. each of your projects. To avoid having several ini files, you can use this 
  5512. parameter. 
  5513.  
  5514. If the projekt name is MY, Hypermake creates HTML files  MY\MY*.HTML . So you 
  5515. can copy the files of all your different projects into one single directory 
  5516. without name conflicts. 
  5517.  
  5518. Using DOS drives, "pre filename" or the name of the HMP file must not exceed 3 
  5519. chars! 
  5520.  
  5521. "Alt Graphic File": Different languages in only one directory (_) underscore 
  5522.  
  5523. (only HTML) If you want to place HTML files and graphics in two languages in 
  5524. only one directory, you will get a conflict with the same filenames of the 
  5525. navigation buttons FORWARD.GIF, BACK.GIF and so on. 
  5526.  
  5527. This commandline parameter appends the _ character to all graphics filenames: 
  5528. FORWARD_.GIF, BACK_.GIF, USER_.GIF. For one of the two different languages you 
  5529. have to use this parameter, for the other not. Rembember to rename the GIF 
  5530. buttons of one language. 
  5531.  
  5532. "Big Font": Choosing a globally bigger font (BIGFONT) 
  5533. "Small Font": Choosing a globally smalle font (SMALLFONT) 
  5534.  
  5535. With these parameters which have effect to all target fomats you can influence 
  5536. the size of the fonts which have got a size value in the ini file. I have seen 
  5537. that with the same INI file, e.g. Winhelp generates bigger fonts and IPF 
  5538. smaller ones. To avoid using two ini files, you can use these parameters. 
  5539.  
  5540. "New IPFC": Generating same output with two IPFC compiler versions (NEWIPFC) 
  5541.  
  5542. The newer IPFC version 3 generates different beginnings of the pages (indention 
  5543. and new line) in comparison to the versions 1 and 2. With the parameter 
  5544. /newipfc you will get the same look of the hypertext files when compiling with 
  5545. IPFC 3 like when compiling with IPFC 2 without the /newipfc setting. 
  5546.  
  5547. Forcing DOS filenames (FAT) 
  5548.  
  5549. With this parameter, Hypermake writes filenames in DOS 8.3 syntax. You have to 
  5550. control possible conflicts by yourself: if the name of a chapter is 
  5551. "mainchapter1.HTML" and of another one "mainchapter2.HTML", both chapters would 
  5552. get the same name "MAINCHAP.HTM". 
  5553.  
  5554.  
  5555. ΓòÉΓòÉΓòÉ 10.3. General settings ΓòÉΓòÉΓòÉ
  5556.  
  5557. Language of Hymake User Interface 
  5558.  
  5559.  
  5560. //possible settings: ENGLISH, GERMAN, C, PASCAL
  5561. Language = ENGLISH C
  5562.  
  5563. Actually, English and German is supported. This document is also available in 
  5564. German language. This switch won't have any effect to the output files. It only 
  5565. sets the language of the user interface and the (error) messages running 
  5566. Hypermake. Some dot commands are different in the german documentation, but 
  5567. they are both interpreted. 
  5568.  
  5569. When choosing a native language, you also have to set the language specific 
  5570. settings endings of words and extended letters. 
  5571.  
  5572. Your Programming Language (IPF, Winhelp, HTMLHELP) 
  5573.  
  5574. If you want to create Panel ID and Helptable files, Hypermake has to know your 
  5575. programming language C or Pascal. 
  5576.  
  5577. Registration Key 
  5578.  
  5579.  
  5580. Registration code = 0
  5581.  
  5582. Here you have to enter your registration key, if you want to compiler bigger 
  5583. sources than 20 kB. 
  5584.  
  5585. see registration 
  5586.  
  5587. Beep after successful compilation 
  5588.  
  5589.  
  5590. //beep when finishing compiling - possible settings: YES, NO
  5591. beep = YES
  5592.  
  5593. If Hypermake has created the IPF/RTF file or the HTML files successfully, you 
  5594. will hear a beep. Here you can turn the beep off. OS/2, DOS and Windows NT/2000 
  5595. activates the PC internal speaker, Win95/98 the sound card. 
  5596.  
  5597.  
  5598. ΓòÉΓòÉΓòÉ 10.4. Format settings ΓòÉΓòÉΓòÉ
  5599.  
  5600. Source File Format 
  5601.  
  5602.  
  5603. //possible Settings: ASCIIHARDRET, ASCIISOFTRET, WORDSTAR4
  5604. Source format = ASCIISOFTRET
  5605.  
  5606. see handling of Returns 
  5607.  
  5608. Source Codepage 
  5609.  
  5610.  
  5611. //possible Settings: ISO, IBM
  5612. source codepage = IBM
  5613.  
  5614. You can choose between two codepages for your source text. ISO (ISO 8859-1 
  5615. "Latin1") and IBM codepage 437 or 850. ISO is the typical codepage for Windows 
  5616. or Unix, IBM for DOS and OS/2. 
  5617.  
  5618. This setting is also used by the Hymake editor. The codepage setting of the 
  5619. last Hypermake project is used. 
  5620.  
  5621. Target (interpreted, but not written in Hymake 4.0, now in HMP file) 
  5622.  
  5623.  
  5624. //possible settings: IPF, HTML, WINHELP3, WINHELP4, HTMLHELP
  5625. Target = HTML
  5626.  
  5627. Note that you can temporary overwrite this settings by using the expressions as 
  5628. program parameters in the HMP file or the commandline. 
  5629.  
  5630. Choosing the parameters WINHELP3 and WINHELP4 depends on using HC.EXE/HCP.EXE 
  5631. or HCW.EXE. The differences are not very big. 
  5632.  
  5633.  
  5634. ΓòÉΓòÉΓòÉ 10.5. specific characters ΓòÉΓòÉΓòÉ
  5635.  
  5636. Check conflicts 
  5637.  
  5638. is a functionality only inside the settings notebook. It will warn you if you 
  5639. have defined a character for two purposes. 
  5640.  
  5641. List chars 
  5642.  
  5643.  
  5644. //only ASCII source
  5645. List chars = =-
  5646.  
  5647. List chars are necessary to create unordered lists. 
  5648.  
  5649. Index char 
  5650.  
  5651.  
  5652. Index char = #
  5653.  
  5654. see linking and indexing. The dot command .ICX overwrites this default setting 
  5655. with the char X. 
  5656.  
  5657. Index Filter 
  5658.  
  5659. //characters not shown in index and duplicated heading
  5660. index filter = ().
  5661.  
  5662. You can omit specific characters in the index and when duplicating heading 
  5663. text. 
  5664.  
  5665. toggle chars 
  5666.  
  5667.  
  5668. //highlighted char toggles
  5669. //all formats:   1 alternate  2 italic 3 bold 4 underlined
  5670. //IPF:       5 red 6 cyan 7 blue
  5671. //HTML:      8 strike 9 big 10 small
  5672. //HTML, Winhelp:  11 sub 12 sup
  5673. //     123456789012
  5674. toggles = ************
  5675.  
  5676. You always have to enter all twelve toggle chars, even you don't use IPF or 
  5677. HTML. 
  5678.  
  5679. You can enter these characters in the integrated editor by using popup menu - 
  5680. toggle. 
  5681.  
  5682. If you use IBM Codepage, you are allowed to use the characters below ASCII 26. 
  5683. To enter characters in the settings notebook which are not part of your 
  5684. keyboard, hold the ALT down and type the ASCII number with the number keys on 
  5685. the right side of your keyboard. 
  5686.  
  5687. Extended Letters 
  5688.  
  5689.  
  5690. //language specific letters besides A...Z, a...z, 0...9
  5691. //english '-
  5692. //german ╨ö╨ñ╨æ╤ü╨₧╨⌐╨¬
  5693. extended letters = '-
  5694.  
  5695. In most languages besides english, there are letters other languages won't use. 
  5696. Hypermake has to know these letters to distinguish from (possible) toggles. 
  5697. This has an effect on indexing/linking. So if you write 
  5698.  
  5699.  
  5700. This is a sample with a marked german word #Kinderg╨örten.
  5701.  
  5702. (That's plural of Kindergarten.) If you haven't defined "╨ö" as an extended 
  5703. letter, the index entry and link target is only "Kinderg". 
  5704.  
  5705. To use an expression like "CONFIG.SYS" or "bird (movie)" as a link target, the 
  5706. dot and the parenthesis have to be defined as extended letters. If you do so, 
  5707. you have to pay attention when marking expressions with the index char, for 
  5708. example you enter (#Word). Not "Word" is the link target and placed in the 
  5709. index, it's "Word)." - that means most of the links you want are not created. 
  5710. Use (#:Word:). in this case. 
  5711.  
  5712.  
  5713. ΓòÉΓòÉΓòÉ 10.6. Font characters ΓòÉΓòÉΓòÉ
  5714.  
  5715.  
  5716. //Font chars from A to Z and from a to z (case-sensitive!)
  5717. //both HTML and IPF: size Linestandard OmitLinks PRE center
  5718. //only IPF: Fontname codepage foregroundcolor BACKGROUNDCOLOR
  5719. //only HTML: PHRASEELEMENT Color
  5720. Font A = 15 fmodern:Courier Courier CODE
  5721. Font b = fmodern:Courier Courier 12 CODE black 437 Linestandard OmitLinks
  5722. Font B = 30 Arial,Helvetica,Univers fswiss:Helvetica Helv neutral
  5723. Font Z = GREEN 30 Arial,Helvetica,Univers fswiss:Helvetica Helv yellow
  5724. Font G = 15 Arial,Helvetica,Univers fswiss:Helvetica Helv black
  5725. Font T = 18 froman:Roman Tms_Rmn
  5726. Font C = black
  5727. Font o = OmitLinks
  5728.  
  5729. Here you can define font chars from A to Z and from a to z. Note that the font 
  5730. char is case sensitive. There is no order of the settings. 
  5731.  
  5732. In the settings notebook, you can activate the font dialog by double clicking a 
  5733. line in the list box or by pressing the "change" button. In the font dialog, 
  5734. you can change the font, you can edit the edit field which will chause changes 
  5735. in the dialog item states or you can use the dialog items which will modify the 
  5736. edit field. The "sample" field cannot cannot show a perfect preview of the font 
  5737. style, because the different hypertext formats are too different. 
  5738.  
  5739. The characteristics of the strings in the edit field / behind the = sign are: 
  5740.  
  5741.      size: all numbers smaller than 200 
  5742.      codepage: (only IPF) all numbers equal and bigger than 200 
  5743.      foregroundcolor: (See color samples) 
  5744.         -  IPF: all colors in lower case letters: 
  5745.            default, blue, cyan, green, neutral, red, yellow, black. 
  5746.         -  HTML, Winhelp: lower case letters, but first char capital letter: 
  5747.            Black, Silver, Gray, White, Maroon, Red, Purple, Fuchsia, Green, 
  5748.            Lime, Olive, Yellow, Navy, Blue, Teal, Aqua. 
  5749.      backgroundcolor: (only IPF) all colors in capital letters: DEFAULT, BLUE, 
  5750.       CYAN, GREEN, NEUTRAL, RED, YELLOW, BLACK. 
  5751.      Phrase element: (only HTML) ADDRESS PRE EM STRONG DFN CODE SAMP KBD VAR 
  5752.       CITE. 
  5753.      IPF Font-Type: all strings which are not a color. 
  5754.      HTML Font-Type: at least two fontnames separated by comma, without spaces 
  5755.      Winhelp Font-Type: fontfamily:fontname seperated by a colon. Font 
  5756.       families are fmodern, froman, fswiss. 
  5757.  
  5758.       Note that fonts with two words have to be connected with "_". 
  5759.  
  5760.  
  5761.  You only have to enter the settings which are different from default. 
  5762.  
  5763.  The default IPF codepage is defined by the settings in your operating system 
  5764.  or by a parameter of IPFC. 
  5765.  
  5766.  Note that you can mix HTML, IPF and Winhelp instructions, so one font 
  5767.  character defines different outfit dependent on the target format. 
  5768.  
  5769.  With the LineStandard setting you can choose which font will be standard when 
  5770.  activating line drawing. Only one font should have the LineStandard setting, 
  5771.  and the font should be not a proportional font. 
  5772.  
  5773.  With the OmitLinks setting, you can omit the automatic linking function in 
  5774.  several specific fonts. That can be useful for example when writing sample 
  5775.  text. 
  5776.  
  5777.  For further information, please refer to the font chapter. 
  5778.  
  5779.  
  5780. ΓòÉΓòÉΓòÉ 10.7. link specific settings ΓòÉΓòÉΓòÉ
  5781.  
  5782. endings of words 
  5783.  
  5784.  
  5785. //endings in german words: n en s es
  5786. ending of words = s es ies 's ion ions ing ings
  5787.  
  5788. See Linking, Handling of endings 
  5789.  
  5790. Text for link to 
  5791.  
  5792.  
  5793. Text for link to subchapters = @subchapters:@
  5794. Text for link to next chapter = @next chapter:@
  5795.  
  5796. Hypermake will automatically generate links at the end of a heading to all 
  5797. subchapters and to the next chapter of the same (or lower) heading level. Here 
  5798. you can enter the input which will be shown immediately before the links will 
  5799. appear. You are allowed to use toggle chars or bitmaps using bitmap text. 
  5800.  
  5801. You can turn off this function by leaving the entryfield blank or entering NO 
  5802. in capital letters: 
  5803.  
  5804.  
  5805. Text for link to subchapters = NO
  5806. Text for link to next chapter = NO
  5807.  
  5808. Text for link to main chapter = to main chapter (Font Z)
  5809.  
  5810. When using the frames dot command  .WA window arrangement, two heading levels 
  5811. are shown simultaneously. The second window (sub chapter) always gets a link to 
  5812. the first window (main chapter). Because the other links in HTML like 
  5813. "contents" are not created in the second window, the "link to main chapter" is 
  5814. the only connection to the remaining document. It can be disabled by typing NO 
  5815. , but I cannot recommend turning it off. 
  5816.  
  5817. When creating IPF, text for link to main chapter is not used. 
  5818.  
  5819. no more links in 
  5820.  
  5821.  
  5822. //possible Settings: PARAGRAPH, WINDOW, ALWAYS
  5823. no more links in = PARAGRAPH
  5824.  
  5825. see Linking, Omitting links 
  5826.  
  5827. Marking external links 
  5828.  
  5829.  
  5830. //graphics file for marking external URL links or NO for no graphics file
  5831. URL graphics file = World
  5832.  
  5833. Besides Winhelp3, all target formats support links to the WWW. It's useful to 
  5834. know whether a links is an external link or not because external links are only 
  5835. running if the computer is online. Hypermake can place a graphics file in front 
  5836. of every external link. 
  5837.  
  5838.  
  5839. ΓòÉΓòÉΓòÉ 10.8. HTML-0: preselect HTML designs ΓòÉΓòÉΓòÉ
  5840.  
  5841. Hypermake offers a lot of user settings for the HTML target format. If you 
  5842. don't want to study all the settings, you can preselect a well-tested design 
  5843. which is a set of specific settings of the pages HTML-1 and HTML-2. The designs 
  5844. are sorted in an order from simple and nearly without using Javascript to a 
  5845. high-featured design which has got a lot of Javascript and is internally more 
  5846. complicated. If you use Hypermake for a longer time: the number behind 
  5847. "Hypermake" shows the Hypermake version number where the design was the default 
  5848. design. 
  5849.  
  5850. Language has got an effect to all language-specific settings when pressing a 
  5851. HTML design button. If your language is not listed in the radiobox, please send 
  5852. me your ini file. 
  5853.  
  5854. The Hypermake 4.0 design uses different frame names (default frame, content 
  5855. frame) for the content and normal text. The start page / homepage is no more 
  5856. N000.HTML or INDEX.HTML, it's INDXF.HTML. This is a frame page which shows the 
  5857. content in the left frame and the normal text in the right frame. The user can 
  5858. reach this frame page by clicking to the "Home" button in the first/last line 
  5859. of the normal text pages. The design is close to Microsoft HTML-HELP, so do not 
  5860. use this design when creating HTMLHELP - in this case two content trees would 
  5861. be visible simultaneously. 
  5862.  
  5863. If you have selected an interesting design, please send me your ini file. If 
  5864. you need some additional functionality to get your favourite design, please let 
  5865. me know. 
  5866.  
  5867.   The checkboxes below refers to some basic functionality: if you create a 
  5868.   short and simple Homepage, it can be useful to turn off create contents page 
  5869.   and create index page, Normally  you will turn this functionality on, because 
  5870.   that's the main purpose of Hypermake. 
  5871.  
  5872.   By default, Hypermake writes the heading text of a chapter in proper HTML 
  5873.   syntax, so it's the job of the browser to show the headings in an expedient 
  5874.   way: the heading of chapter level 1 in a big font, level 2 in a smaller font 
  5875.   and so on. When creating Winhelp, the user has to define a heading font for 
  5876.   each heading level, because Winhelp does not know a "heading font" command. 
  5877.   Turning the Use heading fonts on Winhelp page for HTML checkbox on will use 
  5878.   these font definitions also for HTML headings. You can use this setting e.g. 
  5879.   to define different colors for heading text dependent on the heading level. 
  5880.   But the recommendend setting is not to use these fonts. 
  5881.  
  5882.  
  5883. ΓòÉΓòÉΓòÉ 10.9. HTML-1: HTML specific settings, page 1 ΓòÉΓòÉΓòÉ
  5884.  
  5885. body tags 
  5886.  
  5887. You can enter several HTML body tags for describing the look of the Browser 
  5888. window. E. g. a background graphics file and a text color for all normal text 
  5889. windows and a background color for the contents window. 
  5890.  
  5891.  
  5892. //enter tags or NO
  5893. body tags = background="backgr.gif" TEXT="#00FFFF"
  5894. contents tags = BGCOLOR=#"CCFFCC"
  5895.  
  5896. The contents tags setting is optional. 
  5897.  
  5898. Be careful with body tags! For example, if you choose a blue background, the 
  5899. links aren't visible anymore. Remember that other users have perhaps defined 
  5900. other default colors. Only if you choose a gray or white background, there's no 
  5901. risk. 
  5902.  
  5903. In the settings notebook, when pressing the button near to the editfield, you 
  5904. will get a dialog window where you can select background color or a background 
  5905. graphics file (which should be placed in one of your graphic path directories, 
  5906. see page Main) and a foreground color (font color) for the default fonts where 
  5907. no color is defined. 
  5908.  
  5909. First and last line 
  5910.  
  5911. see also chapter Navigation Buttons 
  5912.  
  5913.  
  5914. //only HTML: first and last line in file
  5915. function for first line = BACK FORWARD CONTENT INDEX
  5916. text for first line =   back forward content index
  5917. function for last line =  FORWARD CONTENT INDEX
  5918. text for last line =    forward content index
  5919.  
  5920. Hypermake creates several HTML files. People viewing the text should be enabled 
  5921. to link to the next file (FORWARD) and to the file backward (BACK). Also a link 
  5922. to the contents window (CONTENT) and to the index (INDEX) should be available. 
  5923. You can choose whether all functions are available both in the first and in the 
  5924. last line or not. Also the words which represents the function can be changed, 
  5925. also the order of the functions. But you have to make the changes for function 
  5926. and text similar. 
  5927.  
  5928. The design "Hypermake 4.0" (see settings page HTML-0) uses two extended 
  5929. functions HOMEF (Homeframe) and MAX (maximize). Additionaly, the user can set 
  5930. user defined buttons pointing to an arbitrary page of the hypertext. For more 
  5931. information see page Navigation Buttons. 
  5932.  
  5933. Buttons 
  5934.  
  5935.  
  5936. //you can use buttons BACK.GIF FORWARD.GIF CONTENT.GIF INDEX.GIF
  5937. //instead of simple text or use Javascript buttons
  5938. //possible settings: TEXT GIF JAVASCRIPT (Font X)
  5939. buttons = GIF
  5940.  
  5941. You can choose between textual links, buttons with graphic files and Javascript 
  5942. buttons in the first/last line. The graphics file names are fixed: function 
  5943. name with extension ".GIF". 
  5944.  
  5945. Besides GIF, you can select a font. For Javascript buttons, a smaller font 
  5946. (property "-1") is recommended. 
  5947.  
  5948. The GIF files have to be placed in the directory of the HTML files. If the GIF 
  5949. files aren't there, the text you have defined in "text for first/last line" is 
  5950. shown instead. If the files are located on a unix server, the filenames are 
  5951. case sensitive! Use only upper case letters! 
  5952.  
  5953. You will find a Library of Buttons in the directory BUTTONS. 
  5954.  
  5955. The setting JAVASCRIPT creates buttons based on the Javascript programming 
  5956. language. The program generating the Java buttons is part of the HTML file and 
  5957. much more smaller and faster than separate GIF files. But besides a font, you 
  5958. can't change the design of the buttons. 
  5959.  
  5960. title in every file 
  5961.  
  5962.  
  5963. //enter YES (Font X) or NO
  5964. title in every file = NO
  5965.  
  5966. It can be desired to have got the title on every HTML page. The title (which 
  5967. you have defined by .TI at the beginning of the source text) is shown at the 
  5968. beginning of the page, above the "first line" with the navigation buttons. 
  5969.  
  5970. minimal Entries for Extended Index 
  5971.  
  5972.  
  5973. entries for extended index = 30
  5974.  
  5975. Here you can enter the minimal number of index entries where the program has to 
  5976. create the extended index instead of the simple index. 
  5977.  
  5978. New File Level 
  5979.  
  5980.  
  5981. //HTML text file is divided in several files.
  5982. //Enter heading level where new file begins (0 means only one HTML text file)
  5983. new file level = 3
  5984.  
  5985. Hypermake creates several HTML files from only one source file. This increases 
  5986. the performance of the HTML browsers dramatically. With this setting you can 
  5987. influcence the number of generated HTML files. "3" means that for all chapters 
  5988. of heading level 1, 2 and 3, seperate HTML files are created. 
  5989.  
  5990. If Frames (window arrangement) is active in a specific area of the text, 
  5991. Hypermake creates a new HTML file for every chapter. 
  5992.  
  5993. Horizontal Rule Level 
  5994.  
  5995.  
  5996. //Enter heading level up to which has to be divided by horizontal rules
  5997. //  (0 means no rules)
  5998. horizontal rule level = 4
  5999.  
  6000. HTML enables generating horizontal rules all over the window. These can be used 
  6001. to seperate different chapters, if they are not placed in different HTML-files. 
  6002. The value of "horizontal rule level" has to be greater than "new file level". 
  6003. "4" means the chapters of level 1, 2, 3 and 4 are seperated by a rule, if they 
  6004. are placed in the same file. 
  6005.  
  6006. shown in Contents (also Winhelp3) 
  6007.  
  6008.  
  6009. //Enter heading level up to which has to be shown in the HTML content file
  6010. //  (6 means all levels, 0 means no content)
  6011. content level = 6
  6012.  
  6013. With this setting you can enter up to which heading level appears on the 
  6014. content page. If you choose 0, no content page will be created, also the links 
  6015. to the content page are omitted. 
  6016.  
  6017. Contents tree view 
  6018.  
  6019.  
  6020. //enter NO for non-Javascript or AlternateLinkText;OpenText;CloseText
  6021. contents tree = Link to normal contents view;open tree;close tree (Font X)
  6022.  
  6023. The contents tree setting lets you define three text inputs for the Javascript 
  6024. Contents Tree: "AlternateLinkText" gets a link to the normal unordered list 
  6025. view. "OpenText" and "CloseText" is shown in newer browsers if the mouse 
  6026. pointer is over the graphics files which represents the function open/close the 
  6027. subchapter tree as bubblehelp. In any case, this text is shown instead of the 
  6028. graphics files if the user has chosen "load no images" in the browser (HTML IMG 
  6029. ALT text). Then you can select a font for the Javascript contents tree. A font 
  6030. with the PRE setting is recommended. This omits word wrap inside the tree which 
  6031. would impair the proper formatting of the tree. 
  6032.  
  6033.  
  6034. ΓòÉΓòÉΓòÉ 10.10. HTML-2: HTML specific settings, page 2 ΓòÉΓòÉΓòÉ
  6035.  
  6036. Filename Appearance 
  6037.  
  6038.  
  6039. //possible settings: sample.html SAMPLE.HTML Sample.html sample.htm SAMPLE.HTM Sample.htm
  6040. filename appearance = sample.html
  6041.  
  6042. Here you can define how the HTML filenames looks like: small, capital letters, 
  6043. short filenames, long filenames. If you want to publish your HTML files in the 
  6044. WWW and make a mistake here, it can be possible that the links are OK on your 
  6045. computer and after uploading on a server, the links won't work anymore! So 
  6046. please read the chapter about HTML filenames. 
  6047.  
  6048. Warning if Filename not 8.3 
  6049.  
  6050.  
  6051. //choose DOS or LONG - DOS means 8.3 filenames, LONG no limit
  6052. filenames = LONG
  6053.  
  6054. Hypermake generates a lot of warnings if in the filename appearance setting a 3 
  6055. char extension was chosen and Hypermake locates filenames with more than 8 
  6056. characters length. With the ini file setting LONG you can omit these warnings. 
  6057.  
  6058. pre filename 
  6059.  
  6060. (Only ini file, with settings notebook use "Pre Filename" checkbox on the Main 
  6061. page.) 
  6062.  
  6063.  
  6064. //pre filename = XYZ* let all HTML files begin with XYZ
  6065. pre filename = *
  6066.  
  6067. (Registration required) Hypermake creates a lot of files from only one source 
  6068. file. The names of these HTML files are choosen by Hypermake. E.g. it simply 
  6069. enumerates files: N000.HML, N001.HTML and so on. If you want to copy files from 
  6070. several Hypermake source files into one directory, you can enter a string every 
  6071. filename begins with, also INDEX.HTML. For example the input XYZ* means that 
  6072. the filenames are XYZN000.HTML, XYZN001.HTML and so on. Please be careful that 
  6073. the filenames aren't longer than 8 chars, if you use old FAT drives. (That 
  6074. means the pre filename is limited to 3 chars.) 
  6075.  
  6076. Identifier for frame/browser window 
  6077.  
  6078.  
  6079. default frame = _top
  6080. contents frame = _top
  6081.  
  6082. If you are using the WWW, sometimes a new browser window opens. Here the author 
  6083. has used another identifier than "_top". 
  6084.  
  6085. If all HTML pages of your project should appear in a frame of another document, 
  6086. it can be necessary to change this setting. Changing this settings needs 
  6087. experience in HTML, so don't change this if you aren't sure. The default 
  6088. setting is _top . 
  6089.  
  6090. For larger documents it can be useful that the user can open two browsers: One 
  6091. for the contents and one for the text. You can do that when choosing different 
  6092. names for default frame and contents frame , e.g. "main" and "cont". 
  6093.  
  6094. The predefined "Hypermake 4.0" design (settings notebook page HTML-0) uses two 
  6095. different identifiers here. 
  6096.  
  6097. footnote appearance 
  6098.  
  6099.  
  6100. //choose between ActiveX popup footnotes (ACTIVEX) frame footnotes (FRAMES) or no frames (NOFRAMES)
  6101. footnotes = FRAMES
  6102.  
  6103. When creating HTML, you can choose the appearance of the footnotes. In the ini 
  6104. file, setting footnotes you can choose between frames , noframes and activex . 
  6105. The activex setting forces popup footnotes and is useful together with 
  6106. HTML-Help. For the activex setting, the user needs a Microsoft browser, so 
  6107. don't use this setting to publish in the Web! 
  6108.  
  6109. Heading of notes text 
  6110.  
  6111.  
  6112. notes text = notes
  6113.  
  6114. If a source file is compiled with the setting or program parameter  noframes , 
  6115. Hypermake creates one single footnote file with all footnotes numbered. Here 
  6116. you can enter the heading of this file. This text can also be used in the 
  6117. titlebar of this HTML page. 
  6118.  
  6119. Text in Browser Titlebar, for Searching Machines and in Browser Statusbar 
  6120.  
  6121.  
  6122. //here you can define the text appearing in the browser titlebar
  6123. //enter DOCTITLE, HEADING, FILENAME and fixed text, e.g. a slash
  6124. //NO means no text
  6125. file title = DOCTITLE - HEADING
  6126. meta content = DOCTITLE - HEADING
  6127. statusbar mouseover = to chapter: HEADING (file FILENAME)
  6128. statusbar default = DOCTITLE - visit the Homepage regulary!
  6129.  
  6130. Here you can define the text appearing in the browser titlebar and the meta 
  6131. entry. Meta entries are used by internet search machines. DOCTITLE is the text 
  6132. behind the .TI command, HEADING the heading text of the actual HTML page. 
  6133.  
  6134. The statusbar text appears in the bottom text field of every HTML-browser. If 
  6135. the mouse pointer is over a link, the text under statusbar mouseover will 
  6136. appear, otherwise the text defined in the statusbar default setting. 
  6137.  
  6138. It's not possible to use the characters ' and ". 
  6139.  
  6140.  
  6141. ΓòÉΓòÉΓòÉ 10.11. Winhelp specific settings ΓòÉΓòÉΓòÉ
  6142.  
  6143.  
  6144. The "Winhelp specific settings" page concerns both target formats Winhelp and 
  6145. RTF-text. 
  6146.  
  6147. Do not scroll Headings 
  6148.  
  6149.  
  6150. //heading level 123456
  6151. heading fonts = ddcooo
  6152. //omit scrolling of the heading, YES or NO
  6153. keep heading = YES
  6154.  
  6155. Winhelp allows to get the heading text fixed, so scrolling the page does not 
  6156. hide the heading text. You can turn off and on this setting. 
  6157.  
  6158. Heading Fonts 
  6159.  
  6160.  
  6161. //heading level 123456
  6162. heading fonts = ddcooo
  6163. //omit scrolling of the heading, YES or NO
  6164. keep heading = YES
  6165.  
  6166. You can choose the fonts for the headings in every heading level. Every 
  6167. character is a font char which represents a font. Normally you will choose 
  6168. bigger fonts for the higher heading levels (1, 2). Of course these font chars 
  6169. have to be defined in the settings notebook, page Font or in the ini file, 
  6170. setting Font = . 
  6171.  
  6172. List indention 
  6173.  
  6174.  
  6175. //influences the left margin command and the indention of lists
  6176. list indention = 4
  6177.  
  6178. Here you can influence globally the size of the left margin when using the .LM 
  6179. dot command and the size of the indention when writing sorted lists and 
  6180. unsorted lists. 
  6181.  
  6182. Default Font Size 
  6183.  
  6184.  
  6185. //default value is 10
  6186. default font size = 10
  6187.  
  6188. The default Windows font for help windows is a small and thin font ( 10 ). The 
  6189. font size 11 is only a little bigger, but thicker than  10 . I cannot recommend 
  6190. a bigger font size than 12 . 
  6191.  
  6192. Create HLP-internal contents 
  6193. Create External CNT file 
  6194.  
  6195.  
  6196. //enter CNTFILE, INTERNAL, BOTH or NO
  6197. contents creation = BOTH
  6198.  
  6199. This setting is independent from the WINHELP3/WINHELP4 target format setting 
  6200. (page General). An internal contents is a contents page in the HLP file - here 
  6201. the yet HTML specific "contents level" setting (page HTML-1) is interpreted. So 
  6202. you can create a contents page with only 2 heading levels. 
  6203.  
  6204. The Winhelp4 format has got an external Contents file (CNT file). Please note 
  6205. that you have to ship the CNT file together with the HLP file. 
  6206.  
  6207. It can make sense to let create both contents simultaneously together with the 
  6208. WINHELP3 target format. In this case, the help file can be read on all Windows 
  6209. systems. Nevertheless, Windows 95 and NT users can use the CNT tree view 
  6210. contents. 
  6211.  
  6212. "CNT" General Text 
  6213.  
  6214.  
  6215. //heading text for the subchapter containing the text
  6216. //of the main chapter in CNT files
  6217. contents general text = General
  6218.  
  6219. The CNT file format has got a very bad design: A main chapter cannot point to a 
  6220. page with explaining text before the sub chapters begin. But that's the normal 
  6221. form of text documents. Hypermake creates a new first sub chapter where this 
  6222. text is placed. Here you can change the heading text of this first sub chapter. 
  6223.  
  6224. Printed List chars 
  6225.  
  6226.  
  6227. //character which is the left fat dot in lists, in different list levels
  6228. printed listchars = oooo
  6229.  
  6230. You can choose which character is the "left fat dot" in unordered lists, one 
  6231. character for every list level. You are allowed here to use bitmap characters 
  6232. (command .BT bitmap text). 
  6233.  
  6234.  
  6235. ΓòÉΓòÉΓòÉ 10.12. Rich text format specific settings ΓòÉΓòÉΓòÉ
  6236.  
  6237. When generating RTF text (rich text format), most settings on the "Winhelp" 
  6238. settings page are interpretated. 
  6239.  
  6240. Color correction 
  6241.  
  6242.  
  6243. //enter yes or no
  6244. Color correction = YES
  6245.  
  6246. When generating a RTF file for importing into a wordprocessing program, a color 
  6247. table is generated at the beginning of the file. This determines the colors for 
  6248. the fonts used in the RTF file. The problem is that Winword interpretates this 
  6249. table different from all other programs. If you want to import the RTF file to 
  6250. Winword, then turn the color correction off, otherwise on. Even Windows Wordpad 
  6251. interpretates the color table different from Winword. If the colors of the font 
  6252. are imported wrong, please change this setting. 
  6253.  
  6254. automatic heading enumeration 
  6255.  
  6256.  
  6257. //enter yes or no
  6258. automatic heading enumeration = YES
  6259.  
  6260. If you turn this switch on, Hypermake generates a RTF code for the heading 
  6261. level instead of the text e.g. "7.2.3". The majority of wordprocesssing 
  6262. software interpretate this code. If this setting is switched off, the 
  6263. enumeration text "7.2.3" is normal text. 
  6264.  
  6265. Wordprocessing software programs like Winword have got the ability to create a 
  6266. content with page numbers for each heading automatically. But this 
  6267. functionality is only available if the automatic heading generation is 
  6268. activated. 
  6269.  
  6270.  
  6271. ΓòÉΓòÉΓòÉ 10.13. Help file specific settings (not HTML) ΓòÉΓòÉΓòÉ
  6272.  
  6273. Help Start ID Value (only IPF) 
  6274.  
  6275.  
  6276. Help Subtable Start ID = 7000
  6277.  
  6278. With the Help Subtable Start ID setting you can define a start ID value for 
  6279. Subtables in helptables created by Hypermake. This setting won't be interesting 
  6280. unless you define constants in your C source file or header file with the same 
  6281. value (7001, 7002 etc.). 
  6282.  
  6283. Helptable Filenames (only IPF) 
  6284. Panel ID Filename 
  6285.  
  6286.  
  6287. //files will be overwritten without warning
  6288. Helptable filename = HLPTABLE.RC
  6289. Panel ID filename  = PANELID.H
  6290.  
  6291. Here you can change the filenames of the helptable and panel ID file which will 
  6292. be automatically created by Hypermake. If you enter the filename *.XYZ, the 
  6293. source file name with the extension XYZ is chosen. 
  6294.  
  6295. The Panel ID file defines constants in your program source code whichs 
  6296. represents a chapter of your help text. On the "format" page of the settings 
  6297. notebook, you can select the programming language C or Pascal. 
  6298.  
  6299. Note: The helptable file and the Panel ID file will be overwritten without 
  6300. warning. 
  6301.  
  6302.  
  6303. ΓòÉΓòÉΓòÉ 11. About ΓòÉΓòÉΓòÉ
  6304.  
  6305.  
  6306. subchapters: 
  6307. Registration 
  6308. Disclaimer 
  6309. Author 
  6310. Versions 
  6311. Bug report 
  6312. Download Location 
  6313. Trademarks 
  6314. Platforms 
  6315. Other progs 
  6316.  
  6317.  
  6318. ΓòÉΓòÉΓòÉ 11.1. Registration ΓòÉΓòÉΓòÉ
  6319.  
  6320. This program is Shareware if you want to compile bigger source files than 20 
  6321. kB. You need a registration key to compile such bigger source files. When 
  6322. compiling smaller source files than 20 kB, it will be Freeware. 
  6323.  
  6324. Why 20 kB? I think writing small HTML documents and INF or HLP files for simple 
  6325. HTML documents and freeware programs should be possible without registering. So 
  6326. if you find errors and you are not registered, you also can send me a mail. If 
  6327. you write a Freeware program with a documentation which exceeds the 20 kB 
  6328. limit, I will send you the registration key for free. 
  6329.  
  6330. There's a small registration key (up to 150 kB source text) and a big one (no 
  6331. limit). The registration fee is 40 Dollar or 45 Euro  for the small 
  6332. registration key and 90 Dollar or 102 Euro for the big one. 
  6333.  
  6334. When ordering more than one licenses, you will get a 30% discount for every 
  6335. additional license. 
  6336.  
  6337. You can register this software by sending a Mail to BMT Micro, see BMTORDER.TXT 
  6338. or via Web Browser and Atlantic Coast Soft Shop http://www.swreg.org, search 
  6339. "Hypermake". 
  6340. If you have got a bank account in an Euro country, you can transfer the money 
  6341. to my bank account in Germany Dresdner Bank Ottobrunn, german bank code 700 800 
  6342. 00, account Nr. 075 64 62 400. 
  6343.  
  6344. The registration key has to be placed in your Hypermake ini files or in the 
  6345. project settings notebook, page "General". The key fits for all platforms and 
  6346. all future versions. 
  6347.  
  6348.  
  6349. ΓòÉΓòÉΓòÉ 11.2. Disclaimer ΓòÉΓòÉΓòÉ
  6350.  
  6351.  
  6352. Hypermake is provided as is and comes with no warranty of any kind, either 
  6353. expressed or implied. In no event will the author be liable for any damages 
  6354. resulting from the use of this software. 
  6355.  
  6356.  
  6357. ΓòÉΓòÉΓòÉ 11.3. Author ΓòÉΓòÉΓòÉ
  6358.  
  6359. Martin Vieregg, 36. I've studied economics. My main job is working in my own 
  6360. consulting company. Our special subject is public transport, especially 
  6361. railways and airports. The title of my doctoral (PhD) thesis was "increasing 
  6362. efficiency of railway long-distance passenger traffic". 
  6363.  
  6364. E-Mail address: Martin@vr-transport.de 
  6365.  
  6366. Homepage of my Freeware- and Shareware programs: 
  6367.  
  6368. http://www.hypermake.com 
  6369.  
  6370. Postal Address: 
  6371.  
  6372. Dr. Martin Vieregg 
  6373. Emdenstr. 11 
  6374. D-81735 Munich 
  6375. (Germany) 
  6376.  
  6377.  
  6378. ΓòÉΓòÉΓòÉ 11.4. Versions ΓòÉΓòÉΓòÉ
  6379.  
  6380. Ideas for future versions 
  6381.  
  6382. If you have bug reports and ideas for new functionality, please E-Mail me! 
  6383.  
  6384. I want to publish a Linux version in the future. 
  6385.  
  6386. I am not planning to implement PDF target format (Adobe portable document 
  6387. format), because there are a lot of good converters from RTF-Text to PDF. But 
  6388. if you miss specific RTF-text functionality to get a better source for 
  6389. generating PDF, please tell me your ideas. 
  6390.  
  6391. Hypermake 4.0 
  6392.  
  6393. The development of the graphical version of Hypermake was a lot of work. In 
  6394. this time (from 3.66 to 4.0), I set the focus to the development of the 
  6395. graphical environment and not to the functionality. Nevertheless, I made some 
  6396. work for improving functionality: 
  6397.  
  6398.      A fifth target format is now implemented: RTF text (rich text format) for 
  6399.       importing Hypermake documents into word processing software; you can use 
  6400.       this format to get a paper print of your document. Because this format is 
  6401.       very similar to RTF Winhelp files, you can use the Winhelp settings. 
  6402.  
  6403.      (HTML) Improvement of Javascript navigation buttons and of frames, font 
  6404.       selection for contents text and for the navigation lines (first line, 
  6405.       last line). These improvements culminates in a new combination of project 
  6406.       settings (page HTML-0, "Hypermake 4.0 design"). 
  6407.  
  6408.      a file comparison functionality enables locating the changed HTML files 
  6409.       of a HTML project 
  6410.  
  6411.      Some new program parameters for the user interface of the commandline 
  6412.       version HMAKE.EXE, returncodes 
  6413.  
  6414.      Some minor, not remarkable bugfixes. 
  6415.  
  6416.  
  6417.  new functions in Hypermake 3.65 
  6418.  
  6419.      improved table functionality, new dot command .TW table word wrap 
  6420.      user-defined internal numbering of headings and files (HTML) 
  6421.      ignore uppercase letters when creating links 
  6422.      Bitmap Directory for HTML graphics 
  6423.  
  6424.  
  6425.  new functions in Hypermake 3.60 
  6426.  
  6427.      content tree view for HTML by using Javascript (can be viewed by all 
  6428.       default browsers) 
  6429.      statusbar text for internal links 
  6430.      extended functionality in HTML tables 
  6431.  
  6432.  
  6433.  new functions in Hypermake 3.5: 
  6434.  
  6435.      support of the Winhelp format 
  6436.      reverse converting mode RTF to Hypermake 
  6437.      support of the new Microsoft context-sensitive HTML format 
  6438.      HMP files as a mouse substitute for the commandline 
  6439.      Hypermake also available in a DOS version 
  6440.      Javascript navigation buttons and ActiveX footnotes 
  6441.      copying graphic files automatically 
  6442.      manual external links and automatic external links to the WWW for all 
  6443.       source formats besides Winhelp3; marking external links 
  6444.      HTML info file 
  6445.      improved embedding of HTML commands 
  6446.  
  6447.  
  6448.  new functions in Hypermake 3.0: 
  6449.  
  6450.      tables both for IPF and HTML 
  6451.      user-defined navigation buttons in addition to back, forward, content, 
  6452.       index, pointing to specific chapters or URLs 
  6453.      user head tags (meta entries) copying into every HTML file 
  6454.      settings for the appearance of filenames (small/capital letters, 8.3 
  6455.       convention) 
  6456.      settings for the titlebar text in the HTML browser 
  6457.      commands for bugfixing 
  6458.      settings for appearance of links to subchapters 
  6459.      more flexible usage of toggle chars 
  6460.      HTML fonts 
  6461.      Library of Buttons. 
  6462.  
  6463.  
  6464.  new functions in Hypermake 2.9: 
  6465.  
  6466.      target file format HTML in addition to IPF 
  6467.      reverse converting mode from IPF to Hypermake 
  6468.      index filter 
  6469.      many source files (see commandline parameters) 
  6470.      (2.91) first version also available as a Win32 program 
  6471.      (2.91) footnotes also for HTML. 
  6472.  
  6473.  
  6474.  bugfixes in (new name) Hypermake 2.9: 
  6475.  
  6476.      "link to subchapters = NO" created a malfunction 
  6477.      Together with IPFC Version 2.1 (1993) and the  "ASCIIHARDRET" setting, in 
  6478.       larger paragraphs a space was missing after 200 chars. 
  6479.      With the "ASCIIHARDRET" setting, malfunctions with unsorted lists 
  6480.       occured. 
  6481.  
  6482.  
  6483.  new functions in MakeIPF 2.0: 
  6484.  
  6485.      external links to separate HLP- and INF-files 
  6486.      launching programs by hyperlinks 
  6487.      automatic duplication of heading text in the text window, heading text 
  6488.       gets link target and is placed in the index 
  6489.  
  6490.      more detailed error messages, so running IPFC will create fewer error 
  6491.       messages 
  6492.      tabs are converted into a number of spaces like an editor does (use only 
  6493.       with non-proportional fonts) 
  6494.      improved window arrangement 
  6495.      registration via Compuserve 
  6496.  
  6497.  
  6498. ΓòÉΓòÉΓòÉ 11.5. Bug report ΓòÉΓòÉΓòÉ
  6499.  
  6500.      All Hypermake versions before 3.94 crash immediately with Windows NT 4 
  6501.       Servicepack 4 or later, also in Windows 2000. 
  6502.  
  6503.  
  6504.  There were some minor bugs in Hypermake 3.66 which are not documented. The 
  6505.  bugs in the graphical beta version 3.9X were not documented, too, because the 
  6506.  number of bugs is too large. For 4.0 and later, I will report again all 
  6507.  occuring bugs. 
  6508.  
  6509.  The following Hypermake 3.65 bugs are fixed in 3.66: 
  6510.  
  6511.      3.65.01 (only Win95/NT version), double clicking to the HMP file won't 
  6512.       activate the second compiler 
  6513.      3.65.02 When compiling Winhelp, .SL (sorted lists) numbering don't reset 
  6514.       after a higher level list entry 
  6515.      3.65.03 When compiling Winhelp, the output centered command (.OC) is 
  6516.       corrupted 
  6517.  
  6518.  
  6519.  The following Hypermake 3.60 bugs are fixed in 3.65: 
  6520.  
  6521.      3.60.01: When compiling Winhelp and the source ends with an 
  6522.       (ordered/unordered) list, a bug occurs (more { than }). 
  6523.      3.60.02: when reverse compiling IPF to Hypermake, in the :h1. command 
  6524.       there have to be more than 2 chars between : and . 
  6525.      3.60.04: mailto:emailaddress won't get a link. 
  6526.      3.60.05: ASCIISOFTRET together with target Winhelp forces missing spaces 
  6527.       in running text. 
  6528.      3.60.06: (oops, that was not a bug, it's necessary because of a bug in 
  6529.       the Winhelp Compiler/viewer) If a CNT file ends with a main chapter 
  6530.       without subchapters, a "general" chapter is created nevertheless. 
  6531.      3.60.07: Tables: The " sign for enlarging the cell height does not work 
  6532.       when it's in the first table column. 
  6533.  
  6534.  
  6535.  Former bugs are not reported. 
  6536.  
  6537.  
  6538. ΓòÉΓòÉΓòÉ 11.6. Download Location ΓòÉΓòÉΓòÉ
  6539.  
  6540.  
  6541. An easy way for uploading is my Homepage 
  6542.  
  6543. http://www.hypermake.com 
  6544.  
  6545. In Compuserve, you will find the latest OS/2 version of Hypermake in Compuserve 
  6546. IBMUSER and the Win95/NT version in the HYPERTEXT forum. 
  6547.  
  6548. In the internet, the versions for all platforms are available on 
  6549. ftp://ftp.bmtmicro.com/bmtmicro 
  6550.  
  6551. Filenames: 
  6552. OS/2 version: hmakeos2.zip 
  6553. Win95/98/ME/NT/Win2000/XP version: hmakewin.zip 
  6554. DOS version: hmakedos.zip 
  6555.  
  6556. Archive file names with version number (e.g. hmake400.zip) are usually the 
  6557. Windows version. 
  6558.  
  6559. The filesize of the Hypermake archive file is 1,75 MB for the Windows and 1,25 
  6560. MB for the OS/2 version and only 300 kB for the DOS version because the DOS 
  6561. version includes only the commandline version and has no pre-compiled help. 
  6562.  
  6563.  
  6564. ΓòÉΓòÉΓòÉ 11.7. Trademarks ΓòÉΓòÉΓòÉ
  6565.  
  6566.  
  6567. IBM and OS/2 is a registered trademark of International Business Machines Corp. 
  6568. WordStar is a trademark of The Learning Company. 
  6569. SpeedPascal is a trademark of SpeedSoft GmbH. 
  6570. TurboPascal is a trademark of Borland Corp. 
  6571. Windows is a trademark of Microsoft. 
  6572.  
  6573.  
  6574. ΓòÉΓòÉΓòÉ 11.8. Platforms ΓòÉΓòÉΓòÉ
  6575.  
  6576. You will be astonished by the speed of Hypermake. And now the surprise: I 
  6577. haven't used a C compiler, I have used the TurboPascal/Delphi compatible 
  6578. Speedsoft SpeedPascal http://www.speedsoft-online.de . It's a cross compiler 
  6579. generating both OS/2 and Win32 programs. A Linux is also planned, so Hypermake 
  6580. will be available for Linux in the future, too. 
  6581.  
  6582. The DOS version is compiled with TurboPascal and does not use extended memory. 
  6583. The source file length is limited to 1 up to 4 MB, dependent on the number of 
  6584. links. Theoretically, Hypermake for DOS runs on a old XT computer. So Hypermake 
  6585. DOS should run without problems on all operating systems where a simple DOS 
  6586. emulation software is available (e.g. Linux). The Pentium-300 bug of all 
  6587. TurboPascal programs (too much speed) is not fixed. The graphical 4.0 version 
  6588. won't be available for DOS, but the commandline version will be supported in 
  6589. the future. 
  6590.  
  6591.  
  6592. ΓòÉΓòÉΓòÉ 11.9. Other progs ΓòÉΓòÉΓòÉ
  6593.  
  6594.  
  6595. Other programs I have written, both Windows 95/98/ME/NT/2000/XP and OS/2 (Linux 
  6596. versions for some programs are planned) 
  6597.  
  6598. WSedit: 
  6599. The Hypermake editor as an own program with additional functionality. 
  6600. Compatible to Wordstar: reading and writing Wordstar (DOS) files, ASCII IBM and 
  6601. ISO codepage. Supports Wordstar Ctrl key commands and CUA commands. 
  6602. Syntax-highlightning, Translation, spell checking, function key macro recorder 
  6603. and a lot of other features. WSedit handles very large ASCII files. Freeware. 
  6604.  
  6605. pmCalc: a "pocket" calculator automatic clipboard functionality, programmers 
  6606. and scientific functions, Regression. There's a separate input and output 
  6607. field, the formula you type rests in the input field. (Shareware) 
  6608.  
  6609. TinyAlarm: 
  6610. A simple countdown with a slider from 1 to 60, an alarm by entering alarm time 
  6611. and a chime. System shutdown. Freeware. 
  6612.  
  6613. cd-shortcut: 
  6614. instead of whole directory names you enter only substrings. Searching through 
  6615. several drives and opening OS/2 WPS folders. Freeware. 
  6616.  
  6617. Simple Zipshell: 
  6618. Packing and unpacking ZIP files by using the graphical desktop. Freeware. 
  6619.  
  6620. Clear: 
  6621. (only OS/2) Uses also Info-Zip and let you backup your data e.g. on floppies. 
  6622. You can enter filenames like *.BAK which are not copied, directories which are 
  6623. skipped. Then you can enter filenames with a specific age which are deleted. 
  6624. Freeware. 
  6625.  
  6626. For more information, screenshots and downloads, visit my Homepage 
  6627.  
  6628. http://www.hypermake.com 
  6629.  
  6630. end of hypertext 
  6631.  
  6632.  
  6633. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  6634.  
  6635. IPFC generates INF- and HLP-files from the IPF source. IPFC.EXE is part of 
  6636. every programming development system for OS/2. At my system, the necessary 
  6637. files are IPFC.EXE, IPFC20.INF and IPFCEXMP.INF; there's also a directory IPFC 
  6638. with language-specific data. The Windows version is part of the IBM Visual Age 
  6639. C++ for Windows package. 
  6640.  
  6641.  
  6642. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  6643.  
  6644. of course, without 0x0A, 0x0D, 0x1A (decimal 10, 13, 26) 
  6645.  
  6646.  
  6647. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  6648.  
  6649. The IPFC compiler would create an error message when using more than 200 chars. 
  6650.  
  6651.  
  6652. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  6653.  
  6654. In a German magazine you could read that 90% of the internet surfers don't use 
  6655. scrollbars. 
  6656.  
  6657.  
  6658. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  6659.  
  6660. To convert from GIF to BMP, I recommend the freeware GIF2BMP (Graham Welland, 
  6661. September 1989, OS/2 16 bit) 
  6662.  
  6663.  
  6664. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  6665.  
  6666. letters a e i o u y 
  6667.  
  6668.  
  6669. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  6670.  
  6671. This will be the content of the footnote 
  6672.  
  6673.  
  6674. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  6675.  
  6676. Because of a bug in the IPFC 2.0 compiler. The entries in the index would get 
  6677. an ASCII 10 char at the end. 
  6678.  
  6679.  
  6680. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  6681.  
  6682. Programmers should know what an RC file is, and if you don't know, you can skip 
  6683. this chapter because you need not create any context-sensitive help files. 
  6684.  
  6685.  
  6686. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  6687.  
  6688. If the constant behind DIALOG and the constant behind DLGTEMPLATE are 
  6689. identical, it's okay. 
  6690.  
  6691.  
  6692. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  6693.  
  6694. you have to use the constant you have entered in the RC file after MENU or 
  6695. DIALOG 
  6696.  
  6697.  
  6698. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  6699.  
  6700. Perhaps that's compiler specific. I use Borland C 
  6701.  
  6702.  
  6703. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  6704.  
  6705. content of the footnote 
  6706.  
  6707.  
  6708. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  6709.  
  6710. 17