在许多办公场景下,制作幻灯片是一种刚需,而一份美观、规范的幻灯片往往离不开模板的帮助。但是,大部分公司都有自己的视觉识别(VI)规范,直接应用外部模板通常意味着字体、配色、字号、标题等都需要大幅修改,最终交付成果还可能存在版权风险。因此,为公司定制专属模板就显得尤为重要。

虽然 PowerPoint 本身提供了模板功能,但在灵活性、便捷性和细节控制方面往往不尽如人意,使得模板的制作和使用常常需要第三方插件的辅助——你或许听说或用过像 iSlide、Office 工具箱这类面向大众用户的插件。

然而,在商业管理咨询、金融等专业领域,特别是在商业图表制作方面,一款名为 think-cell 的插件占据了主导地位。它专注于「更便捷高效地制作专业商业图表」,能够帮助用户轻松创建和管理各种复杂图表,显著提升幻灯片的专业性和图表制作效率,在这些行业中几乎形成了垄断。

除了操作上的便捷性,think-cell 的一个核心优势在于允许用户通过自定义 XML 样式文件,对图表的方方面面(从配色到线条样式)做细致入微的定制。这使得演示文稿能够完美契合公司的 VI 系统要求,确保最终交付成果的统一性和专业性,也能提高效率。

以下是一些使用 think-cell 制作的图表示例:

think-cell 支持 Office 2010 及 Office for Mac 2016 以来的所有版本,采用订阅制授权,定价为每用户每月 28.5 美元。部分高校用户可以申请教育用途的免费许可证。对于双系统用户而言,think-cell 充分支持 Mac 平台,且 Mac 版的功能和操作体验与 Windows 版基本一致,这也是它的一大优点。

接下来,本文将一步步为你演示 think-cell 是如何通过 XML 样式文件实现这些强大定制功能的。希望这篇文章能帮助已经了解这款工具的朋友深入掌握其用法,也为那些尚不了解但有类似需求的朋友提供一种新的解决方案。

样式文件定制入门

think-cell 使用 XML 格式的样式文件(style file)来定义幻灯片中图表的外观。在开始定制之前,让我们先简单了解一下 XML。

XML(Extensible Markup Language,可扩展标记语言)是一种用于结构化存储与交换数据的标记语言,广泛应用于配置文件、数据传输和文档结构等领域。它并非专属于某个软件,而是一种开放的、与平台无关的技术。

我们熟悉的 Office 文档格式 Office Open XML (OOXML),就是一套基于 XML 的文件格式标准。你可以尝试将任何一个 .docx 或 .pptx 文件后缀改为 .zip 再解压缩,就会发现其中包含了一整套 XML 文件。

由于 think-cell 是 PowerPoint 的插件,其样式文件的结构在某些方面与 OOXML 有相似之处。

要开始定制,首先需要找到 think-cell 的样式文件。你可以打开 think-cell 插件菜单中的「工具」>「关于」,在弹出的窗口中会显示其程序配置文件的位置。

建议使用专业的代码编辑器(如 VS Code、Sublime Text 等)来编辑 XML 文件,这些编辑器提供的代码高亮、自动补全和文件目录管理功能,将大大提升编辑体验。

think-cell 样式文件的核心设计思想可以概括为「先声明、再应用」。简单来说,就是先在一个地方(通常是文件的前部)集中定义好所有可用的基础元素,如颜色、线条样式、标记形状等;然后在需要应用这些元素的地方(如具体的图表配色方案),通过名称来「引用」这些已声明的元素。这样,修改一处声明,所有引用该声明的地方都会自动更新,极大地便利了样式的统一维护。

让我们通过一个简化的例子来理解这个引用关系。假设我们想定义一个名为 makubex 的配色方案,那么它在样式文件里会依次留下这些足迹:

上图中:

fillLst (颜色列表): 这里集中声明了所有可用的颜色,每个颜色都有一个唯一的名称和对应的色值。

fillSchemeLst (配色方案列表): 这里定义了各种配色方案。每个方案 (fillScheme) 内部通过引用 fillLst 中声明的颜色名称 (fillRef name="...") 来指定其颜色序列。

fillSchemeRefDefault (默认配色方案引用): 这个元素指定了在未明确选择时,think-cell 默认使用哪个配色方案。

更一般地,根据官方文档,think-cell 的样式文件主要包含以下几类模块,用于定义图表的各种外观属性:

分类

模块(XML 元素)

作用

样式定义基础

fillLst, lnLst, markerLst

定义所有可用的基础填充颜色、线条样式、标记形状。可以理解为「原材料库」。

