Wie zeichnet man mit TikZ eine solche Form?
Antwort1
Abschnitt102.5.3 Befehl zum Deklarieren neuer Formendes PGF-Handbuchs enthält ein Beispiel, das eine document
Form deklariert, die der von Ihnen angeforderten Form ähnelt. Wenn Sie double copy shadow
dieser 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}