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:
Source
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.
<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>
<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
| Tag | Result | Example |
|---|---|---|
<b> | Bold | <b>important</b> |
<i> | Italic | <i>emphasis</i> |
<u> | Underline | <u>link text</u> |
<fn> | Footnote | word<fn>This appears at the bottom.</fn> |
Keyboard Shortcuts
| Shortcut | Action |
|---|---|
Ctrl+Z | Undo |
Ctrl+Shift+Z | Redo |
Ctrl+F | Find in editor |
Ctrl+H | Find & Replace |
Ctrl+/ | Toggle comment |
Alt+Shift+F | Format / 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, orFitto 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. These appear in PDF metadata and are available as {{title}} and {{author}} variables in headers and footers.
You can type these in directly here, or let Pub Suite pull them straight from your XML — see Document Metadata & Auto-Detection in the XML Reference for how that works. When auto-detection finds a value in your XML, it overwrites the field above; if it finds nothing for a field, whatever you typed stays put.
Typography & Styles
The Styles tab defines how each XML tag looks. Every tag can have its own style.
Style Properties
| Property | Description |
|---|---|
| Font / Size | Font family and size in pt |
| Bold / Italic | Weight and style |
| Color | Hex color for the text |
| Alignment | Left, center, right, or justify |
| Line spacing | Multiplier (1.0 = single, 2.0 = double) |
| Space before / after | Vertical space around the block, in pt |
| First-line indent | Indent for the first line only, in pt |
| Left / Right indent | Block indent from the margin, in pt |
| Hyphenation | Auto-hyphenate long words at line breaks |
| Keep with next | Prevents a page break between this block and the next |
| Uppercase | Forces all text to uppercase |
| Drop cap lines | Number of lines the first character spans |
| Columns | Number of text columns within this block |
| Running title | Text to show in the header/footer for sections using this style |
| Section format | Numbering format: 1, i, a, I, A |
| Border | Width and color of a rule around the block |
| Padding | Space inside the border |
| Background color | Fill color behind the block |
Style Mapping
The Map tab lets you create tag aliases — e.g. map p → paragraph.
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).
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 build a preset visually using intent cards, page size slider, margin and line-spacing controls, font style buttons, column count, and header/footer settings.
Table of Contents
The TOC tab generates an automatic table of contents from your headings. Choose which tags to include, configure per-level styles, and set the leader style (dots, lines, or none).
The TOC is inserted before the first page and updates automatically.
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.
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
- 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
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.
Projects
- Save — saves the current XML and all style settings as a
.jsonfile. - Load — opens a saved project file and restores XML and styles exactly.
- New — clears the editor and starts a blank document.
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 field | Matching 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.
Common Block Tags
| Suggested tag | Typical 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
&for &,<for <,>for >