paged.IDML Reference
Styles

Paragraph styles

The ParagraphStyle element — identity, BasedOn parent, character defaults, paragraph geometry and the option families it carries, as InDesign writes them.

Tier: ProProIIIreference

A paragraph style carries both the geometry of a paragraph and the character defaults its text starts from.

In short A <ParagraphStyle> sets a paragraph's alignment, indents, spacing, hyphenation, keeps and lists, and also the font, size and colour its text uses when no character style says otherwise. InDesign writes most of these as attributes, and a handful as typed children of a <Properties> block: the font (AppliedFont), the parent (BasedOn), the leading, the tab stops and the list settings. A paragraph refers to its style through AppliedParagraphStyle on its <ParagraphStyleRange>.

Where they live

Paragraph styles sit under <RootParagraphStyleGroup> in Resources/Styles.xml, optionally inside <ParagraphStyleGroup> folders. Two built-ins are always present: the root ParagraphStyle/$ID/[No paragraph style], which every chain ends at, and ParagraphStyle/$ID/NormalParagraphStyle, shown in InDesign as [Basic Paragraph], the style new text gets.

Three paragraph styles. The root carries the font as a typed AppliedFont child; each of the other two names its parent in a typed BasedOn child.

Resources/Styles.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<idPkg:Styles xmlns:idPkg="http://ns.adobe.com/AdobeInDesign/idml/1.0/packaging" DOMVersion="20.0">
  <RootCharacterStyleGroup>
    <CharacterStyle Self="CharacterStyle/$ID/[No character style]" Name="$ID/[No character style]"/>
  </RootCharacterStyleGroup>
  <RootParagraphStyleGroup>
    <ParagraphStyle Self="ParagraphStyle/$ID/[No paragraph style]" Name="$ID/[No paragraph style]" PointSize="12" FillColor="Color/Black">
      <Properties>
        <AppliedFont type="string">Open Sans</AppliedFont>
      </Properties>
    </ParagraphStyle>
    <ParagraphStyle Self="ParagraphStyle/Body" Name="Body" PointSize="14" SpaceAfter="6">
      <Properties>
        <BasedOn type="object">ParagraphStyle/$ID/[No paragraph style]</BasedOn>
      </Properties>
    </ParagraphStyle>
    <ParagraphStyle Self="ParagraphStyle/Body Indented" Name="Body Indented" FirstLineIndent="18">
      <Properties>
        <BasedOn type="object">ParagraphStyle/Body</BasedOn>
      </Properties>
    </ParagraphStyle>
  </RootParagraphStyleGroup>
  <RootObjectStyleGroup>
    <ObjectStyle Self="ObjectStyle/$ID/[None]" Name="$ID/[None]" FillColor="Swatch/None" StrokeColor="Swatch/None" StrokeWeight="0" AppliedParagraphStyle="ParagraphStyle/$ID/[No paragraph style]" CornerOption="None" CornerRadius="0" EndCap="ButtEndCap" EndJoin="MiterEndJoin" MiterLimit="4" StrokeAlignment="CenterAlignment" StrokeType="StrokeStyle/$ID/Solid" Nonprinting="false"/>
  </RootObjectStyleGroup>
</idPkg:Styles>

Attributes and <Properties> children

Most paragraph-style settings are plain attributes. These are written as typed children of the style's <Properties> block instead:

ChildTypeHolds
<BasedOn>object (a Self id) or string (a $ID/ root name)the parent style
<AppliedFont>stringthe font family, such as Minion Pro
<Leading>unit (points) or enumeration (Auto)the leading
<TabList>list of recordsthe tab stops; see drop caps and tabs
<BulletChar>, <NumberingFormat>, <AppliedNumberingList>, <BulletsCharacterStyle>, <NumberingCharacterStyle>variouslist settings; see lists, keep options and span columns
<SpanSplitColumnCount>short or enumeration (All)how many columns a span or split covers
<AllNestedStyles>list of recordsnested styles; see below

InDesign ignores an AppliedFont attribute on a paragraph style; the font has to be the typed child. The rule for BasedOn is the same (see the cascade).

In Paged: the importer reads AppliedFont, BasedOn and Leading in either form. The exporter writes them as children, the way InDesign reads them.

Supported · verified

Character defaults

A paragraph style carries the full set of character attributes, so a run that applies no character style still has a value for each. The common ones:

Attribute · ParagraphStyleValuesPagedpaged.set
AppliedFontrefread · writtencharacterFontFamily
FontStyletextread · writtencharacterFontStyle
PointSizelength (pt)read · writtencharacterFontSize
FillColorColor referenceread · writtencharacterFillColor
FillTintintegerread · written
Trackingnumberread · writtencharacterTracking
CapitalizationNormal | AllCaps | SmallCaps | OTSmallCapsread · writtencharacterCase
PositionNormal | Superscript | Subscript | OTSuperscript | OTSubscript | OTNumerator | OTDenominatorread · writtencharacterPosition
Ligaturesfalse | truenot read
KerningMethod$ID/Metrics | $ID/Opticalnot read
Selected attributes. All 331 attributes of ParagraphStyle →

