Style file format

The elements making up think-cell style files are described in thematic groups in the following sections, while the technical file structure is shown below in File Structure.

D1
Defining colors, line styles and markers
D2
Using colors, lines and markers in schemes
D3
Customizing charts
D4
Customizing lines
D5
Customizing labels
D6
Customizing text properties
D7
Customizing Harvey ball and checkbox
D8
File Structure

D1 Defining colors, line styles and markers

D1.1 Colors

schemeClr

A fill based on one of PowerPoint’s built-in scheme colors. The attribute val specifies the color using the values bg1, tx1, accent1, accent2, accent3, accent4, accent5, accent6, dk1, lt1, dk2, lt2, hlink, folHlink, bg2 or tx2. When using schemeClr, the name attribute of the parent solidFill element will typically be set to the same value as the val attribute. Then, think-cell will use the name that appears in PowerPoint’s scheme colors dialog, depending on the version of PowerPoint and the user interface language.

Example:

<solidFill name="accent2"> 
  <schemeClr val="accent2"/> 
</solidFill>

srgbClr

A fill based on a color defined using values for the red, green and blue components. The attribute val contains six hexadecimal characters for the three components.

Example:

<srgbClr val="FF00FF"/>

sdrgbClr

A fill based on a color defined using values for the red, green and blue components. The attributes r, g and b each contain numbers between 0 and 255.

Example:

<sdrgbClr r="0" g="255" b="0"/>

scrgbClr

A fill based on a color defined using values for the red, green and blue components. The attributes r, g and b each contain percentage values between 0% and 100%. The percentage values may use integers or decimal numbers with 2 decimal places and a dot as the separator.

Example:

<sdrgbClr r="0%" g="100%" b="66.66%"/>

prstClr

A fill based on the preset colors defined in the Office Open XML standard. The attribute val specifies the color name and must be one of the names from AliceBlue to YellowGreen enumerated in

msdn.microsoft.com/en-us/library/ 
documentformat.openxml.drawing.presetcolorvalues.aspx

or in subsection 20.1.10.47 of the Office Open XML standard.

Example:

<prstClr val="white"/>

D1.2 Fills

solidFill

A fill based on a single color. The color can be specified using either one of the child elements schemeClr, srgbClr, or prstClr. The attribute name contains the name shown in the color list.

Example:

<solidFill name="White"> 
  <srgbClr val="FFFFFF"/> 
</solidFill>

pattFill

A patterned fill based on a pattern and two colors. The colors can be specified using the child elements fgClr and bgClr describing the foreground and background color of the pattern respectively. The pattern itself can be specified declaring the attribute prst and referencing a pattern described in Office Open XML. The attribute name contains the name shown in the color list.

Example:

<pattFill name="Outlined diamond" prst="openDmnd"> 
  <fgClr> 
    <prstClr val="black"/> 
  </fgClr> 
  <bgClr> 
    <prstClr val="white"/> 
  </bgClr> 
</pattFill>

fgClr

Describes the foreground color of a pattern fill. The color can be specified using either one of the child elements schemeClr, srgbClr, or prstClr.

Example:

<fgClr> 
  <prstClr val="black"/> 
</fgClr>

bgClr

Describes the background color of a pattern fill. See fgClr.

D1.3 Choices in the fill color control

fillLst

A list of fills, described by multiple instances of the elements noFill, solidFill, or pattFill. The fills defined in this list are shown in the color control of the floating toolbar (see Color and fill).

Example:

<fillLst> 
  <solidFill ... 
</fillLst>

noFill

When the user chooses this special fill from the color control, e.g., for a segment, the segment has no fill color. The attribute name contains the default name used in the color control, which cannot be changed.

<noFill name="No Fill"/>

separator

A horizontal line in the color, fill, line, or marker list shown in the floating toolbar.

Example:

<separator/>

D1.4 Lines

ln

