Wie Tabellenspalten bündig u. Pfeilen passend positionieren?

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Wie Tabellenspalten bündig u. Pfeilen passend positionieren?

von Tobias85 » So 8. Feb 2015, 13:08

@ esdd: So ähnlich siehts nun bei mir aus, danke :)

von esdd » Sa 7. Feb 2015, 17:58

Hier ist mal trotzdem noch ein Vorschlag mit der TikZ-Bibliothek matrix:
\documentclass[margin=10pt]{standalone} 
\usepackage{tikz}
\usetikzlibrary{matrix}
\usetikzlibrary{decorations.pathreplacing} 

\begin{document}
\begin{tikzpicture}[
    >=stealth,decoration=brace,
    mynode/.style={
      matrix of nodes,
      column sep=-\pgflinewidth,
      nodes={draw,minimum width=\breite,minimum height=\hoehe},}
  ]
  \newcommand\hoehe{.75cm}
  \newcommand\breite{.5cm}
  % unteres Feld
  \matrix[mynode,nodes in empty cells,cellblack/.style={fill=black}](m){
  |[cellblack]|&&&&&
  |[cellblack]|&&&&&
  &&&&|[cellblack]|&
  &&&&&
  &&&&&
  |[cellblack]|&&&&&
  \\};
%
  %% als Hilfe: Anzeigen der Nummern
  %\foreach \i in {1,...,31}\node[below,font=\tiny]at(m-1-\i.south){\i};
%
  % oberes Feld
  \matrix[mynode](n)at(0,3){
    |[minimum width={9*\breite}]|1&
    |[minimum width={5*\breite}]|2&
    |[minimum width={17*\breite}]|3\\};
  % Klammern mit Beschriftung
  \draw[decorate,thick]([xshift=-2mm]m-1-1.south west)
      --([xshift=-2mm]m-1-1.north west)node[left=2pt,midway] {Filter};
  \draw[decorate,thick] ([yshift=2mm]n-1-1.north west)
      --([yshift=2mm]n-1-3.north east)node[above=2pt,midway] {Fragmente};
  % Pfeile
  \foreach \s/\e in {1/1,1/6,2/15,3/26}
    \draw[->](n-1-\s.south)--(m-1-\e.north);
\end{tikzpicture}
\end{document}
Gruß
Elke

Bild

oder mit angezeigten Zellennummern zur besseren Orientierung

Bild
Dateianhänge
gl_tabz2.png
gl_tabz2.png (7.54 KiB) 1720 mal betrachtet
gl_tabz1.png
gl_tabz1.png (6.15 KiB) 1712 mal betrachtet

von Tobias85 » Sa 7. Feb 2015, 17:54

Sehr gut, genau so habe ich mir das vorgestellt. Vielen Dank für die schnelle Hilfe!

von esdd » Sa 7. Feb 2015, 17:02

Prinzipiell würde ich das ganze, wie schon von Stamm- vorgeschlagen,auch als Zeichnung mit TikZ erstellen.

Aber trotzdem noch zu der Tabelle: Du hast Dich bei den Spalten verzählt. Für die Tabelle brauchst Du nur 1+31=32 davon:
\documentclass[a4paper,10pt]{article} 

\usepackage{geometry} 
\usepackage{lmodern} 
\usepackage{tikz} 
\usepackage{colortbl} 

\usepackage{multirow} 
\usepackage{bigdelim} 
\newcommand{\cellblack}{\cellcolor[RGB]{0,0,0}} 
\geometry{left=2cm, right=2cm, top=2.5cm, bottom=2cm} 
\linespread {1.25}\selectfont 

