2.2.2 Textrahmen

Textrahmen und Polygon-Formen unterscheiden sich strukturell nicht voneinander. Dies bedeutet, ein normaler Textrahmen ist nichts anderes als eine rechteckige Form. Eine Polygon-Form, egal welcher Art, ist gleichzeitig ein Textrahmen ohne Inhalt. Hierbei kann natürlich der Textrahmen sämtliche oben beschriebenen Eigenschaften erhalten. Ein Textrahmen wie er aus Satzprogrammen bekannt ist, wäre also ein p:sp-Element mit transparentem Hintergrund, ohne Rahmen-Eigenschaften oder Spezialeffekten.

<p:sp>
    <p:nvSpPr>
        <p:cNvPr id="3" name="Rechteck 2"/>
        <p:cNvSpPr/>
        <p:nvPr/>
    </p:nvSpPr>
    <p:spPr>
        <a:xfrm>
            <a:off x="2786050" y="2000240"/>
            <a:ext cx="3357586" cy="733663"/>
        </a:xfrm>
    </p:spPr>
    <p:txBody>                                                (1)
        <a:bodyPr/>                                           (2)
        <a:p>                                                 (3)
            <a:r>                                             (4)
                <a:t>Dies ist der Text in einem Absatz</a:t>  (5)
            </a:r>
        </a:p>
    </p:txBody>
</p:sp>
1 Element für den Text-Bereich. Dieses Element enthält alle Elemente, die den textuellen Inhalt betreffen.
2 Dieses Element ist für die Eigenschaften des Text-Bereiches.
3 Das a:p-Element steht für einen Absatz.
4 Das a:r-Element ist ein inzeiliges Element und dient zur inzeiligen Auszeichnung. Werden Textteile unterschiedlich formatiert, werden diese in unterschiedlichen a:r-Elementen gegliedert.
5 Das a:t-Element enthält den reinen Text ohne weitere Eigenschaften: "HalloWelt"

 

2.2.2.1 Das OOXML-Absatz-Model

Jeder Text lässt sich in einen oder mehrere Absätze gliedern. Gewöhnlich unterliegt der Text eines Absatzes der gleichen Formatierungsanweisung. Es gibt jedoch auch die Möglichkeit einer sogenannten Inline-Auszeichnung, also dass spezifischer Text innerhalb einer Zeile anders formatiert ist als der restliche Absatz. Die übliche Lösung in XML-Dokumenten für diese Struktur ist das Mixed-Content-Model. Das Absatz-Element kann sowohl den reinen Text als auch weitere Inline-Elemente enthalten, die wiederum den so inline ausgezeichneten Text enthalten.

Beispiel für einen Absatz in der HTML-Struktur mit Inline-Auszeichnung:

<p>Es gibt jedoch auch die Möglichkeit einer sogenannten Inline-Auszeichnung, also dass spezifischer Text <i>innerhalb einer Zeile anders formatiert ist</i>, als der restliche Absatz.</p>

Der OOXML-Standard vermeidet jedoch möglichst komplexere Strukturen, wie die Mixed-Content-Struktur. Daher wurde für DrawingML – wie auch schon für WordML – eine andere Absatz-Struktur verwendet. Jedes Absatz-Element (<a:p>) enthält ein oder mehrere Run-Elemente (<a:r>), die wiederum genau ein Text-Element (<a:t>) für den reinen Text enthalten. Dabei liegt allen a:r-Elementen eines Absatzes die gleiche Absatzformatierung zugrunde, während die Formatierung für jedes a:r-Element individuell bestimmt werden kann. Der Text eines Absatzes lässt sich dabei in beliebig viele a:r-Elemente gliedern. Das a:t-Element enthält dabei den reinen Text eines Run-Elementes ohne weitere Formatierungsangaben.

<a:p>                                                              (1)
   <a:r>                                                           (2)
      <a:t>Es gibt jedoch auch die Möglichkeit einer sogenannten Inline-Auszeichnung, 
           also dass spezifischer Text </a:t>                      (3)
    </a:r>
    <a:r>                                                          (2)
       <a:rPr i="1"/>                                              (4)
       <a:t>innerhalb einer Zeile anders formatiert ist</a:t>      (3) 
    </a:r>
    <a:r>                                                          (2)
       <a:t>, als der restliche Absatz.</a:t>                      (3)  
    </a:r>
