Newsgroup: it.comp.software.tex
Titolo: classe memoir e \makechapterstyle

Chissà perchè questa classe mette voglia di andare oltre gli schemi
precostituiti...
Per esercizio o quasi stavo cercando di riprodurre il layout di
capitolo di "TeX for the Impatient". Dando una scorsa veloce al
manuale e forse preso da troppo entusiasmo mi sono messo al lavoro e
alla fine ho ottenuto qualcosa di vagamente simile con questo:
 \documentclass[a4paper,12pt]{memoir} 
 \usepackage[italian]{babel}
 \usepackage[latin1]{inputenc}
 \settypeblocksize{*}{13cm}{1.618}
\setlrmargins{*}{*}{1.618}
\setulmargins{90pt}{*}{*}
\setmarginnotes{17pt}{73pt}{\onelineskip}
\setheadfoot{\onelineskip}{2\onelineskip}
\setheaderspaces{70pt}{*}{*}
\checkandfixthelayout
% definisco il layout di capitolo
\makeatletter
\newlength{\beforechapsep}
\newlength{\chapnumwidth}
\newlength{\verticalsep}
\newlength{\rulewidth}
\newlength{\ruleheight}
\makechapterstyle{Thesis}{%
	\setlength{\beforechapskip}{50pt}
	\setlength{\midchapskip}{0pt}
	\setlength{\afterchapskip}{4\onelineskip}
	\setlength{\beforechapsep}{3cm}
	\setlength{\verticalsep}{.8cm}
	\setlength{\rulewidth}{.8cm}
	\setlength{\ruleheight}{.8cm}
	\renewcommand{\chapnamefont}{\normalfont}
	\renewcommand{\chapnumfont}{\bfseries\sffamily\HUGE}
	\renewcommand{\chaptitlefont}{\huge}
	\settowidth{\chapnumwidth}{\chapnumfont\thechapter}
	\renewcommand{\chapternamenum}{\hskip\beforechapsep}
	\renewcommand{\printchapternum}{%
		\renewcommand{\arraystretch}{0}%
%---------------------- QUI ---------------------------          
		\raisebox{-1.24\onelineskip}{%   
			\makebox[0pt][r]{%            
				\begin{tabular}{c}%
					\chapnumfont\thechapter\\
					\rule{0pt}{\verticalsep}%	
					\rule{\rulewidth}{\ruleheight}
				\end{tabular}
			}%
		}%
	}
	\renewcommand{\afterchapternum}{%
%---------------------- QUI ---------------------------     
		\rule[-2.4cm]{1pt}{3cm}\hskip 1em
	}
	\renewcommand{\printchaptername}{}
 	\renewcommand{\printchaptertitle}[1]{% 
 		\begin{minipage}[t]{.65\textwidth}
 			\chaptitlefont ##1 % mo funziona, con #1 no! 
 		\end{minipage}
 	}
	\renewcommand{\afterchaptertitle}{\par\nobreak\vskip
\afterchapskip}
\makeoddfoot{plain}{}{\normalfont\sffamily\bfseries\large\thepage}{}
}
\makeatother
a parte un pò di codice "morto" (c'è un arraystretch settato a 0 da
qualche parte), che non ho cancellato per scaramanzia, una delle cose
che mi irritano di più è il \raisebox che ho indicato sopra. in
pratica dovrebbe servire ad allineare il numero del capitolo con il
titolo che segue. Il valore e scelto ad occhio, ma ovviamente se
decidessi di cambiare la dimensione dei caratteri dovrei modificarlo
di volta in volta. Non esiste una maniera di gestire automaticamente
la cosa?
L'idea era quella mettere il numero di capitolo e la decorazione
sottostante in un box di larghezza 0, allineati a destra. In questo
modo posso settare indipendentemente la distanza dal margine destro
(\beforechapsep) del titolo del capitolo, senza preoccuparmi che
modifiche successive allo stile del numero potessero incasinare tutto.
La distanza verticale tra il numero e il quadrato nero sottostante
l'ho imposta mettendo nelle seconda riga del tabular una \rule
verticale di spessore 0.  
Lo stesso per la barra verticale tra il numero e il titolo del
capitolo, sono costretto a shiftare tutto a occhio, quindi se cambio
qualcosa...
Eesiste un modo di allineare la baseline del numero di capitolo in
tabella con la baseline della prima riga del titolo? Questo
risolverebbe molto...  oppure dovrei rifare tutto dacapo in un'altro
modo? Grazie infinite a chi ha avuto la pazienza di leggere tutto.
Ciao ciao
 

modo? Grazie infinite a chi ha avuto la pazienza di leggere tutto.
Non ho avuto la pazienza e non sono pratico di LaTeX, ma
hai provato con \vtop{} ?