软件包选项(用于 xcolor)在 beamer 中未得到正确使用

软件包选项(用于 xcolor)在 beamer 中未得到正确使用

最近升级系统(到 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

这是由于beamerv3.65 中的一个错误导致的,该错误已在 v3.66 中修复beamer。对于那些被迫使用此版本的用户(当您安装完整系统时升级可能会很困难),您可以使用以下解决方法。

之前加载xcolor 或者使用宏。\PassOptionsToPackage{...}\documentclass{...}

使用任何一个\documentclass{...}在您的文件中之前,

\RequirePackage[dvipsnames]{xcolor}

\PassOptionsToPackage{dvipsnames}{xcolor}

第二个更加模块化。

相关内容