
我\documentclass{scrbook}
與 一起使用\usepackage[Bjornstrup]{fncychap}
。
我怎麼能設計出partpage
類似chapterpage
-style的樣式Bjornstrup
?
Bjornstrup
另外,我想改變另一個盒子的灰色。這怎麼可能?
答案1
這是一個可能的解決方案:我重新定義了\partformat
內部命令\@part
(from scrbook.cls
)來模仿Bjornstrup
章節的樣式;我還重新定義了\DOCH
,\DOTI
和 ,\DOTIS
按照定義Bjornstrup
允許可變顏色。現在您可以控制部分和章節的背景顏色,只需重新定義(通過\colorlet
)顏色partbgcolor
,和chapbgcolor
;所用數字的顏色可以類似地使用partnumcolor
和進行更改chapnumcolor
:
\documentclass{scrbook}
\usepackage[Bjornstrup]{fncychap}
\usepackage{xcolor}
\colorlet{partbgcolor}{gray!30}% shaded background color for parts
\colorlet{partnumcolor}{gray}% color for numbers in parts
\colorlet{chapbgcolor}{gray!30}% shaded background color for chapters
\colorlet{chapnumcolor}{gray}% color for numbers in chapters
\renewcommand*\partformat{%
\fontsize{76}{80}\usefont{T1}{pzc}{m}{n}\selectfont%
\hfill\textcolor{partnumcolor}{\thepart}}
\makeatletter
\renewcommand*{\@part}{}
\def\@part[#1]#2{%
\ifnum \c@secnumdepth >-2\relax
\refstepcounter{part}%
\@maybeautodot\thepart%
\addparttocentry{\thepart}{#1}%
\else
\addparttocentry{}{#1}%
\fi
\begingroup
\setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative
\raggedpart
\interlinepenalty \@M
\normalfont\sectfont\nobreak
\setlength\fboxsep{0pt}
\colorbox{partbgcolor}{\rule{0pt}{40pt}%
\makebox[\linewidth]{%
\begin{minipage}{\dimexpr\linewidth+20pt\relax}
\ifnum \c@secnumdepth >-2\relax
\vskip-25pt
\size@partnumber{\partformat}%
\fi %
\vskip\baselineskip
\hspace*{\dimexpr\myhi+10pt\relax}%
\parbox{\dimexpr\linewidth-2\myhi-20pt\relax}{\raggedleft\LARGE#2\strut}%
\hspace*{\myhi}\par\medskip%
\end{minipage}%
}%
}%
\partmark{#1}\par
\endgroup
\@endpart
}
\renewcommand\DOCH{%
\settowidth{\py}{\CNoV\thechapter}
\addtolength{\py}{-10pt}
\fboxsep=0pt%
\colorbox{chapbgcolor}{\rule{0pt}{40pt}\parbox[b]{\textwidth}{\hfill}}%
\kern-\py\raise20pt%
\hbox{\color{chapnumcolor}\CNoV\thechapter}\\%
}
\renewcommand\DOTI[1]{%
\nointerlineskip\raggedright%
\fboxsep=\myhi%
\vskip-1ex%
\colorbox{chapbgcolor}{\parbox[t]{\mylen}{\CTV\FmTi{#1}}}\par\nobreak%
\vskip 40pt%
}
\renewcommand\DOTIS[1]{%
\fboxsep=0pt
\colorbox{chapbgcolor}{\rule{0pt}{40pt}\parbox[b]{\textwidth}{\hfill}}\\%
\nointerlineskip\raggedright%
\fboxsep=\myhi%
\colorbox{chapbgcolor}{\parbox[t]{\mylen}{\CTV\FmTi{#1}}}\par\nobreak%
\vskip 40pt%
}
\makeatother
\begin{document}
\part{Test Part}
\chapter{Test Chapter}
\end{document}
零件現在的樣子如下:
並使用
\colorlet{partbgcolor}{LightSkyBlue}% shaded background color for parts
\colorlet{partnumcolor}{NavyBlue}% color for numbers in parts
你會得到: