Pub Suite Documentation

← Back to App
No results found for your search.

Introduction

Welcome to Pub Suite, a professional XML-to-PDF typesetting tool designed for authors, editors, and publishers who need precise, repeatable control over document layout. Write your content in structured XML, configure typography and layout through the visual sidebar, then generate publication-quality PDFs in one click.

What You Can Do

  • Author documents in clean, semantic XML with any tag structure you define
  • Apply professional typography with metric-based leading and optical margin alignment
  • Configure headers, footers, and running heads with left/center/right elements and facing-page mirroring
  • Generate a Table of Contents automatically from heading tags
  • Insert footnotes and manage their placement (per-page, end-of-section, or end-of-document)
  • Upload custom TTF fonts and use them throughout the document
  • Control page breaks, right-page alignment, and blank pages
  • Set advanced justification: word spacing, glyph scaling, and hyphenation
  • Create multi-column layouts with optional column rules
  • Wrap any element in a styled box with background, per-side borders, padding, and rounded corners
  • Apply highlight bands, underlines (straight, double, wavy), and strikethroughs — each with solid color or gradient fill — to any element type
  • Export fully accessible PDF/UA documents with semantic tags and metadata
  • Save, load, and export projects for version control and collaboration
Core Concept: XML as Content, Styles as Presentation

Pub Suite keeps content and presentation separate. Your XML holds the words and structure; the Style Editor holds all visual decisions. Changing a style updates every instance of that tag across the entire document instantly — no manual reformatting.

Subscription Tiers

  • Trial: Full access to all features for a limited period. PDF generation is available.
  • Premium: Unlimited PDF generation and project saves. The Generate PDF button is unlocked.
Trial Limitation

During trial mode the Generate PDF button remains active, but the remaining days are shown in the header. Once the trial expires, upgrade to Premium to continue generating PDFs.

Interface Overview

Top Header Bar

The dark header bar runs across the top of the screen and contains:

  • Pub Suite — application title and subscription status
  • Preview — generates a PDF and opens it in a side panel without downloading
  • Generate PDF — generates and downloads the final PDF (Premium only)
  • Dashboard — returns to the main account dashboard

Left Sidebar — Configuration Panels

The left sidebar (320 px wide) contains eight tabbed panels. Tabs wrap to a second row when they don't all fit. Click any tab to switch panels:

  • Document — page size, margins, and project management
  • Typography — base font, size, typographic measurement options
  • Header/Footer — running heads, footers, cover page, blank pages
  • TOC & Structure — table of contents, page breaks, footnotes
  • Resources — upload images and custom fonts
  • Accessibility — PDF/UA settings and document metadata
  • Inline Rendering — parent-child tag inline display rules
  • Mapping — map XML tags to style class names

XML Editor — Center Panel

The center panel is a Monaco-powered XML editor (the same editor used in VS Code). Features include:

  • Syntax highlighting and XML validation
  • Code folding on element boundaries
  • Minimap for quick document navigation
  • Word wrap on by default
  • Detect Tags — scans your XML and auto-creates styles for every unique tag
  • Format XML — re-indents the document with consistent 2-space indentation

Style Editor — Right Sidebar

The right sidebar (380 px wide) lists every tag that has been detected or created. Each style card shows:

  • Tag name in monospace
  • Font, size (with unit), color, alignment, line spacing, height reference
  • Space before/after, left/right indent, first-line indent — all with individual units
  • Advanced Settings… button — opens the modal for columns, block styling, text decoration, links, accessibility, optical margins, and hyphenation
  • Clear All Styles — removes every style card (use with caution)

Preview Panel

Clicking Preview generates the PDF and opens it in an iframe panel that slides in from the right. Close it with the Close button or by pressing Esc.

💡 Workflow Tip

Keep the Preview panel open while editing styles. Each time you click Preview, it regenerates in place. This gives you a fast edit-preview loop without leaving the editor.

Quick Start Guide

Your First PDF in Five Steps

1
Write or paste your XML The editor opens with a sample document. Replace it with your content, or paste in existing XML. Any well-formed XML tag structure works — Pub Suite does not require a fixed schema.
2
Click Detect Tags The toolbar button above the editor scans your XML and creates a default style card for every unique element tag found. Heading-like tags (tags containing "heading" or "title" with a number) receive larger sizes automatically.
3
Set page size and margins Open the Document tab in the left sidebar. Choose a page size unit (mm, in, pt, px), enter width and height, then set margins with their own unit selector.
4
Adjust styles in the right sidebar Each tag card lets you change font, size, color, alignment, spacing, and more. Click Advanced Settings… on any card to access columns, block styling, text decoration, hyphenation, and more.
5
Click Preview or Generate PDF Preview renders the document in the side panel. Generate PDF downloads the final file named after your project.
💡 Save Early and Often

Use Ctrl+S (or Cmd+S) to save the project to your account at any time. Projects are stored server-side and can be loaded on any device.

