Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

This two questions have been answered sepatly it should be interesting to be able to shade a region using previously named path. Is there a possibility to combine this two macros ?

enter image description here

\documentclass[tikz]{standalone}
\usetikzlibrary{intersections}

%%%% Tikz: shading region bounded by several curves
%%%% thanks to Qrrbrbirlbel
%%%% http://tex.stackexchange.com/questions/140312/tikz-shading-region-bounded-by-several-curves
\tikzset{
  saveuse path/.code 2 args={
    \pgfkeysalso{#1/.style={insert path={#2}}}%
    \global\expandafter\let\csname pgfk@\pgfkeyscurrentpath/.@cmd%
    \expandafter\endcsname
      % not optimal as it is now global through out the document
    \csname pgfk@\pgfkeyscurrentpath/.@cmd\endcsname
    \pgfkeysalso{#1}},/pgf/math set seed/.code=\pgfmathsetseed{#1}
  }

%%%% Calling a previously named path in tikz
%%%% thanks to Andrew Stacey
%%%% http://tex.stackexchange.com/questions/26382/calling-a-previously-named-path-in-tikz
\makeatletter
\tikzset{
  use path for main/.code={%
    \tikz@addmode{%
      \expandafter\pgfsyssoftpath@setcurrentpath\csname tikz@intersect@path@name@#1\endcsname
    }%
  },
  use path for actions/.code={%
    \expandafter\def\expandafter\tikz@preactions\expandafter{\tikz@preactions\expandafter\let\expandafter\tikz@actions@path\csname tikz@intersect@path@name@#1\endcsname}%
  },
  use path/.style={%
    use path for main=#1,
    use path for actions=#1,
  }
}
\makeatother

\begin{document}

\begin{tikzpicture}

\path[name path={Rond}] (0,0) circle (.5) ;
\draw[use path=Rond] ;

\begin{scope}[overlay]
\clip[saveuse path={A}{(0,0) circle (1.5)}] [preaction={fill=red!30}] ;
\path[saveuse path={B}{(0,0) circle (1 and 2)},dashed] [draw,preaction={fill=blue!30}];
\end{scope}

\path[A,B] ;

\end{tikzpicture}
\end{document}
share|improve this question

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.