¿Cómo dibujar una forma como archivos de archivos?

¿Cómo dibujar una forma como archivos de archivos?

¿Cómo dibujar una forma como esta usando TikZ?ingrese la descripción de la imagen aquí

Respuesta1

ingrese la descripción de la imagen aquí

Sección102.5.3 Comando para declarar nuevas formasdel manual pgf contiene un ejemplo declarando una documentforma similar a la que usted solicitó. Agregar double copy shadowa esta forma le da el resultado deseado.

El código (ajusta la configuración según tus necesidades):

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shadows}

\makeatletter
\pgfdeclareshape{document}{
\inheritsavedanchors[from=rectangle] % this is nearly a rectangle
\inheritanchorborder[from=rectangle]
\inheritanchor[from=rectangle]{center}
\inheritanchor[from=rectangle]{north}
\inheritanchor[from=rectangle]{south}
\inheritanchor[from=rectangle]{west}
\inheritanchor[from=rectangle]{east}
% ... and possibly more
\backgroundpath{% this is new
% store lower right in xa/ya and upper right in xb/yb
\southwest \pgf@xa=\pgf@x \pgf@ya=\pgf@y
\northeast \pgf@xb=\pgf@x \pgf@yb=\pgf@y
% compute corner of ‘‘flipped page’’
\pgf@xc=\pgf@xb \advance\pgf@xc by-7.5pt % this should be a parameter
\pgf@yc=\pgf@yb \advance\pgf@yc by-7.5pt
% construct main path
\pgfpathmoveto{\pgfpoint{\pgf@xa}{\pgf@ya}}
\pgfpathlineto{\pgfpoint{\pgf@xa}{\pgf@yb}}
\pgfpathlineto{\pgfpoint{\pgf@xc}{\pgf@yb}}
\pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@yc}}
\pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@ya}}
\pgfpathclose
% add little corner
\pgfpathmoveto{\pgfpoint{\pgf@xc}{\pgf@yb}}
\pgfpathlineto{\pgfpoint{\pgf@xc}{\pgf@yc}}
\pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@yc}}
\pgfpathlineto{\pgfpoint{\pgf@xc}{\pgf@yc}}
}
}
\makeatother

\begin{document}

\begin{tikzpicture}

\node[
  shape=document,
  double copy shadow={
    shadow xshift=-0.5ex,
    shadow yshift=-0.5ex
  },
  draw,
  fill=white,
  line width=1pt,
  text width=1cm,
  minimum height=1.7cm
  ] {};
\end{tikzpicture}

\end{document}

Si esto se va a utilizar muchas veces, puede definir un estilo para simplificar el código.

Respuesta2

Aquí hay una solución. Si quieres reutilizarlo muchas veces puedes ponerlo en un archivo pic.

\usetikzlibrary{shadings}
\usetikzlibrary{shadows}

\begin{tikzpicture}
  \foreach \i in {1,2,3} {
    \begin{scope}[shift={(.2*\i,.2*\i)}]
      \draw[bottom color=black!7, top color=white, drop shadow={shadow xshift=-.4ex}]
        (0,0) -- ++(3,0) -- ++(0,3)  -- ++(-1,1) -- ++(-2,0) -- cycle;
      \draw (3,3) -| (2,4);
    \end{scope}
  }
\end{tikzpicture}

ingrese la descripción de la imagen aquí

información relacionada