免费的电子书Open XML Explained可能会提供一些见解来帮助您理解。在 PresentationML 部分下,文档内容结构讨论了如何使用主题和主布局来提供默认值:
第 86 页 - 第 2 段:
DrawingML 主题可用于为字体、布局和其他品牌相关数据创建默认值,并允许将其与演示文稿的主体分开。主题可在所有 Open XML 标记语言中重复使用。在 PresentationML 包中,正在使用各种主题。默认情况下,每个单独的母版、幻灯片母版、笔记母版和讲义母版都引用一个单独的主题部分。演示文稿本身还引用了要在演示文稿中使用的默认主题。此默认主题通过引用包内的相同部分与幻灯片母版共享。
因此,在您的演示文稿 SlideMaster 的 theme1.xml 中,您将找到用于幻灯片母版和您的演示文稿的主题定义。颜色名称 Light1、Dark1 等映射到每个主题的主题元素的配色方案中的 12 种所需颜色。有关详细信息,请参阅架构。
因此,在 Run 中,您会看到 Light1,它映射到主题中定义的数字。如果作者更改了主布局和/或主题,则 Light1 在运行中不会更改,但主题中的值可能会发生变化,这就是您从中获取新值的地方。
在第 121 页,Open XML Explained 中提到了 12 种颜色:
在主题元素中,您需要创建一个包含所有主题数据的主题元素节点。在此级别,您还可以应用额外信息或覆盖主题元素内的现有信息。主题元素是使用一组子节点构建的,每个节点标识一个特定的数据项,例如字体或颜色。clrScheme 元素定义了一个颜色列表。主题颜色列表仅限于“accent1”或“visited link”等项目。这些主题颜色中的每一个都使用一个单独的 XML 元素,其中节点名称标识主题颜色. 在这个元素中,您可以使用前面讨论过的使用 DrawingML 为形状着色的着色机制。在标记样本 157 中定义了两种主题颜色,“dark-1”和“accent-1”颜色。标记示例不完整。您需要为所有十二种主题颜色定义值。
希望这可以帮助...