A line with certain weight based on a line type. Line styles are used in line charts (see Line chart) as well as for Universal connectors (see Universal connectors) and waterfall connectors (see Waterfall chart). The attribute w describes the weight of the line. The value for this attribute is noted in EMU (English Metric Unit). 12700 EMU are equivalent to a line weight of 1 pt. The attribute name contains a name used to reference this line style. The line type can be specified using the child element prstDash.

Example:

<ln name="Solid 0.25 pt" w="3175"> 
  <prstDash val="solid"/> 
</ln>

prstDash

A line style based on the pre-set line styles defined in the Office Open XML standard. The attribute val specifies the line type using the values solid, dot, dash, lgDash, dashDot, lgDashDot, lgDashDotDot, sysDash, sysDot, sysDashDot, sysDashDotDot, which correspond to the Office Open XML standard:

msdn.microsoft.com/en-us/library/ 
documentformat.openxml.drawing.presetlinedashvalues.aspx

Example:

<prstDash val="solid"/>

D1.5 Choices in the line style control

lnLst

A list of lines described by one optional instance of the element noLine and at least one instances of the element ln. The lines defined in this list are shown in the line style control of the floating toolbar (see Line style).

Example:

<lnLst> 
  <ln ... 
</lnLst>

To describe each entry in the list, the w attribute of the ln element is converted to points, e.g., 3175 EMU to 1/4pt, and displayed together with a visual representation of the dash type.

noLine

When the user chooses this special line style from the line style control, the line has no fill color. The attribute name contains the name used in the line style control. This element may appear only once within the list of lines.

Example:

<noLine name="No Line"/>

D1.6 Markers

marker

A marker with a certain shape. The attribute name contains the name shown in the marker style list. The marker shape can be specified using the child element symbol.

Example:

<marker name="Marker Circle"> 
  <symbol val="circle"/> 
</marker>

symbol

A marker shape based on the preset marker shapes defined in the Office Open XML standard. The attribute val specifies the marker type using the values circle, triangle, diamond, square, star, x, hollowCircle, hollowTriangle, hollowDiamond, hollowSquare, dash, dot, plus.

msdn.microsoft.com/en-us/library/ 
documentformat.openxml.drawing.charts.markerstylevalues.aspx

Example:

<symbol val="circle"/>

D1.7 Choices in the marker control

markerLst

A list of markers described by one optional instance of the element noMarker and at least one instance of the element marker. The markers defined in this list are shown in the marker control of the floating toolbar (see Marker shape).

Example:

<markerLst> 
  <marker ... 
</markerLst>

noMarker

When the user chooses this special marker style from the marker style control, the marker has no fill color. The attribute name contains the default name used in the marker style control, which cannot be changed.

<noMarker name="No Marker"/>

D2 Using colors, lines and markers in schemes

D2.1 Choices in the color scheme control

fillSchemeLst

A list of think-cell color schemes that will be used in the color scheme control of the floating toolbar (see Color scheme). Individual fill schemes are defined using the fillScheme child element.

Example:

<fillSchemeLst> 
  <fillScheme name="Company fill scheme"> 
  ... 
</fillSchemeLst>

fillScheme

A color scheme consisting of a sequence of fills. It is defined by referencing fills using the child element fillRef. The attribute name contains the name that is used in the color scheme control. The attribute fillRefOtherSeries specifies which color to use for the Other series (see Other Series).

If the optional boolean attribute reverse is set to 1, the list of fills will be applied in reverse order, starting with the first fill for the bottom-most series, the second fill for the series above, and so on.

Example:

<fillScheme name="Company fill scheme" 
            fillRefOtherSeries="Orange" 
            reverse="0"> 
  <fillRef name="White"/> 
  ... 
</fillScheme>

fillRef

A reference to a fill defined in the fillLst element. The attribute name must match the value of the same attribute in the fill definition.

Example:

<fillRef name="White"/>

D2.2 Choices in the line scheme control

lnfillmarkerSchemeLst

A list of think-cell line schemes that will be used in the line scheme control of the floating toolbar. Individual line schemes are defined using the lnfillmarkerScheme child element.

Example:

