PubSuite Classic

PubSuite Classic is a professional XML-to-PDF editor. You write your document in a structured XML format, style each element through the sidebar panels, and export a pixel-perfect PDF — with a live preview that matches the output exactly.

Getting Started

When you open the editor you see three main areas:

Sidebar
Controls
XML Editor
Source
Live Preview
PDF output
  • Sidebar — tabs for every document setting: Document, Styles, H/F, TOC, Footnotes, Assets, Mapping, Inline, Presets.
  • XML Editor — Monaco-powered editor with syntax highlighting. Every change re-renders the preview in real time.
  • Live Preview — a canvas rendering that matches the exported PDF exactly. Click any text block to edit it inline.
Note: PubSuite Classic uses XML, not Markdown or HTML. The tag names you invent become your style names — <paragraph>, <heading1>, <pullquote> — and you style each one in the Typography panel.

XML Editor

The editor uses Monaco (the engine behind VS Code) with full XML syntax highlighting, bracket matching, and auto-indentation.

Basic Document Structure

<?xml version="1.0"?>
<document>
  <heading1>Chapter One</heading1>
  <paragraph>Your text goes here.</paragraph>
  <heading2>A Sub-heading</heading2>
  <paragraph>More text.</paragraph>
</document>
The root element doesn't have to be named <document> — any single root element works, and inner tag names are entirely up to you (see XML Reference). This means XML written for another tool or schema can usually be pasted in as-is.

Inline Markup

TagResultExample
<b>Bold<b>important</b>
<i>Italic<i>emphasis</i>
<u>Underline<u>link text</u>
<fn>Footnoteword<fn>This appears at the bottom.</fn>

Keyboard Shortcuts

ShortcutAction
Ctrl+ZUndo
Ctrl+Shift+ZRedo
Ctrl+FFind in editor
Ctrl+HFind & Replace
Ctrl+/Toggle comment
Alt+Shift+FFormat / pretty-print XML

Live Preview

The preview renders your document exactly as it will appear in the exported PDF — same fonts, same layout engine, same measurements.

  • Click to edit inline — click any text block to edit directly without switching to the XML editor.
  • Zoom controls — use the / + buttons, or Fit to fit the page width.
  • Page count — shown in the toolbar. Long documents paginate automatically.
  • Real-time update — the preview refreshes as you type, after a short debounce delay.

Document Panel

The Doc tab controls the page itself.

Page Size & Margins

Set width and height in mm, pt, or inches. Common presets include A4, A5, Letter, Legal, and book trim sizes. Margins can be set independently on all four sides.

Base Typography

  • Base font — default font for any tag without its own style. Built-in: Helvetica, Times-Roman, Courier.
  • Base size — default font size in pt.
  • Smart quotes — converts " and ' to typographic quotes.
  • Ligatures — enables fi, fl, ff ligature substitutions for uploaded OpenType fonts.
  • Top reference — controls whether line leading is measured from cap height, x-height, or full em.

Document Metadata

Title, author, subject, keywords, date, and language now live in the A11y tab, alongside PDF/UA accessibility settings — see Accessibility & Metadata. This keeps document metadata in one place, since it's tied to XML detection and PDF export in ways page settings aren't.

Typography & Styles

The Styles tab defines how each XML tag looks. Every tag can have its own style.

Style Properties

PropertyDescription
Font / Size / UnitFont family, size, and unit (pt, mm, in, or px)
Height referenceWhether the size above means the full em, cap height, or x-height — lets two different fonts line up visually at the size you actually care about
Bold / ItalicWeight and style
ColorHex color for the text
Letter spacingExtra space added between characters, in pt (Advanced Settings)
AlignmentLeft, center, right, or justify
Line spacingMultiplier (1.0 = single, 2.0 = double)
Space before / afterVertical space around the block, with its own unit
First-line indentIndent for the first line only
Left / Right indentBlock indent from the margin
HyphenationAuto-hyphenate long words at line breaks
Keep with nextPrevents a page break between this block and the next
UppercaseForces all text to uppercase
Drop cap linesNumber of lines the first character spans
ColumnsNumber of text columns within this block
Running titleText to show in the header/footer for sections using this style
Section formatNumbering format: 1, i, a, I, A
BorderWidth and color of a rule around the block
PaddingSpace inside the border
Background colorFill color behind the block
Table cell optionsHidden by default — a checkbox reveals vertical alignment and its reference (cap height / x-height / em / leading) for tags used as table cells

Bullets & List Counters

