OldClaudio” post=69773Forse dovresti usare \glueexpr invece di \dimexor?
\dimexpr lavora su lunghezze rigide; se vi metti dentro una lunghezza elastica, ne viene usata solo la sua lunghezza naturale perdendo le componenti di allungamento e accorciamento; certo se prima di \dimexpr metti un termine avente le caratterisitiche di una lunghezza elastica, quei plus e minus non intervengono nell’espressione ma intervengono nell’assegnazione come componenti di allungament e accorciamento assegnate ex novo alla lunghezza elastica a primo membro.
TeX distingue fra i registri di tipo \dimen e di tipo \skip; Plain assegna nomi ai registri con comandi del tipo \newdim e \newsckip; LaTeX, invece ha solo \newlength che è equivalente a \newskip; in sostanza le lunghezze definite con i comandi laTeX sono tutte elastiche.
Detto questo hai già usato \looseness per allungare i capoversi; funziona se i capoversi sono lunghetti; lo puoi usare anche a rovescio con un valore negativo, in modo da accorciare; talvolta accorciare un capoverso che avrebbe, magari, solo una parola nell’ultimo righino, può produrre una pagina piò piena, magari recuperando dalla pagina successiva una riga e un righino.
Certo fare il fine tuning è difficile; negli impaginatori professionali la posizione delle righe è fissa e assolutamante ripetibile da una pagina all’altra, ma sono penasti per pagine di solo testo; se ci sono degli inserti, questi vengono collocati dentro a “scatole” le cui dimensioni e la cui posizione è conforme alla griglia delle righe. LaTeX e gli altri motori di composizione non fanno cosi, perché la matematica in display non lo consente e sfrutta l’elasticità di \parskip (\tra l’altro ai provato a ridefinire [tt]\parskip=0pt plus 0pt minus 0pt[/tt]?) e ad altre gomme come \lineskip. Io non ci farei molto conto, maridefinedo queste cose si ottengono alcuni risultati, non sempre gradevoli, ma le piccole variazioni si vedono.
Se hai molte note, potrebbe valre la pena si definire \footskip con un allungamento sensibile.
Ho già fatto tutti gli aggiustamenti con \looseness e \enlargethispage. Alcune pagine mi sembravano mal riempite e infatti lo erano, ma per colpa mia.
Avevo lasciato in fondo al file di classe \vbadness=2000. Ho impostato tutto come di default e aggiustato di conseguenza.
Per curiosità ho provato a compilare con \vbadness=100, per vedere quanti bad box ci sono, e sono parecchi ma in numero non preoccupante.
Certo è impossible risolverli tutti.
Alla fine usando \enlargethispage relativamente alla pagina, succede la stessa cosa che succede con \raggedbottom.
Considera che le pagine sono tutte sistemate, quindi quest’ultimo comando “spinge” pochissimo.
Un’altra cosa. Spesso per eliminare l’underfull vbox è sufficiente dare \enlargethispage{-.5\baselneskip}.
Ha senso o è meglio allargare di una riga?
Proverò con calma anche i comandi che mi hai consigliato. Grazie!
Ciao
Ivan