<lnfillmarkerSchemeLst> 
  <lnfillmarkerScheme name="Company line scheme"> 
  ... 
</lnfillmarkerSchemeLst>

lnfillmarkerScheme

A line scheme consisting of a sequence of combined line styles. It is defined by describing line styles using the child element lnfillmarker, which references a line, a color, and a marker. The attribute name contains the name that is used in the line scheme control.

Example:

<lnfillmarkerScheme name="Company line scheme"> 
  <lnfillmarker> 
    <lnRef name="Solid 18"/> 
    <solidfillRef name="accent1"/> 
    <markerRef name="No Marker"/> 
  </lnfillmarker> 
  ... 
</lnfillmarkerScheme>

lnfillmarker

A combined line style for line charts (see Line chart) described by the child elements lnRef, solidfillRef, and optionally markerRef referencing a line, a fill color, and a marker respectively.

Example:

<lnfillmarker> 
  <lnRef name="Solid 18"/> 
  <solidfillRef name="accent1"/> 
  <markerRef name="No Marker"/> 
</lnfillmarker>

lnRef

A reference to a line defined in the lnLst element. The attribute name must match the value of the same attribute in the line definition. lnRef as a child element of lnfillmarker has the following restrictions: It may not reference the noLine line type and as MS Graph supports only the following four line weights in a line chart, please reference lines with a width listed below. Other values will be rounded to their nearest supported neighbor.

Supported line weights in line charts:

line weight in
EMU pt
3175 0.25
9525 0.75
19050 1.5
28575 2.25

Example:

<lnRef name="Solid 18"/>

solidfillRef

A reference to a fill color defined in the fillLst element. The attribute name must match the value of the same attribute in the fill definition.

Example:

<solidfillRef name="accent1"/>

markerRef

A reference to a marker defined in the markerLst element. The attribute name must match the value of the same attribute in the marker definition.

Example:

<markerRef name="No Marker"/>

D2.3 Choices in the marker scheme control

fillmarkerSchemeLst

A list of think-cell marker schemes that will be used in the marker scheme control of the floating toolbar (see Marker scheme). Individual marker schemes are defined using the fillmarkerScheme child element.

Example:

<fillmarkerSchemeLst> 
  <fillmarkerScheme name="Company marker scheme"> 
  ... 
</fillmarkerSchemeLst>

fillmarkerScheme

A marker scheme consisting of a sequence of markers. It is defined by referencing markers using the child element fillmarker. The attribute name contains the name that is used in the color scheme control.

Example:

<fillmarkerScheme name="Company marker scheme"> 
  <fillmarker> 
  ... 
</fillScheme>

fillmarker

A combined marker style consisting of a marker reference using the child element markerRef and an optional fill color reference using the child element solidfillRef. If markerRef references noMarker, solidfillRef will be ignored.

Example:

<fillmarker> 
  <markerRef name="Square"/> 
  <solidfillRef name="Orange"/> 
</fillmarker>

D3 Customizing charts

D3.1 fillSchemeRefDefault

A reference to a fill scheme that is used as the default color scheme for all chart types. If one or several of the elements

fillSchemeRefDefaultStacked, 
fillSchemeRefDefaultWaterfall, 
fillSchemeRefDefaultClustered, 
fillSchemeRefDefaultMekko, 
fillSchemeRefDefaultArea, 
fillSchemeRefDefaultPie, 
fillSchemeRefDefaultBubble

are used, they override the default scheme set here for the corresponding specific chart type. If all of these elements are used, the fillSchemeRefDefault may be omitted.

Example:

<fillSchemeRefDefault name="Company scheme"/>

D3.2 fillSchemeRefDefaultStacked

The default color scheme for stacked charts.

Example:

<fillSchemeRefDefaultStacked name="Stacked scheme"/>

D3.3 fillSchemeRefDefaultWaterfall

The default color scheme for waterfall charts.

Example:

<fillSchemeRefDefaultWaterfall 
  name="Waterfall scheme"/>

D3.4 fillSchemeRefDefaultClustered