Uploading a Custom Font

  1. Open the Resources tab and click the Fonts sub-tab
  2. Drag a TTF file onto the upload area, or click to browse
  3. The font alias (filename without extension) appears in every font dropdown across the app — in the Style Editor, Typography tab, header/footer selectors, TOC, and footnotes
  4. Select it from any font dropdown and regenerate the PDF
Font Format

Only TTF (TrueType Font) files are accepted. OTF, WOFF, and WOFF2 files are not supported. Convert fonts to TTF before uploading if needed.

XML Document Format

Basic Structure

Pub Suite accepts any well-formed XML. There is no required schema. The only rule is that the document must be valid XML with a single root element.

<?xml version="1.0"?>
<document>
    <heading1>Chapter One</heading1>
    <paragraph>This is the opening paragraph.</paragraph>
    <paragraph>A second paragraph follows.</paragraph>
</document>

Recommended Naming Conventions

While any tag names work, the following conventions help Pub Suite's auto-detection features:

  • Heading tags named heading1, heading2, etc. are auto-detected by Auto-Detect TOC Tags and receive scaled font sizes from Detect Tags
  • Use lowercase tag names without spaces or special characters
  • Underscores are allowed: block_quote, figure_caption

Inline Text Formatting

Wrap inline text with tags and define styles for them in the Style Editor:

<paragraph>
    This sentence has <emphasis>italic emphasis</emphasis> and
    a <strong_text>bold phrase</strong_text> inside it.
</paragraph>

Adding Footnotes

Place footnote content inline using the <footnote> or <fn> tag. The text inside is extracted, numbered, and placed according to the Footnote Placement setting:

<paragraph>
    The treaty was signed in 1648.<footnote>Peace of
    Westphalia, October 24, 1648.</footnote> It ended
    the Thirty Years' War.
</paragraph>

Images

Reference uploaded images by their filename (without path). Upload the image in the Resources tab first, then use the tag name you have mapped to an image style:

<figure src="diagram.png" width="300" />

Page Number Token

In header and footer text fields, use the <page> token to insert the current page number:

— <page> —
XML Validity

If the XML editor shows a parse error, click Format XML to identify syntax problems. Common issues are unclosed tags, ampersands not written as &amp;, and less-than signs not written as &lt;.

Document Tab

Page Size

Set the physical page dimensions of the output PDF:

  • Width / Height — numeric values for the page dimensions
  • Unit — the unit for width and height values: mm, in, pt, or px. All values are converted to points internally before PDF generation.

Common Page Sizes

FormatDimensionsCommon Use
A4210 × 297 mmInternational standard, academic papers, reports
US Letter8.5 × 11 inNorth American standard, business documents
US Trade6 × 9 inTrade paperbacks, novels
Royal6.14 × 9.21 inLiterary fiction, non-fiction
Crown Quarto189 × 246 mmAcademic books, textbooks
A5148 × 210 mmPocket books, conference proceedings
US Legal8.5 × 14 inLegal documents

Margins

Margins are set independently for top, bottom, left, and right edges. A separate Unit selector at the top of the margin group controls the unit for all four values simultaneously.

💡 Margin Units vs. Page Units

Margin units and page size units are independent. You can set page size in mm and margins in pt. Both are converted to points during PDF generation.

Typical Margin Ranges by Document Type

Document TypeSuggested Margins (mm)
Trade book (6×9 in)Top 25, Bottom 25, Inner 20, Outer 18
Academic paper (A4)All sides 25 mm (1 inch)
Technical manual (US Letter)Top/Bottom 25, Left/Right 30
Pocket bookTop/Bottom 18, Left/Right 15

Project Management

  • Project Name — used as the filename when downloading the PDF and as the label in the Saved Projects list
  • Save — saves all settings, styles, XML content, and assets to your account. If the project has been saved before, it overwrites; otherwise a new record is created
  • New — clears the current project and resets to defaults (confirms before proceeding)
  • Export — downloads the full project as a .pubproj.json file for offline backup or sharing
  • Saved Projects list — shows all saved projects with last-modified date. Click Load to restore a project, Delete to remove it permanently
  • Refresh — reloads the saved projects list from the server

Typography Tab

The Typography tab controls global typographic calculation settings that apply across the entire document, independently of per-style settings.

Use Typographic Measurements

When checked, all font sizes and spacing values are processed through professional typographic calculations before being applied. This enables accurate metric-based leading, optical margin alignment, and height reference scaling. Uncheck only if you need raw point-value passthrough without metric calculations.

Calculate Leading from Font Metrics

When checked, line spacing (leading) is derived from the actual font metrics — ascender, descender, and cap height values embedded in the font file — rather than a simple multiplier. This produces consistent inter-line spacing regardless of font design differences.

Top Margin Reference

Controls which part of the first line of text aligns to the top margin edge:

  • EM Height — the full em square (conservative, gives more space above the first line)
  • Cap Height — the top of uppercase letters (the cap tops sit exactly at the margin)
  • X Height — the top of lowercase letters (tight alignment used in some modern typography)
Choosing a Top Margin Reference

For most book and document work, Cap Height gives the most visually consistent result — the first capital letter touches the top margin. Traditional typesetting often used EM Height. X Height is used in very tight grid-based designs.

