연속된 모양에 대한 오프셋을 제거하는 방법은 무엇입니까?

연속된 모양에 대한 오프셋을 제거하는 방법은 무엇입니까?

체인의 마지막 모양에 약간의 추가를 추가하고 싶었습니다(더 나은 이해를 위해 이미지 참조). 그런데 (검은색과 빨간색) 선이 수직 오프셋 없이 연결될 것이라고 생각했기 때문에 예상치 못한 문제가 발생했습니다. 그래서 제 질문은 (희망적으로) 간단한 것입니다: 이 문제를 어떻게 해결할 수 있을까요?

미리 감사드립니다

\documentclass[tikz]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc,chains,shapes.symbols}

\begin{document}
    \tikzset{
        flowEnd/.style={draw, shape=signal, signal from=west, signal to=nowhere},
        flowPast/.style={draw, shape=signal, signal from=west},
        flowStart/.style={draw, shape=signal, signal to=east},
    }

    \begin{tikzpicture}[start chain=going right,node distance=2mm]
    \node [flowStart,on chain] {Hello};
    \node [flowPast,on chain] {World};
    \node (end) [flowEnd,on chain] {!};
    \draw [red]
    let \p1=(end.south east), \p2=(end.north east) in 
    (\p2) --
    ($ (\p2) + (10mm,0) $) [rounded corners]--
    ($ (\p1) + (10mm,0) $) --
    (\p1);
    \end{tikzpicture}
\end{document}

여기에 이미지 설명을 입력하세요

답변1

모양 스타일 정의에서는 outer sep=0ptcommon 을 추가하고 정의 해야 합니다 minimum height=.... 이미지에 대한 완전한 약간 단순화된 코드는 다음과 같습니다.

\documentclass[tikz, margin=3mm]{standalone}
\usetikzlibrary{calc,
                chains,
                shapes.symbols}

\tikzset{
     base/.style = {draw, shape=signal, on chain, 
                    minimum height=3ex, outer sep=0pt},
  flowEnd/.style = {base, signal from=west, signal to=nowhere},
 flowPast/.style = {base, signal from=west},
flowStart/.style = {base, signal to=east},
        }
\begin{document}
    \begin{tikzpicture}[
    start chain = going right,
  node distance = 2mm   ]
%
\node [flowStart] {Hello};
\node [flowPast] {World};
\node (end) [flowEnd] {!};
%
\draw[red]
   (end.north east) -- ++ (10mm,0) [rounded corners] |- (end.south east);
    \end{tikzpicture}
\end{document}

여기에 이미지 설명을 입력하세요

관련 정보