Bullet glyphs and numbered-list counters are both configured on the tag's style card and each get a full, independent set of controls: font, color, size, height reference, a vertical reference point (baseline / cap height / x-height / em box) that the bullet or counter is centered against, then a manual horizontal and vertical offset (each with its own unit) on top of that. Counters also have their own prefix and suffix text fields.

Style Mapping

The Map tab lets you create tag aliases — e.g. map pparagraph.

The same tab also has a separate Tag → Metadata Field Mappings section, for pointing a specific XML tag straight at a document metadata field (Title, Author, Subject, Keywords, Date, or Language) instead of a style. This is different from a style mapping: a metadata-mapped tag is removed from the rendered body entirely and its text is used to fill in the metadata field. See Document Metadata & Auto-Detection for details and when you'd need this instead of the automatic detection.

Inline Styles

The Inline tab defines styles for inline elements within a parent tag.

Presets

Ready-made document configurations for common use cases. Includes citation standards (Chicago, APA, MLA, Harvard, IEEE) and document structures (Novel, Report, Newsletter, Screenplay, Dissertation). Built-in presets can't be edited or deleted — only your own saved presets get Edit and Delete buttons.

Apply Modes

  • Apply — applies everything: page size, margins, base typography, and all style definitions.
  • Page — applies only page size and margins.
  • Styles — applies only typography settings.

Preset Configurator

Click + New Preset to open the full-screen configurator. Left side: intent cards for a quick starting point, a page size slider, then margin, text size, and text density sliders — each of those three paired with a number field for typing an exact value the slider itself might not reach (page size isn't, since it steps through named sizes like A4 or Letter rather than a plain number). Font is a direct dropdown; orientation and column count are picker buttons; header/footer can be toggled on with basic left/center/right text.

Every property this configures — font size, margins, column count — is a main setting for the preset as a whole. It's meant to get you to a reasonable starting point fast, not to replace the Typography panel for detailed, per-tag adjustments; anything more specific (a particular tag's bullet style, its exact indent, a border) is still edited normally after applying the preset.

Advanced Style Editor — a button switches the right-hand preview over to a full-width per-tag editor, where the preset can define exact starting styles (font, size, spacing, alignment, and more) for specific tags rather than just the document-wide basics on the left.

Reset to Default — discards whatever's been changed in the current editing session and reloads the preset's last-saved values (or a blank starting point, for a brand-new preset that hasn't been saved yet).

Table of Contents

The TOC tab generates an automatic table of contents from your headings. Choose which tags to include and set the leader character (dots, dashes, underline, or none). The TOC is inserted before the first page and updates automatically.

Entry text styling comes from the normal Typography panel — toc_title for the "Table of Contents" heading itself, and toc0, toc1, toc2 for each nesting level, styled exactly like any other tag.

Leader Styling

The leader (the dots connecting an entry to its page number) uses the entry's own font/size/color by default. Check Style leader separately to give it its own font, color, size with height reference, a vertical reference point with manual H/V-offset, and letter spacing — independent from the entry text around it.

Footnotes

Use the <fn> tag inline:

<paragraph>This claim is disputed<fn>See Johnson, 2019, p. 42.</fn>.</paragraph>

The FN tab controls font, separator rule, reference mark style, and line spacing. Footnotes are numbered automatically per-page or per-document.

Assets

Custom Fonts

Upload TTF or OTF font files. Once uploaded, the font name is available in the style editor. Ligatures and kerning are applied automatically. Fonts are embedded in the exported PDF.

Images

<image src="my-photo.jpg" width="120" height="80" />

Width and height are in points. Images are embedded in the PDF.

Accessibility & Metadata

The A11y tab has two things: a PDF/UA accessibility toggle, and Document Metadata (title, author, subject, keywords, date, language).

Document Metadata

Each field can come from two independent places, and it's worth being clear about how they relate:

  • Type a value directly into the field — this always works, with no XML involved, and is what ends up in the exported PDF's own metadata regardless of anything else.
  • Or use a <metadata>/<head>/<front>/<docinfo> block in your XML (see Document Metadata & Auto-Detection) — once a tag exists there for a field, that field's value comes from the XML and the panel field becomes read-only, showing exactly what's in your document. Edit the XML to change it, not the panel.

Next to each field is an Also render in document checkbox. This is only about whether that value also shows up as visible text in the page itself — it's disabled until the field is XML-backed (a value typed directly, with no matching XML tag, has nothing to render from), and checking or unchecking it never creates, edits, or removes anything in your XML. To add a metadata tag to your document, write it directly in the XML; the panel picks it up automatically.

Title and Author always show in the panel, XML-backed or not — useful for PDF-only metadata on a document that doesn't define them in XML at all. Subject and Keywords only appear once they have a reason to (an XML tag, or a value you've typed).

