---------------------------- I d e a B o o k v 1 . 0 5 ---------------------------- ------------------------------------------------- Written by Christoph Bartholme, Ettlinger Str. 37 D-76137 Karlsruhe Germany EMail: Christoph_Bartholme@ka2.maus.de Developed using ST Pascal Plus (CCD) and assembler (Devpac) A German version is also available. ------------------------------------------------- IdeaBook is public domain (remember: IdeaList is Shareware!). It may be copied and used by everyone. The condition is to copy the COMPLETE and UNCHANGED contents of the IDEABOOK folder. These are the files: IDEABOOK.PRG The program IDEABOOK.RSC The associated resource file IDEABOOK.TXT This file, the instructions. Purpose ------- IdeaBook is an additional tool for IdeaList which can be launched as a kind of module, but also runs as a 'stand alone' program. IdeaBook imports text files (ASCII or Wordplus) and can re-order their pages in such a way that after printing by IdeaList the pages can later be folded in half and stapled or bound together in a book or booklet. If so desired, headers and/or footers can be added to each page. Usage ----- IdeaBook is resolution independent. Depending on the printer, various output formats are possible: - If you use a LaserJet (compatible) or a DeskJet, you can print A4 sheets in landscape mode and fold them in half to get an A5 booklet. - The same applies for dot-matrix printers that can take A4 sheets sideways. - If your printer can only handle A4 sheets in portrait mode (lines of 80 Pica characters), you can only use it to produce booklets in A6 format ('pocket diary' or 'vocabulary' size). For this only the top half of each sheet will be printed; the lower halves can be used later by turning them round. You will find suitable printer adaptation files in the IdeaList package: BOOK_A6.IXA and BOOK_A5.IXA for dot-matrix printers (in the SPECIAL folder); HP_LJ3_L.IXA for LaserJets and DJ_LNDS.IXA for DeskJets (in their folders). Starting up ----------- IdeaBook can be used as a separate program. But it is easier to launch it directly from IdeaList (V3.21 up), since this automatically passes most of the relevant parameters. You then only have to set the header and footer (if required) and the mode of sorting. Operation --------- All selections are made in a freely movable dialog window. 'Chars/line': If IdeaBook is started manually you have to set the slider to the same value as the corresponding indication in IdeaList (shown next to the horizontal arrow) so that IdeaBook can recognise and break over-long lines correctly. 'Lines/page': This value too must correspond to that set in IdeaList (shown next to the vertical arrow). NOTE: This is the total number for BOTH pages on a sheet! 'Output': Naturally IdeaBook does not overwrite the source file but creates a new one for the formatted output. With the radio buttons you can select whether this is written to the system clipboard as SCRAP.TXT, or into the source file's folder with the original name but a .BOK extension. 'With header': IdeaBook will create a header above each book(let) page if the check button is clicked on and so contains a cross. A click on the 'header' button brings up a dialog in which the contents of the header may be entered; the options are quite similar to the corresponding dialog in IdeaList, and the same set of abbreviations can be used here. 'Number offset' will be added to the page number, 'Blank lines' will be those between the header and the text. Various attributes (Bold, Light, Italic, Underlined) can be selected for the header. The 'Left' amd 'Right' entries will be swapped over on even-numbered pages. 'With footer': This is virtually identical to the header, only this creates a footer at the bottom of each book(let) page. The 'Overlined' text attribute creates a line above the footer. 'Sort mode': There are two modes of printing, to cater for how the pages will be sorted and folded later: - 'Sheet' means that every printed sheet (containing two pages on the front and two pages on the back) will be folded in half and the folded sheets then stacked one on top of the other in a pile. This may be the preferred method for very long texts (thick booklets) or for accommodation in a ring binder. - 'Booklet' means that the printed stack of sheets will be folded as a whole so that the folded sheets are inside each other. 'Ignore formfeed' If desired, IdeaBook can ignore form feed markers (ASCII-12). If the button is not crossed, a new page will be started every time a form feed character occurs in the text. 'Help': This brings up a reminder dialog explaining the options available. 'Save INF': Clicking on this saves all the selected parameters (but not the position of the dialog) in an IDEABOOK.INF file. Without it, default values will be set. 'Text file...': This brings up the file selector where you can choose the source file, if this wasn't passed at the start of the program (e.g. from IdeaList). 'Start': The re-ordering begins and will be written to the target file, with progress displayed in a sub-dialog. You can abort the work by clicking the window closer-button (top left) or the selected 'Start' button. '-> IdeaList': The target file will be passed to ILIST.ACC (or IDEALIST.PRG under multi- tasking) if either of these has been installed on the system. Special features ---------------- Unlike IdeaList, which can handle texts of unlimited length (as long as they fit into a contiguous block of memory), IdeaBook has two limitations: - A maximum of 30,000 lines - A maximum of 300 book(let) pages. Very large files should therefore be divided up with a text editor and then handled in several parts as separate files. 'Page offset' should be used to maintain correct numbering. The tab size is always 8 unless another value has been passed by IdeaList. Over-length lines are ALWAYS divided word-wise. IdeaBook output is completely in the background and since the print progress dialog does not block the screen, other processes may be used meanwhile. But note that IdeaBook will be halted temporarily while menu bars and dialogs in other applications are open. Line-end markers recognised are CR-LF (13 10), CR (13) or LF (10). In the output file CR-LF will be written every time. Calling directly from IdeaList (from V3.21) ------------------------------------------- Before calling IdeaBook with the 'Launch IdeaBook' menu entry you should first set the page layout of the unsorted text. The easiest way to do this is to call up 'Optimise margins' each time before starting IdeaBook and select the 'Book layout' option. You may, of course, also experiment with other margin settings (perhaps even non-symmetrical): For this select '2 columns' and do not set the margins too narrow. After all, the result should look nice. The best results will be obtained if you increase equally the left and right margin as well as the gutter until the longest line will just not be divided. If you now start IdeaBook with 'Launch IdeaBook', the source file as well as the values for 'Chars/line', 'Lines/page' and tab width will be passed to it automatically. The corresponding setting controls will be greyed out and hence not selectable. Output will always take place via the GEM clipboard. Thus you only have to set the options to suit your requirements and activate 'Start'. After returning to IdeaList, the sorted text will be automatically reloaded from the clipboard. If you want to make further changes to the page layout after an IdeaBook run, then you have to call IdeaBook once more. You can also use IdeaBook with older versions of IdeaList (<3.21) or the .ACC version. Then the parameters in IdeaBook have to be set manually; also IdeaList should be set to 2 columns, 'Both sides', 'Header' off, 'Chain' off. The page readout in IdeaList refers to the whole page and not the individual book(let) pages. If you find this confusing at first, number the sheets with a pencil before printing. How do I get a symmetrical layout? ---------------------------------- Please don't despair if the book pages are not printed correctly centered at first. Unfortunately there is no fixed setting that will suit every printer. It is likely that you will have to make a small correction in your printer adaptation. But that only has to be done ONCE and is quite easy if you keep to the following procedure: 1) Start IdeaList. 2) Install a printer adaptation to suit your printer. 3) Load any short text file. 4) Select 'Optimise margins...' and click on 'Book layout' in it. 5) Click on 'Launch IdeaBook' (making sure your boot drive is not write- protected since output will be written to the CLIPBRD folder on return). 6) In IdeaBook select 'Underlined' in 'Header' and 'Overlined' in 'Footer'. That makes it easier to measure the positions in the printout. 7) Click on 'Start' and after re-formatting, quit IdeaBook. 8) Print out the .BOK file. The first page will be enough; the reverse side will be in the same position automatically if the settings are correct. 9) Fold the sheet vertically down the middle. Now you will be able to see from the horizontal position of the header and footer lines whether the left margin is the same size as the right one and the fold lies exactly between the two book pages. 10) If this is not the case, load the printer adaptation into an editor (if you have installed an editor, just press ), and correct the value for 'Chars/line' (the maximum number of Pica characters that can be printed) in each line): If the left margin is too large, choose a some somewhat smaller value; if the right margin is too large, a slightly larger value (exceptionally, the latter is allowed here if the left and right margins are not zero for book printing). 11) Save the adaptation and quit the editor. You will return to IdeaList and the modified adaptation will be installed automatically (if you haven't installed an editor, call an external one, preferably a suitable DA; in that case you will have to load the modified adaptation manually). 12) Repeat steps 4) to 9) to test the new values, and if necessary repeat the correction described in 10) and 11). Once you have modified the printer adaptation successfully, it will ALWAYS give you a symmetrical book layout in the future, as long as the left and right margins are set identically in IdeaList (say with 'Optimise margins'. Tips for 'Book binding' ----------------------- There are several possibilities to fix together the booklet produced in this way: - If you have a stapler that is long enough to reach the fold in the centre of the sheet, then everything is simple. Or ask in the nearest copy shop if they have one... - With staplers that can't reach the fold but can be hinged open fully, you can place the assembled sheets, opened flat with the outer sheet upwards, on two pieces of corrugated card, and drive in a couple of staples on the fold line. Then lift the stack and bend over the protruding ends of the staples with a coin or other metal object. - Or you can make your own twin bradawl quite easily: Take a wine cork, and carefully(!) push the eye end of two needles into it, separated by the width of the legs of a staple. Now place the folded booklet on a soft surface (an obsolete mouse-pad is very well suited for this) and punch holes for two or three staples with the bradawl. Now you just need to insert the staples from the outside and bend them over. The booklet is ready! - Those handy with a needle and thread can also sew the pages together with a few stitches in the fold. This makes the booklet very robust. To assemble a book printed in 'Sheet' sort mode one can simply glue together the folded edges of the sheets with Copydex or similar rubbery adhesive. If one places a piece of card at front and back, and some cloth sticky tape on the spine, the result is a real book! Changes ------- V1.07: - Bugfix for greyed-out 'Start' button. V1.06: - Bugfix for background operation under MagiC and MultiTOS. V1.05: - Shortcuts for 'Start' and 'Quit'. - Recognition of CR-LF, CR, LF line-end markers (previously CR-LF only). - Warning for incorrectly installed clipboard in system. V1.04: - Resource management altered. - Command line handling changed. V1.02: - Reading-in error removed. - Adaptation to MultiTOS. --------------------------------------------------------------------------