Common text and inlined variants


At some moment, technical documentation needs less writing and more and more managing of already written texts. I've seen both failed and successful projects, feeled the difference and put the best practices into LaxModules. 1. Write a big generic document with all the features of your devices. 2. Mark the feature descriptions into text modules 3. To get documentation for a specific device, delete unneeded modules.

  • Keep habits, continue to use Word with your styles and macros.
  • Get up-to-date texts from the source document.
  • Overcome technology lock-in. You can do manually what LaxModules does.
  • Translate only the new texts using on-demand modules
  • Start immediately, skip learning of XML, CMS, DITA or whatever.
  • DO IT NOW! download!

    No time to "do it now"? Subscribe for news and updated by email.

    LaxModules is a try-before-buy software. Test the completely functional version for a month and then buy for 249 euro. Details.

    Get LaxModules


    The current test development version is completely functional, but expires in one month.

    The software will cost in future 249 euro (approximately $330). In the pre-release state, the price is only 124 euro. TODO: Click here to buy. Payments are processed by $SOMETHING, a software store located in $SOMEWHERE. We don't have access to your sensitive personal data, such as your credit card number.

    Quick start

    Download LaxModules

    ↓ Run the downloaded file, which is a self-extracting archive. Specify a folder to unpack, for example, C:\LaxModules.

    Download LaxModulesInstall LaxModules

    ↓ Run the file LaxModules.exe.

    Run LaxModules

    ↓ In the start window, click the button "Test sample".

    LaxModules start window

    ↓ The program loads a sample document into Microsoft Word and shows a module selection window.

    LaxModules main window with Word

    The window displays section and option names. Double-click on an item to mark or unmark it for deletion. After selection is finished, press the button "Filter document".

    ↓ Example: delete option 1, retain option 2.

    Option 1 deleted

    ↓ Example: retain option 1, delete option 2, with "track changes".

    Option 2 deleted with track changes

    ↓ Example: also sections can be deleted.

    Nearly everything is deleted

    DO IT NOW! download!

    Use case

    A small firm has invented a device to measure bogomips. The device is good. More and more buyers appear.

    Once a new client says: I want an improvement. The device should display roman numerals (I, II, III, IV, V...) instead of usual 1, 2, 3, 4, 5... Well, done after a good payment. But even a manager understands that such a change belongs outside the base model. A serie of devices has appeared. So far it consists of two models, DEVICE and DEVICE-ROMAN.

    What about documentation for DEVICE-ROMAN? Probably just copy DEVICE.doc to DEVICE-ROMAN.doc and edit as required? Well, it is possible. But the engineer knows, that the text will be reviewed by a corrector, and his changes should appear in the both manuals.

    The engineer decides that the following workflow saves time and efforts.

  • Rename DEVICE.doc to DEVICE-SERIE.doc.
  • Add the pecularities of ROMAN to the document DEVICE-SERIE.doc. Wrap the new texts by markers "BEGIN ROMAN" and "END ROMAN".
  • Send DEVICE-SERIE.doc to the corrector.
  • Get the result. Submit the result to a version control system.
  • To deliver documentation:
  • Copy DEVICE-SERIE.doc to DEVICE-ROMAN.doc. One manual is ready.
  • Copy DEVICE-SERIE.doc to DEVICE.doc.
  • In the file DEVICE.doc, delete all the BEGIN-END-blocks. The second manual is ready.

  • One year is gone. A new client. I want a device with appearence of a pink kitten. The engineers have said something, but made it. The internal layout is changed, and the documentation should be updated.

    The procedure is clear.

  • Take DEVICE-SERIE.doc, which, by the ways, is changed a lot during the last year.
  • Add descriptions.
  • Wrap them by markers "BEGIN KITTEN" and "END KITTEN".
  • If old texts are wrong for KITTEN, wrap them by "BEGIN BASE" and "END BASE".

  • The file DEVICE-SERIE.doc contains now 3 variants: BASE, ROMAN and KITTEN. This general document can produce manuals for several devices:

  • The base DEVICE.
  • DEVICE with ROMAN numerals.
  • DEVICE as pink KITTEN.
  • Bonus: DEVICE both with ROMAN numerals and as pink KITTEN.

  • The inconvenience is that althout it is easy to delete variants, this task is anyway manual. LaxModules automates the work, saves time and avoids human errors.

    DO IT NOW! download!

    Say me what you need

    I intentionally do not implement new features. I think I know what the users need, but sometimes the reality proves the opposite. Therefore, for LaxModules I use feedback-based development. If nobody asks for a feature, the feature does not appear.

    A task tortures you for 5 hours, and computer can do the job in 5 minutes? Contact me and I'll help you.

    Technical details
    Maximal document size

    There is no size limitation. LaxModules is like an add-on for Microsoft Word. If a document fits to Word, then the document can be processed with LaxModules.

    However, for a convenient work in Word, I recommend to limit documents to 300 pages.


    The program is written in Python programming language and uses wxPython library for user interface. The tree-component with tags and section headers is based on wxLibAgwCustomTreeCtrl code. The program connects to Microsoft Word through COM using the pythoncom module. The internal interface layer abstracts the connection, so LaxModules runs under Linux and Mac OS X, and can be extended to work with FrameMaker, InDesign and other publishing systems.

    The tool pyinstaller takes the source code and compiles it to a program for Windows. A custom wrapper improves possible debug reporting. The distribution package is created with help of NSIS.

    DO IT NOW! download!

    The author
    Author's photo

    My name is Oleg Parashchenko. I'm an open-source and freelance developer in the area of technical documentation. The main research interests are XML technologies and generative programming. Among the works:

  • TeXML is an XML syntax for TeX. The tool and a methodology simplify XML-to-PDF publishing using LaTeX.
  • CALS tables for LaTeX is a package to automatically typeset multipage tables.
  • FrameScript and plain C plugins for FrameMaker.
  • Contact

    Social networks:   View Oleg Parashchenko's profile on LinkedIn   Oleg Parashchenko   Мой Круг - Олег Паращенко Мой Круг


    Phone: +49 (0) 8165 6476593, in English, German or Russian