Base Font

The document's default font used as a fallback and for global metric calculations. Custom fonts uploaded in the Resources tab appear in this dropdown automatically. The base font does not override per-style font settings — it is used when no style explicitly sets a font.

Base Font Size

The root font size from which relative measurements scale. Enter a value and select a unit (pt, px, mm, in). For most documents, 10–12 pt is appropriate.

TOC & Structure Tab

Table of Contents

  • Include Table of Contents — prepends a generated TOC page to the document

TOC Typography

  • TOC Font — font for all TOC entries (includes custom fonts)
  • Size + Unit — TOC entry font size
  • Height Reference — EM / Cap Height / X Height for TOC text alignment
  • Text Color — color applied to all TOC entries
  • Leader Char — the fill character between the entry text and page number: Dots (…), None, Dashes (---), or Underline (___)

TOC Tags

Tags listed here appear as entries in the TOC. Format is tagname:level where level 0 is the topmost heading.

  1. Expand the Add TOC Tag accordion
  2. Enter the tag name (e.g., chapter) and the level (e.g., 0)
  3. Click Add Tag
  4. Or click Auto-Detect Tags to scan the XML and add all tags whose names contain "heading" or "title" with a numeric suffix

Page Breaks

Break After Tags

A page break is inserted after every closing tag in this list.

Break Before Tags

A page break is inserted before every opening tag in this list.

Right Page Tags

Tags added here will always begin on an odd (right-hand) page. If the tag would fall on an even page, a blank page is inserted automatically.

Right Page vs. Break Before

Adding a tag to Right Page Tags also adds it to Break Before Tags automatically. A right-page tag always implies a page break — but the break may be either one or two pages depending on the current page number.

Footnotes

  • Enable Footnotes — activates footnote processing for <footnote> and <fn> tags
  • Font — includes custom uploaded fonts
  • Size + Unit — footnote text size (typically 8–9 pt)
  • Height Reference — EM / Cap Height / X Height
  • Color — footnote text color
  • Show separator line above footnotes — draws a horizontal rule above the footnote block
  • Width (%) — separator line length as a percentage of the page width (traditionally 33%)
  • Thickness (pt) — separator line weight
  • Separator Color
  • Footnote Placement:
    • End of Document — all footnotes collected at the document end (endnote style)
    • End of Section — footnotes collected at the end of each section
    • Per Page (bottom of page) — traditional footnote placement at the bottom of each page

Resources Tab

Images Sub-Tab

Upload images to embed in the document. Supported formats: PNG, JPG, JPEG.

  • Click the upload area or drag images onto it
  • Multiple images can be uploaded at once
  • Uploaded images appear in the list with a thumbnail preview
  • Reference images in XML by filename in the style mappings or image style registry
  • Click Delete next to an image to remove it from the server

Fonts Sub-Tab

Upload custom TTF fonts to use alongside the built-in fonts.

  • Click the upload area or drag .ttf files onto it
  • The font alias used in dropdowns is the filename without the .ttf extension
  • Once uploaded, the font appears in every font selector in the app: Style Editor, Typography base font, Header/Footer fonts, TOC font, and Footnote font
  • Fonts are stored server-side and persist across sessions and devices
  • Click Delete to remove a font (this also removes it from all dropdowns)
Font Licensing

Ensure any fonts you upload are licensed for embedding in PDF documents. Commercial fonts often have separate embedding licenses distinct from desktop use licenses.

Accessibility Tab

Pub Suite can produce PDF/UA (ISO 14289) compliant documents suitable for screen readers and assistive technology.

Enable PDF/UA Accessibility

When checked, the generated PDF includes a tagged structure tree, language declarations, role mappings, and metadata required for screen reader compatibility. Disable only if you need a simpler, smaller PDF and accessibility is not required.

Document Metadata

  • Document Title — embedded as the PDF title metadata and used by screen readers as the document name
  • Author — the document author name embedded in PDF metadata
  • Subject — a short description or subject line for the document
  • Language — the primary language of the document (e.g., English US, French, German)
Per-Style Accessibility Settings

Each style card also has an Accessibility section under Advanced Settings…. There you can set the semantic role (P, H1–H6, Span, BlockQuote, etc.), alternative text, per-element language override, and ARIA label for that tag type.

Inline Rendering Tab

Inline rendering allows child elements to flow inline with each other inside a parent container, separated by a configurable delimiter.

Adding an Inline Rule

  1. Expand the Add Inline Rule accordion
  2. Enter the Parent Tag (the container, e.g., keywords)
  3. Enter the Child Tag (the items, e.g., kw)
  4. Set the Separator (default: , )
  5. Optionally set Prefix (text prepended to the whole group, e.g., Keywords: ) and Suffix (text appended to the group, e.g., .)
  6. Optionally set Prefix Style and Suffix Style — tag names whose styles are applied to the prefix and suffix text respectively
  7. Click Add Inline Rule

Example

<keywords>
    <kw>typography</kw>
    <kw>publishing</kw>
    <kw>PDF</kw>
</keywords>

With a rule for keywords → kw, separator , , prefix Keywords: , suffix ., this renders as:

