# How to make a glowing text?

I'd like to achieve such a result, like when you apply a glowing effect to a text in an image editor.

As I am already using tikz package in my document, it would be prefferable to use tikz's library.

I found out, that there is a shadows.blur one which would create a soft shadow. Then I would shift it so that it looks like a glowing effect.

However, unfortunately, this attempt makes a rectangle rather than the text's shadow.

\documentclass[12pt]{article}

\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
\end{tikzpicture}

\end{document}


• You could try tikz shadow or contour package. tex.stackexchange.com/questions/227375/… May 23, 2020 at 21:05
• @rakatex could you tell more about shadows tiks library? May 23, 2020 at 21:26
• This link might be of good help to you. tex.stackexchange.com/questions/184897/… May 23, 2020 at 21:28
• @rakatex unfortunately, the author attaches the image with the desired smooth shadow, but doesn't provide the code and asks rather about embossing. May 23, 2020 at 21:34
• Is there a way to do it also on pictures ? In Word, I can insert a picture, say a PNG with alpha layer, right click, Format Picture..., Effects (pentagon), Glow (presets), it will follow the contour of the picture (orange) not just create a rectangle around it (green). ![enter image description here](i.stack.imgur.com/dI63h.png) Oct 16, 2020 at 16:23

You could use a combination of tikz and contour package.

\documentclass[12pt,border=12pt]{standalone}
\usepackage[outline]{contour}
\usepackage{tikz}
\usetikzlibrary{decorations.text}
\begin{document}
\begin{tikzpicture}
\def\mycontour#1{\textcolor{black}{\contour{green!20}{#1}}}
\node (1) at (0cm, 0cm) {};
\node (2) at (2cm,0cm) {};
\draw[
decoration={text effects along path,
text={Text},
text align=center,
text effects/.cd,
text along path, scale text to path,
characters={font=\Huge,character command=\mycontour},
},decorate,
]  (1) to (2);
\end{tikzpicture}
\end{document}


or just

\documentclass{article}
\usepackage{xcolor}
\usepackage[outline]{contour}
\contourlength{1pt}
\contournumber{27}
\newcommand{\mycontour}[2][green!20]{\textcolor{black}{\contour{#1}{#2}}}
\begin{document}
\Huge\mycontour{Text}
\end{document}


• @Schrödinger's cat, yes. I have edited the answer. May 23, 2020 at 21:26
• @Schrödinger's cat, sometimes its not working without decorations.text. Could you tell me why? May 23, 2020 at 21:32
• @Schrödinger'scat yes, your code is more simpler and straightforward. \documentclass[12pt,border=12pt]{standalone} \usepackage{xcolor} \usepackage[outline]{contour} \newcommand{\mycontour}[2][green!20]{\textcolor{black}{\contour{#1}{#2}}} \begin{document} \Huge\mycontour{Text} \end{document} May 23, 2020 at 21:43
– user194703
May 23, 2020 at 21:44
• I just added it. Then you do not need to reintroduce the line breaks.
– user194703
May 23, 2020 at 21:48

Just one step further from the previous answer. This one uses the idea of Faded or blurred lines

\documentclass{article}
\usepackage{tikz}
\usepackage[outline]{contour}

\begin{document}

\Huge

Assume pdf\TeX

\def\exText{LIPSUM}

\makeatletter

Reverse engineer the contour package.

Here is an MWE
\leavevmode
\begingroup
\color{green}%
\con@coloroff
\pdfliteral{%
q % enter a scope
1 j % Set line join style
1 J % Set line cap style
1 Tr % Set text rendering mode
2.5 w % Set line width (in PostScript Point)
}%
\rlap{\exText}%
\pdfliteral{%
Q % leave the scope
}%
\endgroup
\mbox{\exText}

Now use TikZ.
\leavevmode
\pgfsys@beginscope% = pdf literal q
\pgfsetroundjoin% = 1 J
\pgfsetroundcap% = 1 j
\pdfliteral{1 Tr}% no pgf alternative
\foreach\ind in{10,...,1}{%
\pgfmathsetmacro\per{(11-\ind)*5}%
\color{green!\per}%
\pgfsetlinewidth{\ind/2}%
\rlap{\exText}%
}%
\pgfsys@endscope % = pdf literal Q
\exText

\makeatother

\end{document}


• Maybe, maybe not. I think that one can use the trick of superimposing relatively shifted characters for the contour, but there will be limits. I played some time ago with copy shadow and the problem was that it depends on the path whether it looks good. But yes, for these characters the results are good.
– user194703
May 24, 2020 at 6:49
• @Schrödinger'scat Also try this  Right arrows? \def\exText{$\rightarrow\Rightarrow$} \pdfliteral{q 1 j 1 J 1 Tr}\foreach\per in{5,10,...,50}{\color{green!\per}\pgfsetlinewidth{(50-\per)/10}\rlap{\exText}}\pdfliteral{Q}\exText  May 24, 2020 at 6:52
• I am always wondering why it is that asymptote and pstricks can access the path of glyphs but TikZ has such a hard time. I know your nice solutions of "decomposing the world in triangles" but I am always hoping that one day TikZ will know what the path for a glyph for an A, say, of a given point is. And as for your last point, can't one use copy shadow to do that for an arbitrary content? But yes, it looks good!
– user194703
May 24, 2020 at 6:53
• I have no idea why pstricks has access to so much things, this and z-sorting of 3D objects. Asymptote can do more because it's standalone. But pstricks...? I don't understand. May 24, 2020 at 6:55
• @geodude Like this? gist.github.com/Symbol1/625d06d848c441c28d3053e975172d5d Jun 4, 2021 at 18:13