tikzpicture マトリックス環境では、垂直線がマトリックス エントリを区切っていますか?

tikzpicture マトリックス環境では、垂直線がマトリックス エントリを区切っていますか?

tikzpicture マトリックス環境で、左側の Cc と G、右側の D と H を区別する正方マトリックスの線として、完璧な垂直線を作成するにはどうすればよいでしょうか。

線は、左側の Cc と G、右側の D と H の中間にぴったりと設定するのが最適です。

可能であれば、tikzpicture マトリックス環境に固執したいと思います。

ご提案やご意見をいただければ幸いです。

これが私の失敗した試みです。 ここに画像の説明を入力してください

これが私のTexコードです:

\documentclass[10pt,border=3mm,tikz]{standalone}
\usetikzlibrary{matrix}

    \usepackage{amsmath, amsthm, amssymb,mathtools}
    
    
    \begin{document}
    
    
    \begin{tikzpicture}
    \matrix[matrix of math nodes,inner sep=1pt,row sep=1em,column sep=1em] (M)
    {
     & A &  B & Cc & D \\
      & E &  F & G & H\\
    }
    ;
    \draw[ ->] (M-1-2.east) -- (M-1-3.west) node[midway,above,pos=0.3]{\,\tiny ab};
    \draw[ ->] (M-1-3.east) -- (M-1-4.west) node[midway,above,pos=0.3]{\,\tiny bc};
    \draw[-] (M-1-4.north east) -- (M-2-4.south east);
    \end{tikzpicture}
    
    
    \end{document}

答え1

Cc と G は右揃えではなく、D と H はほぼ左揃えなので、物理法則に違反することなく、垂直にして Cc と D の中間、G と H の中間に配置することは不可能です。これは SE の投稿で扱うには複雑なプロジェクトです。代わりに、中間点を見つけるときの参照点として Cc と D を取り、下点として G を取ります。計算には H は使用しません。

ライブラリを使用してcalc、2 つの上部ノード間の中間点を見つけ、マーカー座標を作成し、下部への線を作成するときにそのマーカーを使用して水平位置を保持できます。

調整されたライン

\documentclass[10pt,border=3mm,tikz]{standalone}
\usetikzlibrary{matrix,calc}
\usepackage{amsmath, amsthm, amssymb,mathtools}
\begin{document}
\begin{tikzpicture}
  \matrix[matrix of math nodes,inner sep=1pt,row sep=1em,column sep=1em] (M)
  {
    & A &  B & Cc & D \\
    & E &  F & G & H\\
  }
  ;
  \draw[ ->] (M-1-2.east) -- (M-1-3.west) node[midway,above,pos=0.3]{\,\tiny ab};
  \draw[ ->] (M-1-3.east) -- (M-1-4.west) node[midway,above,pos=0.3]{\,\tiny bc};
  \draw[-] ($(M-1-4.north east)!.5!(M-1-5.north west)$) coordinate (a) -- (a |- M-2-4.south);
\end{tikzpicture}
\end{document}

関連情報