Keywords: typography, publishing, PDF.

Tag Mapping Tab

Tag mappings tell the PDF generator which style class name corresponds to a given XML tag or tag-in-context.

Simple Mappings (tag → class)

Maps a tag name to a style class name sent to the PDF generator. For most documents where tag names and style class names are identical, no manual mapping is needed — mappings are created automatically by Detect Tags. Add mappings manually when you need an XML tag to use a different style class name.

  1. Expand Add Simple Mapping
  2. Enter the XML tag name (e.g., em) and the style class name (e.g., emphasis)
  3. Click Add

Context Mappings (parent → child → class)

Maps a child tag within a specific parent to a different style class. This allows the same tag to render differently depending on where it appears.

Example: a <title> inside a <figure> should use the figure_caption style, while a <title> at the document root uses the heading1 style:

  1. Expand Add Context Mapping
  2. Enter figure as Parent, title as Child, figure_caption as Class
  3. Click Add

Working with Styles

Creating Styles

Styles are created automatically by clicking Detect Tags in the XML editor toolbar. One style card is created per unique tag. You can also create styles manually by adding tag mappings in the Mapping tab.

Style Card Controls

ControlDescription
FontFont family. Includes all standard fonts plus any uploaded custom fonts.
Size + UnitFont size with its own unit selector (pt, px, mm, in).
ColorText color via color picker.
AlignmentLeft, Center, Right, or Justify.
Line SpacingLine spacing multiplier (e.g., 1.2 = 120% of font size).
Height ReferenceEM Height, Cap Height, or X Height.
Space Before/AfterParagraph spacing above and below, each with its own unit.
Left/Right IndentBlock indentation from the margins, each with its own unit.
First Line IndentIndentation of the first line only. Negative values create hanging indents.

Deleting a Style

Click the Delete button on a style card to remove it. Use Clear All Styles at the top of the right sidebar to remove every style at once — a confirmation dialog is shown first.

Style Deletion is Permanent

Deleted styles cannot be recovered within the same session. If you accidentally clear styles, you can reload the project from the Document tab (if saved) or re-run Detect Tags to regenerate defaults.

Advanced Style Settings

Click Advanced Settings… on any style card to open the Advanced Style Editor modal. Settings are grouped into collapsible sections.

Column Layout

  • This style is a column container — content flows into multiple columns
  • Number of columns (2–6)
  • Column gap — space between columns, with unit selector
  • Balance column heights — distributes text evenly across all columns on the last page
  • Show column rule — draws a vertical divider between columns
  • This style flows into columns — marks an element as a column child
  • Force column break before/after — pushes the element to the top of the next column
  • Span all columns — the element spans full width across all columns

Block Styling

See the dedicated Block Styling section for full details. Summary of controls:

  • Enable block styling — wraps the element in a styled box
  • Background color — optional fill color with checkbox toggle
  • Border preset — None, All Sides (uniform), or Custom (per-side)
  • Border widths — each side has its own numeric input and pt/px/mm/in unit selector
  • Rounded corners — corner radius with unit selector
  • Padding preset — None, Equal All Sides, or Custom (per-side)
  • Padding values — each side has its own numeric input and unit selector
  • Box width — Full column width (margin to margin) or Hug text width (shrinks to fit content)

Text Decoration

See the dedicated Text Decoration section for full details. Summary:

  • Highlight — colored band behind the text, with solid or gradient fill, configurable height level, expand, shift, and padding
  • Underline — straight, double, or wavy line below the text
  • Strikethrough — horizontal line through the text

Link Settings

  • Enable link — makes elements with this style clickable in the PDF
  • Link type — External URL, Internal anchor, or Email
  • Link color and Underline toggle

Accessibility

  • Semantic role — P, H1–H6, Span, Div, BlockQuote, Code
  • Alternative text — for screen readers
  • Language code — per-element language override
  • ARIA label — supplemental description

Optical Margin Alignment

Extends certain characters slightly beyond the text block edge for visually straight margins. Sliders control the overhang percentage for quotes, parentheses, hyphens, and diagonal letter shapes on both left and right edges.

Advanced Justification

  • Word Spacing — minimum, desired, and maximum word space as a percentage. Standard: 80% / 100% / 133%.
  • Letter Spacing (pt) — additional inter-character spacing (tracking)
  • Glyph Scaling % — horizontal compression or expansion (90–110%)
  • Enable Hyphenation — breaks long words at line ends with hyphens
    • Min Word Length — words shorter than this are never hyphenated
    • Min Prefix / Suffix — minimum characters before/after the hyphen
    • Language — hyphenation language dictionary
  • Break Long Words — forces a line break within very long words even without a hyphen point

Block Styling

Block styling wraps any XML element in a styled box with a background fill, borders, padding, and rounded corners. It is configured per style in Advanced Settings… → Block Styling.

How Block Styling Works

When block styling is enabled, the element's text is rendered first and then enclosed in a box. Padding adds space between the text and the box edges; borders are drawn on the box boundary; the background fills the interior. The box sits in the normal document flow — it does not float or overlap other content.

