ich möchte über das bookmark-Paket alle Chapter-Überschrift fett (in
den PDF-Bookmarks) setzen. Mit bookmark sieht das so z.B. aus:
\bookmarksetup{bold=true}\chapter{Test}\bookmarksetup{bold=false}
Jetzt möchte ich aber am liebsten, dass \chapter umgeschrieben wird,
so dass ein
\chapter{Test}
reicht. Das Prinzip ist mir klar, ich kopiere mit über \let das
originale Chapter als neuen Befehl und über \renewcommand ändere ich
den alten. Leider bekomme ich immer Fehler.
Ich hatte z.B. folgendes probiert:
\makeatletter
\newcommand{\saved@chapter}{}
\let\saved@chapter\@chapter
\renewcommand*{\@chapter}{\bookmarksetup{bold=true}\saved@chapter
\bookmarksetup{bold=false}}
\makeatother
Ich glaube das funtioniert aber deshalb nicht, weil ich mit dem
\bookmarksetup{bold=false} mit den Parameter des chapters kollidiere.
Wer kann mir da helfen??
Danke Clemens
Hallo,
was ist \@chapter? Ich dachte, du wolltest \chapter umdefinieren. Kann man
nicht folgendes machen:
\makeatletter
\newcommand{\saved@chapter}{}
\let\saved@chapter\chapter
\renewcommand{\chapter}[1]{\bookmarksetup{bold=true}\saved@chapter{#1}
\bookmarksetup{bold=false}}
\makeatother
Viele Grüße
Wolfgang
Fehler: ! LaTeX Error: Something's wrong--perhaps a missing \item.
Und die Frage ist auch, was würde bei der Variante mit dem optionalen
Argument \chapter[Überschrift im TOC]{Normale Überschrift} passieren?
Clemens
Hat noch jemand einen Tipp?
Hier mein Minimalbeispiel:
\documentclass{scrbook}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage[pdftex]{hyperref}
\usepackage[pdftex,open=true]{bookmark}
\usepackage{ifthen}
% Chapter neu definieren
\makeatletter
\newcommand{\saved@chapter}{}
\let\saved@chapter\chapter
\renewcommand{\chapter}[2][]{%
\bookmarksetup{bold=true}%
\ifthenelse{\equal{#1}{}}{%
\saved@chapter{#2}%
}{%
\saved@chapter[#1]{#2}%
}%
\bookmarksetup{bold=false}%
}
\makeatother
\begin{document}
\tableofcontents
\chapter{Einleitung}
\section{Test}
\blindtext
\chapter[Kurze Überschrift]{Lange Überschrift}
\section{foobar}
\blindtext
\end{document}
> \renewcommand{\chapter}[2][]{%
> \bookmarksetup{bold=true}%
> \ifthenelse{\equal{#1}{}}{%
> \saved@chapter{#2}%
> }{%
> \saved@chapter[#1]{#2}%
> }%
> \bookmarksetup{bold=false}%
> }
Du hast \chapter* nicht berücksichtigt. Du musst schon etwas wie
(ungetestet):
\renewcommand{\chapter}{%
\@ifstar {\saved@chapter}{\@dlbarg\my@chapter}%
}
\newcommand*{\my@chaper}[2][]{%
\bookmarksetup{bold=true}%
\saved@chapter[#1]{#2}%
\bookmarksetup{bold=false}%
}
machen. Man könnte sich aber auch erinnern, dass KOMA-Script bei \chapter
aber bereits Anweisungen davor und dahinter bietet und \bookmarksetup dann
einfach in \chapterheadstartvskip und \chapterheadendvskip einfügen
(ungetestet):
\g@addto@macro\chapterheadstartvskip{\bookmarksetup{bold=true}}
\g@addto@macro\chapterheadendvskip{\bookmarksetup{bold=false}}
Gruß
Markus
--
KOMA-Script 3 erschienen --> <http://www.komascript.de/komascript3>
Gruppenhinweise (auch Minimalbeispiel) --> http://www.latex-einfuehrung.de
Fragen zu LaTeX? --> http://www.dante.de/faq/de-tex-faq/
Fragen zu KOMA-Script? --> http://www.komascript.de
> \g@addto@macro\chapterheadstartvskip{\bookmarksetup{bold=true}}
> \g@addto@macro\chapterheadendvskip{\bookmarksetup{bold=false}}
Hallo Markus,
der bookmark-Befehl scheint in den \chapterheadstartvskip und
\chapterheadendvskip Befehlen nicht wirksam zu sein. Warum auch
immer... eine Fehlermeldung kommt zumindest nicht.
Bei der von mir gewählten Variante mit deiner Erweiterung bzgl. des
Sterns bleibt ja leider das Problem mit dem Inhaltsverzeichnis.
Hast Du noch einen Tipp? Danke!!
Clemens.
> Bei der von mir gewählten Variante mit deiner Erweiterung bzgl. des
> Sterns bleibt ja leider das Problem mit dem Inhaltsverzeichnis.
Also, wenn ich die beiden Tippfehler korrigiere, dann funktioniert bei mir:
\documentclass{scrbook}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage[pdftex]{hyperref}
\usepackage[pdftex,open=true]{bookmark}
% Chapter neu definieren
\makeatletter% <http://www.golatex.de/wiki/index.php?title=%5Cmakeatletter>
\newcommand{\saved@chapter}{}
\let\saved@chapter\chapter
\renewcommand{\chapter}{%
\@ifstar {\saved@chapter}{\@dblarg\my@chapter}%
}
\newcommand*{\my@chapter}[2][]{%
\bookmarksetup{bold=true}%
\saved@chapter[#1]{#2}%
\bookmarksetup{bold=false}%
}
\makeatother% <http://www.golatex.de/wiki/index.php?title=%5Cmakeatother>
\begin{document}
\tableofcontents
\chapter{Einleitung}
\section{Test}
\blindtext
\chapter[Kurze Überschrift]{Lange Überschrift}
\section{foobar}
\blindtext
\end{document}
Gruß
Markus
--
> Also, wenn ich die beiden Tippfehler korrigiere, dann funktioniert bei mir:
> ...
Ein Stern fehlte noch:
\@ifstar{\saved@chapter*}...
Damit geht es dann aber. Vielen Dank!
Clemens