Anhangsverzeichnis mit Lesezeichen Problemen

Inhalt, Abbildungen, Tabellen, Quellcodes und andere Verzeichnisse


mypTx

Anhangsverzeichnis mit Lesezeichen Problemen

Beitrag von mypTx »

Hallo,

ich finde hier immer viele gute Lösungen zu aufkommenden Problemen. Nur leider jetzt habe ich zu meinem jetzigen Problem nichts mehr gefunden und wollte nun selbst mal nachfragen ob mir dort jemand weiterhelfen kann.

Ich besitze ein Dokument mit zwei Inhaltsverzeichnissen. Das zweite Inhaltsverzeichnis ist das Anhangsverzeichnis.
Das Anhangsverzeichnis wird auf einer Seite nach einer Überschrift "Anhang" mit kleinem einleitenden Text dargestellt. Anschließend werden pdfs mit \section und \subsection befehlen eingebunden.

Es lässt sich alles basteln und pfuschen das es ok "aussieht". Nur leider habe ich da die Rechnung nicht mit hyperref bzw. den pdfbookmarks gemacht.
Zudem ich da erreichen wollte, dass ich einen Bookmark "Anhang" am Ende der Lesezeichen besitze und unter dem (also mit [+]) alle weiteren \sections und \subsections eingebunden sind.

Hier das Minimalbeispiel das gar nicht mal so Minimal ist:
\documentclass[a4paper,11pt]{article}

\usepackage{pdfpages}

\usepackage{tocstyle}
\usetocstyle[toc]{standard}

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


\makeatletter

\newcommand*{\maintoc}{% Hauptinhaltsverzeichnis
\deactivatetocstyle %TOCSTYLE für Hauptinhaltsverzeichnis deaktivieren
\pdfbookmark[1]{\contentsname}{Contents}
  \begingroup
    \@fileswfalse% kein neues Verzeichnis öffnen
    \renewcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
      \value{tocdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
    }%
    \tableofcontents% Verzeichnis ausgeben
  \endgroup
}
\newcommand*{\appendixtoc}{% Anhangsinhaltsverzeichnis
\reactivatetocstyle %TOCSTYLE für Inhaltsverzeichnis aktivieren
  \begingroup
    \edef\@alltocdepth{\the\value{tocdepth}}% tocdepth merken
    \setcounter{tocdepth}{-10000}% Keine Verzeichniseinträge
    \renewcommand*{\contentsname}{% Verzeichnisname ändern
      Verzeichnis der Anhänge}%
    \renewcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
      \setcounter{tocdepth}{\@alltocdepth}% tocdepth wiederherstellen
    }%			
    \tableofcontents% Verzeichnis ausgeben
		
    \setcounter{tocdepth}{\@alltocdepth}% tocdepth wiederherstellen
  \endgroup
}
\newcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
}
\g@addto@macro\appendix{% \appendix erweitern
  \clearpage% Neue Seite
  \addcontentsline{toc}{section}{\appendixname}% Eintrag ins Hauptverzeichnis
  \addtocontents{toc}{\protect\appendixattoc}% Trennanweisung in die toc-Datei
}

\makeatother

\begin{document}

\hypersetup{pageanchor=false}

%\input....DECKBLÄTTER EINBINDEN ETC...

\hypersetup{pageanchor=true}

\newpage

\pagenumbering{Roman}

\clearpage %%% ggf. \cleardoublepage
\phantomsection

\maintoc %Hauptinhaltsverzeichnis erzeugen

\newpage

\section{INHALT 1}
\subsection{Unterpunkt 1}
\subsection{Unterpunkt 2}

\newpage
\section{INHALT 2}
\subsection{Unterpunkt 3}
\subsection{Unterpunkt 4}


\newpage
\pagestyle{anhang}
\phantomsection

\appendix

\renewcommand{\thesection}{} %Nummerierung Abstellen, so dass nur "Anhang" und nicht "A Anhang" als Überschrift angezeigt wird. -> Pfusch

\section{Anhang}

Einleitender Text für den Anhang.