Enabling Block Styling

Check Enable block styling in the Block Styling section of the Advanced Settings modal. The sub-panel with all options becomes visible. Uncheck to remove all styling without losing the saved settings.

Background

  • Check Background color to enable a fill. The color picker appears when checked.
  • Uncheck to use a transparent background (borders and padding still apply).

Borders

The Border preset selector controls which inputs are shown:

  • None — no borders. All border values are set to zero on save.
  • All sides — a single width input (with unit selector) and a single color picker applies to all four sides equally.
  • Custom — four independent width inputs (Top, Bottom, Left, Right), each with its own pt/px/mm/in unit selector, plus a color picker. Set any side to 0 to suppress it. This is how you create an accent bar (e.g., left border only) or a box with a heavier top line.

Unit Selectors

Every border width and the rounded corners radius has an independent unit selector: pt, px, mm, or in. Values are converted to points before PDF generation.

Rounded Corners

Enter a radius value and select its unit. A radius of 0 produces sharp corners. Rounded corners use a single radius for all four corners. Note: when rounded corners are set, a uniform border width is used for the rounded rectangle (the maximum of the four per-side values); individual side differences are only applied when corner radius is 0.

Padding

The Padding preset selector controls the padding inputs:

  • None — no padding. The text sits flush against the border.
  • Equal all sides — a single range slider sets the same padding on all four sides. A unit selector applies to the slider value (pt/px/mm/in).
  • Custom — four independent numeric inputs (Top, Bottom, Left, Right), each with its own unit selector.
💡 Padding Recommendations

For a callout box, 8–12 pt padding on all sides works well. For a left-border accent bar, use 0 padding top/right/bottom and 8–12 pt on the left to create breathing room between the border and the text.

Box Width

The Box width dropdown controls how wide the styled box is:

  • Full column width (default) — the box stretches from the left margin to the right margin (or the full column width in multi-column layouts). This is the standard behaviour for section backgrounds, callout boxes, and full-width accents.
  • Hug text width — the box shrinks to fit the natural width of the rendered text. Useful for inline-style badges, short labels, or pull quotes where a full-width box would look oversized.

Common Use Cases

EffectSettings
Callout / info boxBackground: light color; Border preset: All sides, 1 pt; Padding: Equal, 10 pt; Box width: Full
Left accent barBackground: none; Border preset: Custom, Left 3–4 pt, all others 0; Padding: Custom, Left 10 pt, others 4 pt; Box width: Full
Top rule onlyBorder preset: Custom, Top 1 pt, others 0; Padding: Custom, Top 6 pt; Box width: Full
Inline badge / labelBackground: color; Border preset: All sides, 0.5 pt; Padding: Equal, 4 pt; Box width: Hug text width
Shaded sidebarBackground: subtle gray; Border preset: None; Padding: Equal, 12 pt; Box width: Full
Block Styling and Text Decoration

Block styling and text decoration (highlight, underline, strikethrough) can be applied to the same element simultaneously. Decorations are rendered on the text first, then the block box is drawn around the decorated text. This means a highlight will appear inside the padded box, not behind it.

Text Decoration

Text decorations add visual embellishments drawn directly on the rendered text — highlight bands, underlines, and strikethroughs. They are configured per style in Advanced Settings… → Text Decoration. All three decorations can be enabled simultaneously on the same style.

Multi-Line Support

All decorations are line-aware: they are drawn independently on each line of a multi-line paragraph, aligned to the actual text width on each line. Centered or right-aligned text will have correctly aligned decorations, not a full-width bar.

Highlight

Draws a colored band behind the text, similar to a physical highlighter pen.

Color

The Color mode selector switches between:

  • Solid — a single color with an opacity slider (0–100%)
  • Gradient — a two-stop linear gradient with configurable colors, opacities, stop positions (0–1), and direction (Horizontal, Vertical, Diagonal Up, Diagonal Down)

Height Level

Controls the vertical extent of the highlight band:

  • EM — full em square height (tallest, covers ascenders)
  • Cap Height — covers uppercase letters only
  • X Height — covers lowercase letters only (compact)
  • Custom — manually specify height and vertical offset, each with a unit selector

Fine Tuning

All fine-tuning values have independent pt/px/mm/in unit selectors:

  • Expand Top / Expand Bottom — extend the band beyond the calculated height level on each edge
  • Shift — moves the entire band vertically (positive = up)
  • Pad Left / Pad Right — extend the band horizontally beyond the text edges

Underline

Draws a line below the text baseline.

Style

  • Straight — a single solid line
  • Double — two parallel lines
  • Wavy — a sinusoidal curve (like a spell-check underline). When selected, two extra controls appear: Amplitude (wave height, with unit selector) and Wavelength (distance per full wave cycle, with unit selector)

Color

Same solid/gradient color mode as Highlight.

Geometry Controls

All values have unit selectors:

  • Width — line thickness
  • Offset — vertical distance below the baseline (positive moves the line further down)
  • Shift — additional vertical fine-tuning
  • Pad Left / Pad Right — horizontal extension beyond the text edges

Strikethrough

