Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

pdflatex und hyperref mit plainpages und pdfpagelabels

968 views
Skip to first unread message

Andreas Weber

unread,
Mar 13, 2009, 10:17:57 AM3/13/09
to
Hallo,

ich habe hier als Vorgabe eine unterschiedliche Seitenzaehlung.
Roman/Arabic/Roman(Fortsetzung im Anhang) wobei mainmatter etc.
wegfaellt.

Um nun die Warnung:

! pdfTeX warning (ext4): destination with the same identifier ... has been
already used, duplicate ignored

zu vermeiden ist lt.
http://www.tex.ac.uk/cgi-bin/texfaq2html?label=pdfpagelabels

bei hyperref (setup) ein

plainpages=false
pdfpagelabels=true

zu setzen.

hyperref sagt nun aber dass pdpagelabels bereits genutzt/gesetzt wurde.

Package hyperref Warning: Option `pdfpagelabels' has already been used,
(hyperref) setting the option has no effect on input line 47.

zum einen finde ich es irritierend wo das schon "gesetzt"
wurde, da ich hyperref erst kurz davor lade und dann hyperstup
ausfuehre. Gut lt. hyperref.pdf doku S.69 finde ich ein

2527 \define@key{Hyp}{pdfpagelabels}[true]{%
2528 \Hy@boolkey[pdfpagelabels]{pagelabels}{#1}%
2529 }

womit pdfpagelables wohl per default und wenn nicht angegeben
wurde auf true gesetzt wird. Und dieser default Wert eben
bereits beim Laden durch usepackage geesetzt wurde. Warum
kann man das aber in hypersetup setzen? False bringt auch
einen Fehler, bzw. wird die Option ignoriert.

Des Pudels Kern:
Warum bekomme ich dann aber noch die Warnung:

! pdfTeX warning (ext4): destination with the same identifier
Lt. der FAQ muesste das ja nun weg sein. Was ist hier noch
zu beachten?


Beispiel:

\documentclass[oneside]{book}

\usepackage[hyperfootnotes=true]{hyperref}
\hypersetup{%
plainpages=false,
pdfpagelabels=true
}

\begin{document}
\pagenumbering{Roman}
\phantomsection%
\addcontentsline{toc}{chapter}{Titelseite}
\begin{titlepage}
\bf\centering\Huge plainpages und pagelables
\end{titlepage}

\phantomsection%
\addcontentsline{toc}{chapter}{Vorwort}
\chapter*{Vorwort}
\setcounter{page}{2}
Dieses Dokument...

\phantomsection%
\tableofcontents%
\addcontentsline{toc}{chapter}{Inhalt}
\newcounter{romancounter}
\setcounter{romancounter}{\value{page}}
\addtocounter{romancounter}{1}

\chapter{Test 1}
\pagenumbering{arabic}
\setcounter{page}{1}
\label{seite1}
Ein wenig Text \ref{seite2}

\chapter{Test 2}
\label{seite2}
Mehr Text \ref{anhanga}

\chapter{Anhang A}
\label{anhanga}
\pagenumbering{Roman}
\setcounter{page}{\theromancounter}
noch mehr Text \ref{seite1}

\end{document}


Wie laesst sich die Warnung "destination with the same identifier"
abstellen?


Andi

Ulrike Fischer

unread,
Mar 13, 2009, 10:38:41 AM3/13/09
to
Am Fri, 13 Mar 2009 15:17:57 +0100 schrieb Andreas Weber:


> Package hyperref Warning: Option `pdfpagelabels' has already been used,
> (hyperref) setting the option has no effect on input line 47.

Benutze nicht hypersetup, sondern schreib die Optionen direkt in den
Aufruf:

\usepackage[hyperfootnotes=true,plainpages=false,
pdfpagelabels=true]{hyperref}

(Bei mir läuft dein Beispiel aber auch ohne die Optionen ohne
Warnung durch.
Package: hyperref 2009/02/22 v6.78p Hypertext links for LaTeX).

--
Ulrike Fischer

Heiko Oberdiek

unread,
Mar 13, 2009, 11:48:39 AM3/13/09
to
"Andreas Weber" <andrea...@digital-filestore.de> wrote:

> ! pdfTeX warning (ext4): destination with the same identifier ... has been
> already used, duplicate ignored
>
> zu vermeiden ist lt.
> http://www.tex.ac.uk/cgi-bin/texfaq2html?label=pdfpagelabels
>
> bei hyperref (setup) ein
>
> plainpages=false
> pdfpagelabels=true
>
> zu setzen.

