PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : \index nach \includepdf



kogb
19-06-2008, 23:43
Hallo zusammen,

ich möchte mittels \includepdf aus dem pdfpages-package pdf-Seiten in mein Dokument einbinden. Dies klappt auch sehr gut. Im Weiteren möchte ich im Index auf diese Seiten verweisen. Hier gibt es aber Probleme:

Im Index wird nicht die Seite des eingebundenen PDFs angezeigt, sondern die nächste Seite (im unteren Minimalbeispiel wird 3 statt 2 angezeigt.
Wenn ich im unteren Minmalbeispiel nach dem \index{...}-Eintrag nicht mehr weiterschreibe, wird gar kein Index erstellt.


Für Hinweise, was ich falsch mache, wäre ich sehr dankbar. Vielen Dank für Eure Hilfe!



\documentclass[%
a4paper%
,12pt%
]{scrreprt}


\usepackage{pdfpages}
\usepackage{makeidx}

\makeindex


\begin{document}
Test

\includepdf[]{Beispiel.PDF}\index{Beispiel}

Test %Lässt man dies weg, wird gar kein Index gedruckt.
\printindex

\end{document}

edico
20-06-2008, 07:49
pdfpages bindet Seiten ganzseitig ein; der Vorgang ist mit der letzten geschweiften Klammer abgeschlossen. Somit bezieht sich der anschliessende Index konsequenterweise auch auf die Folgeseite- der Seitenverweis stimmt nicht.

Die dargereichte Lösung nimmt sich des Hyperlinkings für PDF-Pages an. Demnach muss in der einzubettenden Datei ein 'Hypertarget' gesetzt werden, der dann von 'aussen' angesprungen werden kann. Der Hyperlink nun wird in den index-Aufruf eingesetzt.

Die Lösung ist hier mit 'händischer' Seitenangabe. Wenn bei einem mehrseitigen PDF-Dokument eine 'innere' Seite angesprungen werden soll, ist es nach der selbigen Struktur denkbar. Einen Automatismus für die Seitenangabe habe ich nicht gestalten können.

Somit ist das Layout unterschiedlich, was ggf. veranlassen könnte, mit Multiindex zu arbeiten.



\documentclass[11pt,paper=a5,pagesize]{scrartcl}
\usepackage[bindingoffset=1cm,centering,includeheadfoot,margin =1cm]{geometry}

\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{txfonts}
\usepackage{pdfpages}

\usepackage{makeidx}
\makeindex
\newcommand*{\Index}[1]{#1\index{#1}}

\usepackage{hyperref}

\begin{document}
\section{pdfpages}
Kompiliere mit der \Index{Schrittfolge}:
{\footnotesize
\begin{verbatim}
pdflatex foo
pdflatex foo
makeindex [-g -s stylefile.ist] foo
pdflatex foo
\end{verbatim}
}
\index{Kompilieren@Compilation}

... ein reiner Test\index{Test}

% hier wird ein 1-seitiges PDF-Dokument eingebunden
% Naeheres s. 'texdoc pdfpages'
\includepdf[pages={-},pagecommand={\hypertarget{Datei1}{}}]{PDFembed.pdf}
%\index{ \hyperlink{Datei1}{Beispiel} } % falsche Seitenzahl
\index{ Beispiel|see{\hyperlink{Datei1}{PDF-Datei1,\,S.\,1}} }

... Test mit Analyse\index{Test!Analyse}

\printindex
\end{document}


edico

kogb
22-06-2008, 17:33
Vielen Dank, das klingt gut. Werde das nachher gleich ausprobieren.