Re: toglere “capitolo”, spaziatura del titolo e header

#1139
Up
0
Down
::

Grazie mille, funziona a meraviglia.
8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< grazie mille davvero, sono un bel po' in dietro con la tesi (capita sempre no?), scrivo giorno e notte e non ho troppo tempo di mettermici da solo, sei stato preziosissimo. ancora grazie p.s. gli stili delle pagine tipo indice, bibliografia, etc non vengono influenzati dal comando suddetto, la cosa mi va bene perché è più carino così, cmq sapreste mica perché?

A dre la verità c’è un modo migliore per modificare la spaziatura superiore. Nel file di input con il codice che hai usato togli la riga che ti avevo aggiunto, ovvero la seguente

`\vskip 0\p@ % Questa linea l'ho aggiunta per permetterti di diminuire lo spazio sopra`

e aggiungi alla fine, prima di \makeatother e di \endinput, il codice riportato di seguito

`\def\@makechapterhead#1{%
\vspace*{50\p@}% Spaziatura in alto tra il titolo del capitolo e il bordo sup. della pagina
{\parindent \z@ \raggedright \normalfont
\ifnum \c@secnumdepth >\m@ne
\DOCH
\fi
\interlinepenalty\@M
\DOTI{#1}
}}
\def\@schapter#1{\if@twocolumn
\@topnewpage[\@makeschapterhead{#1}]%
\else
\@makeschapterhead{#1}%
\@afterheading
\fi}
\def\@makeschapterhead#1{%
\vspace*{50\p@}% Spaziatura in alto tra il titolo indice, biblio. e il bordo sup. della pagina
{\parindent \z@ \raggedright
\normalfont
\interlinepenalty\@M
\DOTIS{#1}
\vskip 40\p@ %Spaziatura in basso tra il titolo indice, bibliografia, ecc… e il testo sotto
}}`

Ora ti spiego: nel codice qui sopra ci sono le definizioni di due comandi: \@makechapterhead e \@makeschapterhead. Il primo realizza l’intestazione del comando \chapter, mentre il secondo realizza l’intestazione del comando \chapter* (versione star, ecco il perché della s nel nome makeschapterhead).
Il comando \chapter, come ben sai, si usa per i capitoli numerati, mentre il comando \chapter* è usato per i capitoli non numerati e in particolare è usato internamente ad altri comandi per ottenere il titolo dell’indice, il titolo della bibliografia, ecc..
Ora dovrebbe esserti tutto chiaro leggendo i commenti che ho messo nella parte di codice riportata sopra, dunque il file da includere per poter modificare proprio tutti i parametri è il seguente:

`\makeatletter
\renewcommand{\DOCH}{%
\settowidth{\px}{\CNV\FmN{\@chapapp}}
\addtolength{\px}{2pt}
\settoheight{\py}{\CNV\FmN{\@chapapp}}
\addtolength{\py}{1pt}

\settowidth{\mylen}{\CNV\FmN{\@chapapp}\space\CNoV\thechapter}
\addtolength{\mylen}{1pt}
\settowidth{\pxx}{\CNoV\thechapter}
\addtolength{\pxx}{-1pt}

\settoheight{\pyy}{\CNoV\thechapter}
\addtolength{\pyy}{-2pt}
\setlength{\myhi}{\pyy}
\addtolength{\myhi}{-1\py}
\par
\parbox{\textwidth}{%
\rule[\py]{\RW}{\myhi}%
\hskip -\RW%
\rule[\pyy]{\px}{\RW}%
\hskip -\px%
\raggedright%
\CNV\FmN{\@chapapp}\space\CNoV\thechapter%
\hskip1pt%
\mghrulefill{\RW}%
\rule{\RW}{\pyy}\par\nobreak%
\vskip -\baselineskip%
\vskip -\pyy%
\hskip \mylen%
\mghrulefill{\RW}\par\nobreak%
\vskip \pyy}%
\vskip 20\p@} % Modifica lo spazio dopo l'intestazione e prima del titolo nella versione \chapter

\renewcommand{\DOTI}[1]{%
\raggedright
\CTV\FmTi{#1}\par\nobreak
\vskip 40\p@} % Modifica lo spazio dopo il titolo e prima del testo per la versione \chapter

\renewcommand{\DOTIS}[1]{%
\raggedright
\CTV\FmTi{#1}\par\nobreak
\vskip 40\p@} % Modifica lo spazio dopo il titolo per la versione \chapter* usata per l'Indice e la Bibliografia ecc…

\def\@makechapterhead#1{%
\vspace*{50\p@}% Spaziatura in alto tra l'intestazione del capitolo (\chapter) e il bordo sup. della pagina (quello che ti interessava diminuire)
{\parindent \z@ \raggedright \normalfont
\ifnum \c@secnumdepth >\m@ne
\DOCH
\fi
\interlinepenalty\@M
\DOTI{#1}
}}
\def\@schapter#1{\if@twocolumn
\@topnewpage[\@makeschapterhead{#1}]%
\else
\@makeschapterhead{#1}%
\@afterheading
\fi}
\def\@makeschapterhead#1{%
\vspace*{50\p@}% Spaziatura in alto (\chapter*) tra Indice, Bibliografia, ecc… e il bordo sup. della pagina
{\parindent \z@ \raggedright
\normalfont
\interlinepenalty\@M
\DOTIS{#1}
\vskip 40\p@ %Aggiunta alla spaziatura in basso (\chapter*) tra Indice, bibliografia, ecc… e il testo sotto
}}

\makeatother
\endinput`

Può apparire complicato, ma è molto più semplice si quanto si pensi. Ora sei in grado di modificare anche le altre spaziature. 😀

Ciao ciao!

Go to top