Anzeige:
Ergebnis 1 bis 13 von 13

Thema: hyperref: "Abbildung 1.1" und nicht nur "1.1" als hyperlink

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Registrierter Benutzer
    Registriert seit
    05.09.2006
    Beiträge
    361

    hyperref: "Abbildung 1.1" und nicht nur "1.1" als hyperlink

    Hallo,

    habe schon sehr viel Zeit aufgewendet um z.B. "Abbildung 1.1" und nicht nur Abbildung "1.1" als hyperlink darstellen zu können. Und damit meine ich nicht das hyperref internet \autoref{Marke}, weil ich es gerne zusammen mit varioref nutzen möchte. Unten habe ich einen Befehl für Abbildung gefunden.

    Habe:
    \providecommand*{\abbvrefname}{Abbildung}\newcomma nd*{\abbvref}[1]{\hyperref[#1]{\abbvrefname}\vref{#1}
    im Netz gefunden, leider weiß ich echt nicht, wie ich es anwenden soll (was ist der Befehl und wo soll ich hier den label setzten, kommt das in die Preämbel?).

    Kann ich {Abbildung} problemlos in {\figurename} ändern (muss Protokolle in deutsch und in englisch schreiben, so ist es viel allgemeiner)?
    Wie kann ich den Befehl auch für Tabellen nutzen?

    Vielen Dank für Eure Hilfe!
    Ubuntu 14.04 LTS, Texstudio 2.6, TeX Live 2014 (manuell installiert)

  2. #2
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Zitat Zitat von ElGato Beitrag anzeigen
    Hallo,

    habe schon sehr viel Zeit aufgewendet um z.B. "Abbildung 1.1" und nicht nur Abbildung "1.1" als hyperlink darstellen zu können. Und damit meine ich nicht das hyperref internet \autoref{Marke}, weil ich es gerne zusammen mit varioref nutzen möchte. Unten habe ich einen Befehl für Abbildung gefunden.

    Habe:
    \providecommand*{\abbvrefname}{Abbildung}\newcomma nd*{\abbvref}[1]{\hyperref[#1]{\abbvrefname}\vref{#1}
    im Netz gefunden, leider weiß ich echt nicht, wie ich es anwenden soll (was ist der Befehl und wo soll ich hier den label setzten, kommt das in die Preämbel?).
    so, wie sich der Befehl anhört, ist er als Ersatz für \vref gedacht, ein \label setzt Du also wie gewohnt hinter \caption, packst die Definition in die Präambel, und nutzt \abbvref{marke} im Text.
    Zitat Zitat von ElGato Beitrag anzeigen
    Kann ich {Abbildung} problemlos in {\figurename} ändern (muss Protokolle in deutsch und in englisch schreiben, so ist es viel allgemeiner)?
    Evtl tut es bereits
    Code:
    \newcommand*{\abbvref}[1]{\hyperref[#1]{\figurename}\vref{#1}}
    Zitat Zitat von ElGato Beitrag anzeigen
    Wie kann ich den Befehl auch für Tabellen nutzen?
    da dürfte das Einfachste ein entsprechend zweiter Befehl sein:
    Code:
    \newcommand*{\tabvref}[1]{\hyperref[#1]{\tablename}\vref{#1}}
    dann solltest Du mit \abbvref{fig:marke} bzw. \tabvref{tab:marke} entsprechend getrennt auf Abbildungen und Tabellen verweisen können.

    d.h. evtl müsstest Du noch ein \thefigure an \figurename, \thetable an \tablename anschließen...
    MfG,
    Rainer
    There's nothing a good whack with a hammer won't fix!

  3. #3
    Registrierter Benutzer
    Registriert seit
    05.09.2006
    Beiträge
    361
    Hi rais,

    Du glaubst ja gar nicht, wie dankbar ich Dir bin!

    Vielen, vielen Dank!!!!!!!!!!!!!!!!!!!!

    Ich habe echt Stunden mit diesem Problem verbracht, aber nun ist es gelöst!

    Nochmals Danke!
    ElGato
    Ubuntu 14.04 LTS, Texstudio 2.6, TeX Live 2014 (manuell installiert)

  4. #4
    Registrierter Benutzer
    Registriert seit
    05.09.2006
    Beiträge
    361
    Hallo,

    tut mir leid, über Nacht ist mir etwas eingefallen.
    Also Deine Anleitung funktioniert perfekt keine Frage, aber wie kann ich genau daselbe mit
    Kapiteln (chapter), Abschnitten (section), Unterabschnitten (subsection), Unterunterabschnitten (subsubsection) machen? Am Besten mit etwas globalen, also einem Namen für Chapter, wie für Abbildung {\figurename} das gleich verschiedene Sprachen abdeckt.

    Genau hier versuche ich die \autoref{} Befehle mit den \vref{} Befehlen zu kombinieren.
    Schade, dass es für sowas kein Packet gibt :-(

    So etwas gab es bisher noch nie im Netz, wäre toll, wenn es jemand schafft.
    Ubuntu 14.04 LTS, Texstudio 2.6, TeX Live 2014 (manuell installiert)

  5. #5
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Hallo,
    Zitat Zitat von ElGato Beitrag anzeigen
    tut mir leid, über Nacht ist mir etwas eingefallen.
    Also Deine Anleitung funktioniert perfekt keine Frage, aber wie kann ich genau daselbe mit
    Kapiteln (chapter), Abschnitten (section), Unterabschnitten (subsection), Unterunterabschnitten (subsubsection) machen? Am Besten mit etwas globalen, also einem Namen für Chapter, wie für Abbildung {\figurename} das gleich verschiedene Sprachen abdeckt.
    Naja, \chaptername sollte eigentlich bereits definiert sein, d.h. bei den KOMA-Klassen gab's afaik auch einen Befehl, der gleich zwischen normalen Kapiteln und solchen im Anhang unterschieden hat, mußt Du mal im scrguide nachlesen.
    Für die (Unter...)Abschnitte gab's afaik keine vordefinierten Namen, die könntest Du aber selbst anlegen, z.B.
    Code:
    \newcommand{\sectionname}{section}
    und vllt mit babel auch gleich
    Code:
    \addto\captionsngerman{%
      \renewcommand{\sectionname}{Abschnitt}%
    }
    \addto\captionsspanish{%
      \renewcommand{\sectionname}{wie-auch-immer-ein-Abschnitt-auf-Spanisch-heißt}%
    }
    :
    definieren, das sollte unterschiedliche Sprachunterstützung gleich mit abhaken.
    So könntest Du nach demgleichen Strickmuster wie bei \abbvref entsprechende Befehle bereitstellen - das ist zwar noch etwas umständlich, aber mir fällt im Moment nix dazu ein, wie man anhand der Marke rausbekommen könnte, worauf sie denn verweist (dann bräuchte man wieder nur einen Befehl im Text zu verwenden) - aber dann sitz' ich auch gerade nicht an meinem heimischen Rechner und könnt' drauflosprobieren
    MfG,
    Rainer
    There's nothing a good whack with a hammer won't fix!

  6. #6
    Registrierter Benutzer
    Registriert seit
    05.09.2006
    Beiträge
    361
    Hi,

    habe mich wieder durch die hyperref doku gekämpft und habe die optimale Lösung gefunden:

    \newcommand*{\fvref}[1]{\hyperref[#1]{\figurename}\vref{#1}} % Abbildung + Nr., als hyperlink mit varioref
    \newcommand*{\tvref}[1]{\hyperref[#1]{\tablename}\vref{#1}} % Tabelle + Nr., als hyperlink mit varioref
    \newcommand*{\chaptervref}[1]{\hyperref[#1]{\chapterautorefname}\vref{#1}} % Kapitel + Nr., als hyperlink mit varioref
    \newcommand*{\sectionvref}[1]{\hyperref[#1]{\sectionautorefname}\vref{#1}} % Abschnitt + Nr., als hyperlink mit varioref
    \newcommand*{\subsectionvref}[1]{\hyperref[#1]{\subsectionautorefname}\vref{#1}} % Unterabschnitt + Nr., als hyperlink mit varioref

    So sind die Befehle sehr flexible und die Bezeichnungen (Kapitel, chapter, Abschnitt, section...) richten sich nach der dementsprechenden Sprache.

    Viel Spaß damit!

    ElGato
    Ubuntu 14.04 LTS, Texstudio 2.6, TeX Live 2014 (manuell installiert)

  7. #7
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    Zitat Zitat von ElGato Beitrag anzeigen
    Genau hier versuche ich die \autoref{} Befehle mit den \vref{} Befehlen zu kombinieren.
    Schade, dass es für sowas kein Packet gibt :-(

    So etwas gab es bisher noch nie im Netz, wäre toll, wenn es jemand schafft.
    Ist die Problematik eigentlich noch aktuell?

    Wenn ja, gibt es hier einige Beispiele:

    http://www.mrunix.de/forums/showthread.php?t=65531
    http://www.mrunix.de/forums/showthread.php?t=71566

    (Die Sache mit den x verschiedenen Befehlen, für jede Gliederungsebene einen, kann man sich also sparen.)

  8. #8
    Registrierter Benutzer
    Registriert seit
    05.09.2006
    Beiträge
    361

    Smile

    Die Problematik ist nicht mehr aktuelle, da ich nun cleveref verwende.

    Varioref verursacht Fehler, wenn es zu einem Seitenumbruch IM Verweis kommt. Beispiel: Der Verweise "siehe nächste Seite" ist falsch, wenn der Verweis auf der vorherigen Seite anfängt und auf der Seite, wo der Verweis hinführt endet.

    Diesen Fehler kann man in als Warnung ausgeben lassen, dann geht wenigstens das Kompilieren fehlerfrei. Hierzu reicht der Befehl

    \vrefwarning

    Mittlerweile kombiniere ich die Mischung aus hyperref, varioref und cleveref:

    \renewcommand*{\cref}[1]{\hyperref[#1]{ZEICHEN \vref{#1}}} %Kombination aus cleveref und hyperref

    Es reduziert einen Haufen Befehle und funktioniert ganz gut.

    Mehr gibts hier:

    http://www.mrunix.de/forums/showthread.php?t=71502

    Hier wird auch das Problem behandelt, dass auf Verweise im Fließtext, Fußnote erwähnt wird.
    Ubuntu 14.04 LTS, Texstudio 2.6, TeX Live 2014 (manuell installiert)

Stichworte

Lesezeichen

Berechtigungen

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