Draws a horizontal line through the vertical midpoint of uppercase letters.

Color

Same solid/gradient color mode as Highlight and Underline.

Geometry Controls

All values have unit selectors:

  • Width — line thickness
  • Offset — vertical adjustment from the default midpoint position
  • Shift — additional vertical fine-tuning
  • Pad Left / Pad Right — horizontal extension

Combining Decorations

Use CaseSetup
Classic yellow highlighterHighlight enabled; Solid color #ffff00; Opacity 60%; Level: X Height or Cap Height
Gradient highlight (warm)Highlight enabled; Gradient mode; Color1 #ffff00, Color2 #ff9900; Horizontal direction
Red spell-check underlineUnderline enabled; Style: Wavy; Color: #ff0000; Width 0.8 pt; Amplitude 1.5 pt; Wavelength 6 pt
Deletion / redlineStrikethrough enabled; Color: #cc0000; Width 1 pt
Highlighted + underlinedBoth Highlight and Underline enabled on the same style
Double underline emphasisUnderline enabled; Style: Double; Width 0.5 pt
💡 Decorations with Block Styling

Text decorations and block styling work together. The highlight, underline, or strikethrough is rendered on the text first; the block box (background, borders, padding) wraps the decorated text. If you want a highlight that extends to the full box width, use a block background color instead of the highlight decoration.

Workflow: Traditional Books

This workflow covers trade books, literary fiction, and non-fiction. The focus is on clean typography, chapter-start pages on the recto, running heads with book/chapter titles, and traditional footnotes.

1. Page Setup

  • Open Document tab → set page size to 6 × 9 in (Trade) or 5.5 × 8.5 in (Digest)
  • Set margins: Top 0.875 in, Bottom 0.75 in, Inner 0.75 in, Outer 0.625 in
  • Use in as the margin unit

2. Upload Fonts

Navigate to Resources → Fonts and upload your body text font and any display/heading fonts as TTF files. Traditional book faces include Garamond, Palatino, Caslon, Minion, and their equivalents.

3. XML Structure

<document>
    <front_matter>
        <title_page>...</title_page>
        <copyright>...</copyright>
        <dedication>...</dedication>
        <toc_placeholder/>
    </front_matter>
    <chapter>
        <chapter_number>Chapter One</chapter_number>
        <chapter_title>The Beginning</chapter_title>
        <paragraph>...</paragraph>
    </chapter>
</document>

4. Typography Settings

  • Enable Use Typographic Measurements and Calculate Leading from Font Metrics
  • Set Top Margin Reference to Cap Height
  • Set Base Font Size to 11 pt for 6×9, or 12 pt for larger formats

5. Styles

After Detect Tags, configure these key styles:

TagSuggested Settings
paragraph11 pt serif, Justify, Line Spacing 1.35, Space Before 0, First Line Indent 1.5em
chapter_title18–24 pt, Center or Left, Space Before 48 pt, Space After 24 pt
chapter_number10 pt caps/small caps, Center, Space Before 72 pt, Space After 12 pt
blockquote10 pt, Left Indent 24 pt, Right Indent 24 pt, Space Before/After 12 pt

6. Running Heads

  • Switch to Advanced mode in the Header/Footer tab
  • Enable Mirror on facing pages
  • Left element: book title in small caps; Right element: chapter title in small caps
  • Footer Center: page number only (<page>)
  • Font size: 8–9 pt, Height Ref: Cap Height

7. Chapter Start Pages

  • Open TOC & Structure tab
  • In Right Page Tags, add chapter
  • This ensures every chapter opens on a right-hand (odd) page

8. Table of Contents

  • Enable Include Table of Contents
  • Click Auto-Detect Tags to add chapter_title:0
  • Set TOC font to match body text, 11 pt, with Dots leader
💡 First Paragraph After Heading

In traditional book typography the first paragraph after a chapter heading has no first-line indent. Create a separate paragraph_opening tag for these and set First Line Indent to 0. Use context mappings to apply it automatically when paragraph_opening appears inside chapter.

Workflow: Academic Papers

Academic papers typically follow publisher or institution guidelines, requiring specific margins, double-spacing, numbered sections, and carefully formatted references.

1. Page Setup

  • Page size: A4 (210 × 297 mm) for international journals, US Letter (8.5 × 11 in) for North American journals
  • Margins: 25 mm on all sides (1 inch)

2. XML Structure

<article>
    <title>Paper Title</title>
    <authors>
        <author>Dr. Jane Smith</author>
        <author>Prof. John Doe</author>
    </authors>
    <abstract>...</abstract>
    <keywords>
        <kw>typography</kw>
        <kw>publishing</kw>
    </keywords>
    <section>
        <heading1>1. Introduction</heading1>
        <paragraph>...</paragraph>
    </section>
    <references>
        <ref>...</ref>
    </references>
</article>

3. Typography

  • Base font: 12 pt; Line Spacing 2.0 for manuscript submissions, 1.2–1.3 for camera-ready
  • Body font: Times New Roman or equivalent serif; Alignment: Left

4. Section Headings

