Wie man einen Text labelt

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


Schmantii
Forum-Anfänger
Forum-Anfänger
Beiträge: 22
Registriert: Sa 5. Dez 2015, 02:42

Wie man einen Text labelt

Beitrag von Schmantii »

Hallo zusammen!

Ich habe da ein kleines Problem mit folgendem Befehl, von dem ich nicht weiß wie (und ob) man das irgendwie lösen kann.
\documentclass{scrartcl}

\usepackage{hyperref}
	\providecommand\phantomsection{}
	
\makeatletter

	\newcommand{\textlabel}[2]{%
	  \edef\@currentlabel{#1}% Set target label
	  \phantomsection% Correct hyper reference link
	  #1\protect\label{#2}% Print and store label
	}
\makeatother

\begin{document}
This \textbf{\textlabel{word}{label}} has a label.\\ \newpage
	This is the reference to the \ref{label}.
\end{document}
Der Befehl soll einen bestimmten Textteil kennzeichnen / zwischenspeichern und ihn über ref ausgeben - was er auch bislang schön tut.

Mein Ziel ist aber nun, die Formatierung (nur Schriftart, keine Schriftgröße) des "gelabelten" Wortes / Textes (in diesem Fall fett) auf die Referenz zu übertragen - wenn möglich ganz einfach so:
\textlabel{\textbf{word}}{label}
Wobei er mir hier immer eine Fehlermeldung ausgibt, was wohl am label Befehl selbst liegen wird, da dieser keine Formatierungsbefehle annimmt.

Habe in meinem Anwendungskontext mehrere alternative Lösungswege versucht; allerdings wäre das hier immernoch die optimalste Lösung, bei der ich keine Abstriche machen müsste (wenn denn möglich).

Any ideas?

Schönen Gruß! :D

Noch so einer

Beitrag von Noch so einer »

Ziemlich seltsamer Code. Ich vermute, Du willst so etwas:
\documentclass{scrartcl}

\usepackage{hyperref}
\providecommand\phantomsection{}

\makeatletter
\newcommand{\textlabel}[2]{%
  \protected@edef\@currentlabel{#1}% Set target label
  \phantomsection% Correct hyper reference link
  #1\label{#2}% Print and store label
}
\makeatother

\begin{document}
This \textlabel{\protect\textbf{word}}{label} has a label.
\newpage
This is the reference to the \ref{label}.
\end{document}

Schmantii
Forum-Anfänger
Forum-Anfänger
Beiträge: 22
Registriert: Sa 5. Dez 2015, 02:42

Beitrag von Schmantii »

Ne! Es ist nicht zu fassen!

Da probiert und sucht man ellenlang - und dann kommt er mit so einem kleinen Wort um die Ecke...:shock:
Noch so einer hat geschrieben: (...)
\textlabel{\protect\textbf{word}}{label}
(...)
Hätte man selbst wissen müssen! :oops:
Aber es tut auf jeden Fall seine Dienste. BESTEN Dank dafür! :wink:
Dann kann ich ja jetzt endlich weiter machen...

Schönen Tag noch! :D

Antworten