Their meaning is the same as on a character style; see character styles and the typography chapter.

In Paged: Ligatures, KerningMethod and the OTF… OpenType attributes are read from character styles and ranges but not yet from paragraph styles, where InDesign also writes them; a run whose only source for them is its paragraph style gets the defaults (ligatures on, metric kerning, no extra OpenType features).

Paragraph geometry

Attribute · ParagraphStyleValuesPagedpaged.set
JustificationLeftAlign | CenterAlign | RightAlign | LeftJustified | CenterJustified | RightJustified | FullyJustified | ToBindingSide | AwayFromBindingSideread · writtenparagraphJustification
LeftIndentlength (pt)read · writtenparagraphLeftIndent
RightIndentlength (pt)read · writtenparagraphRightIndent
FirstLineIndentlength (pt)read · writtenparagraphFirstLineIndent
LastLineIndentintegernot read
SpaceBeforelength (pt)read · writtenparagraphSpaceBefore
SpaceAfterlength (pt)read · writtenparagraphSpaceAfter
Selected attributes. All 331 attributes of ParagraphStyle →

Justification takes LeftAlign, CenterAlign, RightAlign, the justified modes LeftJustified, CenterJustified, RightJustified and FullyJustified, and the binding-relative ToBindingSide and AwayFromBindingSide. The justified modes differ in their last line; see justification and line-breaking.

In Paged: CenterJustified and RightJustified are set ragged (centred and flush right) instead of justified, and FullyJustified is composed like LeftJustified. Both are known engine issues. ToBindingSide is set left and AwayFromBindingSide right.

Option families

A paragraph style carries several further families of attributes, each documented with its topic:

  • Spacing and composition: Composer, MinimumWordSpacing / DesiredWordSpacing / MaximumWordSpacing, the letter-spacing and glyph-scaling triples, SingleWordJustification, and the hyphenation family (Hyphenation, HyphenateWordsLongerThan, HyphenateAfterFirst, HyphenateBeforeLast, HyphenateCapitalizedWords, HyphenateLadderLimit, HyphenationZone, …). See justification and line-breaking and composer and OpenType features.
  • Drop caps and tabs: DropCapCharacters, DropCapLines, DropCapDetail and the <TabList>. See drop caps and tabs.
  • Lists, keeps and columns: BulletsAndNumberingListType, NumberingExpression and the list children; KeepLinesTogether, KeepAllLinesTogether, KeepFirstLines, KeepLastLines, KeepWithNext, StartParagraph; SpanColumnType and its companions. See lists, keep options and span columns.
  • Rules, shading and borders: RuleAbove… and RuleBelow… (on, colour, tint, weight, offset, indents, width), ParagraphShading… and ParagraphBorder… (on, colour, tint, weight, offsets, per-corner options). Supported · verified Supported · verified Supported · verified
  • CJK composition: KinsokuSet, KinsokuType, MojikumiTable / Mojikumi. Parsed, partly rendered Parsed, partly rendered

Nested styles

A nested style applies a character style to the start of each paragraph, up to a delimiter: the first word, the first tab, everything before a colon. InDesign writes a paragraph style's nested styles as <Properties><AllNestedStyles type="list">, one record per nested style, each naming the character style, the delimiter, how many times it repeats and whether the delimiter itself is included.

In Paged: nested styles are applied when they come as <NestedStyle> elements under the paragraph style, a form InDesign does not write. The <AllNestedStyles> list InDesign writes is not read yet, so nested styles from an InDesign file are not applied.

Supported · untested

NextStyle

NextStyle names the paragraph style InDesign gives the next paragraph when the user presses Return at the end of this one. It is an authoring setting: it changes nothing about how existing text looks. A heading style typically has NextStyle set to the body style; a body style usually points at itself.

In Paged: NextStyle is read, can be set, and survives a save. It does not affect rendering. Parsed, not rendered

Frequently asked questions

How do I set a paragraph style's font in IDML? With a typed child: <Properties><AppliedFont type="string">Minion Pro</AppliedFont></Properties>, plus FontStyle="Bold" as an attribute for the face. InDesign ignores an AppliedFont attribute on the style.

What is the difference between a paragraph style and a character style? A paragraph style sets whole-paragraph properties (alignment, indents, spacing, keeps, lists) and the character defaults the paragraph's text starts from. A character style applies to a run inside a paragraph and usually sets only the few attributes that differ.

What is [Basic Paragraph]? The built-in style InDesign applies to new text. Its id is ParagraphStyle/$ID/NormalParagraphStyle. It is an ordinary, editable style based on the [No paragraph style] root.

Does NextStyle change how a document renders? No. It only tells InDesign which style to apply to a new paragraph typed after this one.

On this page