
Я пытаюсь создать схему выравнивания ДНК. Вот что у меня есть:
\definecolor{color1}{RGB}{255,183,236}
\definecolor{color2}{RGB}{255,249,158}
\begin{center}
\begin{tikzpicture}
\node (read) [rectangle,draw,fill=color1] {TTTCAGATTT};
\node (refread) at (1,3) [rectangle,draw,fill=color1] {TTTCAGATTT};
\node at (refread.west) [rectangle,draw,fill=color2,anchor=east] {ACCAGG};
\node at (refread.east) [rectangle,draw,fill=color2,anchor=west] {AAA};
\draw[->]{(read) -- (refread)};
\end{tikzpicture}
\end{center}
Как сделать так, чтобы объект наверху выглядел как единая последовательность с выделенными частями, т.е. больше похоже на
решение1
Сначала нарисуйте блоки сверху без рамок, а затем рамку вокруг них:
\begin{tikzpicture}
\node (read) [rectangle,draw,fill=color1] {TTTCAGATTT};
\node (refread) at (1,3) [rectangle,fill=color1,inner xsep=0pt,line width=0] {TTTCAGATTT};
\node (first) at (refread.west) [rectangle,fill=color2,anchor=east,inner xsep=0pt,,line width=0] {\,ACCAGG};
\node (last) at (refread.east) [rectangle,fill=color2,anchor=west,inner xsep=0pt,line width=0] {AAA\,};
\draw (first.south west) rectangle (last.north east);
\draw[->]{(read) -- (refread)};
\end{tikzpicture}
Редактировать: изменено для решения проблемы с белой границей. Высота блоков не изменилась; возможно, это просто артефакт, созданный моим просмотрщиком PDF (из которого я сделал снимок экрана).
решение2
В дополнение к ответу Майкла:
высота коробок все еще была неравномерной; я исправил это \vphantom
следующим образом:
\node at (refread.east) [...] {\vphantom{ACTG}AAA\,};