Обновлять

Обновлять

Я хочу изменить цвета для различных элементов в презентации в стиле Франкфурта. Я нашел, как изменить цвет фона и текста в заголовке фрейма и ленте контура, но у меня появляются две бледные горизонтальные зеленые линии над и под заголовком фрейма. Есть идеи, как их убрать?

\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) везде, включая оттенки:

введите описание изображения здесь

Связанный контент