我想合并两个对象,以便只显示外边框。此外,我想多次重复使用第二个对象。请参阅我的示例代码:
\documentclass[class=tufte-book]{standalone}
\usepackage{tikz,pgfplots}
\usetikzlibrary{colorbrewer}
\begin{document}
\begin{tikzpicture}
\newsavebox{\test}
\savebox{\test}{
\begin{tikzpicture}
\draw[fill=PuBuGn-9-1] (-1, 0.0) -- (-1,-1) -- (1,-1) -- (1,0);
\end{tikzpicture}
}
\draw[fill=PuBuGn-9-1] (-1,-2) -- (3, -1) -- (4, 2) -- (2,3) -- (-1,-2);
\node[rotate=60] at (3,-0.5){\usebox{\test}};
\end{tikzpicture}
\end{document}
这段代码的结果是这张图片(两个对象的边框相同,由于 jpeg 压缩而看起来不同):
但我希望得到这样的结果:
可以吗?因为计算横截面积会很困难...非常感谢。
答案1
这是一个想法(先画然后填充)。
\documentclass{standalone}
\usepackage{tikz}
\tikzset{
path1/.style={
insert path={(-1,-2) -- (3, -1) -- (4, 2) -- (2,3) -- (-1,-2)}
},
path2/.style={
insert path={(-1, 0.0) -- (-1,-1) -- (1,-1) -- (1,0)}
}
}
\begin{document}
\begin{tikzpicture}
% first draw
\begin{scope}[thick]
\draw[path1];
\draw[rotate=60, shift={(1,-2.4)}][path2];
\end{scope}
% then fill
\begin{scope}[red!30]
\fill[path1];
\fill[rotate=60, shift={(1,-2.4)}][path2];
\end{scope}
\end{tikzpicture}
\end{document}