Tabellarisch mit Pfeilen oder Linien zwischen einigen Zellen

Tabellarisch mit Pfeilen oder Linien zwischen einigen Zellen

Ich habe eine Tabelle wie die folgende und möchte diese in Latex schreiben. Was wäre der beste Ansatz? Ich habe es mit Tikz versucht, wo ich eine Tabelle verschachteln kann, aber es hat bei den Linien, die die verschiedenen Felder verbinden, nicht funktioniert. Eine andere Lösung wäre, einen Tikz-Baum zu verwenden, aber da weiß ich nicht, wie ich die Kanten beschriften soll.

Ist es möglich, so etwas mit einer einfachen Auszeichnung zu erstellen, entweder in TikZ oder mit einem anderen Latex-Paket?

Huffman-Kodierung

Antwort1

Hier ist ein Anfang einer Lösung mit Tikz MatrixBildbeschreibung hier eingeben

\documentclass[11pt]{article}
\usepackage{tikz}
\usetikzlibrary{matrix}


\begin{document}

\begin{tikzpicture}
[every node/.style={minimum height=2em}]
\matrix [matrix of math nodes](Mat)
{
x_i  &|[minimum width=4em]|& P(x_i) &|[minimum width=4em]| Code &       &|[minimum width=4em]|      &       &|[minimum width=4em]|  &   &|[minimum width=4em]|  &   &\\
x_1 &&0.30     &        & 0.30  &   &0.30   &   &0.45&  &0.55&\\
x_2 && 0.25    &        & 0.25  &   &0.25   &   &0.30&  &0.45&\\
x_3 && 0.20   &     & 0.20  &   &0.25   &   &0.25&  &   &\\
x_4 && 0.12    &        &0.13   &   &0.20   &   &   &   &   &\\
x_5 && 0.08    &        &0.12   &   &       &   &   &   &   &\\
x_6 && 0.05    &        &   &   &       &   &   &   &   &\\
};

\draw (Mat-2-3.east) -- (Mat-2-3-|Mat-2-5.west)node[above,midway]{00};
\draw(Mat-5-3.east) --++(1em,0) -- (Mat-6-5.west)node[above,pos=0.2]{101};
\draw (Mat-6-3.east)-|node[above,pos=0.4]{1000}++(2em,-1em) coordinate(aa) --++(1em,0) |- (Mat-5-5.west);
\draw (Mat-7-3.east)-|node[below,pos=0.4]{1001} (aa);
\end{tikzpicture}

\end{document}

verwandte Informationen