Bookbinding on the screen

Turning a New Leaf

Article from Issue 174/2015
Author(s):

The Laidout graphic application simplifies the design of books and booklets.

Free software is supposed to be about scratching your own itch. In that tradition, Tom Lechner has spent more than nine years working, mostly alone, on Laidout [1], a graphic application designed primarily to lay out and bind booklets that is full of tools found nowhere else.

Lechner is a cartoonist and artist living in Portland, Oregon, who often publishes booklets [2]. "I went to school for physics and math at Caltech," he remembers, "but spent a lot of time making artwork instead of finishing my homework. When I finally realized that, I went off to be an artist instead." The problem was, "as a starving art student, then a starving artist, there was no way I could buy software or hardware sufficient for anything I wanted to do."

Hearing rumors about Linux, Lechner investigated and soon found that its lack of cost was only one of its advantages. "Since the entire tool chain is open source," he said, "if something doesn't quite do what you want, there is the option to dive in and improve it oneself. Artists' needs tend to be very unpredictable, and often tools have to be used in ways the tool designer never intended. Having complete access to all levels of the tools at hand is a tremendous asset. Open source also generally has a great community behind it. If you get stuck somewhere, there's usually a forum or mailing list somewhere that has a solution. I definitely gravitate to more obscure and experimental approaches to things, and open source generally is very open to that sort of thing."

Lechner's particular itch was to produce books, but manual layout took "long hours photocopying, gluing, and applying white out." To this day, the available free software tools require manual configuration and scripting. "I don't want to relearn an obscure computer dialect to perform this task every time I want to make a book," Lechner says, so he began working on Laidout.

Initially, Laidout was a Python script that took a directory of images as input and output to a file for Passepartout, a desktop publishing tool for X Window. "I would have done it in Scribus," Lechner says, "but at the time, Scribus would frequently crash whenever I tried to do anything in it." He adds that Scribus seems "quite stable now, but remains more oriented to the page than to assembling a book.

By contrast, he says, "TeX has been a big inspiration philosophically for me. There's a project that saw an obvious use for computers that could greatly enhance the quality and speed of document production, particularly for math text. However, as brilliant as TeX is for font layout, it is terrible for image based or design-heavy documents. Also, as a cartoonist, I almost always draw all of my own text, so, unfortunately, TeX was totally useless to me." In the end, Lechner concluded, if he wanted something to suit his needs, he would have to write it himself.

Lechner did not plan to work alone – that was just the way things worked out. In fact, at times, improving Laidout has taken more of his time than his artwork. "I have definitely been sucked down holes of thinking that if I just spend the next month only coding, I'll have this really cool feature. Then three months go by. At other times, doing his own artwork interrupts coding Laidout – which, he says, is probably "a deterrent to getting other people interested in contributing." However, in the last few years, Lechner has taken to attending the Libre Graphics Meetings, which, he says, "helps me not get stuck in my own preconceptions."

Tools for Bookbinding

Laidout's main purpose is imposition – the arrangement and binding of pages into books. "I've been making my cartoon books [3] with it since 2006," Lechner says. To help in the process, he has developed several tools that have yet to appear in other graphics editors.

Working with Laidout begins with a series of images readied in a standard graphics editor such as Gimp, MyPaint, or Krita. Using Laidout's Signature Editor [4] (Figure 1), you define the paper size and margins and how the paper will be folded to produce separate pages when bound, then import the images, including any images used for page numbers. The pages appear as thumbnails and can be rearranged as needed by dragging them around in the Spread Editor [5] (Figure 2), a tool that mimics laying out images by hand on a sheet of paper and resembles an advanced version of the slide sorter found in a presentation application such as LibreOffice's Impress.

Figure 1: The Signature Editor with interactive folding.
Figure 2: Layout takes place in the Spread Editor.

Other tools for positioning images include the Paper Tiler [6], which sets how an image displays across multiple pages, and the recently added Alignment tool [7], which distributes images along a pre-set path.

Laidout also includes some conventional tools for graphics editors, such as gradients [8] and image warping [9] (Figure 3), as well as the ability to rotate, shape, and resize images. However, Laidout has yet to add the facility to draw most primitives – let alone fill tools, a selection of brushes, or a text tool – because none of these are directly relevant to the main purpose of bookbinding. As Lechner's comparison chart [10] emphasizes, Laidout is concerned with a set of goals different from other proprietary or free software graphics tools. Instead of making Laidout a complete editor, Lechner himself typically exports his results into .pdf or .svg format and prints out his results in applications, "like Evince or Inkscape, which have much better printer options."

Figure 3: Warping images with Bézier curves.

The Never-Ending Project

Laidout remains far from finished. Lechner's immediate plans includes a hatching tool to remove some of the drudgery from his own drawing. Scripting is another priority. Further out, he would like to add features such as color profiles and color separation and to add support for mobile devices.

Additionally, he says, "I also want to pursue the idea of tool interface sharing, to be able to use Laidout tools in Inkscape, for instance. No one piece of software is going to do everything one wants, and if the behavior of your favorite tools could be transported to different applications, it would free up developers to work on new features and performance issues, instead of having to invent new GUIs all the time."

"Ultimately," Lechner says, I want Laidout to be a good choice for many kinds of strange layout tasks, like oddly folded brochures, strange booklet cuts, or layout to any strange surface that can be unfolded flat."

Asked when Laidout might reach a 1.0 version, Lechner replies that "my release numbers follow a relativistic aesthetic, in that 1.0 is analogous to the speed of light. Unless there is an unprecedented advance in software and hardware technology, such as using a tachyon-based wireless keyboard, 1.0 will never happen."

However, that hardly matters. By designing his tools for what he needs, Lechner has come up with a series of unique tools, most of whose functionality is evident at a glance. In an era in which free software projects are increasingly dominated by corporations, it is reassuring to know that there is at least one developer still innovating by scratching his own itch.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News