Обновлять

Обновлять

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

\documentclass[11pt, titlepage, openright]{book}

\usepackage[textwidth=13cm, left=2.5cm, bottom=2cm, top=2.5cm, paperwidth=20cm, paperheight=27cm, layoutwidth=19cm, layoutheight=26cm, layouthoffset=0.5cm, layoutvoffset=0.5cm, showcrop, asymmetric]{geometry}
\usepackage{fancyhdr}
\usepackage{tikz}
\usepackage{lipsum}

\definecolor{bgsummary}{cmyk}{0.2,0,0.1,0}

\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\fancyhead{}
\fancyfoot{}

\definecolor{grey}{rgb}{0.6,0.6,0.6}
\definecolor{darkgrey}{rgb}{0.4,0.4,0.4}

\setlength{\headheight}{24pt}
\fancyhead[RO]{\sffamily\bfseries\textcolor{grey}\leftmark\hspace{0.3cm}\sffamily\textcolor{darkgrey}\thepage}
\fancyhead[LE]{\sffamily\bfseries\textcolor{darkgrey}\thepage\hspace{0.3cm}\sffamily\textcolor{grey}\leftmark}
\renewcommand{\headrulewidth}{0.6pt}
\renewcommand{\footrulewidth}{0pt}

\renewcommand{\headrule}{%
\vskip-\baselineskip\vskip4pt
\ifodd\count0\hfill\begin{tikzpicture}
    \shade[left color=white, right color=black, dashed] (0,0) rectangle (4.98,0.01);
\end{tikzpicture}\else\begin{tikzpicture}
    \shade[left color=black, right color=white, dashed] (0,0) rectangle (4.98,.01);
\end{tikzpicture}\fi}

\fancypagestyle{summary}{%
\fancyhead[RO]{\sffamily\bfseries\footnotesize\textcolor{grey}\leftmark\hspace{0.3cm}\sffamily\bfseries\normalsize\textcolor{darkgrey}\thepage}
\fancyhead[LE]{\sffamily\bfseries\textcolor{darkgrey}\thepage\hspace{0.3cm}\sffamily\bfseries\footnotesize\textcolor{grey}\leftmark}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}

\renewcommand{\headrule}{%
\vskip-\baselineskip\vskip4pt
\ifodd\count0\hfill\begin{tikzpicture}
    \shade[left color=bgsummary, right color=darkgrey, dashed] (0,0) rectangle (4.98,0.01);
\end{tikzpicture}\else\begin{tikzpicture}
    \shade[left color=darkgrey, right color=bgsummary, dashed] (0,0) rectangle (4.98,0.01);
\end{tikzpicture}\fi}
}


\begin{document}

\chapter{Test chapter with a long title}
\lipsum

\newpage
\thispagestyle{summary}
\section{Summary}
\pagecolor{bgsummary}

\end{document}

решение1

Если вы используете xcolorопцию пакета, cmykпакет xcolorпреобразует все цвета в cmykмодель. Тем не менее, shadeбудет использовать rgbцвета. Смотрите следующий пример:

\documentclass[margin=10pt,
rgb, % this option is passed to xcolor
%cmyk % this option is passed to xcolor
]{standalone}
\usepackage{tikz}
\definecolor{bgsummary}{cmyk}{0.2,0,0.1,0}
\pagecolor{bgsummary}
\begin{document}
\tikz\draw[fill=bgsummary](0,0)rectangle(1,1);
\tikz\draw[shade,left color=bgsummary,right color=bgsummary](0,0)rectangle(1,1);
\end{document}

Результат с опциейrgb

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

Результат с опциейcmyk

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

Но вы можете загрузить fadingsбиблиотеку и использовать path fading.

\documentclass[11pt, titlepage, openright,
  cmyk% this option is passed to xcolor
]{book}

\usepackage[textwidth=13cm, left=2.5cm, bottom=2cm, top=2.5cm,
  paperwidth=20cm, paperheight=27cm,
  layoutwidth=19cm, layoutheight=26cm,
  layouthoffset=0.5cm, layoutvoffset=0.5cm,
  showcrop, asymmetric]{geometry}
\usepackage{fancyhdr}
\usepackage{tikz}
\usetikzlibrary{fadings}

\definecolor{bgsummary}{cmyk}{0.2,0,0.1,0}
\definecolor{grey}{rgb}{0.6,0.6,0.6}
\definecolor{darkgrey}{rgb}{0.4,0.4,0.4}

\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\fancyhead{}
\fancyfoot{}

\setlength{\headheight}{24pt}
\fancyhead[RO]{\sffamily\bfseries\textcolor{grey}%
  \leftmark\hspace{0.3cm}\sffamily\textcolor{darkgrey}\thepage}
\fancyhead[LE]{\sffamily\bfseries\textcolor{darkgrey}%
  \thepage\hspace{0.3cm}\sffamily\textcolor{grey}\leftmark}
\renewcommand{\headrulewidth}{0.6pt}
\renewcommand{\footrulewidth}{0pt}

\renewcommand{\headrule}{%
\vskip-\baselineskip\vskip4pt
\ifodd\count0\hfill\begin{tikzpicture}
    \fill[black,path fading=west] (0,0) rectangle (5.98,0.01);
\end{tikzpicture}\else\begin{tikzpicture}
    \fill[black,path fading=east] (0,0) rectangle (5.98,.01);
\end{tikzpicture}\fi}

\usepackage{lipsum}% dummy text
\begin{document}
\chapter{Test chapter with a long title}
\lipsum
\clearpage
\pagecolor{bgsummary}
\section{Summary}
\end{document}

5.98Обратите внимание, что вместо этого я использовал 4.98ширину прямоугольника заголовка, а страница сводки также получает pagestyle fancy.

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

решение2

Проблема в том, что вы определяете новый цвет фона с помощью модели CMYK, а для градиента используете модель RGB.

Использовать

\definecolor{bgsummary}{rgb}{0.8,1,0.9}

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

решение3

Обновлять

tikzтеперь поддерживает CMYK-затенения с версии 3.1.3. Просто загрузите xcolorс cmykопцией перед загрузкой tikz.


Другие ответы объясняют, почему вы хорошо справляетесь с этой проблемой.

Есть новое решение этой проблемы с использованием pgf-cmykshadingsпакета, который поддерживает CMYK-затенение в pgf. Измените начало документа на:

\documentclass[11pt, titlepage, openright]{book}
\usepackage[cmyk]{xcolor}% always use CMYK
\usepackage{pgf-cmykshadings}% use CMYK in PGF shadings

Вам нужно загрузить pgf-cmykshadingsперед tikzтем, как убедиться, что вы получите оттенки CMYK везде. Я бы также загрузил xcolorс cmykопцией в вашем случае и, возможно, также определил бы ваши серые цвета cmyk.

\definecolor{grey}{cmyk}{0,0,0,0.4}
\definecolor{darkgrey}{cmyk}{0,0,0,0.6}

Теперь цвета будут совпадать, и вы получите документ в цветовой модели CMYK, пригодный для печати.

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

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