Dies ist schon seit längerem die Standardeinstellung.

> hyperref sagt nun aber dass pdpagelabels bereits genutzt/gesetzt wurde.
>
> Package hyperref Warning: Option `pdfpagelabels' has already been used,
> (hyperref) setting the option has no effect on input line 47.
>
> zum einen finde ich es irritierend wo das schon "gesetzt"
> wurde, da ich hyperref erst kurz davor lade

Und genau beim Laden wird die Option verwendet. Danach ist daher zu
spät.

> 2527 \define@key{Hyp}{pdfpagelabels}[true]{%
> 2528 \Hy@boolkey[pdfpagelabels]{pagelabels}{#1}%
> 2529 }
>
> womit pdfpagelables wohl per default und wenn nicht angegeben
> wurde auf true gesetzt wird.

Das zeigt das Code-Beispiel nicht, sondern zeigt den Wert, der
genommen wird, wenn bei der Option kein Wert angegeben
wurde. "pdfpagelabels" und "pdfpagelabels=true" sind also
äquivalent.

> Und dieser default Wert eben
> bereits beim Laden durch usepackage geesetzt wurde.

Der Standardwert vor 2006-08-01 v6.75a war "false",
wenn die Option pdfpagelabels nicht angegeben wurde,
danach ist er "true".

> Warum
> kann man das aber in hypersetup setzen?

Kann man ja nicht, das soll die Warnung ja aussagen.

> False bringt auch
> einen Fehler, bzw. wird die Option ignoriert.

Wie gesagt, pdfpagelabels ist eine Option, die bereits das Laden von
hyperref beeinflusst. Nachträglich macht das keinen Sinn mehr.

> Des Pudels Kern:
> Warum bekomme ich dann aber noch die Warnung:
>
> ! pdfTeX warning (ext4): destination with the same identifier

Das wichtigste hast du vergessen, was für ein "identifier" wird
denn angezeigt. Das ist ein wichtiger Hinweis, welcher
Zähler überhaupt betroffen ist. Vielleicht hat das ja gar nichts
mit den Seitenzahlen zu tun. Es können auch andere Zähler
uneindeutige Zählerwerte haben. Dann muss man
\theH<zähler> geeignet definieren, um Eindeutigkeit
zu erreichen.

Das

> Beispiel:

zeigt das Problem nicht mehr.

Viele Grüße
Heiko <ober...@uni-freiburg.de>

Andreas Weber

unread,
Mar 13, 2009, 1:59:49 PM3/13/09
to
Hallo Ulrike,

>> Package hyperref Warning: Option `pdfpagelabels' has already been used,
>> (hyperref) setting the option has no effect on input line
>> 47.
>
> Benutze nicht hypersetup, sondern schreib die Optionen direkt in den
> Aufruf:

Danke fuer den Hinweis. So wird es angenommen.

> (Bei mir läuft dein Beispiel aber auch ohne die Optionen ohne
> Warnung durch.

Ja, bei mir jetzt auch. Der Fehler liegt wohl noch wo anders.
bzw. ist es jetzt nur noch auf den Anhang bezogen.
Moeglicherweise ist, wie Heiko meint, auch ein "anderer"
Identifier betroffen. Mehr im Antwortposting zu Heikos posting.

Was mich jetzt noch bei pdftex zum Verzweifeln bringt ist die
Tatsache das pdftex auf chaptermark auf sehr seltsame Weise
und ganz anders als dvips reagiert. Mal muss ich chaptermark
vor ein \chapter* oder vor/nach phantomsection/addcontentsline
und manchemal nach einem \chapter* und manchmal vor _UND_ nachher
setzen, damit nicht die vorhergehenden oder nachfolgenden
chaptermarks gesetzt werden... Arghhhh.... es it zum Haare
raufen... und ich werde das Gefuehl nicht los dass ich vom
Regen in die Traufe komme... Als was anderes "falsch" - Naja,
bin ja hart wie Marmelade und relativ ausdauernd und zaeh ;-)

Andi

Andreas Weber

unread,
Mar 13, 2009, 2:02:25 PM3/13/09
to
Hallo Heiko,

>> [...]
> [...]

Danke fuer die ganzen Hinweise. Es wird einiges klarer.

