[Tex/LaTex] Signature over printed name

letters

I am writing a letter using newlfm, which implements the typeset signature with this code:

\namefrom{\textbf{Juan de la Cruz}\\
          "Expert" TeXnician\\
          Telephone: \printphonefrom\\
          E-mail: \printemailfrom}

How do I add my (scanned) signature over my printed name? I want it to look like it was actually signed by hand. I wouldn't want to use jpg because it doesn't support transparency. Probably png or other format with transparency.

I might as well print it, sign it, then scan it back; but then everything will be treated as graphics (e.g. text can't be selected).

Best Answer

Here is a starting point:

\usepackage{graphicx}
\newcommand{\signature}
  {\makebox[0pt][l]{\raisebox{\baselineskip}[0pt][0pt]{\includegraphics{signature}}}}

Put \signature right in front of your name. I haven't tested this with newflm. If it's moving the argument around, you may need to use \DeclareRobustCommand instead of \newcommand. You may also need to add some scaling argument(s) to the \includegraphics, and adjust the first argument to \raisebox.

Definitely use png for this, if you are using a pdf backend. If you want transparency, think you get the best result by using the scanned signature as a mask on an all black picture. In other words, the scanned signature becomes the alpha channel of a graphic that has all its pixels black. Or blue, if you prefer. Otherwise, you tend to get a light coloured fringe around the lines of the signature. This is not too hard to achieve with gimp or ImageMagick. Using the latter, here is a quick recipe (assume your scanned signature is black on white):

convert -negate -background blue -alpha Shape scanned.png signature.png