图表配色方案

fillSchemeLst, lnfillmarkerSchemeLst, fillmarkerSchemeLst

组合基础元素,形成具体的配色方案或样式组合。可以理解为使用「原材料」制作的「菜谱」。

默认颜色填充方案

fillSchemeRefDefault 等 11 种默认引用

指定在插入不同类型图表时,默认应用的配色方案。

默认图表样式方案

lnfillDefault, lnfillGridline, shapestyleLst

定义图表在没有单独指定方案时的默认外观,如网格线样式等。

标签与图表装饰线

label, chart

控制标签文本样式和图表内部辅助线的样式。

特殊组件样式

harveyball, checkbox, gantt

为 Harvey Ball、复选框、甘特图等特殊图形和功能性元素定义样式。

对于初学者来说,不必一次性掌握所有模块。我们将从最常用、最重要的部分开始,结合实例进行定制。

样式文件定制实战:打造你的专属图表风格

现在,让我们开始动手定制一个个性化的 XML 样式文件。我们将逐步完成定义公司专属颜色、创建不同类型的图表方案,并最终设置默认样式。

一、定义公司专属颜色

实现公司品牌形象统一的第一步,也是最重要的一步,就是定制专属配色。在 think-cell 的 XML 样式文件中,所有可用的颜色都在 (颜色列表) 元素中统一定义。这个列表就像一个调色盘,后续创建的所有配色方案都将从这里选取颜色。

每个颜色定义通常包含两个核心信息:一个易于识别的名称 (name 属性) 和具体的颜色值 (通常使用 sRGB 十六进制色值或引用 PowerPoint 主题颜色)。

假设我们需要定义以下四种公司品牌颜色:

Cyan1 (水蓝): #00FFF6

Cyan2 (冰蓝): #00E7FF

Azure (天蓝): #009EFF

Blue (蓝色): #0014FF

我们将要定义的自定义颜色

我们可以在 标签内添加如下代码:

代码解释:

...: 这是颜色列表的容器标签。

...: 定义一个纯色填充。

name 属性:为这个颜色指定一个易于识别的名称。这个名称会显示在 think-cell 操作界面的颜色选择菜单中,所以尽量起得有意义。

: 指定颜色的 sRGB 值,val 属性的值是不带 # 号的六位十六进制颜色代码。注意这是一个自闭合标签,因为它没有子元素或内容,也就没有匹配的终止标签。XML 中类似的自闭合标签还有 (无边框)、 (无标记) 等。

: 在 think-cell 的颜色选择菜单中插入一条分割线,有助于组织和区分不同的颜色组。

在 think-cell 默认的样式文件中,你可能还会看到类似 这样的颜色定义。这表示该颜色引用的是当前 PowerPoint 演示文稿主题中预设的颜色(例如,「文本颜色 1」或「强调颜色 1」)。这样做的好处是,当 PowerPoint 主题颜色改变时,think-cell 图表中引用了这些主题色的部分也会随之自动更新,保持与演示文稿整体风格的一致。

完成上述颜色的定义并加载此样式文件后,在 think-cell 的颜色选择菜单中,你就能看到刚才添加的自定义颜色了:

除了上述主要填充色之外,我们再定义一组额外的,以蓝色为基础的梯度填充颜色,给后续的 marker 部分使用(这里不理解可先略过):

二、创建图表配色方案(SchemeLst)

定义好基础颜色后,下一步是创建图表配色方案 (Scheme)。方案决定了这些颜色在图表中的应用顺序和方式。think-cell 中有几种不同类型的方案列表 (SchemeLst),分别对应不同类型的图表元素组合:

方案列表 (XML 元素)

控制的内容

主要应用的图表类型

fillSchemeLst

填充颜色方案

柱状图、堆积图、瀑布图、Mekko 图、饼图、面积图、气泡图等以「填充区域」为主的图表。

lnfillmarkerSchemeLst

线条颜色、线型、标记组合方案

折线图、组合图中的折线部分,以及所有用「线条」表示数据系列的图表。

fillmarkerSchemeLst

标记形状 + 填充颜色方案

散点图,甘特图中的里程碑标记等以「数据点标记」为主的图表。

我们将依次为这几类方案创建自定义配置。

1. 柱形图等填充类图表的配色方案 ()

首先,我们为最常用的柱状图、瀑布图、饼图等创建配色方案。这些方案定义在 元素内。我们来创建一个名为 benjamin2025 的方案,并额外创建一个颜色顺序相反的版本 benjamin2025 Rev。

代码解释: