ansys” post=62210Buona domenica a tutti.
Sfogliando il manuale della classe memoir ho visto lo stile “veelo” dell’intestazione dei capitoli. Lo trovo carino. Voglio cercare di riprodurlo con la classe book. Ho pensato, senza ricorrere a pacchetti extra, qualora ve ne fossero (titlesec?), di modificare il comando \@makechapterhead della classe book.
Ho pensato a due possibili alternative:
`\makeatletter
\def\@makechapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@ \raggedleft \normalfont
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\huge\bfseries \MakeUppercase\@chapapp\marginpar{%
\scalebox{7}{\thechapter}}
\par\nobreak
\vskip 20\p@
\fi
\fi
\interlinepenalty\@M
\Huge \bfseries #1\par\nobreak
\vskip 40\p@
}}
\makeatother`
oppure`\makeatletter
\def\@makechapterhead#1{%
\begingroup
\vspace*{50\p@}%
{\parindent \z@ \raggedleft \normalfont
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\huge\bfseries \hfill
\addtolength{\hsize}{1.5cm}
\makebox[\hsize][r]{\MakeUppercase\@chapapp%
\makebox[1.5cm][r]{\scalebox{3}{\thechapter}}}\addtolength{\hsize}{-1.5cm}
\par\nobreak
\vskip 20\p@
\fi
\fi
\interlinepenalty\@M
\Huge \bfseries #1\par\nobreak
\vskip 40\p@
}
\endgroup
}
\makeatother`
Che ne pensate dello stile? Che ne pensate dei codici? Io preferisco il primo.Attendo commenti
Orlando
Questo è il primo codice rivisto; ho tolto il nero a “CHAPTER” e messo anche un codice che permette di calcolare allo stesso modo la grandezza del numero.
`\edef\@HUGEsize{\ifcase\@ptsize{\@xxvpt}{30}\or{30}{37}\or{36}{45}\fi}
\providecommand\HUGE{\expandafter\fontsize\@HUGEsize\selectfont}
\def\@makechapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@ \raggedleft \normalfont
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\LARGE\MakeUppercase\@chapapp
\makebox[0pt][l]{\ \HUGE\thechapter}
\par\nobreak
\vskip 20\p@
\fi
\fi
\interlinepenalty\@M
\HUGE \bfseries #1\par\nobreak
\vskip 40\p@
}}`
Non c’è alcun bisogno di \marginpar (che è una pazzia comunque :wink:). Con \raggedleft la riga “Capitolo 1” viene appoggiata al margine destro; tutto ciò che ti serve è che il numero sporga sulla destra: \makebox[0pt][l]{…} è quello che ci vuole.
Ciao
Enrico