Open source desktop publishing with Scribus

Scribus is an open source, graphical desktop publishing (DTP) tool that focuses on layout, frames, styles, color management, and intercolumn document flow. Scribus is free software that runs on the Linux, Windows, and Mac OS X platforms, and provides most of the capabilities of traditional DTP tools at no cost.

William von Hagen, Systems Administrator, Writer, WordSmiths

William von Hagen has been a writer and UNIX systems administrator for more than 20 years and a Linux advocate since 1993. Bill is the author or co-author of books on subjects such as Ubuntu Linux, Xen virtualization, the GNU Compiler Collection (GCC), SUSE Linux, Mac OS X, Linux file systems, and SGML. He has also written numerous articles for the Linux and Mac OS X publications and websites.


developerWorks Contributing author
        level

16 April 2013

Also available in Chinese Japanese

Although markup and document-preparation systems such as LaTeX and Lyx excel at creating long technical documents, they are focused on document content and structure rather than on providing the fine-grained control over layout typically required in documents such as flyers, advertisements, newsletters, and magazines.

Scribus is an open source, graphical desktop publishing tool that focuses on layout, frames, styles, image management, and intercolumn document flow. Scribus is free software that runs on the Linux®, Windows®, and Mac OS X platforms and provides most of the capabilities of traditional DTP tools such as Adobe® InDesign®, Adobe Framemaker®, and QuarkXPress at no cost. Scribus produces documents in Portable Document Format (PDF) and related formats that can be printed on both standard laser and ink-jet printers as well as on dedicated, high-end raster image processing (RIP) publishing and printing hardware.

Comparing structured and layout-oriented documents

Structured documents assume a single sequence of formatting commands, styles, and associated text. This sequence is generally referred to as a flow, because sections of the document proceed linearly from one to the next. To improve the pagination and appearance of a structured document on a specific printer or other output format, some portions of structured documents, such as figures or sidebars, need not be displayed exactly where they appear in the input document. Such portions of a document are allowed to float in printed output but do so in the context of the flow of a single document.

Layout-oriented documents are documents designed for a specific output format, such as an 8.5x11-inch page, and therefore support explicit and precise placement of text and graphics based on the constraints of that output format. To support such precise positioning, layout-oriented documents support multiple flows within a single document. These flows are supported by the use of frames, which are fixed-width areas that contain text and graphics and that can be connected (or chained) to other frames. Chaining frames enables text that is too long for the first frame to continue automatically in another frame. For example, newspaper articles that begin on one page but conclude on another typically consist of a frame on the first page that is connected to another frame on the other page. This focus on multiple flows and the precise placement of frames and graphics is the primary differentiation between DTP and word-processing software.

Common open source word-processing packages such as LaTeX and Lyx are designed to create structured documents, while others, such as AbiWord, KWord (part of KOffice, which is unfortunately no longer under active development), and LibreOffice, provide support for frames but do not require their use. (See Resources for links to more information about these packages.) Scribus is designed for DTP and therefore uses frames as a fundamental concept.


Installing Scribus on supported platforms

Scribus is available in the repositories for most Linux distributions. If this is the case for your Linux distribution, you can install Scribus on your system as the root user or with the sudo command using your distribution's standard package management command.

If you are not using Linux, or your Linux distribution does not include the Scribus package in its online repositories, you can download the latest release of Scribus for Windows (32-bit or 64-bit), Mac OS X, OS/2 eComStation, or Haiku from the Scribus download page (see Resources). That page also provides links from which you can download RPM Package Manager files for the openSUSE, SUSE Linux Enterprise Server 11, Red Hat Enterprise Linux 6, CentOS 6, and Mandriva Linux distributions.


Creating or opening a document in Scribus

After installing Scribus, you can start it by selecting it from the Graphics menu on GNOME-based Linux systems, from the command line on any Linux system, from its folder on the Start menu in Windows systems, or from the Applications folder on Mac OS X systems.

Unless you start Scribus by double-clicking an existing Scribus document in a graphical file manager (or providing the name of an existing Scribus file when starting Scribus from the command line), Scribus displays its "New Document" window when the program first starts, as shown in Figure 1.

Figure 1. The "New Document" window in Scribus
Image showing the 'New Document' window in the Scribus application

The "New Document" window makes it easy to:

  • Create new documents with common page layouts such as single-sided, double-sided, and 3- or 4-fold documents
  • Create a new document from various templates that are provided for common types of layout-oriented documents
  • Open an existing Scribus document from a list of recently edited documents or by using your system's standard browse window

The next two sections explain how to create different types of new Scribus documents.

Creating a document from a document layout

To create a new document that is based on a standard document layout, perform the following steps:

  1. Select the desired layout in the "New Document" window.
  2. To automatically create multiple text frames in the new document, select the Automatic Text Frames check box in the "New Document"window, and then specify the number of columns you want in your new document and the gap between them.
  3. Click on OK to create the new document.

Figure 2 shows a new Scribus document that was created using the Double Sided document layout.

Figure 2. A new document created from a standard document layout
Image showing a new layout-only document in Scribus

Tip: New Scribus documents that are created from document layouts default to the A4 paper size. When creating a new document from a generic document layout, make sure you select the paper size you want to use in your document from the Size list. Specifying the page size as early as possible in the document-creation process prevents extensive layout modifications later.

Creating a document from a template

When creating a new document, the options on the "New from Template" tab, shown in Figure 3, are often more useful than the default document layout options. From this tab, you can create a new document from any of a variety of templates that Scribus users have contributed. Templates provide a significant head start when creating new documents of common types, saving you time creating and positioning frames.

Figure 3. Creating a new Scribus document from a template
Image showing the New from Template tab in Scribus

When creating a new document from a template, select the type of document you want to create from the left pane of the New from Template tab to see available templates in the center pane. Then, select a specific template from the center pane. You can click on Preview in the right pane to see the layout associated with that template. After you have selected the template that you want to use, click on OK to create your new document.

Substituting fonts in a template or existing document

Fonts in Scribus

By default, Scribus looks for fonts in the standard system locations:

  • Linux - Scribus automatically uses fonts in the directories /usr/share/fonts and /usr/local/share/fonts. Scribus also looks for per-user fonts in the .fonts subdirectory of a user's home directory.
  • Mac OS X - Scribus automatically uses fonts in the directories /Library/Fonts, /System/Library/Fonts, and /Network/Library/Fonts. It also looks for per-user fonts in the Library/Fonts subdirectory of a user's home directory.
  • Windows - Scribus automatically uses fonts in the Windows\Fonts directory in Windows XP and later systems.

To use fonts located in other directories, Scribus offers per-document and application-wide settings. To make fonts in other directories available in all Scribus documents, select File > Preferences, click on the Fonts icon in the left pane, and then click on the Font Paths tab in the right pane. To use fonts in other directories in a single document, open that document, and use the equivalent window displayed after clicking on File > Document Settings.

Regardless of the operating system, Scribus does not use bitmap fonts or fonts without Unicode encoding because they are not suitable for portable publishing.

When opening an existing Scribus document or creating a new document from a template, if any of the fonts used in that document or template are not installed on your system, Scribus displays a "Font Substitution" window before your document opens, as shown in Figure 4. You cannot proceed with a document that you have created from a template until you have mapped all existing fonts in the template to equivalents available on your system. If you do not see this window, skip ahead to the section "Adding, linking, and modifying frames" to continue working with your new document.

Figure 4. Substituting fonts in a Scribus document
Image showing how to substitute fonts in a new Scribus document

The Original Font column shown in Figure 4 displays a list of fonts that are referenced in the document or template you are using but that are not found (or are not found in the same location) on your system. The Substitution Font column displays a list of suggested substitutions, which you will almost certainly want to modify. Clicking any font in this column displays a scrollable list of the fonts available on your system. Select the font you want to use from this list to update the suggested substitution and return to the "Font Substitution" window.

When you are happy with the substitutions you have selected, click on OK to make those substitutions and open the new or existing document in Scribus.

Tip: When creating Scribus documents that you want to be able to edit on other systems, do not just save the document and transfer it to the other system. Instead, click on File > Collect for Output to display a window that enables you to identify a directory in which to save the Scribus document, any graphics that it references, and all of the fonts that it uses. (Select the Include Fonts option in that window to include the fonts.)


Adding, linking, and modifying frames

Scribus supports several different types of frames:

  • Text frames - These are frames in which you can manually enter text or into which you can import text from an external file or word processing document. Scribus supports importing files that are in any of the comma-separated values (CSV), DOC (Microsoft® Office Word), HTML, Open Document Text (ODT), Palm Database (PDB), and standard text (TXT) formats.
  • Image frames - These are frames in which you can display and scale an existing image file in most graphics formats.
  • Render frames - These special-purpose frames contain rendered images that are produced using formatting commands from an external application. The most common use of render frames is to embed mathematical expressions that LaTeX produces. Scribes provides built-in support for embedded LaTeX, LilyPond (sheet music), gnuplot, Graphviz, and POV-Ray commands.

Each of these frames has type-specific insertion and modification options. To simplify this article, the remainder of this section focuses on inserting and linking text frames.

Adding text frames and text

To insert a new text frame in a Scribus document, perform the following steps:

  1. Begin inserting a text frame by performing any of the following tasks:
    • Type the letter T while the cursor is in a Scribus window.
    • Click Insert > Insert Text Frame.
    • Click the toolbar's Insert Text Frame icon, which looks like a small document that begins with the letter "A."
  2. Click and hold the left mouse button at a location where you want to position one of the corners of the frame.
  3. Drag the mouse to draw a rectangle that represents your new frame, releasing the left mouse button when you are finished creating the frame.

Figure 5 shows a single frame in a Scribus document.

Figure 5. An empty frame in a Scribus document
Image showing an empty frame in a Scribus document

To insert text from an external file into the new frame, perform the following steps:

  1. Right-click a frame, and then click on Get Text.

    A browse window is displayed.

  2. Browse to the location of the file you want to insert and select it.
  3. If the file does not have a standard file extension but contains a supported type of text, select the appropriate import format from the "Importer" list.
  4. Click on OK to import the selected file into the specified frame.

Figure 6 shows a text frame into which the contents of a file have been imported.

Figure 6. Imported text in a text frame
Image showing imported text in a text frame

As discussed at the beginning of this article, using multiple frames is a fundamental aspect of layout-oriented documents. Text content that flows from one frame to another is similarly fundamental because it enables multiple flows to begin on one page, grabbing the reader's eye or attention, while concluding elsewhere in a document. Rather than attempting to manually fit text to a sequence of frames, Scribus makes it easy to link frames so that the text that automatically begins in one frame continues in another when the first frame is full. Resizing linked frames automatically reflows the text across them, adjusting the text in each to match the new frame sizes.

Scribus text frames that contain more text than they can currently display are indicated by a small "x" icon in their lower right corner, as shown in Figure 6. To link an over-full frame to another, perform the following steps:

  1. Select the frame that is too small to display all of the text associated with it.
  2. Click on the toolbar's Link Text Frames icon (which looks like two pages separated by an arrow), or press the letter "N" on the keyboard.
  3. Select the frame to which you want to flow text.

After selecting the second frame, text flows from the first frame that you selected to the second frame, as shown in Figure 7.

Figure 7. Linked text frames in Scribus
Image showing linked text frames in Scribus

Linking frames is not limited to just two frames: You can continue to select other frames if you need to flow text to additional frames. If you need to subsequently link to other frames, simply select the current set of linked frames when starting the linking process.


Producing PDF and RIP-ready documents

