![软件包选项(用于 xcolor)在 beamer 中未得到正确使用](https://linux22.com/image/446509/%E8%BD%AF%E4%BB%B6%E5%8C%85%E9%80%89%E9%A1%B9%EF%BC%88%E7%94%A8%E4%BA%8E%20xcolor%EF%BC%89%E5%9C%A8%20beamer%20%E4%B8%AD%E6%9C%AA%E5%BE%97%E5%88%B0%E6%AD%A3%E7%A1%AE%E4%BD%BF%E7%94%A8.png)
最近升级系统(到 Ubuntu 22.04)后,许多以前的文件都无法编译并出现未定义的颜色。
请参阅以下独立示例以获得澄清。
以下工作正常。
% 1
% Base colors (always available)
\documentclass{article}
\usepackage{xcolor}
\begin{document}
\LaTeX
{\color{blue}\LaTeX}
\end{document}
结论:该xcolor
包装对于基本颜色来说运行良好。
下面的方法同样可以正常工作。
% 2
% Colors via dvipsnames option
\documentclass{article}
\usepackage[dvipsnames]{xcolor}
\begin{document}
\LaTeX
{\color{Blue}\LaTeX}
\end{document}
结论:该xcolor
软件包可以通过选项正常使用颜色。
下面这个也不错。
% 3
% Base colors (always available)
\documentclass{beamer}
\begin{document}
\begin{frame}
\LaTeX
{\color{blue}\LaTeX}
\end{frame}
\end{document}
结论: beamer
正确处理包中的基础颜色
xcolor
。
问题就在这里。
% 4
% Colors via dvipsnames option
\documentclass[xcolor=dvipsnames]{beamer}
\begin{document}
\begin{frame}
\LaTeX
{\color{Blue}\LaTeX}
\end{frame}
\end{document}
我们收到以下错误消息。
!包 xcolor 错误:未定义颜色“蓝色”。
结论: beamer
无法通过包中的选项处理颜色
xcolor
。
自然,以下内容可能会产生选项冲突。
% 5
% Colors via dvipsnames option
\documentclass{beamer}
\usepackage[dvipsnames]{xcolor}
\begin{document}
\begin{frame}
\LaTeX
{\color{Blue}\LaTeX}
\end{frame}
\end{document}
我们收到以下错误消息。
! LaTeX 错误:包 xcolor 的选项冲突。
当我们明确传递选项时,即使下面的操作也不起作用。
% 6
% Colors via dvipsnames option
\documentclass{beamer}
\PassOptionsToPackage{dvipsnames}{xcolor}
\begin{document}
\begin{frame}
\LaTeX
{\color{Blue}\LaTeX}
\end{frame}
\end{document}
我们收到以下错误消息。
!包 xcolor 错误:未定义颜色“蓝色”。
定论:出了点问题,导致beamer
无法处理xcolor
包选项。
答案1
这是由于beamer
v3.65 中的一个错误导致的,该错误已在 v3.66 中修复beamer
。对于那些被迫使用此版本的用户(当您安装完整系统时升级可能会很困难),您可以使用以下解决方法。
之前加载xcolor
或者使用宏。\PassOptionsToPackage{...}
\documentclass{...}
使用任何一个\documentclass{...}
在您的文件中之前,
\RequirePackage[dvipsnames]{xcolor}
\PassOptionsToPackage{dvipsnames}{xcolor}
第二个更加模块化。