Referenz in Tabelle

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: Referenz in Tabelle

Re: Refernz in Tabelle

von Gute*r Gȧst*in » Do 17. Jun 2021, 22:18

Die Frage hatte ich in der Tat ganz anders verstanden. Da könntest du künftig vielleicht etwas deutlich erklären, war du haben willst.

Re: Refernz in Tabelle

von ITEC » Do 17. Jun 2021, 21:12

Im Text selbst wieder ein Label anzugeben ist etwas unglücklich, da es schon ein paar hundert Anforderungen gibt.
Du hast mich mit hyperref aber schon auf die richtige Spur gebracht. Ich verwende jetzt \hypertarget und \hyperlink. Damit erhalte ich das gewünschte Ergebnis.

\documentclass{article}
\usepackage[colorlinks, linkcolor = blue, citecolor = blue, urlcolor = blue]{hyperref} 


\newcounter{Mycount}
\newcounter{ReqCounter}
\newcommand{\Projekt}{A}
\setcounter{ReqCounter}{10}


\def\threedigits#1{%
	\Projekt-%
	\ifnum#1<100 0\fi
	\ifnum#1<10 0\fi
	\number#1}

\def\RefCount{%
	\textbf{\threedigits{\theReqCounter}}
}

\def\RefCountRel#1{%
	\setcounter{Mycount}{\theReqCounter}\addtocounter{Mycount}{#1}%
	Anforderung \mbox{\textbf{\hyperlink{\theMycount}{\threedigits{\theMycount}}}}}%


\newcommand{\Anforderung}[1]{%
	\begin{center}
		\refstepcounter{ReqCounter}
		\hypertarget{\theReqCounter}{}
		\begin{tabular}[!h]{p{1.5cm}p{13.5cm}ll}
			\RefCount &   #1\\
		\end{tabular}
	\end{center}
}

\begin{document}
	\Anforderung{Das ist Text 1.}
	\Anforderung{Das ist Text 2.}
	\Anforderung{Das ist Text 3 \RefCountRel{-2}.}
\end{document}

Re: Refernz in Tabelle

von Gute*r Gȧst*in » Do 17. Jun 2021, 17:18

Das von hyperref verwendete Paket nameref bietet die Anweisung \nameref, um nicht nur den Zähler, der zu einem Label gehört zu referenzieren, sondern auch den Namen. Bei Gliederungsstrukturen wie Überschriften wird dieser Name üblicherweise durch den Inhaltsverzeichniseintrag gegeben. Bei Nicht-Standard-Strukturen, wie eigenen Definitionen muss ggf. selbst dafür gesorgt werden, dass \@currentlabelname passend gesetzt wird. Natürlich sollte auch \refstepcounter statt \stepcounter verwendet werden. Erschwerend kommt bei dir hinzu, dass das Erhöhen des Zählers in einer Umgebung und damit innerhalb einer Gruppe erfolgt. Die Referenz ist nach dem Ende der Umgebung damit nicht mehr gültig. Das könnte dadurch gelöst werden, dass die Anweisung \refstepcounter und die Definition von \@currentlabelname vor die center-Umgebung verschoben wird. Oder es wird einfach ein optionales Argument zum Setzen des Labels hinzugefügt:

\documentclass{article}
\usepackage{scrbase}% für \IfArgIsEmpty (siehe scrguide.pdf)
\usepackage[colorlinks, linkcolor = blue, citecolor = blue, urlcolor = blue]{hyperref} 


\newcounter{Mycount}
\newcounter{ReqCounter}
\newcommand{\Projekt}{A}


\def\threedigits#1{%
	\Projekt-%
	\ifnum#1<100 0\fi
	\ifnum#1<10 0\fi
	\number#1}

\def\RefCount{%
	\textbf{\threedigits{\theReqCounter}}
}

\def\RefCountRel#1{%
	\setcounter{Mycount}{\theReqCounter}\addtocounter{Mycount}{#1}%
	Anforderung \mbox{\textbf{\threedigits{\theMycount}}}%
}

\makeatletter
\newcommand{\Anforderung}[2][]{% optionales Argument für Label hinzugefügt
	\begin{center}
	    \def\@currentlabelname{#2}% Namen für die nachfolgende Referenz setzen.
		\refstepcounter{ReqCounter}% Zählerreferenz erzeugen
		\IfArgIsEmpty{#1}{}{\label{#1}}% Label nur setzen, wenn das optionale Argument nicht leer ist.
		\begin{tabular}[!h]{p{1.5cm}p{13.5cm}ll}
			\RefCount &  #2\\
		\end{tabular}
	\end{center}
}
\makeatother

\begin{document}
	\Anforderung{Das ist Text 1.}
	\Anforderung{Das ist Text 2.}
	\Anforderung[anf:test]{Das ist Text 3 mit Referenz nach \RefCountRel{-2}.}
	
	Siehe: \nameref{anf:test}.
\end{document}

Referenz in Tabelle

von ITEC » Do 17. Jun 2021, 16:58

Bin Latex Anfänger und habe wohl das Thema mit den Referenzen noch nicht richtig verstanden. Dazu folgendes Minimalbeispiel:

\documentclass{article}
\usepackage[colorlinks, linkcolor = blue, citecolor = blue, urlcolor = blue]{hyperref} 


\newcounter{Mycount}
\newcounter{ReqCounter}
\newcommand{\Projekt}{A}


\def\threedigits#1{%
	\Projekt-%
	\ifnum#1<100 0\fi
	\ifnum#1<10 0\fi
	\number#1}

\def\RefCount{%
	\textbf{\threedigits{\theReqCounter}}
}

\def\RefCountRel#1{%
	\setcounter{Mycount}{\theReqCounter}\addtocounter{Mycount}{#1}%
	Anforderung \mbox{\textbf{\threedigits{\theMycount}}}%
}


\newcommand{\Anforderung}[1]{%
	\begin{center}
		\stepcounter{ReqCounter}
		\begin{tabular}[!h]{p{1.5cm}p{13.5cm}ll}
			\RefCount &  #1\\
		\end{tabular}
	\end{center}
}

\begin{document}
	\Anforderung{Das ist Text 1.}
	\Anforderung{Das ist Text 2.}
	\Anforderung{Das ist Text 3 mit Referenz nach \RefCountRel{-2}.}
\end{document}

Ich möchte, dass aus der 3. Zeile der Ausgabe eine Referenz wird und zwar der gesamte fett gedruckte Text. Also nicht nur eine Ziffer, wie sie z.B. ein \refstepcounter liefert.


Nach oben