Re: simulare un foglio excel

#78600
OldClaudio
Partecipante
    Up
    0
    Down
    ::


    Cambia la definizione della colonna N così`\newcolumntype{N}[1]{>{\centering\rule[-1mm]{0pt}{4.75mm}}m{#1}}`

    Il motivo è questo (e lo puoi verificare meglio nella guida tematica LaTeX handbook commentato, qui sopra nella documentazione): i tre parametri del comando \rule sono:

    [tt]\rule[ [/tt]innalzamento[tt]]{[/tt]larghezza[tt]}{[/tt]altezza complessiva[tt]}[/tt]

    Se la larghezza è nulla, come nel nostro caso, il rettangolo prodotto da \rule è invisibile, ma mantiene le altre due caratteristiche; in particolare è alto altezza complessiva; se si applica ribassamento con un valore negativo dell’innalzamento, il rettangolo viene spostato in basso, quindi aquista una profondità, ma la sua altezza sopra la linea di base diminuisce.

    Se tu usi un’altezza complessiva di 2mm e poi lo abbassi di 1mm, produci uno spazio di sotto alla riga di base, cosicché l’\hline di sotto è adeguatamente distanziato, ma il \rule resta solo 1mm sopra la linea di base; siccome le lettere maiuscole A, B, …, sono più altedi questo \rule, perché sono di circa 2,75mm (un po’ più di 7pt, circa 8pt), questo significa che l’altezza sopra la linea di base deve essere di circa 3,75mm a cui devi aggiungere il millimetro di ribassamento per avere una altezza complessiva di 4,75mm.

    Certo si potrebbe definire il \rule con un’altezza variabile a seconda del corpo dei caratteri, ma andando per tentativi si trova facilmente con due o tre prove quanto deve valere l’altezza complessiva del “pilastrino” (cosi si chiama in tipografia quell’oggetto che non stampa niente ma distanzia e sostiene quello che c’è sopra o sotto; in inglese si chiama strut; LaTeX dispone del comando \strut, che però normalmente rappresenta un pilastrino di dimensioni definite e non accetta argomenti per variarne le dimensioni — con \rule si ha la massima libertà di creare un pilastrino delle dimensioni che si vogliono).

    Quindi con il ribassamento di 1mm e un’altezza complessiva di 4,75mm l’\hline sopra le lettere A, B,… è distanziato della stessa quantità del filetto che sta sotto le lettere; con il pilastrino di 2mm, il filetto supeirore quasi tocca le lettere.

    Alternativamente si potrebbe usare il comando \extrarowheight (vedi pacchetto array) che per la prima riga del tuo Excel simulato andrebbe bene, ma non andrebbe bene per le celle successive.

    Go to top