Coordenada de segunda marca en decoración en postacción no reconocida

Coordenada de segunda marca en decoración en postacción no reconocida

En decoración no se reconoce la coordenada de la segunda marca:

  \draw[thick,red,zigzag,postaction={
    decoration={
        markings,
        mark=at position 0.7 with \coordinate (x);
        mark=at position 0.5 with \coordinate (z); %unable to recognize z
    },
    decorate
  }] (-2,0) coordinate(a) -- (2,0) coordinate(b);

El MWE es el siguiente:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations.pathmorphing}
\usetikzlibrary{decorations.markings}
\usetikzlibrary{calc}
\usetikzlibrary{positioning}
\tikzset{zigzag/.style={decorate,decoration=zigzag}}
\begin{document}
\begin{tikzpicture}
  \coordinate (c) at (0,-2);
  \coordinate (d) at (4,-2);
  \coordinate (e) at (2,-4);
  \draw[thick,red,zigzag,postaction={
    decoration={
        markings,
        mark=at position 0.7 with \coordinate (x);
        mark=at position 0.5 with \coordinate (z); %unable to recognize z
    },
    decorate
  }] (-2,0) coordinate(a) -- (2,0) coordinate(b);

  \draw[thick,fill=blue!20] (c) -- (b) -- (d) -- (e) -- cycle;
  \draw[thick,postaction={
    decoration={
        markings,
        mark = at position 0.7 with \coordinate (y);
    },
    decorate
  }] (a) -- (c);
  \draw[thick,red,dashed] (x) -- (y);

  \node[above = 10ex of z,red] (sn) {singularity};
\end{tikzpicture}
\end{document} 

Cuando compilo este código usando PDFLaTeX, obtengo lo siguiente:

! Package pgf Error: No shape named z is known.

See the pgf package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.32   \node[above = 10ex of z,red]
                                    (sn) {singularity};
? 

Por favor guíame donde me estoy equivocando.

Respuesta1

Tienes que separar las opciones por coma. También es una buena idea poner argumentos complejos entre llaves.

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations.pathmorphing}
\usetikzlibrary{decorations.markings}
\usetikzlibrary{calc}
\usetikzlibrary{positioning}
\tikzset{zigzag/.style={decorate,decoration=zigzag}}
\begin{document}
\begin{tikzpicture}
  \coordinate (c) at (0,-2);
  \coordinate (d) at (4,-2);
  \coordinate (e) at (2,-4);
  \draw[thick,red,zigzag,postaction={
    decoration={
        markings,
        mark=at position 0.7 with {\coordinate (x);},
        mark=at position 0.5 with {\coordinate (z);},
    },
    decorate
  }] (-2,0) coordinate(a) -- (2,0) coordinate(b);

  \draw[thick,fill=blue!20] (c) -- (b) -- (d) -- (e) -- cycle;
  \draw[thick,postaction={
    decoration={
        markings,
        mark = at position 0.7 with \coordinate (y);
    },
    decorate
  }] (a) -- (c);
  \draw[thick,red,dashed] (x) -- (y);

  \node[above = 10ex of z,red] (sn) {singularity};
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

información relacionada