\begin{document} 
\begin{figure}[htdp]\centering 
    \begin{minipage}[b]{1 \linewidth}\centering 
       \begin{tabular}{r *{31}{r|}@{}} 
          & \multicolumn{31}{c}{Fragmente} \\ 
          & \multicolumn{31}{c}{ $\overbrace{\hspace{13cm}}$} \\\cline{2-32} 
          & \multicolumn{10}{|c|}{1} & \multicolumn{7}{c|}{2} & \multicolumn{14}{c|@{}}{3} \\\cline{2-32} 
          & \multicolumn{31}{c}{} \\ 
          & \multicolumn{31}{c}{} \\\cline{2-32} 
          \ldelim\{{1}{1.7cm}[ Filter ] & \cellblack & & & & & & \cellblack & & & & & & & & & \cellblack & & & & & & & & & & \cellblack& & & & &\\\cline{2-32} 
       \end{tabular} 
    \end{minipage} 
    \begin{tikzpicture}[overlay] 
       \draw[color=black,->] (-4,1.6) -- +(-1.2, -1); 
    \end{tikzpicture} 
\end{figure} 
\end{document}
Bild

Gruß
Elke
Dateianhänge
gl_tabz.png
gl_tabz.png (3.78 KiB) 1704 mal betrachtet

Möglicher Ansatz

von Stamm- » Sa 7. Feb 2015, 16:32

Eine Tabelle ist in diesem Falls nicht wirklich gut geeignet. Da es sich prinzipiell um eine Zeichnung handelt, sind Pakete wie PGF/TikZ oder PSTricks besser ausgerüstet. In solchen Zeichnungen kann man dann auch mit Koordinaten arbeiten. Somit ist die Ausrichtung von Elementen wie Pfeilen etwas leichter.
\documentclass[10pt,a4paper,ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{selinput}         % Ersatz für »inputenc«
\SelectInputMappings{         % Festlegung der Eingabe-Kodierung
  adieresis={ä},              % mit Hilfe ausgewählter Sonderzeichen
  germandbls={ß}              % siehe: http://partners.adobe.com/public/developer/en/opentype/glyphlist.txt
}
\usepackage{babel}
\usepackage[margin=2cm]{geometry}

\usepackage{tikz}
\usetikzlibrary{decorations.pathreplacing}

\usepackage{lmodern}
\usepackage{microtype}

\begin{document}
  \begin{figure}[!htb]
    \centering
    \begin{tikzpicture}[>=stealth,decoration=brace]
      \draw (0,0) rectangle (15.5,0.75);
      \foreach \x in {0.5,1,...,15}
        \draw (\x,0) -- (\x,0.75);
      \draw[decorate,thick] (-0.2,0) -- (-0.2,0.75) node[left=2pt,midway] {Filter};
      \draw (0,3) rectangle (15.5,3.75);
      \foreach \x in {4.5,8}
        \draw (\x,3) -- (\x,3.75);
      \draw[decorate,thick] (0,4) -- (15.5,4) node[above=2pt,midway] {Fragmente};
      \node at (2.25,3.375) {1};
      \node at (6.25,3.375) {2};
      \node at (11.75,3.375) {3};

      \fill (0,0) rectangle (0.5,0.75);
      \fill (2.5,0) rectangle (3,0.75);
      \fill (7,0) rectangle (7.5,0.75);
      \fill (12.5,0) rectangle (13,0.75);

      \draw[->] (2.25,3) -- (0.25,0.75);
      \draw[->] (2.25,3) -- (2.75,0.75);
      \draw[->] (6.25,3) -- (7.25,0.75);
      \draw[->] (12.25,3) -- (12.75,0.75);
    \end{tikzpicture}
    \caption{Diagramm mit \texttt{Ti\textit{k}Z}}
    \label{fig:tikz-diagram}
  \end{figure}
\end{document}
Es gibt wahrscheinlich noch geschicktere Methoden, dieses Diagramm darzustellen. Der präsentierte Code ist mir relativ schnell durch den Kopf gegangen und bildet immerhin einen Startpunkt.

Wie Tabellenspalten bündig u. Pfeilen passend positionieren?

von Tobias85 » Sa 7. Feb 2015, 15:18

Hallo zusammen,

ich versuche gerade eine etwas komische Konstruktion mit Latex zu erstellen. Es ist auch fast so wie ich es möchte (siehe Anhang), allerdings habe ich noch zwei Fragen.
Zum einen soll das Ende rechts bei Zelle 3 bündig sein, wie geht das?
Die zweite Frage ist, ob es auch eine schönere Variante gibt die Pfeile von den Kästchen oben mit den Zahlen zu den schwarzen unten zu ziehen - so wird das mit viel Arbeit nur ansatzweise gleichmäßig... :?

Das Minimalbeispiel:
\documentclass[a4paper,10pt]{article}

\usepackage{geometry} 
\usepackage{lmodern}
\usepackage{tikz} 
\usepackage{colortbl}

\usepackage{multirow}
\usepackage{bigdelim}
\newcommand{\cellblack}{\cellcolor[RGB]{0,0,0}}
\geometry{left=2cm, right=2cm, top=2.5cm, bottom=2cm}
\linespread {1.25}\selectfont

\begin{document}
\begin{figure}[htdp]\centering
	\begin{minipage}[b]{1 \linewidth}\centering
		\begin{tabular}{r r|r|r|r|r|r|r|r|r|r|r|r|r|r|r|r|r|r|r|r|r|r|r|r|r|r|r|r|r|r|r|r|}
			& \multicolumn{32}{c}{Fragmente} \\ 
			& \multicolumn{32}{c}{ $\overbrace{\hspace{13cm}}$} \\\cline{2-32}
			& \multicolumn{10}{|c|}{1} & \multicolumn{7}{|c|}{2} & \multicolumn{15}{|c|}{3} \\\cline{2-32}
			& \multicolumn{32}{c}{} \\
			& \multicolumn{32}{c}{} \\\cline{2-32}
			\ldelim\{{1}{1.7cm}[ Filter ] & \cellblack & & & & & & \cellblack & & & & & & & & & \cellblack & & & & & & & & & & \cellblack& & & & & \\\cline{2-32}
		\end{tabular}
	\end{minipage}
	\begin{tikzpicture}[overlay]
		\draw[color=black,->] (-4,1.6) -- +(-1.2, -1);
	\end{tikzpicture}
\end{figure}


\end{document}
Vielen Dank im Voraus, Tobias
Dateianhänge
Aktueller Stand
Aktueller Stand
Bildschirmfoto 2015-02-07 um 15.15.25.png (10.26 KiB) 1720 mal betrachtet

Nach oben