Master Pages

A master page is a named, reusable page layout — its own size, margins, and optional header/footer override — that a section of your document can switch to. There's no dedicated panel for this yet; it's set up through the AI Assistant and used from your XML.

Defining a Master

Create a chapter-opener master page with a 120pt top margin

A master can also extend another master, inheriting whatever fields it doesn't set itself, and carry style overrides — specific tag properties (like a heading's color) that only apply while that master is active, layered on top of the tag's normal style rather than replacing it.

Using a Master

<pagebreak master="chapter-opener"/>

Switches to that master starting from the next page. A plain <pagebreak/> with no attributes just starts a new page on whichever master is currently active.

Master Sequences

For alternating layouts — a different master for the very first page, then odd pages, then even pages — define a sequence and activate it once:

<pagebreak sequence="book"/>

From that point, every page — including ones created automatically when content overflows, not just explicit page breaks — picks its master from the sequence's rules, until a different sequence or an explicit master="..." takes over.

AI Assistant

Click the AI button in the toolbar to open the AI drawer. The assistant makes changes to your document settings using natural language.

What the AI can do

  • Apply a citation style or document structure preset
  • Set page size and margins
  • Change base font, size, and line spacing
  • Edit style properties for any tag
  • Enable headers, footers, and page numbers
  • Enable the table of contents
  • Define and update master pages, including inheritance and per-master style overrides — see Master Pages
  • Find and replace text in the document

Example prompts

Apply Chicago style 17th edition
Set page to A5 with 20mm margins
Make heading1 bold, 18pt, centered with 24pt space before
Enable page numbers in the footer centered
Add a table of contents for heading1 and heading2
Create a chapter-opener master page with a 120pt top margin

PDF Export

Click ↓ PDF in the toolbar. All fonts and images are embedded. The layout engine that generates the PDF is the same one that renders the live preview — output matches exactly.

PDF export is available on paid plans. Trial users can use the live preview but cannot export.

Projects

  • Save — saves the current XML and all style settings as a .json file.
  • Load — opens a saved project file and restores XML and styles exactly.
  • New — clears the editor and starts a blank document.
Projects are saved locally as files — they are not stored on the server.

XML Reference

Document Root

Every document must start with <?xml version="1.0"?> and have a single root element. By convention this is <document>, but any name works — <academicPaper>, <article>, <book>, whatever fits your source. Inner tag names below the root are equally free-form: any tag you use gets picked up automatically and can be styled from the Typography panel (use Detect Tags to add all of them at once).

Document Metadata & Auto-Detection

If a <metadata>, <head>, <front>, or <docinfo> element appears as a direct child of the root, Pub Suite scans its children and fills in the Document panel's metadata fields automatically — no need to rename or restructure your XML first. Recognised tag names (case-insensitive) are:

Metadata fieldMatching tag names
Title<title>, <subtitle>
Author<author>, <creator>, <name>
Subject<subject>
Keywords<keyword>, <keywords>, <tag>
Date<date>, <pubdate>, <publicationdate>
Language<language>, <lang>

Matching is depth-agnostic — <author><name>Jane Doe</name></author> resolves to the same author value as a flat <author>Jane Doe</author>. A tag that repeats — most commonly a wrapper of individual <keyword> entries — has its values joined with a comma automatically. Every metadata element consumed this way is removed from the rendered document body; it will not show up as a stray paragraph.

If your XML uses a metadata tag name that isn't in the table above (e.g. <editor>), it's left out of the automatic fields, but nothing is silently lost — the Document panel shows a notice listing exactly which tags weren't matched. From there, open the Map tab and add a Tag → Metadata Field Mapping to point that tag at whichever field it belongs to (Title, Author, Subject, Keywords, Date, or Language), choose whether to read only the tag's own text or flatten everything nested inside it, and set a join separator if the tag repeats. A manual mapping always takes priority over the automatic guesses above.

Auto-detection can be turned off entirely with the Auto-detect metadata from XML checkbox in the Document panel, if you'd rather fill in metadata by hand or rely only on manual Map tab mappings.

Common Block Tags

Suggested tagTypical use
<paragraph>Body text
<heading1>Chapter title
<heading2>Section heading
<blockquote>Extended quotation
<pullquote>Highlighted quote
<caption>Image or figure caption
<bullet>Bulleted list item
<numbered>Numbered list item
<image>Embedded image

Well-formed XML Rules

  • Every opening tag must have a closing tag
  • Self-closing tags end with />
  • Tags must be properly nested — they cannot overlap
  • Attribute values must be quoted
  • Use &amp; for &, &lt; for <, &gt; for >