Automatisierte Bookmarks

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


MeganovaBass
Forum-Anfänger
Forum-Anfänger
Beiträge: 33
Registriert: Do 24. Okt 2013, 23:40

Automatisierte Bookmarks

Beitrag von MeganovaBass »

Hallo Leute,

ich möchte gerne in einer Datei formatierte Bookmarks haben. Jedoch ist es nicht nur mühselig, sondern auch wenig elegant, wenn ich dazu jedes Mal den Befehl
 \bookmarksetup{...} 
oder einen dazu äquivalenten, manuellen Ansatz benutzen muss. Ich möchte gerne, dass die Bookmarks automatisch ihre Formatierung annehmen, je nachdem, welche Gliederungsebene vorliegt (part, chapter, section, subsection, subsubsection). Diese Formatierungen sollen verschieden sein und sei es nur ein Farbunterschied.

Hat jemand von euch eine konkrete Lösungsidee? Ich habe ein Minimalbeispiel dazu, wie es aktuell ist. (Bei Bedarf kann man das Minimalbeispiel sogar noch weiter kürzen.)
\documentclass{book}
\usepackage{xcolor}
\usepackage{hyperref}
\usepackage[atend]{bookmark}


\begin{document}
\bookmarksetup{color=red,bold}
\part{Das ist der erste Part}
\bookmarksetup{color=blue,bold=false,italic}
\chapter{Das ist das erste Kapitel}
XXX
\bookmarksetup{color={},italic=false}

\section{Das ist der erste Abschnitt}
X
	\subsection{Das ist der erste Unterabschnitt}
	x
	\subsection{Das ist der zweite Unterabschnitt}
	x

\section{Das ist der zweite Abschnitt}
X



\part{Das ist der zweite Part}
\chapter{Das ist das zweite Kapitel}
XXX

\section{Das ist der dritte Abschnitt}
X
	\subsection{Das ist der dritte Unterabschnitt}
	x
	\subsection{Das ist der vierte Unterabschnitt}
	x
		\subsubsection{Das ist der erste Unter-Unterabschnitt}
		.
		\subsubsection{Das ist der zweite Unter-Unterabschnitt}
		.
	\subsection{Das ist der fuenfte Unterabschnitt}
	x

\section{Das ist der vierte Abschnitt}
X


\end{document}
Meine Idee, die ich aber aufgrund von Unerfahrenheit nicht durchführen kann, ist, dass man irgendwie eine if-Abfrage einbaut. Keine Ahnung, ob dies klappen kann.


Viele Grüße
Alex

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Das sieht mir nach einer ziemlichen Spielerei aus. Ob die Formatierungen auch eine Wirkung zeigen, hängt letztlich auch vom Viewer ab.
    \documentclass{book}
    \usepackage{blindtext}% only for dummy text
    \usepackage{xcolor}
    \usepackage{xpatch}

    \usepackage[depth=2,open,openlevel=1]{bookmark}% loads hyperref automatically

    \xpretocmd\part{%
      \bookmarksetup{color=red,bold}%
    }{}{}
    \xpretocmd\chapter{%
      \bookmarksetup{color=blue,bold=false,italic}%
    }{}{}
    \xpretocmd\section{%
      \bookmarksetup{color={},italic=false}
    }{}{}

    \begin{document}
    \part{Das ist der erste Part} 
    \blinddocument
    \blinddocument

    \part{Das ist der zweite Part} 
    \chapter{Das ist das zweite Kapitel} 
    \blinddocument
    \blinddocument
    \end{document}

Stamm-

Modifikationen

Beitrag von Stamm- »

Eine halbautomatische Lösung wäre mit »etoolbox« möglich. Dazu muss man im Vorspann des Quelltextes lediglich einmal die Gliederungsbefehle mit \pretocmd entsprechend modifizieren. Für den Fall, dass später Änderungen gewünscht sind, müssen diese dann auch nur einmal vorgenommen werden.
\documentclass[11pt,a4paper,ngerman]{book}
\usepackage[T1]{fontenc}
\usepackage{babel}

\usepackage{etoolbox}
\pretocmd{\part}{\bookmarksetup{color=red,bold}}{}{}
\pretocmd{\chapter}{\bookmarksetup{color=blue,bold}}{}{}
\pretocmd{\section}{\bookmarksetup{color={green!50!black},bold=false,italic=false}}{}{}
\pretocmd{\subsection}{\bookmarksetup{color={black},bold=false}}{}{}
%\pretocmd{\subsubsection}{\bookmarksetup{color={black},bold=false}}{}{}

\usepackage[scvnames]{xcolor}

\usepackage{lmodern}
\usepackage{microtype}

\usepackage{hyperref}
\usepackage[atend]{bookmark}

\usepackage{blindtext}  % Für Fülltext

\begin{document}
  \part{Erster Teil}
    \blinddocument

  \part{Zweiter Teil}
    \blinddocument
\end{document}
Hinweis(e)
  • Ich habe keinen PDF-Betrachter, bei dem das Wirkung zeigt und kann das daher nicht absichern. Der Ad0be Reader sollte die gewünschte aber darstellen können.

MeganovaBass
Forum-Anfänger
Forum-Anfänger
Beiträge: 33
Registriert: Do 24. Okt 2013, 23:40

Beitrag von MeganovaBass »

Vielen Dank Leute, die Vorschläge waren hilfreich und mein PDF-Betrachter zeigt auch alles an. :)

Antworten