<pPr> (Text Paragraph Properties)

This element contains all paragraph level text properties for the containing paragraph. These paragraph properties should override any and all conflicting properties that are associated with the paragraph in question.

example:
<a:p>
  <a:pPr marL="0" algn="ctr">
    <a:buNone/>
  </a:pPr><a:t>Some Text</a:t></a:p>

The paragraph described above will be formatting with a left margin of 0 and will have all of text runs contained within it centered about the horizontal median of the bounding box for the text body. ]

Note:

Parent Elements

<fld>5.1.5.2.4); <p>5.1.5.2.6)

Child Elements

Subclause

<buAutoNum> (Auto-Numbered Bullet)

§5.1.5.4.1

<buBlip> (Picture Bullet)

§5.1.5.4.2

<buChar> (Character Bullet)

§5.1.5.4.3

<buClr> (Color Specified)

§5.1.5.4.4

<buClrTx> (Follow Text)

§5.1.5.4.5

<buFont> (Specified)

§5.1.5.4.6

<buFontTx> (Follow text)

§5.1.5.4.7

<buNone> (No Bullet)

§5.1.5.4.8

<buSzPct> (Bullet Size Percentage)

§5.1.5.4.9

<buSzPts> (Bullet Size Points)

§5.1.5.4.10

<buSzTx> (Bullet Size Follows Text)

§5.1.5.4.11

<defRPr> (Default Text Run Properties)

§5.1.5.3.2

<extLst> (Extension List)

§5.1.2.1.15

<lnSpc> (Line Spacing)

§5.1.5.2.5

<spcAft> (Space After)

§5.1.5.2.8

<spcBef> (Space Before)

§5.1.5.2.9

<tabLst> (Tab List)

§5.1.5.2.13

Attributes

Description

<algn> (Alignment)

Specifies the alignment that is to be applied to the paragraph. Possible values for this include left, right, centered, justified and distributed. If this attribute is omitted, then a value of <left> is implied.

<p:txBody>
  <a:bodyPr numCol="2" spcCol="914400"…/>
    <a:normAutofit/>
    </a:bodyPr>
  
  <a:p>
    <a:pPr marL="0" algn="just">
      <a:buNone/>
    </a:pPr><a:t>Sample Text …</a:t></a:p>
</p:txBody>

The possible values for this attribute are defined by the ST_TextAlignType simple type (§5.1.12.59).

<defTabSz> (Default Tab Size)

Specifies the default size for a tab character within this paragraph. This attribute should be used to describe the spacing of tabs within the paragraph instead of a leading indentation tab. For indentation tabs there are the <marL> and <indent> attributes to assist with this.

<p:txBody><a:p>
    <a:pPr defTabSz="376300" …/>
    
    <a:t>Sample Text …</a:t>
    
  </a:p>
</p:txBody>

The possible values for this attribute are defined by the ST_Coordinate32 simple type (§5.1.12.17).

<eaLnBrk> (East Asian Line Break)

Specifies whether an East Asian word can be broken in half and wrapped onto the next line without a hyphen being added. To determine whether an East Asian word can be broken the presentation application would use the <kinsoku> settings here. This attribute is to be used specifically when there is a word that cannot be broken into multiple pieces without a hyphen. That is it will not be present within the existence of normal breakable East Asian words but will when a special case word arises that should not be broken for a line break. If this attribute is omitted, then a value of <1>, or true is implied.

<p:txBody><a:p>
    <a:pPr eaLnBrk="0" …/>
    
    <a:t>Sample text (Long word)</a:t>
    
  </a:p>
</p:txBody>

The possible values for this attribute are defined by the XML Schema boolean datatype.

<fontAlgn> (Font Alignment)

Determines where vertically on a line of text the actual words are positioned. This deals with vertical placement of the characters with respect to the baselines. For instance having text anchored to the top baseline, anchored to the bottom baseline, centered in between, etc. To understand this attribute and it's use it is helpful to understand what baselines are. A diagram describing these different cases is shown below. If this attribute is omitted, then a value of <base> is implied.

<a:txtBody><a:pPr fontAlgn="b" …/>
  
  <a:r>
    <a:rPr …/>
    <a:t>H </a:t>
  </a:r>
  <a:r>
    <a:rPr sz="1200" …/>
      <a:t>2</a:t>
  </a:r>
  <a:r>
    <a:rPr …/>
      <a:t>O</a:t>
  </a:r>
  
</p:txBody>

The possible values for this attribute are defined by the ST_TextFontAlignType simple type (§5.1.12.66).

<hangingPunct> (Hanging Punctuation)

Specifies whether punctuation is to be forcefully laid out on a line of text or put on a different line of text. That is, if there is punctuation at the end of a run of text that should be carried over to a separate line does it actually get carried over. A <true> value will allow for hanging punctuation forcing the punctuation to not be carried over and a value of <false> will allow the punctuation to be carried onto the next text line. If this attribute is omitted, then a value of <0>, or <false> is implied.

The possible values for this attribute are defined by the XML Schema boolean datatype.

<indent> (Indent)

Specifies the indent size that will be applied to the first line of text in the paragraph. An indentation of <0> will be considered to be at the same location as <marL> attribute. If this attribute is omitted, then a value of -<342900> is implied.

<p:txBody>
  <a:bodyPr numCol="2" spcCol="914400"…/>
    <a:normAutofit/>
    </a:bodyPr>
  
  <a:p>
    <a:pPr marL="0" indent="571500" algn="just">
      <a:buNone/>
    </a:pPr><a:t>Here is some…</a:t></a:p>
</p:txBody>

By adding the indent attribute the user has effectively added a first line indent to this paragraph of text. ]

The possible values for this attribute are defined by the ST_TextIndent simple type (§5.1.12.70).

<latinLnBrk> (Latin Line Break)

Specifies whether a Latin word can be broken in half and wrapped onto the next line without a hyphen being added. This attribute is to be used specifically when there is a word that cannot be broken into multiple pieces without a hyphen. That is it will not be present within the existence of normal breakable Latin words but will when a special case word arises that should not be broken for a line break. If this attribute is omitted, then a value of <1>, or true is implied.

<p:txBody><a:p>
    <a:pPr latinLnBrk="0" …/>
    
    <a:t>Sample text (Long word)</a:t>
    
  </a:p>
</p:txBody>

The possible values for this attribute are defined by the XML Schema boolean datatype.

<lvl> (Level)

Specifies the particular level text properties that this paragraph will follow. The value for this attribute is numerical and formats the text according to the corresponding level paragraph properties that are listed within the <lstStyle> element. Since there are nine separate level properties defined, this tag will have an effective range of 0-8 = 9 available values.

<p:txBody><a:p>
    <a:pPr lvl="1" …/>
    
    <a:t>Sample text</a:t>
    
  </a:p>
</p:txBody>

The possible values for this attribute are defined by the ST_TextIndentLevelType simple type (§5.1.12.71).

<marL> (Left Margin)

Specifies the left margin of the paragraph. This is specified in addition to the text body inset and applies only to this text paragraph. That is the text body inset and the <marL> attributes are additive with respect to the text position. If this attribute is omitted, then a value of <347663> is implied.

The possible values for this attribute are defined by the ST_TextMargin simple type (§5.1.12.73).

<marR> (Right Margin)

Specifies the right margin of the paragraph. This is specified in addition to the text body inset and applies only to this text paragraph. That is the text body inset and the <marR> attributes are additive with respect to the text position. If this attribute is omitted, then a value of <0> is implied.

The possible values for this attribute are defined by the ST_TextMargin simple type (§5.1.12.73).

<rtl> (Right To Left)

Specifies whether the text is right-to-left or left-to-right in its flow direction. If this attribute is omitted, then a value of <0>, or left-to-right is implied.

<p:txBody><a:p>
    <a:pPr rtl="1" …/>
    
    <a:t>Sample text…</a:t>
    
  </a:p>
</p:txBody>

The possible values for this attribute are defined by the XML Schema boolean datatype.

The following XML Schema fragment defines the contents of this element:

<complexType name="CT_TextParagraphProperties">
	<sequence>
	<element name="lnSpc" type="CT_TextSpacing" minOccurs="0" maxOccurs="1"/>
	<element name="spcBef" type="CT_TextSpacing" minOccurs="0" maxOccurs="1"/>
	<element name="spcAft" type="CT_TextSpacing" minOccurs="0" maxOccurs="1"/>
	<group ref="EG_TextBulletColor" minOccurs="0" maxOccurs="1"/>
	<group ref="EG_TextBulletSize" minOccurs="0" maxOccurs="1"/>
	<group ref="EG_TextBulletTypeface" minOccurs="0" maxOccurs="1"/>
	<group ref="EG_TextBullet" minOccurs="0" maxOccurs="1"/>
	<element name="tabLst" type="CT_TextTabStopList" minOccurs="0" maxOccurs="1"/>
	<element name="defRPr" type="CT_TextCharacterProperties" minOccurs="0" maxOccurs="1"/>
	<element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
	</sequence>
	<attribute name="marL" type="ST_TextMargin" use="optional"/>
	<attribute name="marR" type="ST_TextMargin" use="optional"/>
	<attribute name="lvl" type="ST_TextIndentLevelType" use="optional"/>
	<attribute name="indent" type="ST_TextIndent" use="optional"/>
	<attribute name="algn" type="ST_TextAlignType" use="optional"/>
	<attribute name="defTabSz" type="ST_Coordinate32" use="optional"/>
	<attribute name="rtl" type="xsd:boolean" use="optional"/>
	<attribute name="eaLnBrk" type="xsd:boolean" use="optional"/>
	<attribute name="fontAlgn" type="ST_TextFontAlignType" use="optional"/>
	<attribute name="latinLnBrk" type="xsd:boolean" use="optional"/>
	<attribute name="hangingPunct" type="xsd:boolean" use="optional"/>
</complexType>