Lifted or curved drop shadow

Here's another approach using tcolorbox with version 3.05 (2014/05/28) or newer. The lifted shadow of the old answer below has become an integrated feature (with different implementation) and is available by the option drop lifted shadow, drop small lifted shadow, or drop large lifted shadow:

\documentclass{article}

\usepackage[many]{tcolorbox}
\usepackage{lipsum}

\begin{document}

\tcbox[enhanced,size=fbox,arc=0pt,outer arc=0pt,colback=blue!5!white,
  before=\centering,colframe=blue!15!white,drop small lifted shadow]
  {A small box with a small shadow}

\bigskip

\begin{tcolorbox}[enhanced,colback=white,colframe=black!50!white,boxrule=1pt,
  arc=0pt,outer arc=0pt,drop lifted shadow]
\lipsum[2]
\end{tcolorbox}

\bigskip

\begin{tcolorbox}[enhanced,colback=yellow!5!white,colframe=black!50!yellow,boxrule=1pt,
  drop lifted shadow]
\lipsum[2]
\end{tcolorbox}

\bigskip

\begin{tcolorbox}[enhanced,colback=red!5!white,colframe=black!50!red,boxrule=1pt,
  arc=0pt,outer arc=0pt,drop large lifted shadow]
\lipsum[2]
\end{tcolorbox}

\end{document}

enter image description here

Old version of the answer (valid for tcolorbox older than version 3.05):

The following code adds some new shadow features drop lifted shadow and drop heavy lifted shadow to tcolorbox.

\documentclass{article}

\usepackage[many]{tcolorbox}% until version 3.04
\usepackage{lipsum}

\makeatletter

\def\tcb@shadow@lifted#1#2#3#4{%
  \path[fill,rounded corners=\tcb@outer@arc,#4]
       ([xshift=#1+#3,yshift=#2+#3]frame.south west)
    .. controls ([yshift=\dimexpr#3]frame.south) ..
       ([xshift=-#1-#3,yshift=#2+#3]frame.south east)
    -- ([xshift=-#1-#3,yshift=#2-#3]frame.north east)
    -- ([xshift=#1+#3,yshift=#2-#3]frame.north west)
    -- cycle;
}

\tcbset{
  lifted shadow/.style args={#1#2#3#4}{shad@w app={%
    \begin{scope}[#4]%
      \tcb@shadow@lifted{#1}{#2}{\dimexpr-4\dimexpr#3}{opacity=0.01}%
      \tcb@shadow@lifted{#1}{#2}{\dimexpr-3\dimexpr#3}{opacity=0.02}%
      \tcb@shadow@lifted{#1}{#2}{\dimexpr-2\dimexpr#3}{opacity=0.04}%
      \tcb@shadow@lifted{#1}{#2}{\dimexpr-#3}{opacity=0.07}%
      \tcb@shadow@lifted{#1}{#2}{0pt}{opacity=0.11}%
      \tcb@shadow@lifted{#1}{#2}{\dimexpr+#3}{opacity=0.11}%
      \tcb@shadow@lifted{#1}{#2}{\dimexpr+2\dimexpr#3}{opacity=0.07}%
      \tcb@shadow@lifted{#1}{#2}{\dimexpr+3\dimexpr#3}{opacity=0.04}%
      \tcb@shadow@lifted{#1}{#2}{\dimexpr+4\dimexpr#3}{opacity=0.02}%
      \tcb@shadow@lifted{#1}{#2}{\dimexpr+5\dimexpr#3}{opacity=0.01}%
  \end{scope}}},%
  drop lifted shadow/.style={lifted shadow={1.5mm}{-1.5mm}{0.12mm}{#1}},
  drop lifted shadow/.default={black!50!white},%
  drop heavy lifted shadow/.style={lifted shadow={2mm}{-3mm}{0.16mm}{#1}},
  drop heavy lifted shadow/.default={black!50!white},%
}

\makeatother

\begin{document}

\begin{tcolorbox}[enhanced,colback=white,colframe=black!50!white,boxrule=1pt,
  arc=0pt,outer arc=0pt,drop lifted shadow]
\lipsum[2]
\end{tcolorbox}

\bigskip

\begin{tcolorbox}[enhanced,colback=yellow!5!white,colframe=black!50!yellow,boxrule=1pt,
  drop lifted shadow]
\lipsum[2]
\end{tcolorbox}

\bigskip

\begin{tcolorbox}[enhanced,colback=red!5!white,colframe=black!50!red,boxrule=1pt,
  arc=0pt,outer arc=0pt,drop heavy lifted shadow]
\lipsum[2]
\end{tcolorbox}

\end{document}

enter image description here


The following approach is a compromise between simple interface and code complexity. The result looks good imho.

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{backgrounds, calc, shadows, shadows.blur}

\newcommand\addcurlyshadow[2][]{
    % #1: Optional aditional tikz options
    % #2: Name of the node to "decorate"
    \begin{pgfonlayer}{background}
        \path[blur shadow={shadow xshift=0pt, shadow yshift=0pt, shadow blur steps=6}, #1]
        ($(#2.north west)+(.3ex,-.5ex)$)
        -- ($(#2.south west)+(.5ex,-.7ex)$)
        .. controls ($(#2.south)!.3!(#2.south west)$) .. (#2.south)
        .. controls ($(#2.south)!.3!(#2.south east)$) .. ($(#2.south east)+(-.5ex,-.7ex)$)
        -- ($(#2.north east)+(-.3ex, -.5ex)$)
        -- cycle;
    \end{pgfonlayer}
}

\begin{document}
\begin{tikzpicture}
    \node[draw=black!40, fill=white, rectangle, minimum width=3cm, minimum height=1cm]
       (example) {Test};
    \addcurlyshadow{example}
\end{tikzpicture}\end{document}

Results in:

Result


For fun, I ported @Thomas's solution to Metapost + ConTeXt. To use it, download t-backgrounds and put it in a place where ConTeXt can find it (either the local directory or somewhere in $TEXMF/tex/context/ directory.

The module provides two overlays liftedshadow:medim and liftedshadow:big, which can be used a background in any command that accepts background key (for example, \framed or \startframedtext). Here is an example usage:

\usemodule[backgrounds]

\definecolor[darkred][r=0.75]
\definecolor[lightred][r=1,g=0.95,b=0.95]
\definecolor[lightblue][r=0.95,g=0.95,b=1]  

\defineframedtext
  [shadowedtext]
  [
    framecolor=darkred,
    background={liftedshadow:big,color},
    backgroundcolor=lightred,
    rulethickness=1pt,
    width=broad,
  ]

\defineframed
  [shadowed]
  [
    frame=off,
    background={liftedshadow:medium,color},
    backgroundcolor=lightblue,
    width=fit,
  ]

\usemodule[visual]

\starttext

\midaligned{\shadowed{\fakewords{4}{6}}}

\startshadowedtext
  \fakewords{40}{50}
\stopshadowedtext

\stoptext

which gives

enter image description here

More details on how to change the shadow color and shadow size are explained in this blog post.