Beyond the powerful and easy-to-use features provided for creating and editing documents, Scribus excels in producing high-quality PDF output that you can print to any printer using standard PDF viewers such as Adobe Acrobat® but is also suitable for use by most RIP and production-quality printers, service bureaus, and magazine publishers. Scribus creates high-end PDF 1.4 and PDF/X-3 output that complies with the International Organization for Standardization (ISO) standard for delivering the high-quality, color-managed output (ISO 15930-3:2002) required by modern printers and printing houses. (See Resources for a link to more information about this standard.)

To generate PDF output for printers and for delivery to print houses, click on File > Export, and select Save as PDF. A window will display, as shown in Figure 8.

Figure 8. Exporting PDF output in Scribus
Image showing how to export PDF output in Scribus

The window shown in Figure 8 provides several different tabs to help you fine-tune your PDF output, provide information that modern printing houses require, and control how your PDF output is used. Here's a quick summary of those tabs:

  • General - Enables you to specify the PDF level with which your document is compatible, output graphics resolution, image compression, and so on
  • Fonts - Enables you to identify fonts to embed and outline to avoid problems printing your PDF output
  • Extras - Enables you to activate and specify presentation effects used when displaying your PDF output
  • Viewer - Provides control over the layout of the pages in your PDF output and how PDF viewers can interact with that PDF by displaying bookmarks, toolbars, thumbnails, and so on
  • Security - Enables you to password-protect the PDF document and control how it can be used — whether it can be printed or modified, whether users can copy or annotate sections of the document, and so on
  • Color - Enables you to optimize the color palette used in the PDF document
  • Pre-Press - Enables you to supply specific information, such as crop marks, registration marks, and color bars, that sophisticated print shops require

The features provided in Scribus' "Save as PDF" window give you a tremendous amount of control over PDF output, enabling you to specify the features that you need for the devices with which you want your PDF to be used, whether for on-screen or web display, printing on home or office printers, or for delivery to production-quality print houses.


Conclusion

Scribus is a powerful DTP application that provides an excellent example of the quality and sophistication of multiplatform open source software. This article only scratched the surface of its many capabilities. Beyond providing basic DTP functionality, Scribus includes sophisticated color-management and pre-press capabilities that are traditionally only available in expensive, platform-specific software packages. And you can't beat the price!

Resources

Learn

Get products and technologies

  • Scribus: Download Scribus for the Linux, Windows, Mac OS X, Haiku, and OS/2 eComStation platforms. This page provides downloads of both the stable and current development versions of Scribus.
  • AbiWord: Get this popular open source word processor for Windows, Linux, QNX, FreeBSD, and Solaris systems that provides some support for text frames.
  • LibreOffice: Download this popular open source office suite that includes LibreOffice Writer, which supports text and graphics frames. LibreOffice is available for FreeBSD, Mac OS X version 10.4 Tiger or later, Windows, Linux-based systems running Linux kernel version 2.6.18 or later, NetBSD, and OpenBSD systems.
  • Adobe Acrobat Reader: Get the industry-standard application for viewing and printing PDF output and is available for at no cost for most operating systems.
  • LilyPond: Get this open source music markup and display application that produces high-quality sheet music and is available for most Linux and other UNIX®-like operating systems, Mac OS X, and Windows.
  • Gnuplot: Download this portable, open source command-line-driven graphing utility. It is available for most Linux and other UNIX-like operating systems, Mac OS X, and Windows.
  • Graphviz: Get this open source graph visualization software available for Solaris, most Linux and other UNIX-like operating systems, Mac OS X, and Windows.
  • POV-Ray: Download the Persistence of Vision Raytracer, a high-quality open source tool for creating three-dimensional graphics that is available for x86 Linux, Mac OS X, and Windows systems.
  • Evaluate IBM products in the way that suits you best: Download a product trial, try a product online, or use a product in a cloud environment.

Discuss

  • Get involved in the developerWorks community. Connect with other developerWorks users while exploring the developer-driven blogs, forums, groups, and wikis.

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Open source on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Open source, Linux
ArticleID=870784
ArticleTitle=Open source desktop publishing with Scribus
publish-date=04162013