>> Des Pudels Kern:
>> Warum bekomme ich dann aber noch die Warnung:
>>
>> ! pdfTeX warning (ext4): destination with the same identifier
>
> Das wichtigste hast du vergessen, was für ein "identifier" wird
> denn angezeigt. Das ist ein wichtiger Hinweis, welcher
> Zähler überhaupt betroffen ist. Vielleicht hat das ja gar nichts
> mit den Seitenzahlen zu tun. Es können auch andere Zähler
> uneindeutige Zählerwerte haben. Dann muss man
> \theH<zähler> geeignet definieren, um Eindeutigkeit
> zu erreichen.

Ja, darauf hatte ich (noch) nicht geachtet. Als Identifier
bekomme ich:

[...]
(kap7.tex)) (part3.tex [35.42]) (anhanga.tex (document.1.bbl
)) (anhangb.texpdfTeX warning (ext4): destination with the same identifier
(name{page.VI}) has been already used, duplicate ignored
<to be read again>
\relax
l.31 \if@openright\cleardoublepage\else\clearpage
\fi% [6.43] (document.2.bbl
Underfull \hbox (badness 4048) in paragraph at lines 161--169
[...]
)) (anhangc.texpdfTeX warning (ext4): destination with the same identifier
(name{page.VII}) has been already used, duplicate ignored
<to be read again>
\relax
l.31 \if@openright\cleardoublepage\else\clearpage
\fi% [7.44]) (anhangd.tex
[...]

muesste ich jetz fuer "\theH<zähler>" sowas wie ein

\newcounter{Hpage}
\setcounter{Hpage}{\thepage}

setzen oder wie meinst du das? Hat das grossgeschriebene "H" bei
theH<zaehler> eine besondere Bedeutung?

Nur mal so eine Vermutung: Wenn ich statt \documentclass[oneside]{book}
nur \documentclass{book} nehme werden die Anhaenge, auch wenn diese
nur eine Seite fuellen doch zweiseitig uebersetzt - oder?. Kann es sein
das hier irgendetwas dieses "oneside" nicht beruecksichtigt und von daher
zweimal das (name{page.VI}) und (name{page.VII}) in einem/der produziertem
Zwischendateien vorkommt?

> Das
>> Beispiel:
> zeigt das Problem nicht mehr.

Ja, da hat es sich erstmal unbemerkt geklaert ;-) Kam dadurch
das ich alles andere entfernt hatte. Nur in meinem Dokument kommt
der Fehler noch zweimal vor. Aber auch nur noch in Bezug auf den
zweiten und dritten Anhang. Siehe oben


Andi

Heiko Oberdiek

unread,
Mar 13, 2009, 4:44:56 PM3/13/09
to
"Andreas Weber" <andrea...@digital-filestore.de> wrote:

> muesste ich jetz fuer "\theH<zähler>" sowas wie ein

\renewcommand*{\theHpage}{\arabic{chapter}.\thepage}

Statt "\arabic{chapter}" irgend etwas, so dass \theHpage für
verschiedene Seiten verschieden ist.

Viele Grüße
Heiko <ober...@uni-freiburg.de>

Andreas Weber

unread,
Mar 13, 2009, 6:11:57 PM3/13/09
to
Hallo Heiko,

>> muesste ich jetz fuer "\theH<zähler>" sowas wie ein
>
> \renewcommand*{\theHpage}{\arabic{chapter}.\thepage}
>
> Statt "\arabic{chapter}" irgend etwas, so dass \theHpage für
> verschiedene Seiten verschieden ist.

Vielen Dank fuer deine Hilfe, aber da werde ich nicht so ganz
schlau draus und ich habe keine Ahnung wo ich das wie angeben sollte.

Woher kommt das "theHpage" Das muesste ich doch erst deklarieren
und dann irgendwie dem Latex sagen das es nun "theHpage" als
Zaehler nehmen soll.

Und wo kommt der Befehl \arabic her?
So kenne ich das (noch) nicht. Nur fuer das Format, aber dann
auch ohne Backslash. Und was kann denn das "irgend etwas" sein?
Ein Zaehler, Macro oder wie?

Weisst du oder auch jemand anderes hier wie das beim ersten
Posting im genanntem Beispiel ausschauen wuerde?


Andi

Philipp Stephani

unread,
Mar 13, 2009, 6:28:24 PM3/13/09
to
Andreas Weber schrieb:

> Woher kommt das "theHpage" Das muesste ich doch erst deklarieren
> und dann irgendwie dem Latex sagen das es nun "theHpage" als
> Zaehler nehmen soll.

\theHpage wird vom Hyperref-Paket deklariert und als interner,
eindeutiger Seitenzähler verwendet. Du musst nichts weiter tun als es so
zu definieren, dass es auch wirklich eindeutig ist, d.h. für jede Seite
zu etwas anderem expandiert.