TagStyle
heading114 pt Bold, Space Before 24 pt, Space After 12 pt
heading212 pt Bold, Space Before 18 pt, Space After 8 pt
heading312 pt Bold Italic, Space Before 12 pt, Space After 6 pt

5. Abstract and Keywords

  • Style abstract: Left/Right indent 12–24 pt, 10–11 pt, Space Before/After 24 pt
  • Add an Inline Rendering rule for keywords → kw: separator ; , prefix Keywords:

6. References

  • Style ref: 10 pt, Left Indent 24 pt, First Line Indent −24 pt (hanging indent)

Workflow: Chicago Manual of Style

The Chicago Manual of Style (CMS) is the standard for books, humanities scholarship, and many social-science publications in North America.

Page and Typography Standards

  • Page size: 6 × 9 in (Trade) or US Letter for manuscripts
  • Manuscript: 12 pt Times New Roman, double-spaced, 1 inch margins
  • Published book: 10–11 pt serif, 1.2–1.4 line spacing

Footnotes (Notes-Bibliography System)

  • Enable Footnotes; Placement: Per Page
  • Font: body size − 1 pt; Separator: 33% width, 0.5 pt
<paragraph>
    The work was first published in 1851.<footnote>Herman
    Melville, <em>Moby-Dick</em> (New York: Harper &amp;
    Brothers, 1851), 1.</footnote>
</paragraph>

Block Quotations

  • Left/Right Indent: 24 pt; Font size: body − 1 pt; No first-line indent; Space Before/After 12 pt

Chapter and Section Headings

LevelStyle
Chapter titleTitle case, centered, 16–20 pt, Space Before 72 pt
A-head (heading1)Bold, centered, 12–14 pt
B-head (heading2)Bold, flush left, 12 pt
C-head (heading3)Bold italic, flush left, 12 pt
💡 Chicago Manuscript vs. Final Book

Maintain two project files: one for submission (double-spaced, 12 pt, 1-inch margins) and one for typesetting (single-spaced, 10–11 pt, print margins).

Workflow: AP Style

The Associated Press Stylebook governs journalism, press releases, and corporate communications.

Page Setup

  • Page size: US Letter; Margins: 1 inch all sides
  • No headers or footers for press releases

Typography Conventions

  • Alignment: Left; Line Spacing: 1.0–1.3; No first-line indent; Space After paragraph

XML Structure for a Press Release

<release>
    <dateline>NEW YORK, Jan. 15, 2025 /PRNewswire/</dateline>
    <headline>Company Announces Product Launch</headline>
    <subheadline>New offering targets enterprise segment</subheadline>
    <body>
        <paragraph>Lead paragraph here...</paragraph>
        <paragraph>Second paragraph...</paragraph>
        <boilerplate>About Company...</boilerplate>
        <contact>Media contact: ...</contact>
    </body>
</release>

Style Configuration

TagAP Style
headline18–24 pt bold, Left, Space After 8 pt
subheadline14 pt, Left, Space After 12 pt
dateline10 pt bold, Left, Space After 8 pt
paragraph12 pt, Left, Line Spacing 1.2, Space After 8 pt, no first-line indent
boilerplate10 pt, Space Before 24 pt, italic
contact10 pt, Space Before 12 pt

Pull Quotes with Block Styling

AP feature articles often use pull quotes. Apply block styling to the pullquote tag:

  • Border preset: Custom — Left 3 pt and Right 3 pt, Top/Bottom 0
  • Padding: Custom — Left/Right 12 pt, Top/Bottom 8 pt
  • Font: larger size, centered; Space Before/After 24 pt

Workflow: Other Standards

MLA (Modern Language Association)

  • Page: US Letter, 1-inch margins; Body: 12 pt Times New Roman, double-spaced, Left
  • First-line indent: 0.5 in (36 pt) on every paragraph; Space After: 0
  • Running head: last name and page number top-right — Simple header mode: LastName <page>
  • Works Cited: ref tag, Left Indent 36 pt, First Line Indent −36 pt, double-spaced

APA (American Psychological Association)

  • Page: US Letter, 1-inch margins; Body: 12 pt Times New Roman or 11 pt Calibri, double-spaced
  • First-line indent: 0.5 in on all body paragraphs except abstract
  • Five heading levels: Level 1 Centered Bold → Level 5 Indented Bold Italic (run-in)
  • References: hanging indent, double-spaced

IEEE (Institute of Electrical and Electronics Engineers)

  • Page: US Letter; Margins: Top 0.75 in, Bottom 1 in, Left/Right 0.625 in
  • Body: 10 pt Times New Roman, single-spaced, justified; 2-column layout
  • Enable Column Layout on the body style: 2 columns, 18 pt gap
  • Title, authors, and abstract: set Span all columns in Advanced Settings
  • Section headings: small caps, centered, 10 pt

Turabian

  • Simplified CMS for student papers. See Chicago workflow for footnote, heading, and running head configuration.
  • Page: US Letter or A4, 1-inch margins; Body: 12 pt, double-spaced; First-line indent: 0.5 in

