Cadenas Tikz con un lado del nodo más a la izquierda, en negrita gruesa

Cadenas Tikz con un lado del nodo más a la izquierda, en negrita gruesa

Buenos dias a todos. De hecho, esta es la primera vez que escribo aquí, así que gracias a cualquiera que responda. Estoy escribiendo mi tesis universitaria y actualmente estoy estancado en dibujar una máquina de Turing. Lo que me gustaría hacer es algo como esto:

ingrese la descripción de la imagen aquí

Excepto que me gustaría tener el lado izquierdo del primer nodo (solo el lado izquierdo, no los 4 lados) muy grueso. Lo que he hecho hasta ahora es lo siguiente:

\begin{tikzpicture}
\edef\turingtapesize{0.7cm}
\tikzstyle{tape}=[draw,minimum size=\turingtapesize]
\tikzset{
    leftmostnode/.style={
        draw,minimum size=\turingtapesize,
        append after command={% <= for the leftside line of the leftward node
            \pgfextra{%
            \begin{pgfinterruptpath}
            \begin{pgfonlayer}[foreground]
                \draw[verythick] (\tikzlastnode.south west)--(\tikzlastnode.north west);
            \end{pgfonlayer}
            \end{pgfinterruptpath}
            }
        }
    }
}

% Drawing the tape itself
\begin{scope}[start chain=0 going right,node distance=0mm]
    \node[on chain=0,tape] (b)  {0};
    \node[left=of b,leftmostnode](a){1};
    \node[on chain=0,tape] (c)  {1};
    \node[on chain=0,tape] (d)  {0};
    \node[on chain=0,tape] (e)  {1};
    \node[on chain=0,tape] (f)  {0};
    \node[on chain=0,tape] (g)  {0};
    \node[on chain=0,tape] (h)  {1};
    \node[on chain=0,tape] (i)  {1};
    \node[on chain=0,tape] (l)  {$\sqcup$};
    \node[on chain=0,tape] (l)  {$\sqcup$};
    \node[on chain=0,tape] (l)  {$\sqcup$};
\end{scope}
\end{tikzpicture}

Pero me sale un error:

Lo sentimos, no se pudo encontrar la capa solicitada '['. ¿Quizás lo escribiste mal?.

\nodeleft=of b,nodo más a la izquierda {1};

¿Puedo preguntarle también cómo conseguir ese tipo de final de la cinta con "motosierra" (¿existe siquiera este término?)? Gracias, saludos;) Fuente:1 2

EDITAR Como lo sugirió moospit, solucioné el 'problema de espesor'. Ahora solo me queda crear esa línea irregular especial;)

EDIT2 Acabo de ver tu respuesta. Lo resolví de una manera ligeramente diferente. Publico debajo el código de toda la imagen tikz;)

\begin{tikzpicture}
\edef\turingtapesize{0.7cm}
\tikzstyle{tape}=[draw,minimum size=\turingtapesize]

% Drawing the tape itself
\begin{scope}[start chain=0 going right,node distance=0mm]
    \node[on chain=0,tape]          (a)     {1}       ;
    \node[on chain=0,tape]          (b)     {0}       ;
    \node[on chain=0,tape]          (c)     {1}       ;
    \node[on chain=0,tape]          (d)     {0}       ;
    \node[on chain=0,tape]          (e)     {1}       ;
    \node[on chain=0,tape]          (f)     {0}       ;
    \node[on chain=0,tape]          (g)     {0}       ;
    \node[on chain=0,tape]          (h)     {1}       ;
    \node[on chain=0,tape]          (i)     {1}       ;
    \node[on chain=0,tape]          (l)     {$\sqcup$};
    \node[on chain=0,tape]          (l)     {$\sqcup$};
    \node[on chain=0,tape]          (l)     {$\sqcup$};
    \node[on chain=0,tape,draw=none](m)     {}        ;
    \node[on chain=0,tape,draw=none](n)     {$\ldots$};

% Coordinates
    \coordinate(snake1) at ($ (l.north east)!0.5cm!(m.north east) $);
    \coordinate(snake2) at ($ (l.south east)!.5cm!(m.south east) $) ;

    \draw [-] (l.north east) -- (snake1);
    \draw [-] (l.south east) -- (snake2);
    \draw[snake=snake,
        segment amplitude=.4mm,
            segment length=1.75mm,
        line after snake=0mm] (snake1) -- (snake2);
