diff options
Diffstat (limited to 'macros/latex/contrib/shadowtext/shadowtext.sty')
-rw-r--r-- | macros/latex/contrib/shadowtext/shadowtext.sty | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/macros/latex/contrib/shadowtext/shadowtext.sty b/macros/latex/contrib/shadowtext/shadowtext.sty new file mode 100644 index 0000000000..a6be493235 --- /dev/null +++ b/macros/latex/contrib/shadowtext/shadowtext.sty @@ -0,0 +1,80 @@ +%% This is file `shadowtext.sty', +%% Copyright 2012 Yori Zwols +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is Y. Zwols. +% +% +% Version history +% v0.3: - Fixed some errors in the documentation +% - Colors specified in \shadowcolor should now be specified using +% color names, not RGB values. The command for specifying colors +% using RGB values has been renamed to \shadowrgb. +% (I apologize for the backwards incompatibility). +% - The base line of the text is now correct. +% + +\NeedsTeXFormat{LaTeX2e}[1996/12/01] +\ProvidesPackage{shadowtext} + [2012/05/07 v0.3 Shadow Text] + +\RequirePackage{color} + +\makeatletter + + + +\newlength\st@shadowoffsetx +\newlength\st@shadowoffsety + +\st@shadowoffsetx=1pt +\st@shadowoffsety=1pt + +\newcommand\shadowoffset[1]{\setlength\st@shadowoffsetx{#1}\setlength\st@shadowoffsety{#1}} +\newcommand\shadowoffsetx[1]{\setlength\st@shadowoffsetx{#1}} +\newcommand\shadowoffsety[1]{\setlength\st@shadowoffsety{#1}} +\newcommand\shadowcolor[1]{\def\st@shadowcolor{#1}} +\newcommand\shadowrgb[1]{\definecolor{st@shadowcolorrgb}{rgb}{#1}\shadowcolor{st@shadowcolorrgb}} + +\shadowrgb{0.66,0.66,0.66} + +\newlength\st@temp@width +\newlength\st@temp@height +\newlength\st@pic@width +\newlength\st@pic@height + +\newcommand\shadowtext[1]% +{% + \begingroup% + \settowidth{\st@temp@width}{#1}% + \settoheight{\st@temp@height}{#1}% + \setlength{\st@pic@width}{\st@temp@width}% + \setlength{\st@pic@height}{\st@temp@height}% + \addtolength{\st@pic@width}{\st@shadowoffsetx}% + \addtolength{\st@pic@height}{\st@shadowoffsety}% + % + \edef\num@tw{\strip@pt\st@temp@width}% + \edef\num@th{\strip@pt\st@temp@height}% + \edef\num@pw{\strip@pt\st@pic@width}% + \edef\num@ph{\strip@pt\st@pic@height}% + \edef\num@offsetx{\strip@pt\st@shadowoffsetx}% + \edef\num@offsety{\strip@pt\st@shadowoffsety}% + \raisebox{-\st@shadowoffsety}{ + \begin{picture}(\num@pw,\num@ph)(0,0) + \put(\num@offsetx,0){\makebox(\num@tw,\num@th)[tl]{\color{\st@shadowcolor}\def\color##1{}\ignorespaces #1}} + \put(0,\num@offsety){\makebox(\num@tw,\num@th)[tl]{\ignorespaces #1}} + \end{picture}}% + \endgroup% + \ignorespaces% +} + +\makeatother |