</a:p> 
1 Absatz-Element
2 Run-Element
3 Text-Element
4 Das a:rPr-Element definiert die Eigenschaften des Run-Elements. Es muss immer das erste Element im entsprechenden Run-Element sein. Hier wird im i-Attribut mit dem Wert 1 die Eigenschaft italic, also kursiv, aktiviert. Der Wert 0 würde eine Deaktivierung der Eigenschaft erreichen.

 

2.2.2.2 Inline-Auszeichnungen

Neben der bereits beschriebenen Inline-Auszeichnung italic, gibt es weitere Möglichkeiten, den Text inline auszuzeichnen. Natürlich lassen sich diese Formatierungen beliebig kombinieren.

<a:p>  
   <a:r>  
      <a:rPr i="1"/>                            (1)
      <a:t>Dieser Text ist kurzsiv.</a:t>  
   </a:r>  
   <a:r>  
      <a:rPr b="1"/>                            (1)
      <a:t>Dieser Text ist fett.</a:t>  
   </a:r>  
   <a:r>  
      <a:rPr sz="2400"/>                        (2)
      <a:t>Dieser Text hat die Schriftgröße 24pt.</a:t>  
   </a:r>  
   <a:r>  
      <a:rPr u="sng"/>                          (3)
      <a:t>Dieser Text ist einfach unterstrichen.</a:t>  
   </a:r>  
   <a:r>  
      <a:rPr u="dotted"/>                       (3)
      <a:t>Dieser Text ist gepunktet unterstrichen.</a:t>  
   </a:r>  
   <a:r>
      <a:rPr strike="sngStrike"/>               (4)
      <a:t>Dieser Text ist einfach durchgestrichen.</a:t>  
   </a:r>  
   <a:r>  
      <a:rPr strike="dblStrike"/>               (4)
      <a:t>Dieser Text ist doppelt durchgestrichen.</a:t>  
   </a:r>  
   <a:r>  
      <a:rPr spc="500"/>                        (2)
      <a:t>Dieser Text ist mit 5pt gesperrt.</a:t>  
   </a:r>  
   <a:r>  
      <a:rPr cap="all"/>                        (5)
      <a:t>Dieser Text wird in Großbuchstaben dargestellt.</a:t>  
   </a:r>  
   <a:r>  
      <a:rPr cap="small"/>                      (5)
      <a:t>Von diesem Text werden die Kleinbuchstaben als Kapitälchen dargestellt.</a:t>  
   </a:r>  
</a:p>   
1 Es gibt die Werte 1 und 0. Der Wert 1 aktiviert die jeweilige Eigenschaft, der Wert 0 deaktiviert sie. Die Deaktivierung wird eingesetzt, wenn in der verwendeten Formatvorlage die Eigenschaft aktiviert ist, für dieses Run-Element aber nicht gelten soll.
2 Die Längen-Angabe ist zur Vermeidung von Kommastellen in hundertfachem Punkt angegeben. Dies bedeutet, der Wert 100 gibt 1pt an – der Wert 1200 ergibt 12pt.
3 Zur Unterstreichung des Textes gibt es verschiedene Möglichkeiten. Hier ist die standardmäßige Unterstreichung (Wert: sng) und die Unterstreichung mit einer gepunkteten Linie (Wert: dotted) aufgezeigt. Weitere Möglichkeiten wären eine gestrichelte Linie (dash), eine doppelt durchgezogene Linie (dbl), eine gewellte Linie (wavy) oder eine fette durchgezogene Linie (heavy). Die Deaktivierung der Unterstreichung erfolgt über den Wert none.
4 Auch für die Durchstreichung des Textes gibt es verschiedene Arten. Hier sind jedoch bereits alle Möglichkeiten dargestellt: Einfach durchgestrichen (sngStrike) und doppelt durchgestrichen (dblStrike). Der Deaktivierungswert ist noStrike.
5 Auch für die Darstellung des Textes als Kapitälchen sind die verschiedenen Arten bereits dargestellt. Der Wert all bewirkt, dass alle Buchstaben als Großbuchstaben (keine echten Kapitälchen) dargestellt werden. Der Wert small bewirkt eine korrekte Kapitälchen-Darstellung; also alle Kleinbuchstaben werden mit dem jeweiligen Glyphen des Großbuchstabens aber in der Höhe der Kleinbuchstaben dargestellt. Der Deaktivierungswert ist none.

