Seite 1 von 1
Bestimmte Tabellenzellen in einer Longtable referenzieren
Verfasst: Di 23. Sep 2014, 13:02
von Schunki
Hallo zusammen!
Wie der Titel schon sagt, würde es mich interessieren ob es möglich ist auf bestimmte Tabellenzellen innerhalb einer Longtable zu referenzieren.
Das heißt, ich habe eine Zelle in der Tabelle in welcher ein Inhalt steht, der wiederum aus einer anderen Zelle der selben Tabelle die aber x Seiten weiter hinten steht referenziert werden soll.
Ich bedanke mich schon jetzt für Eure Antworten!
Gruß
Andreas
Verfasst: Di 23. Sep 2014, 17:29
von esdd
Verfasst: Mi 24. Sep 2014, 07:51
von Schunki
Hallo Elke!
Zuerst einmal vielen Dank für Deine Antwort! Jedoch hat mir der Artikel leider nicht wirklich weiter geholfen, da es mir besonders darauf ankommt, dass die Tabellezelle nicht nur referenziert ist, sondern auch eine Sprungmarke verpasst kommt um von einer Zelle auf eine andere Verweisen und vor allem springen zu können.
Ich versuche mal nachfolgend darzustellen was ich meine:
Gruppe | Parameter | Erläuterung
--------------------------------------------------------------------
Gruppe1 | Parameter1 | text text text text
------------------------------------------------------
| Parameter2 | text text text text
------------------------------------------------------
| Parameter3 | text text text text
--------------------------------------------------------------------
Gruppe2 | Parameter1 | text (siehe auch Gruppe1/Parameter2)
------------------------------------------------------
| Parameter2 | text text text text
Da ich wie gesagt mit longtable arbeite und sich meine Tabelle über etliche Seiten erstreckt will ich quasi über einen Klick auf "Gruppe1/Parameter2" in die dazugehörige Spalte springen.
Ich hoffe, ich konnte mein Problem damit besser erklären!
Gruß
Andreas
Verfasst: Mi 24. Sep 2014, 07:57
von Besserwisser
Dir ist klar, dass du für "Sprünge"
hyperref benötigst? Dir ist klar, dass es lästig ist, dir alle Infos aus der Nase zu ziehen und genau deshalb in den wichtigen Hinweisen zu diesem Unterforum drin steht, dass du ein vollständiges Minimalbeispiel machen sollst, das zeigt, was du ausprobiert hast und an dem wir selbst testen können?
Verfasst: Mi 24. Sep 2014, 08:42
von Schunki
Hier das gewünschte Minimalbeispiel zum spielen:
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{longtable}
\usepackage{array,ragged2e}
\usepackage{ragged2e}
\usepackage{multirow}
\usepackage{hyperref}
\begin{document}
Text Text Text Text Text Text Text Text Text Text Text Text Text
\begin{longtable}
{|>{\RaggedRight}p{2cm}|>{\RaggedRight}p{3.5cm}|>{\RaggedRight}p{7.7cm}|}
\hline
\multirow{3}{*}[1em]{Gruppe1} & Parameter1 & Text Text Text Text \\ \cline{2-3}
& Parameter2 & Text Text Text Text \\ \cline{2-3}
& Parameter2 & Text Text Text Text \\ \cline{1-3}
\multirow{2}{*}[0.4em]{Gruppe1} & Parameter1 & Text (siehe Gruppe1/Parameter2) \\ \cline{2-3}
& Parameter2 & Text Text Text Text \\ \cline{1-3}
\end{longtable}
\end{document}
Verfasst: Mi 24. Sep 2014, 09:34
von Noch so einer
Mit dem Laden von hyperref ist es nicht getan. Man muss auch Linkziele setzen und darauf verlinken:
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{longtable}
\usepackage{array,ragged2e}
\usepackage{ragged2e}
\usepackage{multirow}
\usepackage{blindtext}
\usepackage{hyperref}
\begin{document}
Text Text Text Text Text Text Text Text Text Text Text Text Text
\begin{longtable}
{|>{\RaggedRight}p{2cm}|>{\RaggedRight}p{3.5cm}|>{\RaggedRight}p{7.7cm}|}
\hline
\multirow{3}{*}[1em]{Gruppe1} & Parameter1 & Text Text Text Text \\ \cline{2-3}
& \hypertarget{Gruppe1/Parameter2}{Parameter2} & Text Text Text Text \\ \cline{2-3}
& Parameter2 & Text Text Text Text \\
\cline{1-3}
Gruppe2 & Parameter1 & \blindtext \\\hline
Gruppe3 & Parameter1 & \blindtext \\\hline
Gruppe4 & Parameter1 & \blindtext \\\hline
\multirow{2}{*}[0.4em]{Gruppe5} & Parameter1 & Text (siehe \hyperlink{Gruppe1/Parameter2}{Gruppe1/Parameter2}) \\ \cline{2-3}
& Parameter2 & Text Text Text Text \\ \cline{1-3}
\end{longtable}
\end{document}
Siehe dazu die Anleitung zu hyperref.
Außerdem brauchst Du in dem Fall gar kein multirow (siehe meine Beispiele mit viel Text in der letzten Spalte).
Desweiteren sind Klötzchengrafiken wie diese sehr unschön und sehr schlecht zu lesen. Du solltest Dir mal das Paket [url=htp://
www.ctan.org/pkg/booktabs]booktabs[/url] anschauen. Damit kann man viel schönere Tabellen machen ohne vertikale Linien machen.
Diese Rahmen um die Zellen braucht man natürlich bei Formularen, die jemand ausfüllen soll. In fast allen anderen Fällen braucht man sie nicht und sie stören nur.
Verfasst: Mi 24. Sep 2014, 09:50
von Schunki
Super! Genau das hab ich gebraucht!
Vielen Dank für Deine Hilfe!
Gruß
Andreas
Verfasst: Mi 24. Sep 2014, 10:13
von esdd
Hier ist noch ein Vorschlag mit dem von Noch so einer genannten Paket booktabs und ohne die störenden vertikalen Linien. Außerdem habe ich die Breite Deiner Tabelle auf die Textbreite angepasst für den Fall, dass sie nicht in den Rand ragen soll.
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{longtable}
\usepackage{array}
\usepackage{ragged2e}
%\usepackage{multirow}
\usepackage{booktabs}
\usepackage{hyperref}
\newcolumntype{R}[1]{>{\RaggedRight\hspace{0pt}}p{#1}}
\usepackage{blindtext}% für Fülltext
\begin{document}
\blindtext
\begin{longtable}{R{2cm}R{3.5cm}R{\dimexpr\textwidth-5.5cm-6\tabcolsep\relax}}
\toprule
Gruppe1
& Parameter1 & Text Text Text Text \\
& \hypertarget{Gruppe1/Parameter2}{Parameter2} & Text Text Text Text \\
& Parameter3 & Text Text Text Text \\ \midrule
Gruppe2
&Parameter1&\blindtext\\
&Parameter2&Text\\ \midrule
Gruppe3&Parameter1&\blindtext\\ \midrule
Gruppe4
& Parameter1 & Text (siehe \hyperlink{Gruppe1/Parameter2}{Gruppe1/Parameter2}) \\
& Parameter2 & Text Text Text Text \\
\bottomrule
\end{longtable}
\end{document}
Verfasst: Mi 24. Sep 2014, 10:49
von Noch so einer
Man kann die Sache mit den Spaltenbreiten übrigens auch noch etwas automatisieren, beispielsweise:
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{ltablex}
\usepackage{array}
\usepackage{ragged2e}
%\usepackage{multirow}
\usepackage{booktabs}
\usepackage{hyperref}
\newcolumntype{R}[1]{>{\RaggedRight\hspace{0pt}\setlength{\hsize}{#1\hsize}}X}
\usepackage{blindtext}% für Fülltext
\begin{document}
\blindtext
\begin{tabularx}{\textwidth}{R{.15}R{.2}R{.65}}
\toprule
\endhead
\bottomrule
\endlastfoot
Gruppe1
& Parameter1 & Text Text Text Text \\
& \hypertarget{Gruppe1/Parameter2}{Parameter2} & Text Text Text Text \\
& Parameter3 & Text Text Text Text \\* \midrule
Gruppe2
&Parameter1&\blindtext\\
&Parameter2&Text\\ \midrule
Gruppe3&Parameter1&\blindtext\\* \midrule
Gruppe4
& Parameter1 & Text (siehe \hyperlink{Gruppe1/Parameter2}{Gruppe1/Parameter2}) \\
& Parameter2 & Text Text Text Text \\
\end{tabularx}
\end{document}
oder wenn in den ersten beiden Spalten gar kein Zeilenumbruch benötigt wird:
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{ltablex}
\usepackage{array}
\usepackage{ragged2e}
%\usepackage{multirow}
\usepackage{booktabs}
\usepackage{hyperref}
\newcolumntype{R}[1]{>{\RaggedRight\hspace{0pt}\setlength{\hsize}{#1\hsize}}X}
\usepackage{blindtext}% für Fülltext
\begin{document}
\blindtext
\begin{tabularx}{\textwidth}{llR{1}}
\toprule
\endhead
\bottomrule
\endlastfoot
Gruppe1
& Parameter1 & Text Text Text Text \\
& \hypertarget{Gruppe1/Parameter2}{Parameter2} & Text Text Text Text \\
& Parameter3 & Text Text Text Text \\* \midrule
Gruppe2
&Parameter1&\blindtext\\
&Parameter2&Text\\* \midrule
Gruppe3&Parameter1&\blindtext\\* \midrule
Gruppe4
& Parameter1 & Text (siehe \hyperlink{Gruppe1/Parameter2}{Gruppe1/Parameter2}) \\
& Parameter2 & Text Text Text Text \\
\end{tabularx}
\end{document}