The default color scheme for clustered charts.

Example:

<fillSchemeRefDefaultClustered 
  name="Clustered scheme"/>

D3.5 fillSchemeRefDefaultMekko

The default color scheme for mekko charts.

Example:

<fillSchemeRefDefaultMekko name="Mekko scheme"/>

D3.6 fillSchemeRefDefaultArea

The default color scheme for area charts.

Example:

<fillSchemeRefDefaultArea name="Area scheme"/>

D3.7 fillSchemeRefDefaultPie

The default color scheme for pie charts.

Example:

<fillSchemeRefDefaultPie name="Pie scheme"/>

D3.8 fillSchemeRefDefaultBubble

The default color scheme for bubble charts.

Example:

<fillSchemeRefDefaultBubble name="Bubble scheme"/>

D3.9 lnfillmarkerSchemeRefDefault

The default color scheme for line charts.

Example:

<lnfillmarkerSchemeRefDefault name="Line scheme"/>

D3.10 lnfillmarkerSchemeRefDefaultCombination

The default color scheme for combination charts.

Example:

<lnfillmarkerSchemeRefDefaultCombination 
  name="Combination scheme"/>

D4 Customizing lines

D4.1 lnfillDefault

The default line type used throughout think-cell. Using a lnRef element to reference one of the lines in the lnLst element the dash type and weight is defined. One of the solid colors in the fillLst element is referenced using solidfillRef to set the color.

Example:

<lnfillDefault> 
  <lnRef name="Solid 0.75 pt" /> 
  <solidfillRef name="tx1" /> 
</lnfillDefault>

If either the lnRef or the solidfillRef element is missing from one of the line style definitions below, the respective value from lnfillDefault is used.

lnfillGridline

The grid line style.

D4.2 Segment outlines

The outlines of segments are defined on the fill scheme level, i.e., every scheme from the color scheme control can also set a line style for segment outlines. The following elements are therefore child elements of a fillScheme element.

lnfillSegment

The default outline style for this color scheme.

lnfillSegmentMekko

The outline style for Mekko charts using the parent element’s color scheme. If omitted, the line style from lnfillSegment is used.

Example

Here, noLine is used for segment outlines. However, as this is often not appropriate for Mekko charts, these use a thin solid line with the standard foreground color.

<fillScheme name="PowerPoint Theme" ...> 
  <lnfillSegment> 
    <noLine/> 
  </lnfillSegment> 
  <lnfillSegmentMekko> 
    <lnRef name="Solid 0.25 pt" /> 
    <solidfillRef name="tx1" /> 
  </lnfillSegmentMekko> 
  <fillRef name="accent1"/> 
  ... 
</fillScheme>

D4.3 Lines in charts

The following elements are child elements of the element chart.

lnfillAxis

The default chart axis line style.

lnfillAxisCategory

The category axis line style. Can be used to set a thicker baseline weight. If omitted, lnfillAxis is used.

lnfillArrow

The default line style used for difference arrows.

lnfillArrowCAGR

The line style used for CAGR arrows.

lnfillArrowCategoryDifference

The line style used for total difference arrows.

lnfillArrowSegmentDifference

The line style used for level difference arrows.

lnfillExtensionLine

The line style used for extension lines of level difference arrows.

lnfillConnector

The line style used for connector lines.

lnfillConnectorWaterfall

The line style used for waterfall connector lines. If specified, the style overrides lnfillConnector. In addition to child elements lnRef and solidfillRef, lnfillConnectorWaterfall also supports a child element of <noLine /> to specify that waterfall connectors should not be visible, which is not possibly for lnfillConnector.

lnfillValueLine

The line style used for value lines.

lnfillTrendLine

The line style used for trendlines.

lnfillPartition

The line style used for partitions.

lnfillErrorBar

The line style used for error bars.

D4.4 Lines in the legend

The following element is a child element of the element legend.

lnfill

The legend outline. When this element is not used, the legend has no outline. If the element is used, but only specifies the line style or the color, the property left unspecified is set by lnfillDefault as usual.

Example:

<legend> 
  <lnfill> 
    <lnRef name="Solid 0.75 pt" /> 
    <solidfillRef name="Dark Gray" /> 
  </lnfill> 
</legend>

D5 Customizing labels

The element label contains elements customizing properties of labels. The following elements are child elements of label.

lnfillLeaderLine

The line style used for the line between a segment label and the segment when the label is not placed inside the segment. If solidfillRef is not specified, instead of using the color from lnfillDefault, think-cell uses the color matching the automatically set label font color.

lnfillBubble

The line style used for the outline of difference arrow labels.

sumLabelPosition

The position of total labels. The attribute val can have the following values (the positions are described for upright column charts and change correspondingly for rotated or flipped charts):

accordingToSign
Places total labels above the column for positive total values and below the column for negative total values. This is the default if the element is not present.
awayFromBaseline
Places total labels away from the baseline, i.e., the label is never placed between the column and the baseline.

The setting applies to floating columns in waterfall charts. Otherwise, both methods result in identical labels positions and sumLabelPosition is not relevant.

Example:

<label> 
  <sumLabelPosition val="accordingToSign" /> 
</label>

D6 Customizing text properties

defPPr

The default paragraph properties for text in labels and text boxes. Properties for new labels and textboxes are taken from one of the text style levels of the body text placeholder. The appropriate text style level is chosen heuristically, which works fine in most cases. This behavior is selected by not using the defPPr element. If an inappropriate text style level is chosen, you can use the attribute val with numbers from 0 to 8 to explicitly specify the text style level.

Example:

<defPPr lvl="3" />

D7 Customizing Harvey ball and checkbox

D7.1 harveyball

A combined style for the Harvey ball consisting of the child elements fillRefCompleted and fillRefBackground to describe the color of the completion state and the background color of the Harvey ball respectively.

Example:

<harveyball> 
  <fillRefCompleted name="Black"/> 
  <fillRefBackground name="White"/> 
</harveyball>

D7.2 fillRefCompleted

See fillRef.

D7.3 fillRefBackground

See fillRef.

D7.4 checkbox

A combined style for the Checkbox consisting of the child element fillRef to describe the background color of the Checkbox, the child element lnfill to describe the Checkbox’s outline and the list of symbols, characters and pictures in the child element choices.

Example:

<checkbox> 
  <fillRef name="Light Gray"/> 
  <lnfill> 
    <noLine/> 
  </lnfill> 
  <choices> 
    <glyph hotkeys="xX2"> 
      <solidfillRef name="Pink"/> 
      <font typeface="Arial Unicode MS"/> 
      <t>&#10007;</t> 
    </glyph> 
    <glyph hotkeys="qQ3"> 
    <font typeface="Arial Unicode MS"/> 
    <t>?</t> 
    </glyph> 
    <pic hotkeys="uU4"> 
      <Relationship Target="up.emf"/> 
    </pic> 
    <pic hotkeys="dD5"> 
      <Relationship Target="down.emf"/> 
    </pic> 
    <glyph hotkeys=" 0"> 
    <t> </t> 
    </glyph> 
  </choices> 
</checkbox>

D7.5 choices

A list of choices to be used in a checkbox. The list can contain any number of the elements glyph for characters and symbols and pic for pictures.

D7.6 glyph

A glyph (character or symbol) that is used as one of the choices of a checkbox. The attribute hotkeys describes a list of hotkey characters that select the glyph. The child elements solidFillRef describes the color of the character or symbol, font its font and t the character or symbol itself.

Example:

<glyph hotkeys="qQ3"> 
  <solidfillRef name="Blue"/> 
  <font typeface="Arial Unicode MS"/> 
  <t>?</t> 
</glyph>

D7.7 t

