Drobe logo

Macro coding slated for Techwriter


Published on 25th Feb 2005, 10:52:20, source is drobe.co.uk
By Stewart Brookes

App::DocRelease.date("Wakefield show");

Contrary to popular belief, the lifestyle of a beta-tester is not all glamour and glitz. Admittedly, there are the limos and the celebrity parties. But there are the less-publicised downsides too, as Stewart Brookes discusses future plans for Techwriter and Easiwriter.

Imagine, if you will, that a 'killer feature' has been added to one of your favourite applications, and you're just longing to tell everyone about it. Only you can't, because you've been sworn to secrecy. You see the dilemma? Well that's what it's been like for beta-testers of Icon Technology's flagship EasiWriter and TechWriter products these last few weeks. On Wednesday evening, this lip-sealed agony finally came to an end when programmer Martin Wuerthner (of ArtWorks 2 and Gimp-Print fame) decided that the time had come to 'spill the beans' on some of the new features which are under development for the next major release (cunningly code-named 'version 8.5') of the document processing software.

The public announcement on the Icon Technology discussion group was greeted with great applause: "Martin, you're a genius," exclaimed a seasoned TechWriter user. "A long-held wish (and one that many probably believed impossible) will finally come true". But what exactly was announced?

For the record
The first part of the announcement unveiled the abbreviation expand facilities which are due to be introduced. Abbreviation expansion has been high up on the wishlists of Easi/TechWriter users (including myself), and so this came as very welcome news. The system as implemented in Easi/TechWriter works by recording the keystrokes that a user enters, and then playing these back when activated by a 'trigger' (a special keyboard shortcut). Defining abbreviations is simplicity itself: you initiate recording, type some text, end recording, and then the Macro Recording window allows you to designate an abbreviation for the text that you've typed. For example, typing 'LLP', followed by the trigger key, could be set to expand to 'Live Long and Prosper'. In the current development versions, the trigger is Ctrl-Insert or, optionally, a Full Stop. It turns out that, in practice, using a Full Stop as the trigger works remarkably well, and I've found it problem-free. Nonetheless, acknowledging that this might not meet with universal approval, the Full Stop expand can be switched on/off by setting an option in ConfiX (which Easi/TechWriter now use):

Confix-X screenshot


The system has clearly been designed with maximum flexibility in mind, and can do very much more than expand an abbreviation to a simple word or phrase. Due to the fact that all keystrokes are recorded (including the cursor and function keys), you can expand in an emphasis style (such as italic or bold), in a paragraph style, and use expands to insert not just text, but also structures (such as lists and sections, complete with text). You can even have 'nested' expands, which expand other abbreviations.

An example of an abbreviation which automatically expands to fill a pre-defined table:

A calendar table


An example of an equation which is generated simply by typing the shortcut 'EQ1':

Quadratic equation solver


An applet a day
"If you think this is still not enough in terms of automation," teased Martin in the second half of his announcement, "then there will be an even more powerful new feature: A fully-fledged modular programming language that allows you to write your own macro applets." It is this aspect which is causing such a stir. Macro applets offer huge potential: applets could be written to navigate, modify, and manipulate the contents of a document, read external files, and add a host of new features to the software.

A sample macro applet, which adds the item 'Display structure info' to the new 'Macros' menu, offering the user information, in a pop-up window, about the structure, and enclosing structures, in which the cursor is placed:

Example macro code


Get the idea
Ever wanted to strip all the double-spaces from a document? Exchange occurrences of 'p.' and 'pp.' for 'page' and 'pages'? Convert fi and fl into their respective ligatures? Or change all instances of, for example, 'color' to 'colour', 'paleography' to 'palaeography', or 'realize' to 'realise' (or vice versa)? These sort of repetitive tasks could be combined in a single macro applet and then actioned with a menu click. There's far more scope than these search'n'replace examples though. As Martin explained, "A macro applet could be written that makes sure that all words in headings start with an upper case letter. Or, all words except certain words found in an exceptions file. The possibilities are almost endless". This should allow the user-base to contribute directly to the development cycle of the software, either by programming macro applets or by thinking up ideas for innovative macro tasks. Of course, it's early days as yet, but if this feature is to achieve its potential, the software will have to ship with a range of pre-defined macros. If you haven't done so already, then now would be a good time to join the discussion group and add your thoughts as to what these macros should be.

And there's more
A host of bug fixes, enhancements, more ConfiX options, and the lure of further compatibility with Word, look set to add to the significance of this upgrade. When will it be available? The launch is set for the Wakefield Show. In the meanwhile, Mike Glover will be at this weekend's South West Show, and might just be persuaded to provide a glimpse of some of these developments. It's worth noting that there's no advantage in waiting until Wakefield to upgrade, as all users of 8.31 (the most recent version) will get a full credit of the £25.00 cost of the upgrade off the price of the next major release.

Links
Icon Technology
Join the Icon Technology discussion group
Forthcoming EAUG meeting, 8th March 2005 - Stewart's Easi/TechWriter extravaganza and newly-released WIBLI add-on buttonbars for Easi/TechWriter

Related articles
RiscPkg author publishes new coding book
Desktop coding book republished online

This article has been linked to, or is available in the following formats:  
 
 
 
 
 
[Printable] [Digg this] [Blog search]


Design and concept (c) Fudgecake Design, 1999 - 2001. Content (c) The Drobe Team, 1999 - 2006. See www.drobe.co.uk for more information. For non-commercial personal use only.