\appendixtoc %Erzeugung des Anhangsverzeichnisses

\newpage
\pagenumbering{alph} %nummerierung in Kleinbuchstaben (a,b,c...)
\setcounter{page}{1} %Beginne mit a

\renewcommand{\thesection}{A.\arabic{section}} %Anhangsnummerierung mit A.1 / A.2 ....

\hypersetup{pageanchor=false}
\setcounter{section}{0}%

\section{Anhang TEIL1}
\subsection{Anhanginhalt TEIL1}
\subsection{Anhanginhalt TEIL2}
\subsection{Anhanginhalt TEIL3}

\newpage

\section{Anhang TEIL2}
\subsection{Anhanginhalt TEIL4}
\subsection{Anhanginhalt TEIL5}
\subsection{Anhanginhalt TEIL6}

Im "Minimalbeispiel" ist leider noch einiges eben noch nicht so wie ich es mir vorstelle.

1. Das Lesezeichen für "Anhang TEIL1" ist leider auf "Anhang" gesetzt und nicht auf die jeweilige \section
2. Im Anhangsverzeichnis wollte ich keinen Eintrag des "Anhang" mit römischer Seitenzahl, also das Verzeichnis sollte direkt bei A.1 beginnen.
3. Die Überschrift "Anhang" ist gepfuscht und ist nicht ganz links ausgerichtet.
4. das doppelte Auftauchen des "Anhangs" in den Lesezeichen (Appendix + Anhang)

hier noch eine .jpg Datei wie es aussehen sollte.
Bild


Ebenso ist zu erwähnen das ich KEIN fortgeschrittener User bin und mir den meisten Quellcode per copy/paste im Netz zusammengesucht habe.

Vielen Dank für eure Hilfe.

mypTx

PS: Falls ihr viel leichtere Lösungen für das Problem mit 2 Inhaltsverzeichnissen und meiner gewünschten Optik habt. Dann bin ich hier gerne offen für alle Anregungen :)

rais
Forum-Guru
Forum-Guru
Beiträge: 413
Registriert: Di 21. Sep 2010, 00:37

Beitrag von rais »

nun ja, wenn Du nach Setzen der Anhangsüberschrift den Abschnittszähler zurücksetzt, darfst Du Dich eigentlich nicht wundern, dass die darauf folgende Überschrift die selbe Nummer bekommt (bei der Anhangsüberschrift hast Du die Abschnittsnumer ja nur ausgeblendet).

Wenn die Anhangsteile unterhalb der Anhangsüberschrift auftauchen sollen, wäre es ratsam, diesen Teilen eine der Anhangsüberschrift untergeordnete Gliederung zu verpassen.

Und sieh Dir den einen oder anderen Kommentar im Code an (besonders die mit <-- darin)

Schau vllt bei Gelegenheit auch mal nach, was Besserwisser u.a. hier schon über die Verwendung von unterschiedlichen Paginierungen geschrieben haben ...
\documentclass[a4paper,11pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage{tocstyle}
\usetocstyle[toc]{standard}

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


\makeatletter

\newcommand*{\maintoc}{% Hauptinhaltsverzeichnis
\deactivatetocstyle %TOCSTYLE für Hauptinhaltsverzeichnis deaktivieren
\pdfbookmark[1]{\contentsname}{Contents}
  \begingroup
    \@fileswfalse% kein neues Verzeichnis öffnen
    \renewcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
      \value{tocdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
    }%
    \tableofcontents% Verzeichnis ausgeben
  \endgroup
}
\newcommand*{\appendixtoc}{% Anhangsinhaltsverzeichnis
\reactivatetocstyle %TOCSTYLE für Inhaltsverzeichnis aktivieren
  \begingroup
    \edef\@alltocdepth{\the\value{tocdepth}}% tocdepth merken
    \setcounter{tocdepth}{-10000}% Keine Verzeichniseinträge
    \renewcommand*{\contentsname}{% Verzeichnisname ändern
      Verzeichnis der Anhänge}%
    \renewcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
      \setcounter{tocdepth}{\@alltocdepth}% tocdepth wiederherstellen
    }%        
    \tableofcontents% Verzeichnis ausgeben
     
    \setcounter{tocdepth}{\@alltocdepth}% tocdepth wiederherstellen
  \endgroup
}
\newcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
}
\g@addto@macro\appendix{% \appendix erweitern
  \clearpage% Neue Seite
  \addsec{\appendixname}% siehe texdoc scrguide
  \stepcounter{section}%
  \addtocontents{toc}{\protect\appendixattoc}% Trennanweisung in die toc-Datei
}
\makeatother

