Faça uma linha de arco-íris

Faça uma linha de arco-íris

Encontrei um modelo para uma página de título: https://www.latetemplates.com/template/vertical-line-title-page

Há um trecho de código que desenha uma linha vertical:

\rule{1pt}{\textheight} % Vertical line

Eu descobri que posso adicionar cores da seguinte maneira:

\textcolor{mycolor}{\rule{3pt}{\textheight}}

No entanto, isso torna a linha apenas de uma cor. O título do meu livro é "The Rainbow Book", então eu gostaria que a linha fosse... bem - um arco-íris. Existe uma maneira simples, por exemplo, de definir minha cor como um gradiente ou algo assim?

Responder1

Ainda não há gradiente, apenas um monte de linhas verticais com cores mudando de redpara violetem \foreachloop.

\documentclass{article}
\usepackage[named]{xcolor}
\usepackage{pgffor}
\begin{document}
\foreach \x in {red,orange,yellow,green,blue,violet} {%
\textcolor{\x}{\rule{3pt}{\textheight}}%
}
\end{document}

E outra versão com TikZ e um sombreamento vertical com \pgfdeclareverticalshading, retirado do manual pgf (ver página 1088 da versão atual do manual). Começa do vermelho ao azul, mas o sombreamento é diferente, por isso shading angle=270é usado para girar a ordem da direção, caso contrário, use shading angle=90. Se desejar um sombreamento vertical, omita a shading anglelegenda.

\documentclass{article}
\usepackage[named]{xcolor}
\usepackage{pgffor}
\usepackage{tikz}
\usetikzlibrary{shadings}

\pgfdeclareverticalshading{rainbow}{100bp}
{color(0bp)=(red); color(25bp)=(red); color(35bp)=(yellow);
color(45bp)=(green); color(55bp)=(cyan); color(65bp)=(blue);
color(75bp)=(violet); color(100bp)=(violet)}
\begin{document}
\begin{tikzpicture}
\shade[shading=rainbow,shading angle=270] (0,0) rectangle (5cm,\textheight);
\end{tikzpicture}
\end{document}

insira a descrição da imagem aqui

informação relacionada