Schriftart und -farbe

Über das a:rPr-Element lässt sich für den Text auch unter anderem die Farbe oder die Schriftart bestimmen. Für diese Eigenschaften werden jeweils entsprechende Kindelemente dem a:rPr-Element hinzugefügt.

Die Bestimmung der Schriftfarbe erfolgt wie die der Füllfarbe einer Form (vgl. 2.2.1.4 Flächenfüllung). Demzufolge kann der Schriftfarbe auch ein Verlauf (<a:gradFill>) oder eine Struktur (<a:blipFill>) zugewiesen werden. Ebenso kann der Umrandung eine eigene Farbe zugewiesen werden (<a:ln>).

Die Schriftart wird über das Element <a:latin> angegeben. Hier gibt der Wert des typeface-Attributs den Namen der verwendeten Schriftfarbe an.

<a:r>  
   <a:rPr sz="4800" b="1">                  (1)
      <a:gradFill>                          (2)
         <a:gsLst>  
            <a:gs pos="0">  
               <a:srgbClr val="4F491D"/>  
            </a:gs>  
            <a:gs pos="100000">  
               <a:srgbClr val="F38222"/>  
            </a:gs>  
         </a:gsLst>  
      </a:gradFill>  
      <a:latin typeface="Arial"/>           (3)
   </a:rPr>  
   <a:t>Dies ist der Text eines Absatzes.</a:t>  
</a:r>  

1

In diesem a:rPr-Element wird mit den Attributen sz und b angegeben, dass der Text fett und mit einer Schriftgröße von 48pt dargestellt werden soll.

2

Hier wird als Textfarbe ein Farbverlauf ausgewählt.

3

Das Element a:latin gibt hier als zu verwendende Schriftart Arial an.

 

2.2.2.3 Eigenschaften von Absätzen

Formatierungseigenschaften, die einen gesamten Absatz betreffen, werden im a:pPr-Element angegeben. Wie das a:rPr-Element im a:r-Element, ist das a:pPr-Element das erste Element innerhalb des a:p-Elementes. Die Eigenschaften werden entweder durch ein dem Element zugefügtes Attribut oder durch ein spezifisches Kindelement bestimmt. Mit Attributen kann beispielweise die Ausrichtung des Textes (align), ein Einzug der ersten Zeile (indent) oder ein Abstand zum rechten oder linken Rand (marR bzw. marL) angegeben werden. Die Zeilenhöhe (<lnSpc>) und der Abstand zum vorstehenden bzw. folgenden Absatz (<spcBef> bzw. <spcAft>) werden durch Elemente bestimmt.

Neben diesen Absatzeigenschaften können mit dem a:defRPr die oben beschriebenen inzeiligen Auszeichnungen für den gesamten Absatz bestimmt werden. Hierbei wird das Element <a:defRPr> als a:rPr-Element verwendet, indem es die gleichen Attribute und Elemente hat. Die übergebenen Formatierungsangaben gelten als Default-Werte für den gesamten Absatz und können durch die jeweiligen Angaben im Run-Element überschrieben werden.

<a:p>  
   <a:pPr marL="720000" marR="720000" indent="720000" align="just">  (1, 2)
      <a:lnSpc>                    (3)
         <a:spcPct val="150000"/>  (6)
      </a:lnSpc>  
      <a:spcBef>                   (4)
         <a:spcPts val="600"/>     (5)
      </a:spcBef>  
      <a:spcAft>                   (4)
         <a:spcPts val="600"/>     (5)
      </a:spcAft>  
      <a:defRPr sz="2400" b="1">   (6)
         <a:gradFill>  
            <a:gsLst>  
               <a:gs pos="0">  
                  <a:srgbClr val="4F491D"/>  
               </a:gs>  
               <a:gs pos="100000">  
                  <a:srgbClr val="F38222"/>  
               </a:gs>  
            </a:gsLst>  
         </a:gradFill>  
         <a:latin typeface="Arial"/>  
      </a:defRPr>  
   </a:pPr>  
   <a:r>  
      <a:t>Dies ist der Text eines Absatzes. Dies ist der Text eines Absatzes. 
           Dies ist der Text eines Absatzes.</a:t>  
   </a:r>  