>
> Und wo kommt der Befehl \arabic her?

\arabic{chapter} expandiert zum aktuellen Kapitelzähler als arabische
Zahl. In Kapitel A wird es zu 1 usw.

> So kenne ich das (noch) nicht. Nur fuer das Format, aber dann
> auch ohne Backslash. Und was kann denn das "irgend etwas" sein?
> Ein Zaehler, Macro oder wie?

Alles, was irgendwie expandierbar ist und zu etwas Eindeutigem
expandiert. \arabic{chapter} ist bestimmt schon mal eine gute Wahl.

--
Replace “READ-MY-SIG” by “tcalveu” to answer by mail.

Martin Muench

unread,
Jul 8, 2010, 4:28:43 AM7/8/10
to
1. Ich habe das Beispiel *zweimal* mit pdflatex compiliert.

2. \listfiles vor \begin{document} ergibt (nach Ausrichten):

book.cls 2007/10/19 v1.4h Standard LaTeX document class
bk10.clo 2007/10/19 v1.4h Standard LaTeX file (size option)
hyperref.sty 2010/06/04 v6.81f Hypertext links for LaTeX
ltxcmds.sty 2010/04/26 v1.7 LaTeX kernel commands for
general use (HO)
keyval.sty 1999/03/16 v1.13 key=value parser (DPC)
kvsetkeys.sty 2010/03/01 v1.9 Key value parser (HO)
infwarerr.sty 2010/04/08 v1.3 Providing info/warning/message (HO)
etexcmds.sty 2010/01/28 v1.3 Prefix for e-TeX command names (HO)
pdfescape.sty 2010/03/01 v1.9 Provides hex, PDF name and
string conversions (HO)
pdftexcmds.sty 2010/04/01 v0.9 Utility functions of pdfTeX for
LuaTeX (HO)
ifluatex.sty 2010/03/01 v1.3 Provides the ifluatex switch (HO)
ifpdf.sty 2010/01/28 v2.1 Provides the ifpdf switch (HO)
ifvtex.sty 2010/03/01 v1.5 Switches for detecting VTeX and
its modes (HO)
ifxetex.sty 2009/01/23 v0.5 Provides ifxetex conditional
hycolor.sty 2009/12/12 v1.6 Color options of
hyperref/bookmark (HO)
xcolor-patch.sty 2009/12/12 xcolor patch
letltxmacro.sty 2008/06/24 v1.3 Let assignment for LaTeX macros
(HO)
pd1enc.def 2010/06/04 v6.81f Hyperref: PDFDocEncoding
definition (HO)
intcalc.sty 2007/09/27 v1.1 Expandable integer calculations
(HO)
hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive
kvoptions.sty 2010/02/22 v3.7 Keyval support for LaTeX
options (HO)
url.sty 2006/04/12 v3.3 Verb mode for urls, etc.
bitset.sty 2007/09/28 v1.0 Data type bit set (HO)
bigintcalc.sty 2007/11/11 v1.1 Expandable big integer
calculations (HO)
atbegshi.sty 2010/03/25 v1.12 At begin shipout hook (HO)
hpdftex.def 2010/06/04 v6.81f Hyperref driver for pdfTeX
atveryend.sty 2010/03/24 v1.5 Hooks at very end of document (HO)
rerunfilecheck.sty 2010/03/16 v1.6 Rerun checks for auxiliary files
(HO)
uniquecounter.sty 2009/12/18 v1.1 Provides unlimited unique
counter (HO)
nameref.sty 2010/04/30 v2.40 Cross-referencing by name of
section
refcount.sty 2008/08/11 v3.1 Data extraction from references
(HO)
gettitlestring.sty 2009/12/18 v1.3 Cleanup title references (HO)

Ergebnis: Kein "destination with the same identifier" im log-file.

3. Ein

\usepackage{alphalph}% und zwar [2010/04/18] v2.3 oder neuer
\usepackage[pagecontinue=true,alphMult=ab,AlphMulti=AB,fnsymbolmult=true,romanMult=true,RomanMulti=true]{pagesLTS}

(zumindest \usepackage[pagecontinue=true,alphMult=ab,AlphMulti=AB]{pagesLTS}
ggf. mit alphMult=bb bzw. AlphMulti=BB oder alphMult=0 bzw. AlphMulti=0)

erübrigt "romancounter" (dürfte auch "Romancounter" für "Roman" sein,
oder?).

Gruß

Martin
Martin dot Muench at Uni-Bonn dot de

0 new messages