\begin{document}

\pagenumbering{Roman}

\clearpage %%% ggf. \cleardoublepage
\phantomsection

\maintoc %Hauptinhaltsverzeichnis erzeugen

\newpage

\section{INHALT 1}
\subsection{Unterpunkt 1}
\subsection{Unterpunkt 2}

\newpage
\section{INHALT 2}
\subsection{Unterpunkt 3}
\subsection{Unterpunkt 4}


%\newpage
%\pagestyle{anhang}<-- so ein Seitenstil ist hier nicht definiert
%\phantomsection

\appendix

%\renewcommand{\thesection}{} %Nummerierung Abstellen, so dass nur "Anhang" und nicht "A Anhang" als Überschrift angezeigt wird. -> Pfusch<-- und unnötig

%\section{Anhang}<-- siehe geänderte \appendix-Ergänzung

Einleitender Text für den Anhang.

\appendixtoc %Erzeugung des Anhangsverzeichnisses

\newpage
\pagenumbering{alph} %nummerierung in Kleinbuchstaben (a,b,c...)
%\setcounter{page}{1} %Beginne mit a<-- darum kümmert sich \pagenumbering bereits

%\renewcommand{\thesection}{\Alph{section}} %Anhangsnummerierung mit A.1 / A.2 ....

\hypersetup{pageanchor=false}
%\setcounter{section}{0}%<-- damit hast Du zwei Abschnitte mit derselben Nummer (1) im Anhang generiert

\subsection{Anhang TEIL1}
\subsubsection{Anhanginhalt TEIL1}
\subsubsection{Anhanginhalt TEIL2}
\subsubsection{Anhanginhalt TEIL3}

\newpage

\subsection{Anhang TEIL2}
\subsubsection{Anhanginhalt TEIL4}
\subsubsection{Anhanginhalt TEIL5}
\subsubsection{Anhanginhalt TEIL6}
\end{document}
MfG
Rainer
One of the joys of travel is visiting new towns and meeting new people---G.Khan (Robert Asprin, Another Fine Myth)

mypTx

fast nicht entdeckt

Beitrag von mypTx »

Guten Morgen Rainer,

zunächst vielen Dank für die schöne Lösung die du mir präsentiert hast.
Habe etwas lange gebraucht bis ich den letzten "Fehler" bei mir im Quellcode entdeckt habe:
\documentclass[a4paper,11pt]{scrartcl} 
war hier notwendig da bei der definition "\addsec" verwendet wurde.
Oder gibts einen derartigen cmd auch in der normalen "article" klasse?

Das "i"-Tüpfelchen für mich wäre jetzt nur noch das im Anhangsverzeichnis die \subsection das aussehen einer \section hat, und auch Linksbündig angeordnet ist.

Ist das denn noch möglich, bei der verwendung von \subsection?

Vielen Dank,

mypTx

mypTx

Zu voreilig geantwortet

Beitrag von mypTx »

Guten Morgen nochmal,

entschuldigt meine zu voreilige Antwort.
Das Problem mit \addsec und der von mir verwendeten "article" Klasse habe ich behoben mit
	\section*{\appendixname}
	\addcontentsline{toc}{section}{\appendixname}
anstatt
\addsec{\appendixname}% siehe texdoc scrguide
Der Grund des Festhaltens von mir auf die article Klasse ist die Anzahl der Fehler die auftaucht wenn ich die Klasse in scrartcl abändere :) vertragen sich so einige Packete nicht.

