PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PDFLatex hyperref Angezeigt Nummerierung vs. Bookmark Anchor Nummerierung



TFTD
01-02-2012, 11:48
Hallo zusammen, ich bekomme folgende Fehlermeldung:


pdfTeX warning (ext4): destination with the same identifier


Die üblichen Vorschläge (pdfpagelabels, plainpages) zu den Einstellungen funktionieren nicht, da das Problem daher kommt, dass z.B. der Sectioncounter manuell zurückgesetzt wird (\setcounter{section}{0}).
Das wird gemacht, weil das Dokument aus 2 Teilen besteht. Als Bsp. der erste Teil ist die Aufgabenstellung und der zweite Teil die Musterlösung dazu. Und die soll halt die gleiche Nummerierung haben.

Hat jemand Vorschläge, wie man so was umsetzten kann, ohne den Counter hart zurückzusetzen?
Eine Idee die ich dazu habe ist, den Counter einfach weiter laufen zu lassen und nur in der Anzeige entsprechend zu manipulieren. So in der Form:


SectionAnzeigeMusterlösung = Sectioncounter - TotalSectionsAufgabenstellung

Ich würde dann darauf hoffen, dass hyperref halt den durchlaufenden Sectioncounter als Referenz nimmt.
Da fehlt mir aber das Wissen, wie und ob man das Umsetzten kann.
Würde mich über Vorschläge freuen.

Edit:
Minimalbsp: (Für den Lösungsteil fangen die Seitenzahlen eigentlich auch wieder bei 1 an, aber das macht erst mal keinen Unterschied. Und ich hab noch nicht herausgefunden wo das in der Vorlage manipuliert wird.)



\documentclass[12pt,a4paper]{article}

\usepackage[bookmarks=true]{hyperref}

\newcommand{\aufgabenstellung}{\setcounter{section }{0}}
\newcommand{\musterloesung}{\setcounter{section}{0 }}

\begin{document}

\aufgabenstellung

\section{Aufgabe 1}
bla bla
\newpage
\section{Aufgabe 2}
bla bla
\newpage

\musterloesung
\section{Aufgabe 1 *Loesung*}
bla bla
\newpage
\section{Aufgabe 2 *Loesung*}
bla bla
\newpage
\end{document}

u_fischer
01-02-2012, 11:51
Ich habe den üblichen Vorschlag: Mach ein Minimalbeispiel.

rais
01-02-2012, 20:02
Moin moin,


Edit:
Minimalbsp: (Für den Lösungsteil fangen die Seitenzahlen eigentlich auch wieder bei 1 an, aber das macht erst mal keinen Unterschied. Und ich hab noch nicht herausgefunden wo das in der Vorlage manipuliert wird.)



\documentclass[12pt,a4paper]{article}

\usepackage[bookmarks=true]{hyperref}

\newcommand{\aufgabenstellung}{%
\setcounter{section}{0}%
\renewcommand*\theHsection{A.\arabic{section}}%
}
\newcommand{\musterloesung}{%
\setcounter{section}{0}%
\renewcommand*\theHsection{L.\arabic{section}}%
}

\begin{document}

\aufgabenstellung

\section{Aufgabe 1}
bla bla
\newpage
\section{Aufgabe 2}
bla bla
\newpage

\musterloesung
\section{Aufgabe 1 *Loesung*}
bla bla
\newpage
\section{Aufgabe 2 *Loesung*}
bla bla
\newpage
\end{document}

PS) Es ist imho ungünstig, nach Rückfrage bzw. Hinweis nur den Eingangspost zu editieren. Eine entsprechende Antwort wäre besser, damit die/der Rückfragende bzw. Hinweisgebende das auch mitbekommt ...

MfG

TFTD
02-02-2012, 10:17
\newcommand{\aufgabenstellung}{%
\setcounter{section}{0}%
\renewcommand*\theHsection{A.\arabic{section}}%
}


Danke, dass hat geholfen. Ich habe mittlerweile gefunden, wo die Seitenzahlen manipuliert werden (Manchmal sieht man den Wald vor lauter Bäumen nicht). Ich wollte das ganze jetzt so abwandeln, dass es in das Schema oben passt:



