Eine Abbildung soll eine Skala zeigen, die teilweise durch einen Rahmen verdeckt wird, der wiederum durch ein Fenster den Blick auf die Skala freigibt. Gedacht ist dabei an einen Messschieber (Schieblehre), dessen weitere Gestaltung hier nicht relevant ist. Meine Frage dazu ist, wie ich die Skala teilweise verdecken kann, sodass sie nur innerhalb des Fensters sowie außerhalb des Rahmens sichtbar ist. Grundlegender Code (Skala wird nicht verdeckt): \documentclass[border=10pt]{standalone} \usepackage{tikz} \begin{document} \begin{tikzpicture} % Skala (hier in vereinfachter Form) \foreach \i in {0,...,50} {\draw (\i*1mm,-2mm)--(\i*1mm,3mm);} % Rahmen, der über der Skala liegt \draw (6mm,-5mm) rectangle (34mm,15mm); % Fenster \draw[rounded corners=5mm] (10mm,0) rectangle (30mm,10mm); \end{tikzpicture} \end{document} Meine Lösungsidee wäre es, die Fläche zwischen der Rahmenlinie und dem Fenster weiß einzufärben, doch wird dadurch auch das gesamte Fenster verdeckt. \documentclass[border=10pt]{standalone} \usepackage{pgfplots} \pgfplotsset{compat=newest} \usetikzlibrary{pgfplots.fillbetween} \begin{document} \begin{tikzpicture} % Skala (hier in vereinfachter Form) \foreach \i in {0,...,50} {\draw (\i*1mm,-2mm)--(\i*1mm,3mm);} % Rahmen, der über der Skala liegt \draw[name path=rahmen] (6mm,-5mm) rectangle (34mm,15mm); % Fenster \draw[rounded corners=5mm,name path=fenster] (10mm,0) rectangle (30mm,10mm); \tikzfillbetween[of=rahmen and fenster] {white}; \end{tikzpicture} \end{document} gefragt 07 Sep '21, 20:59 Cletus |
Dafür reicht TikZ. Du kannst entweder die Beispiel mit \documentclass[border=10pt]{standalone} \usepackage{tikz} \begin{document} \begin{tikzpicture} % Skala (hier in vereinfachter Form) \foreach \i in {0,...,50} {\draw (\i*1mm,-2mm)--(\i*1mm,3mm);} % Rahmen mit Fenster \draw[fill=white,even odd rule] % Rahmen, der über der Skala liegt (6mm,-5mm) rectangle (34mm,15mm) % Fenster {[rounded corners=5mm] (10mm,0) rectangle (30mm,10mm)} ; \end{tikzpicture} \end{document} Beispiel mit voreingestellter \documentclass[border=10pt]{standalone} \usepackage{tikz} \begin{document} \begin{tikzpicture} % Skala (hier in vereinfachter Form) \foreach \i in {0,...,50} {\draw (\i*1mm,-2mm)--(\i*1mm,3mm);} % Rahmen mit Fenster \draw[fill=white] % Rahmen, der über der Skala liegt (6mm,-5mm) -- ++(28mm,0mm) -- ++(0mm,20mm) -- ++(-28mm,0mm) -- cycle % Fenster {[rounded corners=5mm] (30mm,10mm)-- ++(0mm,-10mm) -- ++(-20mm,0mm) -- +(0mm,10mm) -- cycle} ; \end{tikzpicture} \end{document} beantwortet 08 Sep '21, 09:18 esdd |