Anzeige:
Ergebnis 1 bis 4 von 4

Thema: Seitenverweis im Format "23f." oder "45ff."

  1. #1
    Registrierter Benutzer
    Registriert seit
    11.06.2008
    Beiträge
    5

    Seitenverweis im Format "23f." oder "45ff."

    Hallo zusammen,
    weiß jemand von Euch, wie man möglichst einfach einen Seitenverweis erzeugen kann, der falls erforderlich automatisch "f." für die folgende oder "ff." für mehrere folgende Seiten an die Seitenzahl ranhängt?

    Ich habe mir vorgestellt, die Textpassage, auf die ich verweisen will, am Anfang und am Ende mit \label zu markieren. Etwa in folgender Form:

    \phantomsection \label{Anfang_Text}
    Text Text Text Text Text Text Text Text Text
    Text Text Text Text Text Text Text Text Text
    Text Text Text Text Text Text Text Text Text
    Text Text Text Text Text Text Text Text Text
    \phantomsection \label{Ende_Text}

    Abhängig von den Seitenzahlen der beiden labels müsste der Verweis entsprechend generiert werden, aber ich habe leider keine Ahnung, wie das geschehen soll.

    Für Ideen wäre ich sehr dankbar.

    Viele Grüße
    Gummibaer

  2. #2
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    etwa so
    Code:
    \documentclass{article}
    \usepackage[ngerman]{babel}
    \usepackage{blindtext,refcount}
    \newcounter{phantom}
    \newcounter{mystart}
    \newcounter{mystop}
    \newcommand*\myrangeref[2]{%
      \setcounterpageref{mystart}{#1}%
      \setcounterpageref{mystop}{#2}%
      \ifnum\value{mystop}<\value{mystart}%
        \typeout{[myrangeref] Strange...stop (#2) before start (#1).}%
        \pageref{#2}--\pageref{#1}%
      \else
        \pageref{#1}%
        \ifnum\value{mystart}<\value{mystop}%
          \addtocounter{mystop}{-1}%
          \ifnum\value{mystart}<\value{mystop}%
            ff.%
          \else
            f.%
          \fi
        \fi
      \fi
    }
    \newcommand*\mylabel[1]{%
      \refstepcounter{phantom}%
      \label{#1}%
    }
    \begin{document}
    \mylabel{Anfang_Text}
    \blindtext[10]
    \mylabel{Ende_Text}
    
    Seite(n): \myrangeref{Anfang_Text}{Ende_Text}
    \end{document}
    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  3. #3
    Registrierter Benutzer Avatar von Stefan_K
    Registriert seit
    05.04.2007
    Ort
    Hamburg
    Beiträge
    3.534
    Hallo,

    Du könntest auch das Paket varioref und \vpagerefrange anschauen, ob diese Form der Referenzierung von Seitenbereichen sich für Dich eignet.

    Viele Grüße,

    Stefan

  4. #4
    Registrierter Benutzer
    Registriert seit
    11.06.2008
    Beiträge
    5
    Hallo Ihr beiden freundlichen Helfer,

    ich habe mir beide empfohlenen Möglichkeiten angesehen und den Code von rais in meinem Werk eingebaut. Nach einer Recherche habe ich festgestellt dass hinter die Seitenzahl noch ein Leerzeichen gehört (das habe ich in meiner Überschrift im Forum vergessen). Daher habe ich vor dem "f." und dem "ff." noch ein kurzes Leerzeichen "\," eingefügt. Funktioniert echt prima.

    Das varioref-Paket habe ich mir auch mal angeschaut und finde es sehr interessant. Macht zwar in diesem Fall nicht genau das, was ich gesucht habe, aber ich werde es an anderen Stellen sehr gut verwenden können.

    Daher vielen vielen Dank für Euer Hilfe.

    Mit freundlichen Grüßen
    Gummibaer
    Geändert von Gummibaer (03-05-2011 um 10:19 Uhr)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •