D. 样式文件格式
以下部分描述了 think-cell 样式文件的技术结构。它提供了对文件、文件内容及文件层次结构的概述,以及对逻辑子节的简要说明,展示了可以针对 think-cell 元素定义哪些样式设置。此后在文件结构中描述了如何以常规方式使用样式文件及其特定结构。下文中(从 定义颜色、线型和标记 开始)提供了对每个元素的详细说明。
- D.1
- XML 元素的层次结构
- D.2
- 文件结构
- D.3
- 定义颜色、线型和标记
- D.4
- 使用方案中的颜色、线条和标记
- D.5
- 自定义图表
- D.6
- 自定义文本属性
- D.7
- 自定义标签
- D.8
- 自定义线条
- D.9
- 自定义 Harvey Ball 和复选框
D.1 XML 元素的层次结构
以下元素分别用于定义颜色、线条和标记。这些元素位于 PowerPoint 内适用 think-cell 元素的浮动工具栏中,可供在样式文件内的进一步定义中进行引用。定义颜色、线型和标记 中对其进行了描述。
-
fillLst
- noFill
-
solidFill
-
schemeClr
- lumMod
- lumOff
- srgbClr
- sdrgbClr
- scrgbClr
- prstClr
-
schemeClr
-
patFill
- fgClr + bgClr
-
lnLst
-
ln
- prstDash
-
ln
-
markerLst
- noMarker
-
标记
- 符号
- solidfillRefBackground
以下元素会定义整个 think-cell 内所用线条与网格线的默认线型。自定义线条 中对其进行了描述。
-
lnfillDefault
- solidfillRef
- lnRef
-
lnfillGridline
- solidfillRef
- lnRef
以下元素会分别定义形状、填充、线条与标记方案的样式列表。这些元素位于适用 think-cell 元素的浮动工具栏中,可供在样式文件内的进一步定义中进行引用。使用方案中的颜色、线条和标记 中对其进行了描述。
-
shapestyleLst
-
shapestyle
- fillref
- lnfill
-
shapestyle
-
fillschemeLst
-
fillscheme
-
lnfillSegment
- solidfillRef
- lnRef
-
lnfillSegmentMekko
- solidfillRef
- lnRef
- fillRef
-
seriesCountSpecific
- fillRef
-
lnfillSegment
-
fillscheme
-
lnfillmarkerSchemeLst
-
lnfillmarkerScheme
-
lnfillmarker
- solidfillRef
- lnRef
- markerRef
-
seriesCountSpecific
- lnfillmarker
-
lnfillmarker
-
lnfillmarkerScheme
-
fillmarkerSchemeLst
-
fillmarkerscheme
-
fillmarker
- solidfillRef
- markerRef
-
seriesCountSpecific
- fillmarker
-
fillmarker
-
fillmarkerscheme
以下元素可用于定义所有图表与特定图表的默认填充方案。自定义图表 中对其进行了描述。
- fillSchemeRefDefault
- fillSchemeRefDefaultStacked
- fillSchemeRefDefaultWaterfall
- fillSchemeRefDefaultClustered
- fillSchemeRefDefaultMekko
- fillSchemeRefDefaultArea
- fillSchemeRefDefaultPie
- fillSchemeRefDefaultBubble
- lnfillmarkerSchemeRefDefault
- lnfillmarkerSchemeRefDefaultCombination
- fillmarkerSchemeRefDefault
以下元素会设置 think-cell 文本字段的默认文本样式。自定义文本属性 中对其进行了描述。
-
defPPr
- defRPr
以下元素会定义不同标签的样式属性。自定义标签 中对其进行了描述。
-
标签
-
lnfillLeaderLine
- lnRef
- shapestyleRefBubble
- sumLabelPosition
-
lnfillLeaderLine
以下元素会定义轴和图例的线条属性。自定义线条 中对其进行了描述。
-
图表
-
lnfillAxis
- solidfillRef
- lnRef
-
lnfillAxisCategory
- solidfillRef
- lnRef
-
lnfillAxis
-
图例
-
lnfill
- solidFillRef
- lnRef
-
lnfill
以下元素会定义 Harvey Ball 和复选框的样式与行为。自定义 Harvey Ball 和复选框 中对其进行了描述。
-
harveyball
- fillRefCompleted + fillRefBackground
- lnfill
-
复选框
- fillRef
- lnfill
-
选择
-
字形
- solidfillRef
- 字体
- T
-
PIC
- 关系
-
字形
D.2 文件结构
think-cell 样式文件是符合架构的 XML 文件
https://schemas.think-cell.com/30711/tcstyle.xsd
注释:仅支持根据 XML 架构验证成功的样式文件。指定版本的 think-cell 中可能仍加载了在技术方面并非完全有效(例如,省略了某些元素)的样式文件,但是将来的版本中不会出现此情况。
D.2.1 样式
style
元素是样式文件的根元素。强制属性 name
会设置 更多菜单中所显示的当前活动样式的名称。创建新样式文件时,不应更改示例中的
xmlns
、xmlns:xsi
和 xsi:schemaLocation
属性。可选属性 basedOn
可能会引用旧的基准样式。安装目录中必须存在对应的 .tcbasestyle
文件,才能使用 basedOn
属性加载样式文件。
为旧版本 think-cell 创建的样式文件继续以不变的方式工作。若您希望使用仅在当前版本中受支持的其他元素,需要将属性 xmlns
和 xsi:schemaLocation
中的内部版本号更新为以下示例中显示的内部版本号。
示例:
<style name="Example style name"
xmlns="https://schemas.think-cell.com/30711/tcstyle"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"https://schemas.think-cell.com/30711/tcstyle
https://schemas.think-cell.com/30711/tcstyle.xsd">
...
</style>
此时您可能还需要更改其他元素,以确保样式文件遵循此处所述的格式。
D.2.2 无样式
若样式文件仅包含此元素,则加载该样式文件会从幻灯片母版中删除当前的样式信息。
示例:
<noStyle
xmlns="https://schemas.think-cell.com/30711/tcstyle"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"https://schemas.think-cell.com/30711/tcstyle
https://schemas.think-cell.com/30711/tcstyle.xsd"/>
D.3 定义颜色、线型和标记
D.3.1 颜色
schemeClr
以 PowerPoint 其中一种内置方案颜色为基础的填充。val
属性会使用 bg1
、tx1
、accent1
、accent2
、accent3
、accent4
、accent5
、accent6
、dk1
、lt1
、dk2
、lt2
、hlink
、folHlink
、bg2
或 tx2
值指定颜色。使用 schemeClr
时,通常会将父 solidFill
元素的 name
属性设为与 val
属性相同的值。然后,视 PowerPoint 的版本与用户界面语言而定,think-cell 将使用 PowerPoint 方案颜色对话框中显示的名称。
示例:
<solidFill name="accent2">
<schemeClr val="accent2"/>
</solidFill>
lumMod
按其调节颜色亮度的百分比。它通常嵌在 schemeClr
内部以对齐进行修改,但也可以修改下面介绍的其他颜色类型。
示例:
<solidFill name="Accent 1, Darker 20%">
<schemeClr val="accent1">
<lumMod val="80%"/>
</schemeClr>
</solidFill>
lumOff
按其改变颜色亮度,但色调和饱和度保持不变的百分比。它通常嵌在 schemeClr
内部以对齐进行修改,但也可以修改下面介绍的其他颜色类型。
示例:
<solidFill name="Accent 1, Lighter 20%">
<schemeClr val="accent1">
<lumMod val="80%"/>
<lumOff val="20%"/>
</schemeClr>
</solidFill>
srgbClr
以使用红色、绿色和蓝色分量的值定义的颜色为基础的填充。属性 val
包含三个分量的六个十六进制字符。
示例:
<srgbClr val="FF00FF"/>
sdrgbClr
以使用红色、绿色和蓝色分量的值定义的颜色为基础的填充。属性 r
、g
和 b
都包含介于 0 到 255 之间的数字。
示例:
<sdrgbClr r="0" g="255" b="0"/>
scrgbClr
以使用红色、绿色和蓝色分量的值定义的颜色为基础的填充。属性 r
、g
和 b
都包含介于 0% 到 100% 之间的百分比值。百分比值可能会使用整数或具有两个小数位的小数,并使用点作为分隔符。
示例:
<scrgbClr r="0%" g="100%" b="66.66%"/>
prstClr
以 Office Open XML 标准中定义的预设颜色为基础的填充。属性 val
会指定颜色名称,该名称必须是在
msdn.microsoft.com/en-us/library/
documentformat.openxml.drawing.presetcolorvalues.aspx
中或 Office Open XML 标准的 20.1.10.47 子节中枚举的从 AliceBlue 到 YellowGreen 的其中一个名称。
示例:
<prstClr val="white"/>
D.3.2 填充
solidFill
以单一颜色为基础的填充。可以使用任一子元素 schemeClr
、srgbClr
或 prstClr
指定颜色。属性 name
包含颜色列表中显示的名称。
示例:
<solidFill name="White">
<srgbClr val="FFFFFF"/>
</solidFill>
pattFill
以一种图案和两种颜色为基础的图案式填充。可以使用子元素 fgClr
和 bgClr
(分别描述图案的前景色和背景色)来指定颜色。通过声明属性 prst
并引用 Office Open XML 中所述的图案可以指定图案本身。属性 name
包含颜色列表中显示的名称。
示例:
<pattFill name="Outlined diamond" prst="openDmnd">
<fgClr>
<prstClr val="black"/>
</fgClr>
<bgClr>
<prstClr val="white"/>
</bgClr>
</pattFill>
fgClr
描述图案填充的前景色。可以使用任一子元素 schemeClr
、srgbClr
或 prstClr
指定颜色。
示例:
<fgClr>
<prstClr val="black"/>
</fgClr>
bgClr
描述图案填充的背景色。请参阅 fgClr
。
D.3.3 填充颜色控件中的选择
fillLst
由元素 noFill
、solidFill
或 pattFill
的多个实例所述的填充列表。此列表中定义的填充将显示在浮动工具栏(请参阅 颜色与填充)的颜色控件中。
示例:
<fillLst>
<solidFill ...
</fillLst>
noFill
若用户从颜色控件中选择此特殊填充,例如,为段选择此填充,则段不会有任何填充颜色。属性 name
包括颜色控件中所用的默认名称,不可更改该名称。
<noFill name="No Fill"/>
分隔符
浮动工具栏中所显示的列表中的横线。它可以用于 fillLst
、fillSchemeList
和 lnfillmarkerSchemeLst
元素内部。
示例:
<separator/>
D.3.4 线条
ln
根据线条类型具有特定线条粗细的线条。属性 w
会描述线条的粗细。此属性的值将采用 EMU(英国公制单位)。12700 EMU 等同于 1 磅的线粗。属性 name
包含用于引用此线型的名称。使用子元素 prstDash
可以指定线条类型。
示例:
<ln name="Solid 0.25 pt" w="3175">
<prstDash val="solid"/>
</ln>
prstDash
以 Office Open XML 标准中定义的预设线型为基础的线型。属性 val
会使用 solid
、dash
、lgDash
、dashDot
、lgDashDot
、lgDashDotDot
、sysDot
、sysDashDotDot
来指定线条类型,这对应于 Office Open XML 标准:
msdn.microsoft.com/en-us/library/
documentformat.openxml.drawing.presetlinedashvalues.aspx
示例:
<prstDash val="solid"/>
D.3.5 线型控件中的选择
lnLst
由元素 noLine
的一个实例(可选)和元素 ln
的至少一个实例所描述的线条列表。此列表中定义的线条将显示在浮动工具栏(请参阅 线型)的线型控件中。此外,必须在此处定义为了用于折线图(请参阅 折线图)、通用连接器(请参阅 通用连接器)和瀑布连接器(请参阅 瀑布图)、边框等而使用lnRef
引用的任何线型。
示例:
<lnLst>
<ln ...
</lnLst>
为了描述列表中的每个条目,已将 ln
元素的 w
属性转换为磅(例如,将 3175 EMU 转换为 1/4 磅),并与虚线类型的视觉表现形式一起显示。
D.3.6 标记
标记
具有特定形状的标记。属性 name
包含标记样式列表中显示的名称。使用子元素 symbol
可以指定标记形状。
示例:
<marker name="Marker Circle">
<symbol val="circle"/>
</marker>
符号
以 Office Open XML 标准中定义的预设标记形状为基础的标记形状。val
属性会使用 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
示例:
<symbol val="circle"/>
D.3.7 标记控件中的选择
markerLst
由元素 noMarker
的一个实例(可选)和元素 marker
的至少一个实例所描述的标记列表。此列表中定义的标记将显示在浮动工具栏(请参阅 标记形状)的标记控件中。
示例:
<markerLst>
<marker ...
</markerLst>
noMarker
若用户从标记样式控件中选择此特殊标记样式,则标记不会有任何填充颜色。属性 name
包括标记样式控件中所用的默认名称,不可更改该名称。
<noMarker name="No Marker"/>
D.3.8 图表背景色
solidfillRefBackground
think-cell 图表的实际背景色。只有在指定将图表放置在有颜色的矩形上(而不是直接放置在幻灯片背景上)时才需要使用此属性。此颜色用于将与背景无缝融合的形状,例如,框式标签和数值轴中断。
<solidfillRefBackground name="Yellow"/>
使用 solidfillRefBackground
是最后的手段。首先,您应该尝试修复模板的幻灯片背景和主题颜色。只有在此方式仍无法产生所需的结果时,才使用 solidfillRefBackground
来明确定义图表背景色。它通常搭配 defRPr
用于文本颜色(请参阅 自定义文本属性)。
D.4 使用方案中的颜色、线条和标记
D.4.1 标签方案控件中的选择
shapestyleLst
为了定义 think-cell 形状的默认行为而可以引用的形状样式的列表。使用 shapestyle
子元素定义个别形状样式。目前,只有差异箭头的气泡可能在使用此类引用(请参阅 自定义标签),因此该列表只能包含单一项。
示例:
<shapestyleLst>
<shapestyle ...
</shapestyleLst>
shapestyle
形状样式。必须包含一个 fillref
子元素以定义形状的背景色,可以再包含一个 lnfill
子元素及其后续子元素以描述形状的边框。
示例:
<shapestyle name="Bubble">
<fillRef name="bg1"/>
<lnfill>
<lnRef name="Solid 0.75 pt" />
<solidfillRef name="Dark Gray" />
</lnfill>
</shapestyle>
D.4.2 配色方案控件中的选择
fillSchemeLst
将在浮动工具栏(请参阅 配色方案)的配色方案控件中使用的 think-cell 配色方案列表。将使用 fillScheme
子元素定义个别填充方案。
示例:
<fillSchemeLst>
<fillScheme name="Company fill scheme">
...
</fillSchemeLst>
fillScheme
由填充序列构成的配色方案。它的定义方式是使用 fillRef
子元素来引用文件。属性 name
包含配色方案控件中使用的名称。属性 fillRefOtherSeries
会指定用于其他系列(请参阅 其他系列)的颜色。
若将可选的布尔属性 reverse
设为 1
,则会反向应用填充列表,先对最底部的系列应用第一种填充,然后对上方的系列应用第二种填充,以此类推。
可选的布尔属性 repeatLast
将控制每次使用填充后将发生的状况,例如,若分段数量大于填充颜色的数量会怎样。根据默认项或默认项明确设为 0
时,附加的分段将重复使用填充颜色,从第一个开始,然后是第二个,以此类推。若将 repeatLast
设为 1
,则会针对随后的所有分段使用配色方案中指定的最后一种填充颜色。
示例:
<fillScheme name="Company fill scheme"
fillRefOtherSeries="Orange"
reverse="0"
repeatLast="0">
<fillRef name="White"/>
...
</fillScheme>
有时,某配色方案可以良好适用于多数图表,但是对于系列很少的图表不太适用。例如,您使用的配色方案可能包含一种主要颜色和该颜色的多种阴影,还包括另一种主要颜色和该颜色的多种阴影。若图表只包含两个分段,您可能更喜欢使用两种主要颜色,而不是使用一种主要颜色以及其中一种阴影。您可以使用 seriesCountSpecific
子元素解决此问题。
seriesCountSpecific
在图表包含特定数量的系列时将用作配色方案的填充序列。属性 seriesCount
会指定针对哪个数量的系列而使用该序列。您可以使用范围 (seriesCount="1-3"
) 或数字 (seriesCount="2"
)。
图表中的系列数量变化时,图表会在 fillScheme
中的默认填充序列和 seriesCountSpecific
中的特定填充序列之间自动切换。
示例:
<fillScheme name="Company fill scheme"
fillRefOtherSeries="Orange">
<fillRef name="Red"/>
<fillRef name="Light Red"/>
<fillRef name="Lighter Red"/>
<fillRef name="Blue"/>
<fillRef name="Light Blue"/>
<fillRef name="Lighter Blue"/>
<seriesCountSpecific seriesCount="1-2">
<fillRef name="Red"/>
<fillRef name="Blue"/>
</seriesCountSpecific>
</fillScheme>
若 seriesCount
属性中的范围并未重叠,您可以在一个 fillScheme
中使用多个 seriesCountSpecific
元素。若任何特定列表的任何 seriesCount
属性都与当前的系列数量不匹配,则会使用父元素中的填充序列。
对于 fillScheme
,seriesCountSpecific
支持属性 reverse
和 repeatLast
。
fillRef
对 fillLst
元素中所定义填充的引用。属性 name
必须与填充定义中同一属性的值相符。
示例:
<fillRef name="White"/>
D.4.3 线条方案控件中的选择
lnfillmarkerSchemeLst
将在浮动工具栏的线条方案控件中使用的 think-cell 线条方案列表。将使用 lnfillmarkerScheme
子元素来定义个别线条方案。
示例:
<lnfillmarkerSchemeLst>
<lnfillmarkerScheme name="Company line scheme">
...
</lnfillmarkerSchemeLst>
lnfillmarkerScheme
由组合线型序列构成的线条方案。它的定义方式是使用子元素 lnfillmarker
(会引用线条、颜色和标记)来描述线型。属性 name
包含线条方案控件中使用的名称。在需要时,若图表仅包含很少系列,可以将 seriesCountSpecific
与不同序列的 lnfillmarker
搭配使用(请参阅 seriesCountSpecific)。
示例:
<lnfillmarkerScheme name="Company line scheme">
<lnfillmarker>
<lnRef name="Solid 18"/>
<solidfillRef name="accent1"/>
<markerRef name="No Marker"/>
</lnfillmarker>
...
</lnfillmarkerScheme>
lnfillmarker
由子元素 lnRef
、solidfillRef
与可选的 markerRef
(分别引用线条、填充颜色和标记)描述的折线图(请参阅折线图)组合线型。
示例:
<lnfillmarker>
<lnRef name="Solid 18"/>
<solidfillRef name="accent1"/>
<markerRef name="No Marker"/>
</lnfillmarker>
lnRef
对 lnLst
元素中所定义线条的引用。属性 name
必须与线条定义中同一属性的值相符。lnRef
作为 lnfillmarker
的子元素,可以不引用 noLine
线条类型。
示例:
<lnRef name="Solid 18"/>
solidfillRef
对 fillLst
元素中所定义填充颜色的引用。属性 name
必须与填充定义中同一属性的值相符。
示例:
<solidfillRef name="accent1"/>
markerRef
对 markerLst
元素中所定义标记的引用。属性 name
必须与标记定义中同一属性的值相符。
示例:
<markerRef name="No Marker"/>
D.4.4 标记方案控件中的选择
fillmarkerSchemeLst
将在浮动工具栏(请参阅标记方案)的标记方案控件中使用的 think-cell 标记方案列表。将使用 fillmarkerScheme
子元素定义个别标记方案。
示例:
<fillmarkerSchemeLst>
<fillmarkerScheme name="Company marker scheme">
...
</fillmarkerSchemeLst>
fillmarkerScheme
由标记序列构成的标记方案。它的定义方式是使用 fillmarker
子元素来引用标记。属性 name
包含配色方案控件中使用的名称。在需要时,若图表仅包含很少系列,可以将 seriesCountSpecific
与不同序列的 fillmarker
搭配使用(请参阅 seriesCountSpecific)。
示例:
<fillmarkerScheme name="Company marker scheme">
<fillmarker>
...
</fillScheme>
fillmarker
由使用子元素 markerRef
的标记引用和使用子元素 solidfillRef
的可选填充颜色引用构成的组合标记样式。若 markerRef
引用 noMarker
,则会忽略 solidfillRef
。
示例:
<fillmarker>
<markerRef name="Square"/>
<solidfillRef name="Orange"/>
</fillmarker>
D.5 自定义图表
D.5.1 fillSchemeRefDefault
对用作所有图表类型默认配色方案的填充方案的引用。若使用其中一或多个元素,
fillSchemeRefDefaultStacked,
fillSchemeRefDefaultWaterfall,
fillSchemeRefDefaultClustered,
fillSchemeRefDefaultMekko,
fillSchemeRefDefaultArea,
fillSchemeRefDefaultPie,
fillSchemeRefDefaultBubble
它们会替代此处为对应的特定图表类型而设置的默认方案。若使用其中所有元素,则会省略 fillSchemeRefDefault
。
示例:
<fillSchemeRefDefault name="Company scheme"/>
D.5.2 fillSchemeRefDefaultStacked
堆积图的默认配色方案。
示例:
<fillSchemeRefDefaultStacked name="Stacked scheme"/>
D.5.3 fillSchemeRefDefaultWaterfall
瀑布图的默认配色方案。
示例:
<fillSchemeRefDefaultWaterfall
name="Waterfall scheme"/>
D.5.4 fillSchemeRefDefaultClustered
簇状图的默认配色方案。
示例:
<fillSchemeRefDefaultClustered
name="Clustered scheme"/>
D.5.5 fillSchemeRefDefaultMekko
Mekko 图的默认配色方案。
示例:
<fillSchemeRefDefaultMekko name="Mekko scheme"/>
D.5.6 fillSchemeRefDefaultArea
分区图的默认配色方案。
示例:
<fillSchemeRefDefaultArea name="Area scheme"/>
D.5.7 fillSchemeRefDefaultPie
饼图的默认配色方案。
示例:
<fillSchemeRefDefaultPie name="Pie scheme"/>
D.5.8 fillSchemeRefDefaultBubble
气泡图的默认配色方案。
示例:
<fillSchemeRefDefaultBubble name="Bubble scheme"/>
D.5.9 lnfillmarkerSchemeRefDefault
折线图的默认配色方案。
示例:
<lnfillmarkerSchemeRefDefault name="Line scheme"/>
D.5.10 lnfillmarkerSchemeRefDefaultCombination
组合图的默认配色方案。
示例:
<lnfillmarkerSchemeRefDefaultCombination
name="Combination scheme"/>
D.5.11 fillmarkerSchemeRefDefault
散点图的默认标记方案。
示例:
<fillmarkerSchemeRefDefault name="Shapes"/>
D.6 自定义文本属性
defPPr
标签与文本框中文本的默认段落属性。新标签和文本框的属性源自正文文本占位符的其中一个文本样式级别。会试探性选择适当的文本样式级别,此方法在多数情况下效果良好。此行为的选择方式不使用 defPPr
元素。若选择的文本样式级别不适当,您可以搭配使用属性 lvl
和从 0 到 8 的数字明确指定文本样式级别。该数字的起点是 0,对应于第一个文本样式级别。因此,1 是指第二个级别,以此类推。think-cell 会从所指定文本样式级别的段落属性中,将字体颜色用于标签与文本框中的文本。
示例:
<defPPr lvl="3"/>
defRPr
标签与文本框中文本的默认段落属性。可以使用 PowerPoint 配色方案中派生的值替代主字体颜色和替换字体颜色。您可以使用 solidfillRef
指定主字体颜色,使用 solidfillRefAlt
指定替换字体颜色。对于每个标签,会自动选择与标签背景对比度最大的最佳颜色。
示例:
<defPPr lvl="2">
<defRPr>
<solidfillRef name="Deep Red"/>
<solidfillRefAlt name="Yellow"/>
</defRPr>
</defPPr>
使用 defRPr
是最后的手段。更改模板的幻灯片背景和主题颜色始终是更可取的方法。接下来,您应该在母版幻灯片正文文本占位符中设置正确的文本样式级别格式。只有在此方式无法使用或无法产生所需的结果时,才使用上述 defPPr
的 lvl
属性,若此方式仍无法产生所需的结果,请使用 defRPr
明确定义文本颜色。
在需要使用 defRPr
的一些情况下,还需要使用 solidfillRefBackground
明确指定实际的图表背景色(请参阅 图表背景色)。
D.7 自定义标签
元素 label
包含对标签属性进行自定义的元素。以下元素是 label
的子元素。请注意,shapestyleRefBubble
是强制子元素,而其他元素是可选的。
lnfillLeaderLine
未将标签放置在段内时,段标签和段之间的线条所用的线型。若未指定 solidfillRef
,则不会使用 lnfillDefault
中的颜色,think-cell 会改为使用与自动设置的标签字体颜色相符的颜色。
示例:
<lnfillLeaderLine>
<lnRef name="Solid 0.5 pt"/>
</lnfillLeaderLine>
shapestyleRefBubble
对 shapestyleLst
中所定义形状的引用。属性 name
必须与形状样式定义中同一属性的值相符。它会定义差异箭头中所用标签的样式。
示例:
<shapestyleRefBubble name="Bubble"/>
sumLabelPosition
总计标签的位置。属性 val
可以有以下值(描述的位置是针对竖直柱形图而言,旋转或翻转图表时,位置会相应变化):
-
accordingToSign
- 将总计标签放置在柱上方可获取正总计值,放置在柱下方可获取负总计值。这是元素不存在时的默认值。
-
awayFromBaseline
- 将总计标签放置在远离基线的位置,即永远不将标签放置在柱与基线之间。
此设置适用于瀑布图中的浮动柱。其他状况下,两种方法会产生完全相同的标签位置,sumLabelPosition
将与此无关。
示例:
<label>
<sumLabelPosition val="accordingToSign" />
</label>
D.8 自定义线条
D.8.1 lnfillDefault
整个 think-cell 内使用的默认线条类型。使用 lnRef
元素以引用 lnLst
元素中对虚线类型和粗细进行定义的其中一个线条。使用 solidfillRef
引用 fillLst
元素中的其中一种实线颜色以设置颜色。
示例:
<lnfillDefault>
<lnRef name="Solid 0.75 pt" />
<solidfillRef name="tx1" />
</lnfillDefault>
若以下线型定义的其中之一缺少 lnRef
或 solidfillRef
元素,则会使用 lnfillDefault
中各自的值。
lnfillGridline
网格线型。它遵循与上述 lnfillDefault
相同的架构和规则。
D.8.2 段边框
段的边框在填充方案级别上定义,即配色方案控件中的每个方案也可以设置段边框的线型。因此,以下元素是 fillScheme
元素的子元素。
lnfillSegment
此配色方案的默认边框样式。
lnfillSegmentMekko
使用父元素配色方案的 Mekko 图的边框样式。若省略,则使用 lnfillSegment
中的线型。
示例
在此,将对段边框使用 noLine
。但是,这通常不适用于 Mekko 图,因此这些 Mekko 图使用细实线和标准前景色。
<fillScheme name="PowerPoint Theme" ...>
<lnfillSegment>
<noLine/>
</lnfillSegment>
<lnfillSegmentMekko>
<lnRef name="Solid 0.25 pt" />
<solidfillRef name="tx1" />
</lnfillSegmentMekko>
<fillRef name="accent1"/>
...
</fillScheme>
D.8.3 图表中的线条
元素 chart
包含对图表中的线条进行自定义的元素。以下元素是 chart
元素的子元素。
lnfillAxis
默认图表轴线型。
lnfillAxisCategory
类别轴线型。可用于设置更细的基线。若忽略,将使用 lnfillAxis
。
lnfillArrow
用于差异箭头的默认线型。
lnfillArrowCAGR
用于 CAGR 箭头的线型。
lnfillArrowCategoryDifference
用于总计差异箭头的线型。
lnfillArrowSegmentDifference
用于层级差异箭头的线型。
lnfillExtensionLine
用于层级差异箭头延长线的线型。
lnfillConnector
用于连接器线条的线型。
lnfillConnectorWaterfall
用于瀑布连接器线条的线型。若指定,该线型将替代 lnfillConnector
。除了子元素 lnRef
和 solidfillRef
之外,lnfillConnectorWaterfall
也支持 <noLine />
的子元素指定瀑布连接器不可见,而 lnfillConnector
无法做到这一点。
lnfillValueLine
用于值线的线型。
lnfillTrendLine
用于趋势线的线型。
lnfillPartition
用于分区的线型。
lnfillErrorBar
用于误差线的线型。
lnfillRidge
用于 Mekko 图凸线的线型。
D.8.4 图例中的线条
以下元素是 legend
元素的子元素。
lnfill
think-cell 形状的边框。若未使用此元素,则形状没有边框。若使用该元素,但仅指定线型或颜色,则 lnfillDefault
会照常设置未指定的属性。
示例:
<legend>
<lnfill>
<lnRef name="Solid 0.75 pt" />
<solidfillRef name="Dark Gray" />
</lnfill>
</legend>
D.9 自定义 Harvey Ball 和复选框
D.9.1 harveyball
由子元素 fillRefCompleted
、fillRefBackground
和 lnfill
(用于分别描述完成状态的颜色、背景色以及 Harvey Ball 的边框)构成的 Harvey Ball 的组合样式。所需的属性 sz
会定义 Harvey Ball 的默认字体大小(以百分之一磅为单位)。
示例:
<harveyball sz="1400">
<fillRefCompleted name="Black"/>
<fillRefBackground name="Light Orange"/>
<lnfill>
<lnRef name="Solid 0.5 pt"/>
<solidfillRef name="accent1"/>
</lnfill>
</harveyball>
D.9.2 fillRefCompleted
请参阅 fillRef
。
D.9.3 fillRefBackground
请参阅 fillRef
。
D.9.4 checkbox
由子元素 fillRef
(用于描述复选框的背景色)、子元素 lnfill
(用于描述复选框的边框)和子元素 choices
中符号、字符与图片的列表构成的复选框组合样式。所需的属性 sz
会定义复选框的默认字体大小(以百分之一磅为单位)。必须分别定义每个字形的大小。
示例:
<checkbox sz="1400">
<fillRef name="No Fill"/>
<lnfill>
<noLine/>
</lnfill>
<choices>
<glyph hotkeys="VO1" sz="1867">
<solidfillRef name="Green"/>
<t>v</t>
</glyph>
<glyph hotkeys="X2" sz="1867">
<solidfillRef name="Pink"/>
<font typeface="Arial Unicode MS"/>
<t>✗</t>
</glyph>
<glyph hotkeys="Q3" sz="1867">
<font typeface="Arial Unicode MS"/>
<t>?</t>
</glyph>
<pic hotkeys="R4">
<Relationship Target="traffic_light_horizontal_red.emf"/>
</pic>
<glyph hotkeys=" 0" sz="1867">
<t> </t>
</glyph>
</choices>
</checkbox>
D.9.5 choices
复选框中将使用的选择列表。列表中可以包含任意数量的 glyph
元素(对于字符和符号)和 pic
元素(对于图片)。
D.9.6 glyph
用作复选框的其中一种选择的字形(字符或符号)。属性 hotkeys
会描述对字形进行选择的热键字符的列表。子元素 solidFillRef
会描述字符或符号的颜色,font
会描述其字体,t
会描述字符或符号本身。所需的属性 sz
会定义字符的默认字体大小(以百分之一磅为单位),该大小独立于复选框的总大小。
示例:
<glyph hotkeys="qQ3" sz="1867">
<solidfillRef name="Blue"/>
<font typeface="Arial Unicode MS"/>
<t>?</t>
</glyph>
D.9.7 t
字形(在复选框中使用其本身)中使用的字符或符号。此元素的内容可以是逐字符 (a
)、Unicode 符号,或是对 Unicode 代码点的数字字符引用。可以使用十进制数 (✗
) 或十六进制数 (✗
) 提供数字引用。
D.9.8 pic
用作复选框的其中一种选择的图片。将提供含图片的 EMF 文件的文件名作为子元素 Relationship
的属性 Target
。属性 hotkeys
会描述对图片进行选择的热键字符的列表。
示例:
<pic hotkeys="R4">
<Relationship Target="traffic_light_horizontal_red.emf"/>
</pic>
若要创建 PowerPoint 中任意形状的 EMF 文件,请:
- 右键单击形状或形状的选择范围。
- 选择另存为图片。
- 确保另存为增强 Windows 图元文件 (*.emf) 类型。
当然,您也可以使用合适的图形编辑器来创建 EMF 文件。