为什么在外部主题中定义一些颜色是有用的?
例子:
\setbeamercolor*{date in head/foot}{parent=palette primary}
它也可以在颜色主题中吗?
答案1
据我所知,beamer 颜色可以在任何地方定义。无论是在颜色主题、外部主题还是在 beamer 文档本身中,从技术角度来看,如果您只定义一次颜色,则无关紧要。如果您多次定义一种颜色,情况会更加复杂,您必须注意是在文档中还是在主题中定义它。
但是:通常将颜色定义主要放在颜色主题中。这有助于您保持主题井然有序,并帮助其他人找到他们想要更改的相关行。
现在来看看为什么你应该使用颜色定义\setbeamercolor*{date in head/foot}{parent=palette primary}
而不是仅仅使用\begin{beamercolorbox}{palette primary}
。这会使你的代码更加灵活。想象一下你创建了一个主题并将其交给你的同事。他喜欢你的颜色,但有一个例外:他希望日期使用不同的颜色。他可以简单地
- 在您的代码中搜索一个有意义的短语,如“日期”,然后会找到该行(
palette primary
搜索不是很直观,并且会给出很多结果) - 只需查看通常相对较短且清晰的颜色主题并找到一条简单的线(而
\begin{beamercolorbox}
通常被更复杂的代码包围)