\ref und \pageref liefern die Nummer bzw. Seitennummer des Abschnittes. Wie referiere ich aber auf den Überschrifttext des Abschnitts? Ich verwende hyperref.

gefragt 10 Jul, 08:27

kabel's gravatar image

kabel
2212220
Akzeptiert: 70%

bearbeitet 10 Jul, 13:54

saputello's gravatar image

saputello
18.4k22352

2

nameref.

(10 Jul, 09:07) Johannes
2

@kabel: Bitte achte auf korrektes Markdown von Inlinecode in Deinen Beiträgen, also `\ref` und `\pageref` statt \ref und \pageref.

(10 Jul, 13:50) saputello

Wie Johannes bereits in seinem Kommentar zur Frage (die leider kein vollständiges Minimalbeispiel enthält) angedeutet hat, kann man Verweise auf den Text der Überschrift mit Hilfe des Pakets nameref erreichen. hyperref lädt dieses Paket bereits von sich aus, so dass man den Befehl \nameref unmittelbar verwenden kann:

Open in Online-Editor
\documentclass{article}

\usepackage{hyperref}

\begin{document}
\section{Testsection}
\label{sec:test}

The name of this section is: ``\nameref{sec:test}''.
\end{document}

Dabei wird auch gleich ein Link auf den Text der Überschrift erstellt. Will man den Link nicht, verwendet man die Sternversion des Befehls, also beispielsweise `nameref*{sec:test}'.

Interessant ist noch die Frage, was \nameref referenziert, wenn sich der Eintrag ins Inhaltsverzeichnis und den Kolumnentitel von der Überschrift selbst unterscheiden, wenn also das optionale Argument des Gliederungsbefehls verwendet wird:

Open in Online-Editor
\documentclass{article}

\usepackage{hyperref}

\begin{document}
\section[Running head and TOC entry]{Testsection}
\label{sec:test}

The name of this section is: ``\nameref{sec:test}''.
\end{document}

In diesem Fall wird das optionale Argument von \section auch für \nameref verwendet.

Eine ganz ähnliche Funktionalität steht übrigens auch mit titleref zur Verfügung. Dort ist lediglich \nameref durch \titleref zu ersetzen.

Daneben gibt es noch das Paket zref dessen Modul titleref (nicht zu verwechseln mit dem gleichnamigen, oben erwähnten Paket) ebenfalls den Zugriff auf den Titel erlaubt. Allerdings funktioniert das nur, wenn auch das Label mit \zlabel gesetzt wurde. Dafür kann man bei zref-titleref ggf. den Verweis auch explizit via \ztitlerefsetup setzen:

Open in Online-Editor
\documentclass{article}

\usepackage[user,titleref]{zref}

\begin{document}
\section[Running head and TOC entry]{Testsection}
\zlabel{sec:test}

The name of this section is: ``\ztitleref{sec:test}''.

\section[2nd running head and TOC entry]{2nd Testsection}
\ztitlerefsetup{title=Reference title}\zlabel{sec:test2}

The name of this section is: ``\ztitleref{sec:test2}''.

\end{document}
Permanenter link

beantwortet 10 Jul, 13:01

saputello's gravatar image

saputello
18.4k22352

bearbeitet 12 Jul, 05:06

In ConTeXt gibt es die ganze Funktionalität von Haus aus.

Open in Online-Editor
\starttext

\startsection[reference=sec:test,title=Testsection]
  Der Name von \in{Section}[sec:test] auf \at{Seite}[sec:test] ist
  \about[sec:test].
\stopsection

\stoptext

alt text

N.B.: Ein Mancher mag \startsection...\stopsection befremdlich finden und in der Tat gibt es auch das alte \section[<ref>]{<title>} noch, aber die neuen Befehle sind laut dem Wiki zu bevorzugen

These more verbose commands apply an environment (start- and stop-) approach to sectioning, which is more friendly to tagged-PDF, ePUB and XML output.

Permanenter link

beantwortet 11 Jul, 18:19

Henri's gravatar image

Henri
10.0k31730

bearbeitet 11 Jul, 18:22

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:

×33
×25
×8

Frage gestellt: 10 Jul, 08:27

Frage wurde angeschaut: 502 Mal

Zuletzt aktualisiert: 12 Jul, 05:06