2

I am trying to draw some snake decorations in a box using tikz library but couldn't achieve what I want. Why there is mis-alignment between the actual markings and the snakes. I am using the following code for this.

\documentclass[a4paper]{article}
\usepackage{tikz}
\usetikzlibrary{shapes}
\usetikzlibrary{decorations.pathmorphing, shapes, arrows, shadows, positioning}

\newcommand{\tikzmark}[2]{%
 \tikz[overlay,remember picture] \node[text=black,
       inner sep=2pt] (#1) {#2};}

 \begin{document}

 \begin{figure}[ht]
 \centering
 \tikzstyle{box}=[draw, fill=pink!10, text centered, drop shadow]
 \begin{tikzpicture}[overlay, remember picture]
 \node (main) [box, minimum height=20em, minimum width=10em,align=left] 
 {
  \tikzmark{a}{}xxxxxxxx\tikzmark{b}{}\\
  \tikzmark{c}{}xxxxxxxx\tikzmark{d}{}\\
 };

 \draw [-,decorate,decoration=snake] (a.center) -- (b.center);
 \draw [-,decorate,decoration=snake] (c.center) -- (d.center);
 \end{tikzpicture}
 \end{figure}
 \end{document}
Shahzad
  • 1,297
  • 14
  • 19

1 Answers1

1

May be you have to adjust the baseline in

\newcommand{\tikzmark}[2]{%
 \tikz[baseline=-0.5ex,overlay,remember picture] \node[text=black,
       inner sep=2pt] (#1) {#2};}

to get

enter image description here

\documentclass[a4paper]{article}
\usepackage{tikz}
\usetikzlibrary{shapes}
\usetikzlibrary{decorations.pathmorphing, shapes, arrows, shadows, positioning}

\newcommand{\tikzmark}[2]{%
 \tikz[baseline=-0.5ex,overlay,remember picture] \node[text=black,
       inner sep=2pt] (#1) {#2};}

 \begin{document}

 \begin{figure}[ht]
 \centering
 \tikzstyle{box}=[draw, fill=pink!10, text centered, drop shadow]
 \begin{tikzpicture}[overlay, remember picture]
 \node (main) [box, minimum height=20em, minimum width=10em,align=left]
 {
  \tikzmark{a}{}xxxxxxxx\tikzmark{b}{}\\
  \tikzmark{c}{}xxxxxxxx\tikzmark{d}{}\\
 };

 \draw [-,decorate,decoration=snake] (a.center) -- (b.center);
 \draw [-,decorate,decoration=snake] (c.center) -- (d.center);
 \end{tikzpicture}
 \end{figure}
 \end{document}