</a:p>  

1

Mit dem Attribut align wird die Ausrichtung des Absatzes bestimmt. Hier ist der Wert just (justify) für einen Blocksatz angegeben. Weitere Werte sind ctr (center) für eine zentrierte, l (left) für eine linksbündige oder r (right) für eine rechtsbündige Ausrichtung.

2

Bei den Attributen marL, marR und indent wird die entsprechende Länge in EMU angegeben (vgl. 2.2.1.2 Positions- und Größenangaben).

3

Das Element <a:lnSpc> gibt die Zeilenhöhe für den Absatz an. Innerhalb des Elementes kann eine relative Angabe oder eine absolute Angabe gemacht werden. Eine relative Angabe orientiert sich an dem Standardwert der Zeilenhöhe für die verwendete Schriftgröße. Der Standardwert für die Zeilenhöhe ist der 1,2-fache Wert der Schriftgröße. Eine absolute Maßangabe gibt den exakten Abstand zwischen den Grundlinien der Zeilen an.

4

Innerhalb dieses Elementes wird der Abstand zum vorstehenden (<a:spcBef>) bzw. folgenden Absatz (<a:spcAft>) bestimmt. Auch hier sind relative und absolute Angaben möglich. Relative orientieren sich ebenfalls an der Standardzeilenhöhe, absolute geben den genauen Abstand an.

5

An diesen Stellen kann eine Längenangabe sowohl als ein Prozentwert (relative Maßangabe) mit dem Element <a:spcPct> als auch als (absolute) Maßangabe mit der Einheit Punkt mit dem Element <a:spcPts> gemacht werden. Die Werteangaben werden jeweils im val-Attribut gemacht. Wie bereits mehrfach schon beschrieben, werden Prozentangaben hier in tausendfachem Prozentwert angegeben (100%=100000), Punktwerte in hundertfachem Wert (1pt = 100).

6

Hier werden die gleichen inzeiligen Formatierungen gewählt wie bereits im Beispiel zuvor. Nur sind sie nun dem Element <a:defRPr> zugeordnet, gelten also als Grundlage für jedes r-Element im entsprechenden Absatz.

2.2.2.4 Listen

Häufiges Gestaltungsmittel bei PowerPoint-Präsentationen sind Listen. Listen können verschiedenartig aufgebaut sein. Eine Liste besteht aus einer Anzahl von Listenpunkten, die jeweils aus einem Label und dem Listenpunktinhalt. Ein Label kann geordneter (1., 2., 3. oder a), b), c) etc.) oder ungeordneter Art (-, , o, etc.) sein. Listenpunkte können verschiedenen Ebenen zugeordnet werden. Diese werden durch Einrückung und gegebenenfalls durch die Wahl des Labels verdeutlicht. Denn die Labels der Listenpunkte einer Ebene sollten immer gleicher Art sein, können sich aber bei unterschiedlichen Ebenen unterscheiden.

Beispiel für eine Liste mit allen beschriebenen Gestaltungsmerkmalen:

In DrawingML ist ein Listenpunkt nichts anderes als ein Absatz mit besonderer Formatierung und eine Liste eine Folge solcher Absätze. Hierfür wird im a:pPr-Element dem Absatz bei einer ungeordneten Liste ein Label oder Bullet (wie es hier genannt wird) zugewiesen, eine Ebene bestimmt und eventuell eine abweichende Einrückung. Bei geordneten Listen wird anstatt eines Bullets eine Aufzählungsart bestimmt.

 

Ungeordnete Liste

Die einfachste Art einer Liste ist die ungeordnete Liste mit nur einer Ebene:

<a:p>                               (1)
   <a:pPr>  
      <a:buFont typeface="Arial"/>  (2)
      <a:buChar char="•"/>          (3)
   </a:pPr>  
   <a:r>  
      <a:t>Listenpunkt 1</a:t>  
   </a:r>  
</a:p>  
<a:p>                               (1)
   <a:pPr>  
      <a:buFont typeface="Arial"/>  
      <a:buChar char="•"/>  
   </a:pPr>  
   <a:r>  
      <a:t>Listenpunkt 2</a:t>  
   </a:r>  
</a:p>  
<a:p>                               (1)
   <a:pPr>  
      <a:buFont typeface="Arial"/>  
      <a:buChar char="•"/>  
   </a:pPr>  
   <a:r>  
      <a:t>Listenpunkt 3</a:t>  
   </a:r>  
</a:p>  

1

Diese Absätze sind die weiteren Listenpunkte dieser Liste mit den gleichen Formatierungseigenschaften.

2

Mit dem Element <a:buFont> kann dem Bullet eine eigene Schriftart zugewiesen werden. Hierzu wird im Attribut typeface der Name der Schriftart angegeben. Dies dient dazu, falls für den gewünschten Bullet keine Glyphe im verwendeten Font hinterlegt ist. Wird kein solches Element eingefügt, wird für den Bullet der Font des Listeninhaltes verwendet.

3

Das Element <a:buChar> gibt sowohl an, dass es sich um eine ungeordnete Liste handelt, als auch den zu verwendenden Bullet. Der Bullet kann ein beliebiges Zeichen sein, wird jedoch eine Zeichenkette angegeben, wird nur das erste Zeichen als Bullet verwendet.

 

 

Geordnete Liste

Soll nun statt einer ungeordneten Liste eine geordnete erzeugt werden, wird das a:buChar-Element durch das Element <a:buAutoNum> ersetzt. Mit einem type-Attribut kann hier bestimmt werden, welche Aufzählungsart verwendet wird.

arabicPeriod

1., 2., 3.,

arabicParenR

1), 2), 3),

alphaLcParenR

a), b), c),

alphaUcParenR

A), B), C),

romanUcPeriod

I., II., III.,

romanUcParenR

I), II), III),

 

Ein Listenpunkt innerhalb einer geordneten Liste könnte folgendermaßen erzeugt werden:

<a:p>
   <a:pPr>
      <a:buFont typeface="Arial"/>
      <a:buAutoNum type="romanUcPeriod"/>
   </a:pPr>
   <a:r>
      <a:t>Listenpunkt 1</a:t>
   </a:r>
</a:p>

Diesen Listen fehlt jedoch jegliche Formatierungseigenschaft. Da nichts weiter angegeben ist, beginnt die Liste am linken Rand des Textrahmens und zwischen Bullet und Listenpunktinhalt ist kein Abstand eingeräumt worden. Soll nun ein Abstand zwischen Bullet und Listenpunktinhalt erzeugt werden, muss für den Absatz ein Abstand zum linken Rand, gleichzeitig aber eine negative Einrückung der ersten Zeile (Indent) definiert werden. Automatisch folgt der Bullet der Einrückung der ersten Zeile, der Listenpunktinhalt orientiert sich aber nur an den Abstand zum linken Rand. Da die Einrückung negativ ist, wird der Bullet „heraus gerückt“.

<a:p>
   <a:pPr marL="342900" indent="-342900">
      <a:buFont typeface="Arial"/>
      <a:buChar char="•"/>
   </a:pPr>
   <a:r>
      <a:t>Listenpunkt 1</a:t>
   </a:r>
</a:p>

 

 

Listenebenen

Nun fehlt nur noch die Möglichkeit, den Listenpunkten unterschiedliche Ebenen zuzuordnen, um eine komplexere Listenstruktur, wie die oben aufgezeigte, zu erzeugen. Dies muss optisch und technisch erfolgen. Die optische Zuordnung erfolgt über eine Einrückung des gesamten Listenpunktes (marL-Attribut). Indem den Listenpunkt-Absätzen unterschiedlich große Abstände zum linken Rand eingeräumt werden, werden diese nach einer optischen Hierarchie gegliedert. Eine weitere Möglichkeit wäre eine unterschiedliche Formatierung der Ebenen.

