如何为所有章节标题设置颜色渐变?

如何为所有章节标题设置颜色渐变?

如何将所有章节的文本颜色设置为以下渐变?

linear-gradient(90deg, rgba(254,122,58,1) 0%, rgba(218,60,152,1) 100%)

乍一看,显而易见的选择是gradient-text包裹,但它明确指出:

{⟨text⟩}是您希望具有渐变颜色的文本。请注意,如果此参数填充了无法扩展为纯文本的标记,则此命令很可能不会按预期输出内容。

这使得使用必要的命令\thechapter(如我尝试过但没有成功)变得不可能。

ChatGPT 向我推荐了以下代码,尽管它不会打印实际的章节标题,而只会打印文本\protect\rule(不过渐变很好)。

\documentclass{scrbook}

\usepackage{titlesec}
\usepackage{color}
\usepackage{tikz}
\usepackage{gradient-text}

\titleformat{\chapter}[display]
{\normalfont\huge\bfseries}{
    \begin{center}
        \begin{tikzpicture}
            \node[inner sep=0pt, outer sep=0pt] (gradient) {
                \gradientRGB{\rule{8cm}{2cm}}{254,122,58}{218,60,152}
            };
            \node[anchor=west, text=white] at (gradient.west) {\thechapter};
        \end{tikzpicture}
    \end{center}
}{20pt}{\Huge}

\begin{document}

\chapter{Chapter One}

blablabla

\end{document}

还有其他选择吗?谢谢!

答案1

从您的问题中无法清楚您到底想要什么,但也许是这样的?

\documentclass{book}
\usepackage{gradient-text}
\usepackage{titlesec}

\newcommand{\mygradient}[1]{\gradientRGB{#1}{254,122,58}{218,60,152}}

\titleformat{\chapter}[display]
    {\normalfont\huge\bfseries}
    {\ExpandArgs{x}\mygradient{\chaptertitlename\space\thechapter}}
    {20pt}
    {\Huge\ExpandArgs{x}\mygradient}

\begin{document}

\chapter{Some title}

\end{document}

在此处输入图片描述

在的参数中可以放入的内容有一些限制\chapter,但是诸如此类简单的东西\the<counter>应该扩展为文本。

相关内容