Liebe Texwelt, ich würde gerne zu Beginn meiner longtable eine Zelle herausgreifen um die einzelnen Teilbereiche dieser zu beschriften/erklären. Dafür hätte ich gerne die Erklärung außerhalb dieser Zelle stehen, wobei diese dann mit einen Pfeil/Strich in den jeweiligen Teilbereich verbunden werden soll. Bin schon auf "pin" usw. gestoßen, allerdings scheint das ja nur in einer Tikz-Umgebung zu funktionieren.

Open in Online-Editor
\documentclass[fleqn,12pt,a4paper,german,xcolor=dvipsnames]{article}
\usepackage[ngerman]{babel}
\usepackage{diagbox}
\usepackage{longtable}
\usepackage{xcolor}

\begin{document}
\begin{longtable}{|l|}

\hline
 \diagbox{\colorbox{gray}{\textcolor{black}{0}\textcolor{white}{0}}}{256}\quad\vline\qquad3345 \\ \hline
\end{longtable} 
\end{document}

gefragt 11 Jun '15, 10:22

laa21794's gravatar image

laa21794
274121
Akzeptiert: 88%


Ich weiß nicht, wie das am Schluß aussehen soll. Vielleicht so:

alt text

Open in Online-Editor
\documentclass[margin=3pt]{standalone}
%\documentclass[fleqn,12pt,a4paper,german,xcolor=dvipsnames]{article}
\usepackage[ngerman]{babel}
\usepackage{diagbox}
\usepackage{longtable}
\usepackage{xcolor}

\usepackage{tikz}

\newcommand{\Marker}{%
\begin{tikzpicture}[inner sep=0pt, outer sep=0pt, remember picture]
\node[shape=rectangle](Marker1){};
\end{tikzpicture}
}%
\begin{document}

\begin{minipage}{0.5\textwidth}
\begin{longtable}{|l|}
\hline
 \diagbox{\colorbox{gray}{\textcolor{black}{0}\textcolor{white}{0}}}{256}\quad\vline\qquad3345\Marker\\ \hline
\end{longtable} 
\end{minipage}
%
\begin{tikzpicture}[remember picture, baseline = 1.75mm]
\node[draw, minimum height=1cm, rounded corners, fill=lightgray](Marker2){Das ist super...};
\end{tikzpicture}

\begin{tikzpicture}[remember picture, overlay]
\draw[<-, ultra thick, shorten >=2pt] (Marker1) -- (Marker2) node[midway, above]{Text};
\end{tikzpicture}

\end{document}
Permanenter link

beantwortet 11 Jun '15, 19:04

cis's gravatar image

cis
5.4k860169

bearbeitet 11 Jun '15, 19:06

ok, das hilft mir schon mal sehr weiter, danke dafür. Wie kann ich die Position meiner Erklärung verändern? Also falls ich zum Beispiel wollen würde, dass "Das ist super..." nicht rechts der Zelle sondern unterhalb stehen soll?

(12 Jun '15, 04:15) laa21794

Mir ist auch nicht klar, wie das Ergebnis aussehen soll. Trotzdem ist hier mal noch ein alternativer Vorschlag:

alt text

Ich würde dafür insgesamt ein tikzpicture verwenden. Das erleichtert die Positionierung der Erklärungen relativ zur Tabellenzelle, wobei ich dafür auch die Bibliothek positioning laden würde.

Eine longtable kann man zwar nicht in einen Node setzen, aber da es sowieso nur um eine Zelle geht, verwende ich dafür einfach tabular.

Die einzelnen Elemente in der Node mit der Tabellenzelle markiere ich mit \subnode, was die Nutzung der Bibliothek tikzmark erfordert. Außerdem muss die remember picture Option gesetzt werden. Damit erfordert die Erstellung auch zwei Durchläufe.

Die Pfeile richte ich zwar an den zu beschreibenden Inhalten aus, würde sie aber nicht bis in die Zelle gehen lassen.

Code:

Open in Online-Editor
\documentclass[fleqn,12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{diagbox}
\usepackage{longtable}

\usepackage{tikz}
\usetikzlibrary{tikzmark}
\usetikzlibrary{positioning}

\begin{document}
\begin{tikzpicture}[
  remember picture,
  erkl/.style={text width=#1,align=left},
  erkl/.default=.5\linewidth,% voreingestellt ist halbe Zeilenlänge
  pfeil/.style={thick,-stealth},
  ]
\node(tabzelle){%
  \begin{tabular}{|l|}
    \hline
    \diagbox{\subnode{inh_u}{\colorbox{gray}{\textcolor{black}{0}\textcolor{white}{0}}}}{\subnode{inh_o}{256}}\quad\vline\qquad\subnode{inh_r}{3345} \\
    \hline
  \end{tabular}
};
\node(erkl_u)[erkl,below=of tabzelle.south west,anchor=north west]
  {Erklärung unterhalb, die etwas länger ist und einen Zeilenumbruch braucht};
\node(erkl_o)[erkl,above=of tabzelle.north west,anchor=south west]
  {Erklärung oberhalb, die etwas länger ist und einen Zeilenumbruch braucht};
\node(erkl_r)[erkl,right=of tabzelle]
  {Erklärung rechts, die etwas länger ist und einen Zeilenumbruch braucht};
\path[pfeil](erkl_u.north-|inh_u)edge(inh_u|-tabzelle.south);
\path[pfeil](erkl_o.south-|inh_o)edge(inh_o|-tabzelle.north);
\path[pfeil=\tabcolsep](erkl_r.west|-inh_r)edge(inh_r-|tabzelle.east);
\end{tikzpicture}
\end{document}
Permanenter link

beantwortet 12 Jun '15, 09:34

esdd's gravatar image

esdd
14.2k53251

bearbeitet 12 Jun '15, 10:50

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×44
×31

Frage gestellt: 11 Jun '15, 10:22

Frage wurde angeschaut: 2,253 Mal

Zuletzt aktualisiert: 12 Jun '15, 10:50