Anzeige:
Ergebnis 1 bis 7 von 7

Thema: Multiind und Hyperref

  1. #1
    HATEthePLOT
    Gast

    Multiind und Hyperref

    Hallo zusammen,

    Mein Problem: das Paket Hyperref verweist nicht auf die richtigen Seiten der Indizes. Folgt man z.B. dem Link zum Namensverzeichnis, landet man beim letzten funktionierenden Eintrag (im Mini-Bsp. Punkt 1.1)

    Code:
    \documentclass[a4paper,12pt]{scrartcl}
    \usepackage[utf8]{inputenc}
    
    \usepackage{multind}
    \makeindex{index}
    \makeindex{name}
    
    \usepackage{hyperref}
    
    \begin{document}
    \tableofcontents
    \newpage
    
    \section{Test 1}
    \subsection{Unter-Test}
    
      \printindex{index}{{Index}}
      \printindex{name}{{Namensverzeichnis}}
    
    \end{document}
    folgendes habe ich mit Google gefunden: http://osdir.com/ml/tex.german/2003-02/msg00154.html
    ich will aber nur ungerne mein Paket wechseln, da ich für sowas eigentlich keine Zeit mehr habe.

    Danke schonmal für Hilfe

  2. #2
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Moin moin,
    Zitat Zitat von HATEthePLOT Beitrag anzeigen
    Mein Problem: das Paket Hyperref verweist nicht auf die richtigen Seiten der Indizes. Folgt man z.B. dem Link zum Namensverzeichnis, landet man beim letzten funktionierenden Eintrag (im Mini-Bsp. Punkt 1.1)
    versuch es so:
    Code:
    \documentclass[paper=a4,fontsize=12pt]{scrartcl}
    \usepackage[utf8]{inputenc}
    
    \usepackage{multind}
    \makeindex{index}
    \makeindex{name}
    
    \usepackage{hyperref}
    
    \makeatletter
    \def\printindex#1#2{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
      \columnseprule \z@ \columnsep 35pt
      \twocolumn[\addsec{#2}]
      \@input{#1.ind}%
    }%\printindex{Index}{Name}, Originaldefinition: siehe multind.sty Version 1.1b (1991/08/31)
    \makeatother
    
    \begin{document}
    \tableofcontents
    \newpage
    
    \section{Test 1}
    \subsection{Unter-Test}
    
    \printindex{index}{{Index}}
    \printindex{name}{{Namensverzeichnis}}
    
    \end{document}
    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  3. #3
    HATEthePLOT
    Gast
    Vielen Dank,

    hat funktioniert mit einer kleinen Änderung:

    Code:
    \makeatother
    \makeatletter
    \def\printindex#1#2{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
      \columnseprule \z@ \columnsep 35pt
      \twocolumn[\addsec{#2}]
      \@input{#1.ind}%
    }\printindex{name}{Namensverzeichnis}, Originaldefinition: siehe multind.sty Version 1.1b (1991/08/31)
    \makeatother
    vor \printindex in der vor-vorletzten war das %-Zeichen zuviel.

    Vielen Dank trotzdem für die schnelle Hilfe, die das Problem lösen konnte!

  4. #4
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Zitat Zitat von HATEthePLOT Beitrag anzeigen
    Vielen Dank,

    hat funktioniert mit einer kleinen Änderung:

    Code:
    \makeatother
    \makeatletter
    \def\printindex#1#2{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
      \columnseprule \z@ \columnsep 35pt
      \twocolumn[\addsec{#2}]
      \@input{#1.ind}%
    }\printindex{name}{Namensverzeichnis}, Originaldefinition: siehe multind.sty Version 1.1b (1991/08/31)
    \makeatother
    vor \printindex in der vor-vorletzten war das %-Zeichen zuviel.
    also das musst Du mir schon ein wenig genauer erklären ... einmal ganz agbesehen davon, daß
    Zitat Zitat von HATEthePLOT Beitrag anzeigen
    Code:
    \makeatother
    \makeatletter
    in meinem Quellcode in dieser Form gar nicht auftaucht:
    das `}'-Zeichen vorm vermeintlich überflüssigen `%'-Zeichen beendet gerade die (Re-)Definition von `\printindex', das Kommentarzeichen (%) leitet genau das ein, eben einen Kommentar ... den Du hier auch nicht 1:1 wiedergegeben hast ... und Du bist Dir absolut sicher, daß Du einen `\printindex' bereits in Deiner Präambel benötigst?
    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  5. #5
    HATEthePLOT
    Gast
    Zitat Zitat von rais Beitrag anzeigen
    also das musst Du mir schon ein wenig genauer erklären ... einmal ganz agbesehen davon, daß
    in meinem Quellcode in dieser Form gar nicht auftaucht:
    das `}'-Zeichen vorm vermeintlich überflüssigen `%'-Zeichen beendet gerade die (Re-)Definition von `\printindex', das Kommentarzeichen (%) leitet genau das ein, eben einen Kommentar ... den Du hier auch nicht 1:1 wiedergegeben hast ... und Du bist Dir absolut sicher, daß Du einen `\printindex' bereits in Deiner Präambel benötigst?
    MfG
    ah ich hab den code falsch kopiert: ich hab deinen vorschlag für jeden meiner beiden indizes verwendet

    also in etwa so:
    Code:
    \makeatletter
    \def\printindex#1#2{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
      \columnseprule \z@ \columnsep 35pt
      \twocolumn[\addsec{#2}]
      \@input{#1.ind}%
    }\printindex{index}{Index}%, Originaldefinition: siehe multind.sty Version 1.1b (1991/08/31)
    \makeatother
    
    \makeatletter
    \def\printindex#1#2{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
      \columnseprule \z@ \columnsep 35pt
      \twocolumn[\addsec{#2}]
      \@input{#1.ind}%
    }\printindex{name}{Namensverzeichnis}%, Originaldefinition: siehe multind.sty Version 1.1b (1991/08/31)
    \makeatother
    im vorherigen thread hab ich den letzten block kopiert und ausversehen den schluss des ersten blocks mit erwischt.

    dazu hab ich den code auch nicht in die präambel, sondern direkt dort eingefügt, wo ich ihn benötige. Sicher nicht die sauberste Art, oder?

    Code:
    \documentclass[a4paper,12pt]{scrartcl}
    \usepackage[utf8]{inputenc}
    
    \usepackage{multind}
    \makeindex{index}
    \makeindex{name}
    
    \usepackage{hyperref}
    
    \begin{document}
    \tableofcontents
    \newpage
    
    \section{Test 1}
    \subsection{Unter-Test}
    
    \makeatletter
    \def\printindex#1#2{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
      \columnseprule \z@ \columnsep 35pt
      \twocolumn[\addsec{#2}]
      \@input{#1.ind}%
    }\printindex{index}{Index}%, Originaldefinition: siehe multind.sty Version 1.1b (1991/08/31)
    \makeatother
    
    \makeatletter
    \def\printindex#1#2{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
      \columnseprule \z@ \columnsep 35pt
      \twocolumn[\addsec{#2}]
      \@input{#1.ind}%
    }\printindex{name}{Namensverzeichnis}%, Originaldefinition: siehe multind.sty Version 1.1b (1991/08/31)
    \makeatother
    
    \end{document}
    funktioniert einwandfrei

  6. #6
    HATEthePLOT
    Gast
    Sorry für den Doppelpost:

    ich muss mich korrigieren, aber es funktioniert doch nicht so ganz einwandfrei: und zwar übergibt der Index keine Überschrift für z.B. die Kopfzeile. Dort steht dann immer die letzte aktive Überschrift.

    Dies passiert mit deiner Lösung, aber auch mit meiner. DIe überschriften werden angegeben, wenn ich deinen Code vor dem Erstellen der Inidzes lade, aber dann funktionieren die Links wieder nicht.

  7. #7
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Zitat Zitat von HATEthePLOT Beitrag anzeigen
    ich muss mich korrigieren, aber es funktioniert doch nicht so ganz einwandfrei: und zwar übergibt der Index keine Überschrift für z.B. die Kopfzeile. Dort steht dann immer die letzte aktive Überschrift.
    Hallo,

    mir markboth kannst du das einstellen.

    Gruß
    Marco

Lesezeichen

Berechtigungen

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