A character or symbol used in a glyph (itself used in a checkbox). The contents of this element can be a verbatim character (a), a Unicode symbol or a numeric character reference to a Unicode code point. The numeric reference can be given using decimal numbers (&#10007;) or hexadecimal numbers (&#x2717;).

D7.8 pic

A picture that is used as one of the choices of a checkbox. The file name of an EMF file with the picture is given as the attribute Target of the child element Relationship. The attribute hotkeys describes a list of hotkey characters that select the picture.

Example:

<pic hotkeys="dD5"> 
  <Relationship Target="down.emf"/> 
</pic>

D8 File Structure

think-cell style files are XML files conforming to the schema

http://schemas.think-cell.com/24132/tcstyle.xsd

Note: Only style files that successfully validate against the XML schema are supported. It is possible that a style file that is technically not fully valid, e.g., by omitting some elements, still loads in a given version of think-cell, but that may not hold true in future releases.

D8.1 style

The style element is the root element of a style file. The mandatory attribute name sets the name that is shown in the More menu as the currently active style. The attributes xmlns, xmlns:xsi and xsi:schemaLocation should not be changed from the example when creating a new style file.

Style files created for earlier versions of think-cell continue to work unchanged. If you want to use additional elements that are only supported in the current release, you need to update the build number in the attributes xmlns and xsi:schemaLocation to the one shown in the following example.

Example:

<style name="Example style name" 
xmlns="http://schemas.think-cell.com/24132/tcstyle" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation= 
  "http://schemas.think-cell.com/24132/tcstyle 
   http://schemas.think-cell.com/24132/tcstyle.xsd"> 
... 
</style>

At this time you may also need to make changes to other elements to make sure the style file adheres to the format described here.

D8.2 noStyle

If a style file only contains this element, loading it will remove the current style information from the slide master.

Example:

<noStyle 
xmlns="http://schemas.think-cell.com/24132/tcstyle" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation= 
  "http://schemas.think-cell.com/24132/tcstyle 
   http://schemas.think-cell.com/24132/tcstyle.xsd"/>

D8.3 Hierarchy of XML elements

The following elements are described in Defining colors, line styles and markers:

  • fillLst
    • noFill
    • solidFill
      • schemeClr
      • srgbClr
      • sdrgbClr
      • scrgbClr
      • prstClr
    • patFill
      • fgClr + bgClr
  • lnLst
    • noLine
    • ln
      • prstDash
  • markerLst
    • noMarker
    • marker
      • symbol

The following elements are described in Using colors, lines and markers in schemes:

  • fillschemeLst
    • fillscheme
      • fillRef
      • lnfillSegment
        • solidfillRef
        • lnRef
      • lnfillSegmentMekko
        • solidfillRef
        • lnRef
  • lnfillmarkerSchemeLst
    • lnfillmarkerScheme
      • lnfillmarker
        • solidfillRef
        • lnRef
        • markerRef
  • fillmarkerSchemeLst
    • fillmarkerscheme
      • fillmarker
        • solidfillRef
        • markerRef

The following elements are described in Customizing charts:

  • fillSchemeRefDefault
  • fillSchemeRefDefaultStacked
  • fillSchemeRefDefaultWaterfall
  • fillSchemeRefDefaultClustered
  • fillSchemeRefDefaultMekko
  • fillSchemeRefDefaultArea
  • fillSchemeRefDefaultPie
  • fillSchemeRefDefaultBubble
  • lnfillmarkerSchemeRefDefault
  • lnfillmarkerSchemeRefDefaultCombination
  • fillmarkerSchemeRefDefault
  • lnfillDefault
    • solidfillRef
    • lnRef
  • lnfillGridline
    • solidfillRef
    • lnRef

The following elements are described in Customizing lines:

  • chart
    • lnfillAxis
      • solidfillRef
      • lnRef
    • lnfillAxisCategory
      • solidfillRef
      • lnRef
  • legend
    • lnfill
      • solidFillRef
      • lnRef

The following elements are described in Customizing Harvey ball and checkbox:

  • harveyball
    • fillRefCompleted + fillRefBackground
  • checkbox
    • fillRef
    • choices
      • glyph
        • solidfillRef
        • font
        • t
      • pic
        • Relationship