Re: Domanda figure

#96146
OldClaudio
Partecipante
    Up
    0
    Down
    ::


    Il problema è stato risolto, ma lo comunico qui sul forum per spiegare qual era l’inghippo e per mostrare la soluzione semplicissima.


    @deltax
    desiderava avere tutte le figure in testa alla pagina e a tutte aveva specificato i codici di posizionamento facoltativi dell’ambiente figure o table nella forma tp che vuol dire: “LaTeX, o me lo metti in testa o me lo metti in una pagina a se stante! poche storie!”.
    E LaTeX non faceva storie; stando a quanto è raccontato nella guida tematica Il LaTeX Reference Manual commentato se LaTeX non può mettere la figura nella pagina corrente in testa alla pagina perché quando incontra il segnaposto per la figura la pagina contiene già troppo testo, non può usare il posizionamento t e usa quello p, specialmente se la pagina è quasi piena di altro materiale, cioè testo, equazioni e quant’altro può stare nella pagina.

    La soluzione qual è stata; semplice, invece di ridefinire i posizionamenti di default tp mediante i comandi che gli avevo suggerito qualche messaggio fa in questo filone, basta ridefinire quei codici di default con tb; cisì facendo se non c’è posto epr mettere al figura in testa, c’è una possibilità di metterla in calce, che ci sia posto o no, dipende dagli altri parametri di posizionamento; di solito non c’è posto e con la classe TOPtesi usata da @deltax, non c’è posto. dunque la figura viene messa in coda per essere usata nelle pagine successive; infatti nella pagina successiva, la routine di uscita esamina prima di tutto al coda degli oggetti flottanti se la prima che trova nella coda è da mettere in testa, la mette, se ce n’è un’altra e c’à ancora abbastanza spazio per metterne un’altra ce la mette, altrimenti riempie il resto della pagina con il testo accumulato nella “coda del testo” (la scatola 255), e prosegue la composizione delle pagine avendo appunto messo la figura in testa.

    Tricky? Sì, effettivamente non è semplicissimo sviluppare nella propria mente tutta la dinamica che avviene nella pancia del motore di composizione, ma il consiglio generale che si dà sempre è quello di mettere più di un solo codice di posizionamento e di dare sempre almeno due possibilità a LaTeX per mettere gli oggetti flottanti nelle pagine normali. In un certo senso, se non vengono variati gli altri parametri per il posizionamento (numero massimo di oggetti, altezza massima dei singoli oggetti, altezza minima del testo nella pagina normale) è meglio lasciare invariati i parametri di posizionamento di default che sono tbp. In TOPtesi sono modificati anche gli altri parametri di posizionamento, per cui quelli di default sono ridefiniti con htb. A me le figuure in mezzo al testo, specialmente in una pubblicazione tecnica come una tesi di laurea non solo non danno fastidio, ma mi sembrano molto utili per consentire di leggerne il testo descrittivo avendo la figura sott’occhio nella stessa pagina. Ma @deltax preferiva seguire le norme della buona tipografia “letteraria”, cosa perfettamente lecita, e le impostazioni di TOPtesi andavano modificate leggermente per venire incontro ai suoi desideri.

    In generale, però, è meglio non toccare né i paramatri h, t, b, p impostati di default dalla classe in uso, né gli altri parametri di posizionamento; usando espressamente i parametri facoltativi per figure o tabelle specifiche. Ma sempre bisogna aver capito il meccnaismo con cui LaTeX mette in posizione gli oggetti mobili, i floating objects, figure, tabelle, e ogni altro tipo di oggetto flottante definibile con il pacchetto float o con i comandi specifici delle classi fortemente personalizzabili, come memoir.

    Go to top