Using the Path Query method NewLine, one can include a new line at the end of a string. Any subsequent string would be added to the new line. This article provides some examples of how NewLine can be used.
Join(NewLine)
This returns a list of objects, separated by new line.

'String' + NewLine + 'String'
This returns the two strings separated by a new line.

Name + NewLine + Version
Likewise, you can use it with, e.g., Name and Version
<Report>
<Text>#{? Name + NewLine + Version} </Text>
</Report>
A more complete example for a Graph can be found here.
With Variable
There is also support for this in Variable.

<Report>
<FontStyles>
<FontStyle name="font1" font="Consolas" size="10" color="red"/>
<FontStyle name="font2" font="Consolas" size="10" color="black"/>
</FontStyles>
<Variable name="Contract" as="[String]" select="@CONTR.Split(NewLine)"/>
<Variable name="ReferencedItems" as="[Item]" select="getAllReferencedItems(.,.)"/>
<Variable name="ReferencedParts" as="[Part]" select="getAllReferencedItems(.,.)/part::*"/>
<Variable name="ReferencedItemTypes" as="[Object]" select="getAllReferencedItems(.,.).Select(Type).Distinct"/>
<Variable name="ReferencedPartTypes" as="[Object]" select="getAllReferencedItems(.,.)/part::*.Select(Type).Distinct"/>
<Function name="getAllReferencedItems" as="Items">
<Parameter name="p1" as="Items"/>
<Parameter name="PreviousItems" as="Items"/>
<Variable name="NextItems" as="Items" select="($p1/part::*/defobj:: union $p1/part::*/refobj::)[not . in $PreviousItems]"/>
<Variable name="Accumulated" as="Items" select="$PreviousItems union $NextItems"/>
<Value select="if $NextItems then getAllReferencedItems($NextItems, $Accumulated) else $Accumulated"/>
</Function>
<Section title="Items Not Included in the Contract ">
<ForEach select="$ReferencedItemTypes">
<Variable name="currentItem" as="String" select="'<ItemType sid="' + SID + '"/>'"/>
<If test="not $currentItem in $Contract">
<Text font="font1"> #{? $currentItem }</Text>
</If>
</ForEach>
</Section>
<Section title="Parts Not Included in the Contract ">
<ForEach select="$ReferencedPartTypes">
<Variable name="currentPartSID" as="String" select="SID"/>
<Variable name="owner" as="String" select="$ReferencedParts[SID = $currentPartSID ].Select(Owner.SID).Distinct.Join(',') "/>
<Variable name="defobj" as="String" select="$ReferencedParts[SID = $currentPartSID ].Select(DefObj.SID).Distinct.Join(',')"/>
<Variable name="refobj" as="String" select="$ReferencedParts[SID = $currentPartSID ].Select(RefObj.SID).Distinct.Join(',')"/>
<Variable name="currentPart" as="String" select="'<PartType sid="' + SID + '"' + ' ownerType="' + $owner + '"' + ' defType="' + $defobj + '"' + (if $refobj != '' then (' refType="' + $refobj + '"' ) else '') + '/>' "/>
<If test="not $currentPart in $Contract">
<Text font="font1"> #{? $currentPart }</Text>
</If>
</ForEach>
</Section>
</Report>