Nun soll aber beispielsweise eine Nummerierung der ersten Ebene nicht in der zweiten Ebene fortgeführt werden. Deshalb muss auch für die Anwendung - also dem Programm PowerPoint - technisch eindeutig definiert sein, welcher Ebene ein Listenpunkt angehört. Hierzu wird für das a:pPr-Element das Attribut lvl (level) hinzugefügt. Hier kann mit einer ganzen Zahl (zwischen 0 und 8) zwischen neun verschiedenen Ebenen gewählt werden. Ebene 0 ist dabei die erste Ebene und ist auch Default-Wert für das Attribut. (Daher gehören auch alle Listenpunkte der oben aufgeführten Beispiele der ersten Ebene an.) Eine tiefere Hierarchie als neun verschiedene Ebenen erlaubt DrawingML nicht.

<a:p>  
   <a:pPr marL="342900" lvl="0" indent="-342900">   (1)
      <a:buFont typeface="Arial"/>  
      <a:buAutoNum type="arabicPeriod"/>  
   </a:pPr>  
   <a:r>  
      <a:t>Ebene 1, Listenpunkt 1, geordnete Art, Label: 1., 2., 3.</a:t>  
   </a:r>  
</a:p>  
<a:p>  
   <a:pPr marL="800100" lvl="1" indent="-342900">   (2)
      <a:buFont typeface="Arial"/>  
      <a:buAutoNum type="alphaLcPeriod"/>  
   </a:pPr>  
   <a:r>  
      <a:t>Ebene 2, Unterlistenpunkt 1, geordnete Art, Label: a., b., c.</a:t>  
   </a:r>  
</a:p>  
<a:p>  
   <a:pPr marL="1257300" lvl="2" indent="-342900">  (3)
      <a:buFont typeface="Arial"/>  
      <a:buChar char="•"/>  
   </a:pPr>  
   <a:r>
      <a:t>Ebene 3, Unterlistenpunkt 1, ungeordnete Art, Label: •</a:t>  
   </a:r>  
</a:p>  
<a:p>  
   <a:pPr marL="1257300" lvl="2" indent="-342900">  (3)
      <a:buFont typeface="Arial"/>  
      <a:buChar char="•"/>  
   </a:pPr>  
   <a:r>  
      <a:t>Ebene 3, Unterlistenpunkt 2, ungeordnete Art, Label: •</a:t>  
   </a:r>  
</a:p>  
<a:p>  
   <a:pPr marL="1257300" lvl="2" indent="-342900">  (3)
      <a:buFont typeface="Arial"/>  
      <a:buChar char="•"/>  
   </a:pPr>  
   <a:r>  
      <a:t>Ebene 3, Unterlistenpunkt 3, ungeordnete Art, Label: •</a:t>  
   </a:r>  
</a:p>  
<a:p>  
   <a:pPr marL="800100" lvl="1" indent="-342900">   (2)
      <a:buFont typeface="Arial"/>  
      <a:buAutoNum type="alphaLcPeriod"/>  
   </a:pPr>  
   <a:r>  
      <a:t>Ebene 2, Unterlistenpunkt 1, geordnete Art, Label: a., b., c.</a:t>  
   </a:r>  
</a:p>  
<a:p>  
   <a:pPr marL="342900" lvl="0" indent="-342900">   (1)
      <a:buFont typeface="Arial"/>  
      <a:buAutoNum type="arabicPeriod"/>  
   </a:pPr>  
   <a:r>  
      <a:t>Ebene 1, Listenpunkt 2, geordnete Art, Label: 1., 2., 3.</a:t>  
   </a:r>  
</a:p>  
<a:p>  
   <a:pPr marL="342900" lvl="0" indent="-342900">   (1)
      <a:buFont typeface="Arial"/>  
      <a:buAutoNum type="arabicPeriod"/>  
   </a:pPr>  
   <a:r>  
      <a:t>Ebene 1, Listenpunkt 3, geordnete Art, Label: 1., 2., 3.</a:t>  
   </a:r>  
</a:p>  

1

Listenpunkt der ersten Ebene

2

Listenpunkt der zweiten Ebene

3

Listenpunkt der dritten Ebene

 

<< zurück zu 2.2.1 Formen weiter zu 2.2.3 Tabellen >>
Tipp der data2type-Redaktion:
Zum Thema PresentationML bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: