PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kapitelüberschrift mit titlesec farbig unterstreichen?



leona79
21-11-2005, 22:00
Hallo!

Ich versuche gerade meine Kapitelüberschrift mit einem Strich drunter und drüber zu versehen. In der Beispielsammlung titlesecex gibt es dazu ein Beispiel. Ich möchte die Striche jedoch so verändern, dass sie farbig sind. Bis zu einem gewissen Maße klappt das auch: das \titlerule für den oberen Strich habe ich durch ein \titleline ersetzt. Wenn ich das für den unteren Strich mache bekomme ich jedoch eine Fehlermeldung. Warum?


\documentclass[a4paper,oneside]{scrbook}

\usepackage{color}

\usepackage[rigidchapters]{titlesec}
\titlespacing{\chapter}{0pc}{*15}{*40}[0pc]
\titleformat{\chapter}[display]
{\sffamily\bfseries\huge}
{\filleft\MakeUppercase{\chaptertitlename} \huge\thechapter} {4ex}
{\setlength{\parskip}{0pt}%
%titlerule
\titleline[l]{\colorbox{blue}{\makebox[\textwidth]{}}}
\vspace{2ex}%
\filright}
[\vspace{2ex}%
\titlerule]

\begin{document}
\chapter{Dies ist ein Kapitel}
Hier steht irgend ein Text.
\end{document}

Zusätzlich suche ich nach einer Möglichkeit die Höhe der farbigen Linien zu beeinflussen. Weiß jemand Rat?

Mit einem Beispiel von Markus Kohm (http://www.komascript.de/node/24)


%1st get a new command
\newcommand*{\ORIGchapterheadstartvskip}{}%
% 2nd save the original definition to the new command
\let\ORIGchapterheadstartvskip=\chapterheadstartvs kip
% 3rd redefine the command using the saved original command
\renewcommand*{\chapterheadstartvskip}{%
\ORIGchapterheadstartvskip
{%
\setlength{\parskip}{0pt}%
\noindent\rule[.3\baselineskip]{\linewidth}{1pt}\par
}%
}

% see above
\newcommand*{\ORIGchapterheadendvskip}{}%
\let\ORIGchapterheadendvskip=\chapterheadendvskip
\renewcommand*{\chapterheadendvskip}{%
{%
\setlength{\parskip}{0pt}%
\noindent\rule[.3\baselineskip]{\linewidth}{1pt}\par
}%
\ORIGchapterheadendvskip
}

bekomme ich die farbigen Boxen hin, wenn ich die Zeile \noindent\rule[.3\baselineskip]{\linewidth}{1pt}\par durch \noindent\color{blue}\rule{\textwidth}{\ht\strutbo x}\par ersetze. Das Problem bei dieser Lösung ist das Latex ja elastische vertikale Abstände hat. Dadurch sind die Balken nicht immer an der gleichen Stelle und auch der Abstand zwischen den Balken verändert sich. Das fällt beim Durchblättern sofort negativ auf! Eine Alternative zum ersten Beispiel wäre also eine Möglichkeit die elastischen Abstände fest zu machen, aber ich fürchte ja fast, das geht nicht. Zumindest das rigidchapters aus dem titlesec Paket bringt nichts.

Schon mal Danke.

Monika

leona79
22-11-2005, 19:57
Hallo,

habe das Problem im ersten Codestück selbst gefunden. Für die, die's interessiert: zwei mal [] ineinander scheint wohl nicht zu funktionieren. Wenn man das optionale align samt der [] weglässt kann man das zweite \titlerule auch durch ein \titleline ersetzen.

Insgesamt sieht das dann so aus:


\documentclass[a4paper,oneside]{scrbook}

\usepackage{color}

\usepackage[rigidchapters]{titlesec}
\titlespacing{\chapter}{0pc}{*15}{*40}[0pc]
\titleformat{\chapter}[display]
{\sffamily\bfseries\huge}
{\filleft\MakeUppercase{\chaptertitlename} \huge\thechapter} {4ex}
{\titleline[l]{\colorbox{blue}{\makebox[\textwidth]{}}}%
\vspace{2ex}%
\filright}
[\vspace{2ex}%
\titleline{\colorbox{blue}{\makebox[\textwidth]{}}}]

\begin{document}
\chapter{Dies ist ein Kapitel}
\end{document}

Jetzt fehlt nur noch eine Lösung für die Höhe der Balken...

Grüße
Monika

bischi
22-11-2005, 20:14
Vielleicht hilft das: http://mrunix.de/forums/showthread.php?t=41932

MfG Bischi

cookie170
24-11-2005, 15:16
Hallo Monika,

Dein Beispiel sieht klasse aus. Hast Du es geschafft, die Linien breiter zu ziehen?

Gruß,
Alexander

rais
26-11-2005, 19:18
Moin moin,
leicht abgewandelt:


\documentclass[a4paper,oneside]{scrbook}

\usepackage{color}

\usepackage[rigidchapters]{titlesec}
\titlespacing{\chapter}{0pc}{*15}{*40}[0pc]
\titleformat{\chapter}[display]
{\sffamily\bfseries\huge}
{\filleft\MakeUppercase{\chaptertitlename} \huge\thechapter}{4ex}
{\titleline[l]{\color{blue}\rule{\textwidth}{1pt}}%
\vspace{2ex}%
\filright}
[\vspace{2ex}%
\titleline{\color{blue}\rule{\textwidth}{0.5pt}}]

\begin{document}
\chapter{Dies ist ein Kapitel}
und so sieht der Text darin aus:)
\end{document}
- frei nach dem von Dominik genannten thread *g* - sollte es mit der Linienbreite auch hinhauen;)
MfG,