Re: tabelle allineate a “textwith+marginparwith”

#71309
OldClaudio
Partecipante
    Up
    0
    Down
    ::


    La cosa non è semplicissima; in un certo senso può sembrare banale se si mette l’ambiente tabular come argomento di una scatola realizzata con \makebox di larghezza specificata:
    `
    \makebox[\textwidth][]{}
    `
    dove [tt][/tt] sarà la lettera [tt]l[/tt] quando la tabella cade nella pagina di destra/dispoari e [tt]r[/tt] quando la tabella cade nella pagina di sinistra/pari.

    Lo si può fare a mano, ma bisogna farlo soltanto quando il lavoro è finito e non ci sono più modifiche da fare.

    La cosa difficile è farlo in modo automatico, perché quando si scrive l’ambiente table che contiene la tabella e la sua didascalia, non si sa su quale pagina la tabella verrà fatta muovere; il codice allora diventerebbe una cosa del genere
    `
    \newcounter{paginavera}

    \begin{table}

    % codice opportuno per recuperare il numero della pagina da un \label creato apposta oppure dal label della didascalia
    % e per assegnarlo al contatore paginavera.

    \makebox[\textwidth][\ifodd\value{paginavera}l\else r\fi]{}

    \end{table}
    `
    e la parte difficile sta proprio in quello che è descritto mediante il commento che prevede anche due alternative a seconda che si sia caricato il file hyperref oppure non si usino i collegamenti ipertestuali.

    Probabilmente esiste qualche pacchetto che permette di fare simili cose e non mi stupirei se fosse proprio ctable, che non uso spesso, anzi quasi mai, ma so che ha moltissime utili funzionalità, anche se ha dei trabocchetti nascosti.

    Io mi sono scritto le macro sia con sia senza hyperref, ma dubito che siano modelli da seguire, anche se a me funzionano. Sai queste cose artigianali funzionano spesso per chi le ha realizzate, mentre se le usa un’altra persona è facile che succedano le cose più turpi.

    Go to top