\end{scope}

    \draw[ultra thick] (a.south west) -- (a.north west)                   ;
    \node[draw,above=0.75cm of e,minimum size=\turingtapesize] (Q) {$q_3$};
    \draw[-latex] (Q) -- (e)                                              ;     
\end{tikzpicture} 

EDITAR3

\begin{tikzpicture}
  \tikzset{tape/.style={minimum size=.7cm, draw}}
  \begin{scope}[start chain=0 going right, node distance=0mm]
   \foreach \x [count=\i] in {1,0,1,0,1,0,0,1,1,$\sqcup$,$\sqcup$,$\sqcup$} {
    \ifnum\i=12 % if last node reset outer sep to 0pt
      \node [on chain=0, tape, outer sep=0pt] (n\i) {\x};
      \draw (n\i.north east) -- ++(.1,0) decorate [decoration={zigzag, segment length=.12cm, amplitude=.02cm}] {-- ($(n\i.south east)+(+.1,0)$)} -- (n\i.south east) -- cycle;
     \else
      \node [on chain=0, tape] (n\i) {\x};
     \fi
     \ifnum\i=1 % if first node draw a thick line at the left
      \draw [line width=.1cm] (n\i.north west) -- (n\i.south west);
     \fi
   }
   \node [right=.25cm of n12] {$\cdots$};
   \node [tape, above left=.25cm and 1cm of n1] (q3) {$q_3$};
   \draw [>=latex, ->] (q3) -| (n5);
  \end{scope}
 \end{tikzpicture}

Y aquí el resultado final: ingrese la descripción de la imagen aquí

Respuesta1

¿Qué tal si usas tu tapeestilo para el nodo ay simplemente agregas esto después del código de tu cadena?

\draw [very thick] (a.south west) -- (a.north west);

o

\draw [line width=.1cm] (a.south west) -- (a.north west);

De esta manera puedes agregar una línea adicional dibujada sobre tu nodo a.

imagen renderizada

EDITAR:Actualización de su nodo en zigzag al final de la cadena (MWE)

Aquí también información sobre su nodo en zigzag. Utilicé la zigzagdecoración en una parte de la ruta que se describe a continuación. Simplemente ajuste el zigzag segment lengthy la amplitud` a sus necesidades.

Tenga cuidado de configurar los outer sepnodos de su cadena en 0, de lo contrario, la ruta en zigzag se compensará con las coordenadas north easty south east.

\documentclass[tikz, border=5mm]{standalone}

\usetikzlibrary{decorations.pathmorphing, calc}

\begin{document}
 \begin{tikzpicture}
  \node [draw, outer sep=0pt] (n) {n};
  \draw (n.north east) -- ++(.1,0) decorate [decoration={zigzag, segment length=.12cm, amplitude=.02cm}] {-- ($(n.south east)+(+.1,0)$)} -- (n.south east) -- cycle;
 \end{tikzpicture}
\end{document}

imagen renderizada

SÓLO UNA EDICIÓN MÁS:No pude resistirme ;). Pequeña reescritura de su código para hacer que la cadena sea extensible para más elementos:

Si tienes más preguntas solo pregunta. Puedes cambiarlos fácilmente zigzagcon algunos snakessi lo deseas.

\documentclass[tikz, border=5mm]{standalone}
\usetikzlibrary{calc, chains, decorations.pathmorphing}

\begin{document}
 \begin{tikzpicture}
  \tikzset{tape/.style={minimum size=.7cm, draw}}
  \begin{scope}[start chain=0 going right, node distance=0mm]
   \foreach \x [count=\i] in {1,0,1,10,1,1,1,1,$\sqcup$,$\sqcup$,$\sqcup$} {
    \ifnum\i=11 % if last node reset outer sep to 0pt
      \node [on chain=0, tape, outer sep=0pt] (n\i) {\x};
      \draw (n\i.north east) -- ++(.1,0) decorate [decoration={zigzag, segment length=.12cm, amplitude=.02cm}] {-- ($(n\i.south east)+(+.1,0)$)} -- (n\i.south east) -- cycle;
     \else
      \node [on chain=0, tape] (n\i) {\x};
     \fi
     \ifnum\i=1 % if first node draw a thick line at the left
      \draw [line width=.1cm] (n\i.north west) -- (n\i.south west);     
     \fi
   }
   \node [right=.25cm of n11] {$\cdots$};
   \node [tape, above left=.25cm and 1cm of n1] (q7) {$q_7$};
   \draw [>=latex, ->] (q7) -| (n5); 
  \end{scope}  
 \end{tikzpicture}
\end{document} 

imagen renderizada

información relacionada