
Я хочу изменить цвета для различных элементов в презентации в стиле Франкфурта. Я нашел, как изменить цвет фона и текста в заголовке фрейма и ленте контура, но у меня появляются две бледные горизонтальные зеленые линии над и под заголовком фрейма. Есть идеи, как их убрать?
\documentclass[xcolor=dvipsnames]{beamer}
\usetheme{Frankfurt}
\beamertemplatenavigationsymbolsempty
\setbeamercolor{section in head/foot}{fg=OliveGreen!40!Sepia, bg=OliveGreen!70!YellowGreen}
\setbeamercolor{structure}{fg=LimeGreen, bg = LimeGreen}
\setbeamercolor{alerted text}{fg=LimeGreen}
\setbeamercolor{title}{fg=Sepia, bg = LimeGreen!60!GreenYellow}
\setbeamercolor{frametitle}{fg=OliveGreen!60!Sepia, bg = LimeGreen!60!GreenYellow}
\title{Title}
\author{Me}
\date{Today}
\begin{document}
\section[My first section]{Section 1}
\begin{frame}
\frametitle{Frame title}
Some text
\end{frame}
\end{document}
Это дает (красные стрелки добавлены вручную):
решение1
Эта проблема как-то связана с разными цветовыми моделями. Где-то на этой стороне был вопрос, который подробно это объясняет, но, к сожалению, я не могу его сейчас найти.
Короче говоря: обходным решением является использование цвета, определенного в RGB
для смешивания.
\documentclass[xcolor=dvipsnames]{beamer}
\usetheme{Frankfurt}
\beamertemplatenavigationsymbolsempty
\setbeamercolor{section in head/foot}{fg=OliveGreen!40!Sepia, bg=OliveGreen!70!YellowGreen}
\setbeamercolor{structure}{fg=LimeGreen, bg = LimeGreen}
\setbeamercolor{alerted text}{fg=LimeGreen}
\setbeamercolor{title}{fg=Sepia, bg = LimeGreen!60!GreenYellow}
\setbeamercolor{frametitle}{fg=OliveGreen!60!Sepia, bg = LimeGreen!60!GreenYellow}
\definecolor{mygreen}{RGB}{163,216,56}
\AtBeginDocument{
\pgfdeclareverticalshading{beamer@aboveframetitle}{\the\paperwidth}{%
color(0ex)=(mygreen);%
color(1ex)=(mygreen);%
color(2ex)=(section in head/foot.bg)
}
\pgfdeclareverticalshading{beamer@belowframetitle}{\the\paperwidth}{%
color(0ex)=(bg);%
color(1ex)=(mygreen)
}
}
\title{Title}
\author{Me}
\date{Today}
\begin{document}
\section[My first section]{Section 1}
\begin{frame}
\frametitle{Frame title}
Some text
\end{frame}
\end{document}
В качестве альтернативы вы можете выбрать \selectcolormodel{RGB}
, но тогда вам, возможно, придется скорректировать выбор цвета, чтобы получить тот же результат, что и выше.
\documentclass[xcolor=dvipsnames]{beamer}
\usetheme{Frankfurt}
\selectcolormodel{RGB}
\beamertemplatenavigationsymbolsempty
\setbeamercolor{section in head/foot}{fg=OliveGreen!40!Sepia, bg=OliveGreen!70!YellowGreen}
\setbeamercolor{structure}{fg=LimeGreen, bg = LimeGreen}
\setbeamercolor{alerted text}{fg=LimeGreen}
\setbeamercolor{title}{fg=Sepia, bg = LimeGreen!60!GreenYellow}
\setbeamercolor{frametitle}{fg=OliveGreen!60!Sepia, bg = LimeGreen!60!GreenYellow}
\title{Title}
\author{Me}
\date{Today}
\begin{document}
\section[My first section]{Section 1}
\begin{frame}
\frametitle{Frame title}
Some text
\end{frame}
\end{document}
решение2
Обновлять
tikz
теперь поддерживает CMYK-затенения из коробки, начиная с версии 3.1.3. Вам все еще нужно установить цветовую модель на CMYK:
\RequirePackage[cmyk,dvipsnames]{xcolor}
\documentclass{beamer}
Теперь доступно новое решение этого вопроса с использованием нового пакета, pgf-cmykshadings
который поддерживает затенение в CMYK для pgf
.
Основная проблема заключается в следующем: dvipsnames
цвета из xcolor
определены в цветовом пространстве CMYK. beamer
затем используется pgf
для создания теней с использованием этих цветов. За исключением того, pgf
что не поддерживает теней в CMYK, только в RGB. Таким образом, тени преобразуются в RGB, в то время как сплошные цвета остаются в CMYK, и вы получаете несоответствие цветов.
Другой ответ на этот вопрос уже продемонстрировал, как использовать цвета RGB везде, но вы можете продолжать использовать dvipsnames
цвета в цветовом пространстве CMYK и использовать оттенки CMYK с помощью pgf-cmykshadings
пакета.
Измените начало примера MWE на:
\RequirePackage[cmyk,dvipsnames]{xcolor}
\RequirePackage{pgf-cmykshadings}
\documentclass{beamer}
xcolor
необходимо сначала загрузить с помощью dvipsnames
параметра, чтобы избежать конфликта параметров. Я также использовал параметр, cmyk
чтобы убедиться, что все цвета будут в CMYK. И его pgf-cmykshadings
необходимо загрузить до того beamer
, чтобы убедиться, что оттенки настроены в цветовом пространстве CMYK.
Теперь вы получите вывод CMYK (согласно цветам dvipsnames
) везде, включая оттенки: