PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Querverweise direkt auf Text



janina
02-03-2006, 19:34
Hallo ich schreibe gerade meine Masterarbeit mit Latex. Mein Problem ist jetzt nun, dass ich in eine Tabelle im Anhang habe, in dieser Tabelle sind bestimmte IDs angegeben, die einer bestimmten Zeile zugeordnet sind.

Ich möchte nun ihm Text auf diese Zeile in der Tabelle verweisen, in dem die entsprechende ID geschrieben wird.

Hat jemand vielleicht eine Idee wie ich das machen könnte?


BSP: Tabelle

1 Bedienung
2 Inhalt
3 Gestaltung

BSP:Text

Wie in der Tabelle X angegeben ist die Bedienung sehr gut strukturiert.... (siehe 1).

Vielen DANK!

Boron
03-03-2006, 11:49
In deiner Tabelle:
1\label{id1} & Bedienung\\
2\label{id2} & Inhalt\\
...

Im Fließtext:
Wie in der Tabelle \ref{tab:deineTabelle} angegeben, ist die Bedienung sehr gut strukturiert\dots (siehe \ref{id1}).

Ist aber ungetestet.
Und irgendwie glaube ich nicht, dass das geht.
Aber probieren geht über studieren :).

rais
03-03-2006, 12:19
Hmm,
ich meine \label bezog sich grundsaetzlich auf einen Zaehler...
d.h. so muesste sich die Marke auf die Tabelle selbst (wenn davor eine caption gesetzt ist), sonst auf die uebergeordnete Gliederungsebene beziehen;(

Vielleicht mal

%im Vorspann:
\newcounter{myid}[table] %neuer Zaehler "myid" bezogen auf Tabelle
\renewcommand{\themyid}{\arabic{myid}} %myid alleine darstellen
\newcommand{\myidlabel}[1]{%
\refstepcounter{myid}\themyid\label{#1}
}% Zaehler myid erhoehen, ausgeben und markieren
\newcommand{\myidref}[1]{%
(siehe \ref{#1})
}%eigentlich nicht notwendig

%in der Tabelle dann
\myidlabel{id1} & Bedienung\\
\myidlabel{id2} & Inhalt\\

%Im Fließtext:
Wie in der Tabelle \ref{tab:deineTabelle} angegeben, ist die Bedienung sehr gut strukturiert\dots \myidref{id1}.

ob \label sich nu auf den richtigen Zaehler bezieht? (ungetestet)

alternativ ginge es wohl auch mit \hypertarget u. \hyperlink aus dem hyperref-Paket.
MfG,

janina
03-03-2006, 13:21
Erstmal vielen danke für die Hilfe!

Das erste gibt aber leider tatsächlich nur die Tabelle zurück.
Das zweite ist wirklich sehr gut und tut auch das was du beschrieben hast.

Das Problem ist nur leider, dass ich mich flasch ausgedrückt habe. Ich meine es geht auch mit der zweiten variante, aber vielleicht gibt es ja noch eine andere Möglichkeit.

Also die Zeilen in der Tabellen sollen eigentlich nicht wirklich durchnummeriert sein, bzw. schon aber sie haben davor noch einen spezifischen Buchstaben, denn ich nicht ändern kann, sehr vereinfacht ausgedrückt:

B1 Bedienung1
B2 Bedienung2
I1 Inhalt
E1 Einleitung

mein Problem ist nun, wenn ich später noch eine weitere Bedienung einfügen, die an der Stelle 2 sein müsste, dann muss ich alle meine Verweise auf das jetztige B2 in B3 ändern und B3 in B3 usw... ich denke ihr versteht.

Meine Lösung sieht jetzt im Moment so aus:
Vorspann:
\newcounter{myidInhalt}[table] %neuer Zaehler "myInhaltid" bezogen auf Tabelle
\renewcommand{\themyidInhalt}{\arabic{myidInhalt}} %myid alleine darstellen
\newcommand{\myidInhaltlabel}[1]{%
\refstepcounter{myidInhalt}\themyidInhalt\label{#1 }
}% Zaehler myid erhoehen, ausgeben und markieren
\newcommand{\myidInhaltref}[1]{\hyperref[#1]{I\ref*{#1}}}

\newcounter{myidBedienung}[table] %neuer Zaehler "myBedienungid" bezogen auf Tabelle
\renewcommand{\themyidBedienung}{\arabic{myidBedie nung}} %myid alleine darstellen
\newcommand{\myidBedienunglabel}[1]{%
\refstepcounter{myidBedienung}\themyidBedienung\la bel{#1}
}% Zaehler myid erhoehen, ausgeben und markieren
\newcommand{\myidBedienungref}[1]{\hyperref[#1]{B\ref*{#1}}}

Tabelle:
\myidBedienunglabel{idB1} B1 & Bedienung1
\myidBedienunglabel{idB2} B2 & Bedienung2
\myidInhaltlabel{idI1} & Inhalt1

Fliestext:
\myidInhaltref{idI1} \myidBedienungref{idB1}

Es geht also aber vielleicht geht es ja auch anders ganz einfach.. also falls jemand noch was weis wäre ich sehr froh...

Janina

rais
04-03-2006, 02:05
Ah ja. Dann so vielleicht

\documentclass{scrreprt}
\usepackage{hyperref}
\newcounter{mypreid}%single char:D
\newcounter{myid}
\newcommand{\newidprefix}[1]{%
\setcounter{myid}{0} %Zaehler auf Null
\setcounter{mypreid}{#1}
}
\renewcommand{\themyid}{\Alph{mypreid}\arabic{myid }}
\newcommand{\myidlabel}[1]{%
\refstepcounter{myid}\themyid\label{#1}
}
\newcommand{\myidref}[1]{%
(siehe \ref{#1})
}
\begin{document}
\begin{table}
\begin{tabular}{ll}
\newidprefix{2}\myidlabel{id:bla} & Bedienung\\
\newidprefix{9}\myidlabel{id:blubb} & Inhalt\\
\end{tabular}
\caption{Tabelle}\label{tab:test}
\end{table}
\chapter{Test}
Wie in Tabelle \ref{tab:test} an der Bedienung \myidref{id:bla}\dots
\end{document}
da Du nur jeweils einen einzelnen Buchstaben vor den Zähler setzt, kann man diesen Buchstaben ja auch als Zähler (hier: mypreid) definieren... dann kannst Du mit \newidprefix{n} eben diesen Buchstaben definieren: für n=2 also 'B', 5 wäre 'E' usw.
Dabei fällt mir ein, den \setcounter innerhalb der \newidprefix-Definition kann man wohl entfallen lassen, wenn man den myid-Zähler gleich an mypreid bindet (da wo vorher [table] stand)
MfG,