Wie kann ich bei \pageref eine Seitenangabe erzeugen, die die Anfangsseite und die Endseite umfasst.

Vgl. Kapitel 1 auf Seite(n) x bis y oder Vgl. Kapitel 1 auf Seite(n) x-y

Öffne in Overleaf
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
%\usepackage[breaklinks=true]{hyperref}
\usepackage{blindtext}
\begin{document}
\section{Blindtext}\label{sec:Blindtext}
\Blindtext
\subsection{Blindtext}
\Blindtext
\section{Neuer Blindtext}
vgl. Kapitel \ref{sec:Blindtext} auf Seiten \pageref{sec:Blindtext}
\end{document}

gefragt 28 Dez '17, 21:24

Tischa's gravatar image

Tischa
1.4k27102128
Akzeptiert-Rate: 15%

1

\label{sec:Blindtext-end} am Ende des Abschnitts und ... auf Seiten \pageref{sec:Blindtext}--\pageref{sec:Blindtext-end}.

(28 Dez '17, 21:59) Henri

Vermutlich verstehe ich das Problem nicht ganz, denn generell ist das mit zwei Labels leicht gelöst, wie Henri in seinem Kommentar bereits erklärt hat:

Öffne in Overleaf
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{blindtext}

\begin{document}
\section{Blindtext}\label{sec:Blindtext}
\Blindtext
\subsection{Blindtext}
\Blindtext\label{sec:Blindtext-end}
\section{Neuer Blindtext}\label{sec:NeuerBlindtext}
vgl. Kapitel \ref{sec:Blindtext} auf Seite \pageref{sec:Blindtext} bis
\pageref{sec:Blindtext-end}.
\end{document}

Aber vielleicht ist ja das auskommentierte hyperref in Wirklichkeit das Problem, weil \pageref nicht automatisch zur entsprechenden Seite, sondern zum Anker springt (und das ist in dem Fall die letzte Überschrift). Oder vielleicht ist im Zusammenhang mit hyperref das Problem, dass du möglicherweise möchtest, dass der Link nicht nur aus der reinen Seitenzahl besteht. Vielleicht ist das Problem auch, dass wenn die Startseite des Querverweises und die Endseite dieselbe Seite ist. All das lässt sich lösen:

Öffne in Overleaf
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{refcount}
\usepackage{hyperref}
\usepackage{blindtext}
\newcommand*{\pagesref}[2]{% Diese Definition funktioniert so nur mit hyperref und refcount!
  \ifnum\getpagerefnumber{#1}=\getpagerefnumber{#2}\relax
    \hyperref[#1]{Seite \pageref*{#1}}%
  \else
    \hyperref[#1]{Seite \pageref*{#1}}
    \hyperref[#2]{bis \pageref*{#2}}%
  \fi
}
\begin{document}
\section{Blindtext}\label{sec:Blindtext}
\Blindtext
\subsection{Blindtext}
\Blindtext\phantomsection\label{sec:Blindtext-end}
\section{Neuer Blindtext}\label{sec:NeuerBlindtext}
vgl. Kapitel \ref{sec:Blindtext} auf Seite \pageref{sec:Blindtext} bis
\pageref{sec:Blindtext-end} oder \pagesref{sec:Blindtext}{sec:Blindtext-end}
im Vergleich zu \pagesref{sec:NeuerBlindtext}{sec:NeuerBlindtext-end}.\phantomsection\label{sec:NeuerBlindtext-end}
\end{document}
Permanenter link

beantwortet 29 Dez '17, 14:13

gast3's gravatar image

gast3
(ausgesetzt)
Akzeptiert-Rate: 53%

bearbeitet 29 Dez '17, 14:15

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×6
×1
×1

gestellte Frage: 28 Dez '17, 21:24

Frage wurde gesehen: 5,923 Mal

zuletzt geändert: 29 Dez '17, 14:15