ISO / DIN Technical Documents

  • Page: A4, 25 mm margins; Body: 10–12 pt sans-serif or serif as specified
  • Numbered clause headings: four or more levels, bold, decimal numbering
  • Notes and examples: indented, smaller font; use block styling (left border accent) to visually set them apart

Legal Documents

  • Page: US Letter; Margins: 1 in top/bottom, 1.25 in left, 1 in right
  • Body: 12 pt, double-spaced, Times New Roman
  • Footnotes: enabled, Per Page, 10 pt
  • Block quotes: single-spaced, Left/Right indent ~36 pt
💡 Style Templates via Project Export

Once you have configured a style to meet a specific standard, export the project from the Document tab as a .pubproj.json file. Load it as a template for each new document — all styles, settings, and mappings are preserved.

Keyboard Shortcuts

Global Shortcuts

ShortcutAction
Ctrl+SSave project to server
Cmd+SSave project (macOS)
Ctrl+EExport project as .pubproj.json
Cmd+EExport project (macOS)
EscClose the Advanced Style Editor modal or the Preview panel

XML Editor Shortcuts

ShortcutAction
Ctrl+ZUndo
Ctrl+YRedo
Ctrl+FFind in editor
Ctrl+HFind and replace
Ctrl+DSelect next occurrence of current selection
Alt+Move current line up
Alt+Move current line down
Ctrl+/Toggle comment (wraps selection in XML comment)
Ctrl+Shift+PCommand palette (Monaco commands)
TabIndent selected lines
Shift+TabOutdent selected lines

Troubleshooting

PDF generation fails with no error message

  • Cause: Malformed XML in the editor
  • Solution: Click Format XML. Fix all XML syntax errors before generating.

Block styling is not visible in the PDF

  • Cause: Border preset is set to "All sides" but no border width was entered, or padding preset is "None" and background is unchecked
  • Solution: In Advanced Settings… → Block Styling, confirm that Enable block styling is checked. Check that the Border preset is not "None" and that a width greater than 0 is set. For a background-only box, check Background color and select a color. For a left-border-only accent, use Border preset: Custom and enter a value only for the Left side.

Highlight / underline / strikethrough not appearing

  • Cause: The decoration checkbox is checked but the color has zero opacity, or the offset/shift values push the decoration outside the visible area
  • Solution: In Advanced Settings… → Text Decoration, confirm the respective Enable checkbox is checked. Check that Opacity is above 0. Reset Offset and Shift to 0 to verify visibility, then re-adjust from there.

Custom font does not appear in the PDF

  • Cause: The font was selected in a dropdown but the project was not saved after uploading, or the font file is corrupted
  • Solution: Navigate to Resources → Fonts and confirm the font appears in the list. If not, re-upload it. After selecting the font in a style, save the project, then regenerate the PDF.

Table of Contents is empty or missing entries

  • Cause: No TOC tags configured, or tag names don't match the XML
  • Solution: Open TOC & Structure and click Auto-Detect Tags, or add the exact XML tag name and level manually. Tag names are case-sensitive.

Footnotes do not appear in the PDF

  • Cause: Footnotes disabled, or wrong tag name used
  • Solution: Check Enable Footnotes in TOC & Structure. Confirm XML uses exactly <footnote> or <fn> (lowercase).

Headers or footers overlap the text area

  • Cause: Y offset places the element inside the text margin
  • Solution: Reduce the Y offset in Advanced header/footer mode (typical: 20–36 pt). Increase top/bottom margins in the Document tab.

Page breaks occur in unexpected places

  • Cause: Tags in Break After/Before lists triggering breaks, or Right Page tag inserting an extra blank page
  • Solution: Review Page Breaks and Right Page Tags lists in the TOC & Structure tab.

Project does not load after saving

  • Cause: Network error during save, or session expired
  • Solution: Click Refresh in Saved Projects. Use Export to keep a local JSON backup.

Custom font does not appear in the font dropdown

  • Cause: Font was uploaded in a previous session but the asset list has not been refreshed
  • Solution: The app loads all assets automatically on startup. If the font is missing, navigate to Resources → Fonts to confirm it is listed. If listed but missing from dropdowns, reload the page.

Text is cut off at the page edge

  • Cause: Margins are set too small, or a style has negative indents
  • Solution: Check the Document tab margins. Check per-style indent values in the Style Editor for any unexpectedly large left/right indents or negative values.

PDF preview is blank or shows an error page

  • Cause: The PDF generator returned an error that was not surfaced to the notification system
  • Solution: Open your browser's developer console (F12) and look for error messages in the Network or Console tabs. Common causes include an invalid font reference, a very large image file, or an XML structure that confuses the renderer. Try generating with default styles to isolate the issue.

The app is slow or unresponsive

  • Cause: Very large XML (100,000+ characters) or very large images
  • Solution: Split large documents into chapters. Compress images before uploading. Close the Preview panel when not in use.
Still Having Issues?

Use Ctrl+S to save your project, then try a hard reload of the page (Ctrl+Shift+R). All project data is saved server-side and will be restored from the Saved Projects list. If the problem persists, export your project as a JSON file for backup before contacting support.