\newcommand{\aufgabenstellung}{%
\setcounter{section}{0}%
\renewcommand*\theHsection{A.\arabic{section}}%
\setcounter{page}{1}%
\renewcommand*\theHpage{A.\arabic{page}}%
}

Bekomme aber die Fehlermeldung, dass "\theHpage undefined" ist. (Wenn ich newcommand nehme kommt "already defined"...) Ich hab auch schon ein wenig gegoogelt und bin auf das hier (http://meinews.niuz.biz/pdflatex-t340627.html?) gestoßen (Posts 6 u. 7). Und da wird es im Prinzip genauso benutzt. Woran könnte das liegen? (Benutzte noch MikTeX 2.8)




PS) Es ist imho ungünstig, nach Rückfrage bzw. Hinweis nur den Eingangspost zu editieren. [...]

Das nächste mal.

rais
02-02-2012, 13:57
Moin moin,

Ich wollte das ganze jetzt so abwandeln, dass es in das Schema oben passt:



\newcommand{\aufgabenstellung}{%
\setcounter{section}{0}%
\renewcommand*\theHsection{A.\arabic{section}}%
\setcounter{page}{1}%
\renewcommand*\theHpage{A.\arabic{page}}%
}

Bekomme aber die Fehlermeldung, dass "\theHpage undefined" ist. (Wenn ich newcommand nehme kommt "already defined"...) Ich hab auch schon ein wenig gegoogelt und bin auf das hier (http://meinews.niuz.biz/pdflatex-t340627.html?) gestoßen (Posts 6 u. 7). Und da wird es im Prinzip genauso benutzt. Woran könnte das liegen? (Benutzte noch MikTeX 2.8)

keine Ahnung, vllt ist \theHpage inzwischen aus hyperref rausgeflogen. Im Zusammenhang mit dem Seitenzähler sollte aber die plainpages-Option fruchten.

MfG

TFTD
02-02-2012, 14:26
Moin moin,

keine Ahnung, vllt ist \theHpage inzwischen aus hyperref rausgeflogen. Im Zusammenhang mit dem Seitenzähler sollte aber die plainpages-Option fruchten.

MfG

plainpages hilft hier leider nicht. Ich glaube das hilft nur wenn man mit \pagenumbering{} "die Art" der Zahlen ändert. Aber hier wird ja "nur" der Seitenzähler zurückgesetzt.

rais
02-02-2012, 18:55
plainpages hilft hier leider nicht. Ich glaube das hilft nur wenn man mit \pagenumbering{} "die Art" der Zahlen ändert. Aber hier wird ja "nur" der Seitenzähler zurückgesetzt.
Uups, mein Fehler.


Forces page anchors to be named by the Arabic form of the page number, rather than the formatted form.

Ok, neuer Versuch;-)


\newcommand{\musterloesung}{%
\setcounter{section}{0}%
\setcounter{page}{1}%
\renewcommand*\theHsection{L.\arabic{section}}%
\renewcommand*\thepage{\texorpdfstring{\arabic{pag e}}{L.\arabic{page}}}%
}

vllt wäre es doch einfacher, "A" bzw. "L" direkt vor die Seitenzahl zu setzen, um Deine Leser nicht damit zu verwirren, die gleichen Seitenzahlen doppelt zu vergeben.

MfG

TFTD
03-02-2012, 08:29
Ok, neuer Versuch;-)


\newcommand{\musterloesung}{%
\setcounter{section}{0}%
\setcounter{page}{1}%
\renewcommand*\theHsection{L.\arabic{section}}%
\renewcommand*\thepage{\texorpdfstring{\arabic{pag e}}{L.\arabic{page}}}%
}


Als ich das gesehen habe, dachte ich, bah, wieso bin ich darauf nicht gekommen, besonders weil ich an anderer Stelle vor 2 Tagen, genau dieses Befehl benutzt habe, um andere Probleme zu beseitigen.
Leider musste ich feststellen, dass das das Problem nicht löst. Ich versteh aber nicht wieso nicht. -.-

EDIT: Vorstehender Satz kann ignoriert werden. Natürlich muss man plainpages=false dann jetzt noch setzten. *Asche über mein Haupt*

Danke für die Hilfe!