更改阴影标题中的文本颜色

更改阴影标题中的文本颜色

我正在尝试通过修改代码来为标题添加一些阴影PGF/Beamer 中的文本阴影

考虑 MWE

\documentclass{article}
\usepackage{tikz}
\usepackage{xcolor}

\newcommand\titleshading[3]{
    \newcommand\xoffset{0.3}
    \newcommand\yoffset{-0.25}
    % Blur
    \foreach \x in {-0.1,0.1} {
        \foreach \y in {-0.1,0.1} {         
            \node[blue!65!white] at (#1em+\xoffset em+\x em,#2em+\yoffset em+\y em) {
                \scalebox{2}{\Huge\texttt{#3}} 
            };
        }
    }

    % Main Shadow
    \node[blue!40!white] at (#1em+0.3em,#2em-0.2em) {
        \scalebox{2}{\Huge\texttt{#3}} 
    };
    \node at (#1em,#2em) {
        \scalebox{2}{\Huge\texttt{#3}} 
    };
}

\begin{document}
\begin{tikzpicture}[remember picture,overlay]   
    \titleshading{8}{0}{Book Title}
  % \titleshading{8}{0}{\textcolor{red}{Book Title}}
\end{tikzpicture} 
\end{document}

产生输出

在此处输入图片描述

此外,我想将标题中的黑色文本的颜色改为红色。

但是,当我\titleshading{8}{0}{Book Title}用替换时\titleshading{8}{0}{\textcolor{red}{Book Title}},一切都变成了红色:

在此处输入图片描述

问题:我如何才能将标题中的文本颜色指定为红色,同时保留浅蓝色阴影?此外,如果有人知道一种更简单的方法来制作这个标题,我将不胜感激。

谢谢。

答案1

宏的第三个参数\titleshading用于主文本和阴影;如果您在那里为文本着色,那么您将在任何地方更改它。

仅更改宏中主文本的颜色:

\documentclass{article}
\usepackage{tikz}
\usepackage{xcolor}

\newcommand\titleshading[3]{
    \newcommand\xoffset{0.3}
    \newcommand\yoffset{-0.25}
    % Blur
    \foreach \x in {-0.1,0.1} {
        \foreach \y in {-0.1,0.1} {         
            \node[blue!65!white] at (#1em+\xoffset em+\x em,#2em+\yoffset em+\y em) {
                \scalebox{2}{\Huge\texttt{#3}} 
            };
        }
    }

    % Main Shadow
    \node[blue!40!white] at (#1em+0.3em,#2em-0.2em) {
        \scalebox{2}{\Huge\texttt{#3}} 
    };
    \node[red] at (#1em,#2em) {% <-- here put the color you like 
        \scalebox{2}{\Huge\texttt{#3}} 
    };
}

\begin{document}
\begin{tikzpicture}[remember picture,overlay]   
    \titleshading{8}{0}{Book Title}
\end{tikzpicture} 
\end{document}

在此处输入图片描述

做类似事情的一个更简单的方法可能是使用包shadowtext,这里不需要加载 TikZ:

\documentclass{article}
\usepackage{xcolor}
\usepackage{graphicx}

\usepackage{shadowtext}
\shadowoffset{2.5pt}
\shadowcolor{blue!65!white}

\newcommand\titleshading[1]{\shadowtext{\color{red}\Huge\ttfamily\scalebox{2}{#1}}}

\begin{document}
\titleshading{Book Title}
\end{document}

在此处输入图片描述

相关内容