Wie zeichne ich eine Form wie Dateiarchive?

Wie zeichne ich eine Form wie Dateiarchive?

Wie zeichnet man mit TikZ eine solche Form?Bildbeschreibung hier eingeben

Antwort1

Bildbeschreibung hier eingeben

Abschnitt102.5.3 Befehl zum Deklarieren neuer Formendes PGF-Handbuchs enthält ein Beispiel, das eine documentForm deklariert, die der von Ihnen angeforderten Form ähnelt. Wenn Sie double copy shadowdieser Form ein hinzufügen, erhalten Sie das gewünschte Ergebnis.

Der Code (passen Sie die Einstellungen Ihren Bedürfnissen an):

\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}

Wenn dies häufig verwendet werden soll, können Sie einen Stil definieren, um den Code zu vereinfachen.

Antwort2

Hier ist eine Lösung. Wenn Sie es mehrmals wiederverwenden möchten, können Sie es in ein packen 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}

Bildbeschreibung hier eingeben

verwandte Informationen