Nun wäre nur noch die Optik der \subsections im Anhangsverzeichnis die letzte Frage, wobei das Ergebnis jetzt schon sehr sehr geil ist :)

Grüße,
mypTx

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Re: Zu voreilig geantwortet

Beitrag von Johannes_B »

mypTx hat geschrieben:Das Problem mit \addsec und der von mir verwendeten "article" Klasse habe ich behoben mit
	\section*{\appendixname}
	\addcontentsline{toc}{section}{\appendixname}
Glaub ich nicht. Wie erhalte ich unnummerierte Gliederungsebenen?
Es gibt da noch etwas mehr zu beachten.

Warum willst du subsections wie sections erscheinen lassen? Das verwirrt den Leser.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

mypTx

Korrektur

Beitrag von mypTx »

korrekterweise muss ich noch den restlichen Code angeben:
\documentclass[a4paper,11pt]{article}
%...
\g@addto@macro\appendix{% \appendix erweitern
  \clearpage% Neue Seite
  %\addsec{\appendixname}% siehe texdoc scrguide - bei scartcl-klasse
	\section*{\appendixname} %bei article-klasse
	\addcontentsline{toc}{section}{\appendixname}%bei article-klasse
  \stepcounter{section}%
  \addtocontents{toc}{\protect\appendixattoc}% Trennanweisung in die toc-Datei
}
%...
\newpage
\phantomsection
\appendix
Einleitender Text für den Anhang.
\appendixtoc %Erzeugung des Anhangsverzeichnisses
%...
Zumindest ergibt das, komibiniert mit dem Code von Rainer, genau mein gewünschtes Ergebnis. Evtl. ist hier die \phantomsection ausschlaggebend? (habe kein \markboth verwendet)

Die \subsection wollte ich deshalb als \sections erscheinen lassen, da sich dann diese besser durch den Fettdruck besser hervorheben. Die Einrückung auf die Ebene der \sections ist zweitrangig. Ich gebe zu dass das etwas ungewöhnlich ist, hoffe aber trotzdem auf einen Lösungsvorschlag.

Viele Grüße,
mypTx

rais
Forum-Guru
Forum-Guru
Beiträge: 413
Registriert: Di 21. Sep 2010, 00:37

Beitrag von rais »

hmm, Elkes Antwort nach hätte Dein \phantomsection zwischen \section* und dem \addcontentsline gehört, also mit in den \g@addto@macro-Befehl.
Wie dem auch sei, eine Alternative mag sein, für die Anhangsüberschrift eine unnummerierte Teilüberschrift zu nutzen, unter Verwendung von scrartcl etwa
\g@addto@macro\appendix{% \appendix erweitern
  \clearpage% Neue Seite
  \addpart{\appendixname}% siehe texdoc scrguide
  \stepcounter{part}%
  \renewcommand*\thesection{\Alph{part}.\arabic{section}}%
  \addtocontents{toc}{\protect\appendixattoc}% Trennanweisung in die toc-Datei
}
und dann im Anhang wieder mit \section/\subsection (statt \subsection/\subsubsection) zu arbeiten.

MfG
Rainer
One of the joys of travel is visiting new towns and meeting new people---G.Khan (Robert Asprin, Another Fine Myth)

mypTx

Vielen Dank

Beitrag von mypTx »

Guten Morgen,

vielen Dank an euch beiden. Nachdem ich wie gesagt an meiner article-Klasse festhalten wollte werde ich nun auf die Optik der \subsection als \sections verzichten müssen. Aber den Code von Rainer in das Minimalbeispiel eingefügt hat mit der scrartcl-Klasse genau das gewünschte Ergebnis gezeigt.

Nochmals vielen Dank.

Viele Grüße,
mypTx

Besserwisser

Beitrag von Besserwisser »

BTW: Fehler durch den Wechsel von article zu scrartcl sind sehr selten und lassen sich meist beheben – oftmals schlicht dadurch, dass man Dinge korrigiert, die man schon vorher besser anders gemacht hätte.

Antworten