Tabella lunga E larga: come ripartire?

  • Creatore
    Topic
  • #113494
    Up
    0
    Down
    ::


    Ciao a tutti.

    Per la tesi ho una tabella di 11 colonne con numerose variabili, e a meno di usare un corpo \tiny (praticamente serve la lente d’ingrandimento) non ci sta su una pagina sola.

    Sto provando a usare l’accoppiata pdflscape e longtable, ma la compilazione si pianta sempre con errori ogni volta diversi e che non riesco a discernere l’origine nella massa dei dati. Io non so più che fare, mi potete dare un occhio?
    Se avete altre soluzioni per gestire così tanti dati (purchè non sia riscrivere la tabella) sono bene accette.

    Ecco il codice incriminato:

    Spoiler

    `
    % !TEX encoding = UTF-8
    % !TEX TS-program = pdflatex
    % !TEX spellcheck = it-IT
    %
    \documentclass[10pt,a4paper,twoside,openright,titlepage]{book}

    \usepackage{etex}

    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage[english,italian]{babel}
    \usepackage{mathpazo}
    \usepackage{longtable}
    \usepackage{booktabs}
    \usepackage{multirow}
    \usepackage{caption}
    \captionsetup{format=hang,labelfont=bf,tableposition=top,figureposition=bottom,font={sf,small}}
    \usepackage[%
    output-decimal-marker={,},%
    per-mode=symbol,%
    abbreviations=false,%
    separate-uncertainty,%
    ]{siunitx}
    \sisetup{
    input-comparators,
    list-final-separator = { \translate{e} },
    list-pair-separator = { \translate{e} },
    range-phrase = –,
    }
    \usepackage{pdflscape}
    \usepackage{bookmark}
    \usepackage{hyperref}

    \newcommand*{\h}{\hspace{5pt}}
    \newcommand{\pval}{\emph{p-value}}

    \begin{document}
    \begin{landscape}
    \begin{longtable}{lcccccccccc}
    %
    %{lccccS[table-format=1.2]cS[table-format=1.4]S[table-format=1.2]cS[table-format=1.4]}
    %
    \caption{Fattori associati alla sospensione}
    \label{tab:sosp}
    %\toprule
    \multirow{2}*{Variabile} & \multicolumn{2}{c}{No sospensione} & \multicolumn{2}{c}{Sospensione} & {OR} & IC 95\% & {\pval} & {adj. OR} & IC 95\% & {\pval} \\
    \cmidrule(lr){2-3} \cmidrule(lr){4-5}
    & N & \% & N & \% \\
    %\midrule
    \textbf{Genere} & & & & & & & 0.1177 & & & 0.2352 \\
    \h Femmina & $276$ & $45.8$ & $162$ & $50.6$ & 1.26 & $0.95-1.67$ & & 1.21 & $0.88-1.65$ & \\
    \h Maschio & $327$ & $54.2$ & $158$ & $49.4$ & 1 & & & 1 & & \\
    \textbf{Età alla diagnosi} & & & & & & & 0.0001< & & & 0.2352 \\ \h $0-14$ & $223$ & $37$ & $188$ & $58.8$ & 2.10 & $1.48-2.98$ & & 1.07 & $0.67-1.71$ & \\ \h $\ge 14$ & $380$ & $63$ & $132$ & $41.2$ & 1 & & & 1 & & \\ \textbf{Epilessia} & & & & & & & 0.0083 & & & 0.5676 \\ \h Focale criptogenica & $177$ & $30.3$ & $94$ & $30$ & 1.65 & $1.10-2.48$ & & 0.97 & $0.53-1.76$ & \\ \h Focale idiopatica & $23$ & $3.9$ & $28$ & $9$ & 3.13 & $1.60-6.12$ & & 1.42 & $0.59-3.43$ & \\ \h Focale sintomatica & $174$ & $29.7$ & $56$ & $17.9$ & 1 & & & 1 & & \\ \h Gen. criptogenica/sint. & $21$ & $3.6$ & $16$ & $5.1$ & 2.14 & $1.01-4.51$ & & 1.53 & $0.65-3.57$ & \\ \h Gen. idiopatica & $155$ & $26.5$ & $100$ & $32$ & 1.91 & $1.27-2.88$ & & 0.80 & $0.43-1.52$ & \\ \h Indeterminata & $30$ & $5.1$ & $12$ & $3.8$ & 1.12 & $0.56-2.40$ & & 0.65 & $0.25-1.68$ & \\ \h Inclassificabile & $3$ & $0.5$ & $7$ & $2.2$ & 4.64 & $1.08-20.1$ & & 1.93 & $0.39-9.50$ & \\ \h Speciale & $2$ & $0.3$ & $0$ & $0$ & & & & & & \\ \h NA & $18$ & $$ & $7$ & $$ & & & & & & \\ \textbf{Eziologia} & & & & & & & 0.0614 & & & \\ \h Genetica & $171$ & $29.5$ & $108$ & $35.2$ & 1.63 & $1.11-2.39$ & & & $$ & \\ \h Indeterminata & $216$ & $37.2$ & $130$ & $42.3$ & 1.54 & $1.07-2.23$ & & & & \\ \h Metabolica & $5$ & $0.9$ & $0$ & $0$ & & $$ & & & $$ & \\ \h Strutturale & $188$ & $32.4$ & $69$ & $22.5$ & 1 & $$ & & & $$ & \\ \h NA & $23$ & $$ & $13$ & $$ & & $$ & & & $$ & \\ \textbf{Crisi focali} & & & & & & & 0.0208 & & & \\ \h Sì & $423$ & $70.1$ & $198$ & $61.9$ & 1 & $$ & & & $$ & \\ \h No & $180$ & $29.9$ & $122$ & $38.1$ & 1.43 & $1.06-1.93$ & & & & \\ \textbf{Neuroimaging} & & & & & & & 0.0001< & & & 0.0543 \\ \h Normale & $345$ & $60.2$ & $234$ & $76.5$ & 2.07 & $1.49-2.86$ & & 1.64 & $0.99-2.70$ & \\ \h Anormale & $228$ & $39.8$ & $72$ & $23.5$ & 1 & & & 1 & & \\ \h NA & $30$ & $$ & $14$ & $$ & & & & & & \\ \textbf{Esame neurologico} & & & & & & & 0.0258 & & & 0.8799 \\ \h Anormale & $91$ & $15.7$ & $33$ & $10.9$ & 1 & $$ & & 1 & $$ & \\ \h Normale & $490$ & $84.3$ & $270$ & $89.1$ & 1.66 & $1.06-2.59$ & & 0.96 & $0.53-1.73$ & \\ \h NA & $22$ & $$ & $17$ & $$ & & & & & & \\ \textbf{Esame psichico} & & & & & & & 0.0041 & & & 0.0423 \\ \h Anormale & $107$ & $19.1$ & $42$ & $13.9$ & 1 & $$ & & 1 & $$ & \\ \h Normale & $452$ & $80.9$ & $260$ & $86.1$ & 1.84 & $1.21-2.79$ & & 1.72 & $1.02-2.89$ & \\ \h NA & $44$ & $$ & $18$ & $$ & & & & & & \\ \textbf{Chirurgia} & & & & & & & 0.3888 & & & 0.8086 \\ \h Sì & $19$ & $3.2$ & $7$ & $2.2$ & 1 & $$ & & 1 & $$ & \\ \h No & $584$ & $96.8$ & $313$ & $97.8$ & 1.50 & $0.60-3.79$ & & 1.14 & $0.40-3.26$ & \\ %\bottomrule \end{longtable} \end{landscape} \end{document} `

    Per confronto la tabella come viene su una pagina sola:

    Spoiler

    `
    % !TEX encoding = UTF-8
    % !TEX TS-program = pdflatex
    % !TEX spellcheck = it-IT
    %
    \documentclass[10pt,a4paper,twoside,openright,titlepage]{book}

    \usepackage{etex}

    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage[english,italian]{babel}
    \usepackage{lmodern}
    \usepackage{microtype}

    \usepackage{crop}
    \usepackage{lipsum}
    \usepackage{booktabs}
    \usepackage{multirow}
    \usepackage{rotating}
    \usepackage{caption}
    \captionsetup{format=hang,labelfont=bf,tableposition=top,figureposition=bottom,font={sf,small}}

    \usepackage[%
    output-decimal-marker={,},%
    per-mode=symbol,%
    abbreviations=false,%
    separate-uncertainty,%
    ]{siunitx}
    \sisetup{
    input-comparators,
    list-final-separator = { \translate{e} },
    list-pair-separator = { \translate{e} },
    range-phrase = –,
    %range-phrase = { \translate{a} },
    }

    \usepackage{bookmark}
    \usepackage{hyperref}

    \newcommand*{\h}{\hspace{5pt}}
    \newcommand{\pval}{\emph{p-value}}

    \begin{document}
    \begin{sidewaystable}
    %\small
    %\footnotesize
    \tiny
    \caption{Fattori associati alla sospensione}
    \label{tab:sosp}
    \centering
    \begin{tabular}{lccccS[table-format=1.2]cS[table-format=1.4]S[table-format=1.2]cS[table-format=1.4]}
    \toprule
    \multirow{2}*{Variabile} & \multicolumn{2}{c}{No sospensione} & \multicolumn{2}{c}{Sospensione} & {OR} & IC 95\% & {\pval} & {adj. OR} & IC 95\% & {\pval} \\
    \cmidrule(lr){2-3} \cmidrule(lr){4-5}
    & N & \% & N & \% \\
    \midrule
    \textbf{Genere} & & & & & & & 0.1177 & & & 0.2352 \\
    \h Femmina & $276$ & $45.8$ & $162$ & $50.6$ & 1.26 & $0.95-1.67$ & & 1.21 & $0.88-1.65$ & \\
    \h Maschio & $327$ & $54.2$ & $158$ & $49.4$ & 1 & & & 1 & & \\
    \textbf{Età alla diagnosi} & & & & & & & 0.0001< & & & 0.2352 \\ \h $0-14$ & $223$ & $37$ & $188$ & $58.8$ & 2.10 & $1.48-2.98$ & & 1.07 & $0.67-1.71$ & \\ \h $\ge 14$ & $380$ & $63$ & $132$ & $41.2$ & 1 & & & 1 & & \\ \textbf{Epilessia} & & & & & & & 0.0083 & & & 0.5676 \\ \h Focale criptogenica & $177$ & $30.3$ & $94$ & $30$ & 1.65 & $1.10-2.48$ & & 0.97 & $0.53-1.76$ & \\ \h Focale idiopatica & $23$ & $3.9$ & $28$ & $9$ & 3.13 & $1.60-6.12$ & & 1.42 & $0.59-3.43$ & \\ \h Focale sintomatica & $174$ & $29.7$ & $56$ & $17.9$ & 1 & & & 1 & & \\ \h Gen. criptogenica/sint. & $21$ & $3.6$ & $16$ & $5.1$ & 2.14 & $1.01-4.51$ & & 1.53 & $0.65-3.57$ & \\ \h Gen. idiopatica & $155$ & $26.5$ & $100$ & $32$ & 1.91 & $1.27-2.88$ & & 0.80 & $0.43-1.52$ & \\ \h Indeterminata & $30$ & $5.1$ & $12$ & $3.8$ & 1.12 & $0.56-2.40$ & & 0.65 & $0.25-1.68$ & \\ \h Inclassificabile & $3$ & $0.5$ & $7$ & $2.2$ & 4.64 & $1.08-20.1$ & & 1.93 & $0.39-9.50$ & \\ \h Speciale & $2$ & $0.3$ & $0$ & $0$ & & & & & & \\ \h NA & $18$ & $$ & $7$ & $$ & & & & & & \\ \textbf{Eziologia} & & & & & & & 0.0614 & & & \\ \h Genetica & $171$ & $29.5$ & $108$ & $35.2$ & 1.63 & $1.11-2.39$ & & & $$ & \\ \h Indeterminata & $216$ & $37.2$ & $130$ & $42.3$ & 1.54 & $1.07-2.23$ & & & & \\ \h Metabolica & $5$ & $0.9$ & $0$ & $0$ & & $$ & & & $$ & \\ \h Strutturale & $188$ & $32.4$ & $69$ & $22.5$ & 1 & $$ & & & $$ & \\ \h NA & $23$ & $$ & $13$ & $$ & & $$ & & & $$ & \\ \textbf{Crisi focali} & & & & & & & 0.0208 & & & \\ \h Sì & $423$ & $70.1$ & $198$ & $61.9$ & 1 & $$ & & & $$ & \\ \h No & $180$ & $29.9$ & $122$ & $38.1$ & 1.43 & $1.06-1.93$ & & & & \\ \textbf{Neuroimaging} & & & & & & & 0.0001< & & & 0.0543 \\ \h Normale & $345$ & $60.2$ & $234$ & $76.5$ & 2.07 & $1.49-2.86$ & & 1.64 & $0.99-2.70$ & \\ \h Anormale & $228$ & $39.8$ & $72$ & $23.5$ & 1 & & & 1 & & \\ \h NA & $30$ & $$ & $14$ & $$ & & & & & & \\ \textbf{Esame neurologico} & & & & & & & 0.0258 & & & 0.8799 \\ \h Anormale & $91$ & $15.7$ & $33$ & $10.9$ & 1 & $$ & & 1 & $$ & \\ \h Normale & $490$ & $84.3$ & $270$ & $89.1$ & 1.66 & $1.06-2.59$ & & 0.96 & $0.53-1.73$ & \\ \h NA & $22$ & $$ & $17$ & $$ & & & & & & \\ \textbf{Esame psichico} & & & & & & & 0.0041 & & & 0.0423 \\ \h Anormale & $107$ & $19.1$ & $42$ & $13.9$ & 1 & $$ & & 1 & $$ & \\ \h Normale & $452$ & $80.9$ & $260$ & $86.1$ & 1.84 & $1.21-2.79$ & & 1.72 & $1.02-2.89$ & \\ \h NA & $44$ & $$ & $18$ & $$ & & & & & & \\ \textbf{Chirurgia} & & & & & & & 0.3888 & & & 0.8086 \\ \h Sì & $19$ & $3.2$ & $7$ & $2.2$ & 1 & $$ & & 1 & $$ & \\ \h No & $584$ & $96.8$ & $313$ & $97.8$ & 1.50 & $0.60-3.79$ & & 1.14 & $0.40-3.26$ & \\ \bottomrule \end{tabular} \end{sidewaystable} \end{document} `

    Inoltre noterete che in ambedue i casi l’intestazione presenta un difetto grafico: “variabili” è allineato verticalmente in modo corretto, le altre etichette dopo le multicolumn invece no (sono allineate a sopra il cmidrule). Non sono riuscito a sistemare neanche quello 😳

    Grazie!

Visualizzazione 14 filoni di risposte
  • Autore
    Risposte
    • #113495
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Mah, nella prima tabella manca un \\ dopo la didascalia e il suo label, poi viene composta qualsi come la seconda tabella; naturalmente con longtable quanto è contenuto nella tabella è scritto con caratteri più grandi.

        Però ci sono alcuni problemini che solo tu puoi risolvere.

        Nella seconda tabella, qualunque corpo tu specifichi (io ho provato con tutti i corpi da \normalize a \tiny) la tabella esce sempre quasi uguale, perché \sidewaystable la scala in modo che occupi una certa porzione della pagina. Probabilmente sidewaystable accetta delle opzioni per evitare che scali il suo contenuto ad una frazione relativa mente piccola della pagina; ma questo lo puoi scoprire da solo consultandone la documentazione; io non l;ho fatto, perché questa mattina non ne ho il tempo.

        La prima tabella, a parte il comando \\ mancante, non usa longtable come si dovrebbe, perché mancano le intestazioni e i piedi della prima e dell’ultima pagina; vedi la documentazione. Il carattere usato è quello normale (10pt) e va bene, nel senso che non occorre la lente per leggerlo, ma, almeno con l’esempio che hai allegato, il mio visualizzatore mostra le pagine in landscape e non in portrait con le sezioni della tabella girate in senso antiorario. Probabilmente il problema non si presenta quando quelle due pagine siano all’interno di un documento che è tutto composto in portrait. Tuttavia nel documento completo devi provvedere a inserire tutto il malloppo dopo un \newpage e terminalo con un altro \newpage, perché la tabella lunga e girata non può stare inframmezzata ad un testo non girato.

        Per il resto trovate el giuste opzioni, io sarei più propenso per comporre la tabella con sidewaystable, purché, appunto, essa occupi tutta la gabbia di stampa della pagina e non solo una parte relativamente piccola come succede ora; lavorando con comandi nativi e/o di basso livello si potrebbe fare quanto ho detto semplicemente a mano, ma certamente la cosa non è tanto facile da fare come quando si usano pacchetti predefiniti.

      • #113496
        Up
        0
        Down
        ::


        Ti ringrazio per l’aiuto e mi scuso per averti fatto perdere tempo: non avevo letto con sufficiente attenzione che anche le righe caption e label andavano chiuse con \\ (nella tabella standard non si fa e io avevo copiato il codice originale rabberciandolo con la longtable). Ho anche aggiunto i piedini della tabella, anche se non ne sono convinto per la ragione che spiego dopo.
        Ora compila tutto a dovere; devo solo verificare che compili anche con le colonne S di siunitx ma non trovo menzione di possibili inteferenze, appeno posso faccio le prove e vediamo.

        La seconda parte mi ha fatto riflettere un poco, e ha smascherato alcune pecche. Non avevo pensato all’inghippo della tabella inserita nel corpo della tesi (del resto stavo facendo delle prove in documento isolato per vedere se Latex digeriva questa tabella monstre o si imbizzarriva), che comunque compilerò richiamandola con input altrimenti mi trovo con un file con centinaia di linee di codice.
        Usando delle sezioni con testo fake effettivamente succede un bel casino: anche usando \newpage la tabella comincia su facciata destra (numerata dispari), col risultato che risulta spezzata sulle due facciate di una pagina, un risultato indesiderabile. Nelle mie intenzioni Latex dovrebbe aprire la tabella su una facciata sinistra e concluderla sulla facciata destra dirimpetto, in modo che girando pagina uno si trovi di fronte la tabella in tutto il suo splendore.
        Al momento ho risolto forzando la tabella su una facciata sinistra (col codice qui suggerito: TeX stackexchange), ma ovviamente succede che mi lascia una facciata destra bianca (con header e footer per giunta) subito prima: bene ma non benissimo. Non potendo farla flottare mi sa che è un difetto ineliminabile, dovrò piazzarla “ad occhio” in mezzo al testo finale. O avete altre idee?
        Proprio per il fatto che la tabella, come me la immagino io, dovrebbe essere “continua” da una facciata all’altra, non mi convincono molto piede ed intestazione della longtable, ma non stonano più di tanto
        C’è un ultimo difetto: mi spezza la tabella non su una riga di item (quelli in grassetto) ma su un sottoitem (testo normale) che resta isolato in cima alla parte di tabella sull’altra pagina. Proverò a cambiare posto alle righe per vedere di risolvere ed eventualmente inserire righe vuote, sennò me la tengo così e pace. Ovviamente non si può neanche ridimensionare il font…

        Con la tabella composta usando sidewaystable , a maggiori incrementi del corpo la tabella riempie tutta la pagina fino a sbordare anche nella futura rilegatura. Avevo effettivamente pensato ad “annullare” localmente la gabbia del testo come suggerito (in modo che spariscano header e footer con relative scritte e i bordi) per lasciare tutto il foglio A4 a disposizione, ma mi sembra una cosa molto difficile. Sicuramente non conosco il linguaggio così bene, mi puoi aiutare?

        Mi sto anche preoccupando che poi il tipografo, vedendo il pdf con le pagina in landscape, me le rileghi male… speriamo bene…

        Spero di essermi spiegato, quando posso posterò il codice.

        PS: per il difetto dell’intestazione mal allineata si può far qualcosa? E’ solo un’inezia ma stona un po’.

      • #113497
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Mettere la longtable in un file a parte e poi inserirlo a partire dalla pagina di sinistra si può fare con i codici che hai visto in StackExhange; ma non è bello, perché quei \clearpage lasciano sempre pagine mozze. A queste pagine non puoi rinunciare, perché la tua grande tabella non occupa due pagine complete, quindi almeno la seconda pagina rmane mozza.
          Tuttavia nella guida Introduzione all’arte della composizione tipografica con LaTeX (scaricabile dalla sezione documentazione di questo forum) ho riportato un codice che mi ha suggerito David Carlisle, l’autore del pacchetto afterpage; scarica la guida e cerca il comando \afterpage nel primo indice analitico; uno dei vari rimandi ti “linla”direttamante il trucchetto; In sostanza \afterpage introduce un file con \input solo alla fine dalla pagina corrente, senza lasciala mozza; il trucchetto di David fa si che se la pagina dopo quella corrente è pari, immette il file con \input, altrimenti non fa nulla se non rimettere in attesa l’immissione del file dopo il salto pagina successivo. Non è un trucchetto infallibile, perché collide un poco con alcuni comandi che in qualche modo interferiscono con i salti pagina: fra questi i comandi di sezionamento. Tuttavia io lo uso abitualmente senza problemi.
          Se ti interessa la classe memoir definisce i due comandi \cleartoodd e \cleartoeven (cito a memoria, ma dovrebbero essere i nomi giusti o molto simili a quelli giusti), che agiscono come clear double pagema a seconda della parità della pagina che segue inserisce o non inserisce una pagina bianca. Non fanno al caso tuo, proprio perché inseriscono una pagina bianca; tuttavia leggendone il codice è possibile crearsi delle macro che trattengano in memoria qualcosa (un po’ come fa \afterpage) ma controllando correttamente la parità della pagina indipendentemente dal momento in cui il comando viene eseguito. Ho seguito anche questa strada, ma le macro sono complesse e non servono per affrontare il problema della tua tabella.

          Le colonne S dovrebbero funzionare regolarmente anche con longtable.

          Non ho capito di quale intestazione parli; nelle prove che ho fatto tutte le intestazioni e sottointestazioni delle colonne mi paiono corretti in accordo con i descrittori delle varie colonne e/o multicolonne.

          Per andare a pagina nuova dentro una longtable ti pasta inserire nel punto in cui la vuoi spezzare, possibilmente dopo un comando \\ la direttiva [tt]\noalign{\newpage}[/tt].

          Per i due piedi delle due mezze tabelle affacciate puoi limitarti ad un semplice \bottomrule; ler le due prime righe, a sinistra usi \caption e a destra usi \caption*; la cosa non è descritta in modo esplicito nella documentazione di longtable, ma è lasciata all’inventiva dell’utente quando la documentazione del pacchetto l’ha informato che \caption* serve per ripetere la didascalia nei frammenti successivi al primo senza però aumentare il contenuto del contatore delle tabelle; segnala anche che sarebbe desiderabile che le intestazioni delle frazioni di tabella successive alla prima contengano in carattere di contrato una qualche informazione che permetta al lettore di capire che si tratta di una continuazione.
          Se giochi bene le tue carte puoi anche rendere i due frammenti della tua longtable ugualmente alti così che l’effetto complessivo sia gradevole perché equilibrato fra le due pagine affacciate.

        • #113498
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Correggo alcune cose.
            per tagliare la tabella al punto giusto non bisogna usare \noalign, ma semplicemente \newpage; infatti longtable ridefinisce \newpage in modo che non abbia bisogno di \noalign.

            Le colonne S funzionano benissimo; quello che non funziona bene è il pacchetto pdflascape; per non avere gli inghippi di pagine ruotate fisicamante basta usare il pacchetto lscape.

            Per come si posizionano i due monconi della tabella sulle pagine affacciate è assolutamante necessario mettere i due stili di intestazioni delle colonne e i due stili di terminatori delle colonne.

            Non ho usato in questo esempio \afterpage, perché non avevo voglia di spezzare il file di test in due file distinti, ma l’esempio che a me funziona benissimo, DOPO DUE COMPILAZIONI, è il seguente`% !TEX encoding = UTF-8
            % !TEX TS-program = pdflatex
            %
            \documentclass[10pt,a4paper,twoside,openright,titlepage]{book}

            \usepackage{etex}

            \usepackage[T1]{fontenc}
            \usepackage[utf8]{inputenc}
            \usepackage[english,italian]{babel}
            \usepackage{mathpazo}
            \usepackage{longtable}
            \usepackage{booktabs}
            \usepackage{multirow}
            \usepackage{caption}
            \captionsetup{format=hang,labelfont=bf,tableposition=top,figureposition=bottom,font={sf,small}}

            \usepackage[%
            output-decimal-marker={,},%
            per-mode=symbol,%
            abbreviations=false,%
            separate-uncertainty,%
            ]{siunitx}
            \sisetup{
            input-comparators,
            list-final-separator = { \translate{e} },
            list-pair-separator = { \translate{e} },
            range-phrase = –,
            }
            %\usepackage{pdflscape}
            \usepackage{lscape}
            \usepackage{bookmark}
            \usepackage{hyperref}
            \usepackage{kantlipsum}

            \newcommand*{\h}{\hspace{5pt}}
            \newcommand{\pval}{\emph{p-value}}

            \begin{document}
            \mainmatter
            \chapter{Kant}
            \kant[1-3]
            \begin{landscape}
            \begin{longtable}{lccccS[table-format=1.2]cS[table-format=1.4]S[table-format=1.2]cS[table-format=1.4]}
            %
            %{lccccS[table-format=1.2]cS[table-format=1.4]S[table-format=1.2]cS[table-format=1.4]}
            %
            \caption{Fattori associati alla sospensione}
            \label{tab:sosp}
            %\toprule
            \\
            \multirow{2}*{Variabile} & \multicolumn{2}{c}{No sospensione} & \multicolumn{2}{c}{Sospensione} & {OR} & IC 95\% & {\pval} & {adj. OR} & IC 95\% & {\pval} \\
            \cmidrule(lr){2-3} \cmidrule(lr){4-5}
            & N & \% & N & \%\\
            \midrule
            \endfirsthead
            \multirow{2}*{Variabile} & \multicolumn{2}{c}{No sospensione} & \multicolumn{2}{c}{Sospensione} & {OR} & IC 95\% & {\pval} & {adj. OR} & IC 95\% & {\pval} \\
            \cmidrule(lr){2-3} \cmidrule(lr){4-5}
            & N & \% & N & \% \\
            \midrule
            \endhead
            \midrule
            \endfoot
            \bottomrule
            \endlastfoot
            \textbf{Genere} & & & & & & & 0.1177 & & & 0.2352 \\
            \h Femmina & $276$ & $45.8$ & $162$ & $50.6$ & 1.26 & $0.95-1.67$ & & 1.21 & $0.88-1.65$ & \\
            \h Maschio & $327$ & $54.2$ & $158$ & $49.4$ & 1 & & & 1 & & \\
            \textbf{Età alla diagnosi} & & & & & & & 0.0001< & & & 0.2352 \\ \h $0-14$ & $223$ & $37$ & $188$ & $58.8$ & 2.10 & $1.48-2.98$ & & 1.07 & $0.67-1.71$ & \\ \h $\ge 14$ & $380$ & $63$ & $132$ & $41.2$ & 1 & & & 1 & & \\ \textbf{Epilessia} & & & & & & & 0.0083 & & & 0.5676 \\ \h Focale criptogenica & $177$ & $30.3$ & $94$ & $30$ & 1.65 & $1.10-2.48$ & & 0.97 & $0.53-1.76$ & \\ \h Focale idiopatica & $23$ & $3.9$ & $28$ & $9$ & 3.13 & $1.60-6.12$ & & 1.42 & $0.59-3.43$ & \\ \h Focale sintomatica & $174$ & $29.7$ & $56$ & $17.9$ & 1 & & & 1 & & \\ \h Gen. criptogenica/sint. & $21$ & $3.6$ & $16$ & $5.1$ & 2.14 & $1.01-4.51$ & & 1.53 & $0.65-3.57$ & \\ \h Gen. idiopatica & $155$ & $26.5$ & $100$ & $32$ & 1.91 & $1.27-2.88$ & & 0.80 & $0.43-1.52$ & \\ \h Indeterminata & $30$ & $5.1$ & $12$ & $3.8$ & 1.12 & $0.56-2.40$ & & 0.65 & $0.25-1.68$ & \\ \h Inclassificabile & $3$ & $0.5$ & $7$ & $2.2$ & 4.64 & $1.08-20.1$ & & 1.93 & $0.39-9.50$ & \\ \h Speciale & $2$ & $0.3$ & $0$ & $0$ & & & & & & \\ \h NA & $18$ & $$ & $7$ & $$ & & & & & & \\ \textbf{Eziologia} & & & & & & & 0.0614 & & & \\ \h Genetica & $171$ & $29.5$ & $108$ & $35.2$ & 1.63 & $1.11-2.39$ & & & $$ & \\ \h Indeterminata & $216$ & $37.2$ & $130$ & $42.3$ & 1.54 & $1.07-2.23$ & & & & \\ \h Metabolica & $5$ & $0.9$ & $0$ & $0$ & & $$ & & & $$ & \\ \h Strutturale & $188$ & $32.4$ & $69$ & $22.5$ & 1 & $$ & & & $$ & \\ \h NA & $23$ & $$ & $13$ & $$ & & $$ & & & $$ & \\ \newpage \textbf{Crisi focali} & & & & & & & 0.0208 & & & \\ \h Sì & $423$ & $70.1$ & $198$ & $61.9$ & 1 & $$ & & & $$ & \\ \h No & $180$ & $29.9$ & $122$ & $38.1$ & 1.43 & $1.06-1.93$ & & & & \\ \textbf{Neuroimaging} & & & & & & & 0.0001< & & & 0.0543 \\ \h Normale & $345$ & $60.2$ & $234$ & $76.5$ & 2.07 & $1.49-2.86$ & & 1.64 & $0.99-2.70$ & \\ \h Anormale & $228$ & $39.8$ & $72$ & $23.5$ & 1 & & & 1 & & \\ \h NA & $30$ & $$ & $14$ & $$ & & & & & & \\ \textbf{Esame neurologico} & & & & & & & 0.0258 & & & 0.8799 \\ \h Anormale & $91$ & $15.7$ & $33$ & $10.9$ & 1 & $$ & & 1 & $$ & \\ \h Normale & $490$ & $84.3$ & $270$ & $89.1$ & 1.66 & $1.06-2.59$ & & 0.96 & $0.53-1.73$ & \\ \h NA & $22$ & $$ & $17$ & $$ & & & & & & \\ \textbf{Esame psichico} & & & & & & & 0.0041 & & & 0.0423 \\ \h Anormale & $107$ & $19.1$ & $42$ & $13.9$ & 1 & $$ & & 1 & $$ & \\ \h Normale & $452$ & $80.9$ & $260$ & $86.1$ & 1.84 & $1.21-2.79$ & & 1.72 & $1.02-2.89$ & \\ \h NA & $44$ & $$ & $18$ & $$ & & & & & & \\ \textbf{Chirurgia} & & & & & & & 0.3888 & & & 0.8086 \\ \h Sì & $19$ & $3.2$ & $7$ & $2.2$ & 1 & $$ & & 1 & $$ & \\ \h No & $584$ & $96.8$ & $313$ & $97.8$ & 1.50 & $0.60-3.79$ & & 1.14 & $0.40-3.26$ & \\ %\bottomrule \end{longtable} \end{landscape} \kant[4-6] \end{document}` Se metti la tabellona da [tt]\begin{landscape}[/tt] a [tt]\end{landscape}[/tt] in un file a parte, chiamato per esempio tabellona.tex, il giochetto di Carlisle consiste in questo: definisci un nuovo comando \DaPaginaPari in questo modo`\newcommand*\DaPaginaPari[1]{\afterpage{\ifodd\value{page}\afterpage{\input{#1}}\else\input{#1}\fi}}`Ovviamente devi invocare il pacchetto afterpage nel preambolo Poi invochi la tabellona scrivendo nel tuo documento \DaPaginaPari{tabellona}. Dovrebbe funzionare, anche se la tabellona in casi particolari va a finire due pagine più avanti; ma non resti con pagine mozze, e naturalmente fai riferimento alla tabellona con un riferimento basato sul \label, del tipo “... i risultati sono riportati nella tabella~[tt]\ref[/tt]{tab:sosp} nella pagina~[tt]\pageref[/tt].{tab:sosp}..”.

          • #113499
            Up
            0
            Down
            ::


            Ho provato il codice con i due file separati ma la compilazione si blocca: nel senso che non procede più e la console chiude la lista dei file con un asterisco.

          • #113500
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              Prima dell’asterisco c’è un messaggio. Probabilmente dice che non trova il secondo file; sei sicuro di avere messo il file della tabellona nella stessa cartella dove risiede il main file del tuo documento?

              in ogni caso se non dici che messaggi d’errore ottieni, nessuno di noi può aiutarti; spesso diciamo che la nostra sfera di cristallo non funziona bene, ma capisci che questo è solo uno scherzo per sottolineare che non siamo capaci di indovinare quello che ti succede.

            • #113501
              Up
              0
              Down
              ::


              Eh non c’è alcun messaggio d’errore, è proprio qui il guaio!
              Semplicemente si pianta, esce questo asterisco e non va più avanti; quel che è peggio, il log è vuoto e non mi fa copiare il contenuto della console.

              I file sono nella stessa cartella e preparati come mi hai detto (main con le sezionature e il comando, tabella nell’ambiente landscape nell’altro), ho provato ad aggiungere anche l’estensione .tex ma nisba. Sembra come che non riesce a digerire il malloppo ma non è poi tanto codice.

            • #113502
              OldClaudio
              Partecipante
                Up
                0
                Down
                ::


                Mo, quando esce l’asterisco il file che sta elaborando contiene qualcosa che manca (srana espressione…) per esempio contiene l’errore di aver dimenticato la riga \end{document} alla fine del main.
                Ovviamente non è possibile tirare a indovinare senza nessun indizio; In una guida sugli errori che stavo scrivendo ho insereto queste frasi

                In altri casi può portare ad un errore \emph{fatale} per l’interprete. In questo caso il programma si ferma nuovamente, ma il prompt del programma ora è un asterisco. Questa è una situazione difficile da trattare. Con certe installazioni e con le console di certi editor si può scrivere nella console \string\stop\ e il programma termina senza fare le cose che normalmente fa alla fine di una composizione. In altri casi la console presenta un bottone intestato “Abort”, cliccando il quale si ordina al sistema operativo di terminare il programma immediatamente e senza discussioni.

                Quidi quando il tuo programam si ferma all’asterisco, prova ad introdurre il comando \stop.

                Non so quale editor usi, ma guarda che cosa il tuo editor fa quando premi il tasto che ti esegue la compilazioni; trovi queste informazioni nelle opzioni di configurazione del tuo editor. Eventualmente prova a compilare a mano dando da terminale, dopo esserti collocato nella cartella del main file, il comando pdflatex -intteraction=errorstopmode (tinei presente che invece di errorstopmode, spesso c’è scrollmode; con questa modalità il programma tira diritto finchè può, e si ferma con l’asterisco solo davanti ad un errore “fatale”; probabilmente è quello che succede da te). Appena si presenta un errore, con errorstopmode il programma si ferma e quasi sempre il prompt è un punto interrogativo, ma prima del prompt c’è il messaggio che descrive l’errore. Poi in risposta al prompt puoi inserire con la tastiera la “risposta” X, in questo modo viene scritto il file log, che puoi esaminare con calma ed eventualmente, se non capisci il messaggio d’errore, puoi copiare quella decina di righe che precedono il punto interrogativo nel file log, e allegarle al tuo messaggio.

              • #113503
                Up
                0
                Down
                ::


                Ehm….infatti avevo dimenticato di chiudere il file principale con \end{document}….
                Devo di nuovo chiederti scusa per il tempo perso. Almeno adesso ho imparato cosa aspettarmi se succede di nuovo.

                Ora funziona tutto con delle sezioni fake, lo provo con il resto e vedo se continua a funzionare ma sono fiducioso.

              • #113504
                Up
                0
                Down
                ::


                Ora è sorto un nuovo problema: non trova il file della tabella da comporre.

                Ho separato la tabella (racchiusa dall’ambiente landscape) in un altro file chiamato tabella.tex, e lo richiamo al punto voluto col comando \DaPaginaPari; entrambi i file sono in una cartella “Capitoli”.
                I path nel main file della tesi (che richiama con \input tutti i capitoli vari) sono giusti, non trovo errori di stompa.
                Peraltro anche richiamndo la tabella con \input mi da questo errore di file non trovato.

                Che si può fare?

              • #113505
                claudio
                Partecipante
                  Up
                  0
                  Down
                  ::


                  quindi \input{Capitoli/tabella.tex} non funziona?
                  ciao
                  claudio

                • #113506
                  Up
                  0
                  Down
                  ::


                  Ok una notizia buona ed una cattiva.

                  Usando come suggerito un path preciso ora il comando inserisce la tabella. Ho quindi potuto finalmente cucire tutti i pezzi della tesi ed avere un prodotto semilavorato.

                  Sfortunatamente il comando non sembra funzionare come previsto, perchè mi compone la tabella a cominciare da pagina destra, quindi siamo punto e a capo. Non capisco come sia possibile se nei test miei e di OldClaudio invece funzionava a dovere.
                  Posso aggiungere che la tabella viene composta nell’ambito di una section che è l’ultima del capitolo, poi si apre il capitolo successivo. Non so se questo cambia qualcosa, al limite posso provare a spostare la sezione (anche se fa a pugni con la logica) più indietro e vedere se così funzia.

                  Altrimenti mi riduco al comando che ho postato, e per una pagina vuota amem.

                • #113507
                  OldClaudio
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    Non è un comportamento strano. Ti ho detto che \afterpage funziona abbastanza bene ma ha problemi con i comandi di sezionamento. Nell’ultima sezione di un capitolo, poi, sei certo che qualcosa vada storto.
                    In sostanza la tua soluzione della pagina vuota è il male minore.
                    In alternativa puoi spostare all’indietro cercando una posizione non troppo vicina all’inizio di una nuova sezione. Fai riferimeto alla tabellona con \ref e \pageref in modo che il lettore non abbia difficoltà a trovare la tabella.

                  • #113508
                    Up
                    0
                    Down
                    ::


                    Alla fine con l’aggiunta di nuovo materiale e una rimodulazione del capitolo sono riuscito con il comando \DaPaginaPari ad avere la tabella composta come desideravo; peccato solo che il comando non sia abbastanza potente da forzare egli stesso una disposizione degli elementi del capitolo consona (come potete capire poi il capitolo Risultati è ricco di oggetti flottanti per sua natura).
                    Una vittoria per LaTeX! Ora posso mandarla in stampa.
                    Grazie a OldClaudio per l’imbeccata.

                    Tuttavia ho notato alcune lacune per quanto riguarda certe peculiarità dei testi in ambiente medico, per cui prossimamente mi rifarò vivo per chiarire questi punti.

                  • #113509
                    OldClaudio
                    Partecipante
                      Up
                      0
                      Down
                      ::


                      Nulla è perfetto, lo sapppiamo benissimo.
                      La macro \aferpage contenuta dentro \SaPaginaPari, funziona benissimo finché non deve interferire con i comandi di sezionamento che hanno dele regole particolari. In particolare l’interfenza avviene a livello del “costruttore” di pagine per l’uscita; si tratta di una routine complicatissima su cui pochissimi sanno mettere le mani. Io non sono fra questi.

                      Per quel che riguarda l’ambiente medico, non saprei cosa dirti; ogni disciplina e ogni settore disciplinare ha le sue particolarità ed è difficile soddisfare tutte le esigenze di ogni settore. Personalmente credo di aver risolto tutti i problemi che ho incontrato riguardano la mia disciplina, ma l’ho fatto con macro personali, non con pacchetti trovati nella distribuzione di TeXLive. Non è detto che i problemi che ho incontrato io siano gli stessi che incontrano i colleghi che lavorano nello stesso campo. Quindi credo che sia necessario trovare da soli le soluzioni ai propri problemi.
                      Capisco benissimo che questo significa conoscere i linguaggi sottostanti molto bene; in questo LaTeX non è molto user friendly, perché richede anni di pratica e di vogia di cimentarsi. Non vecchi utenti (io ho più di 30 anni di paratica alle spalle) abbiamo cominciato ad usare LATeX quando non esisteva altro che il manuale di Lamport e nessun pacchetto; I problemi dovevamo risolverceli davvero da soli, non c’erano santi che potesso intercedere per noi 🙂 Quindi abbiamo imparato moltissimo tanto tempo fa.

                      Ma molte cose mi sono diventate familiari anche interessandomi alla tipografia; vistando la tipografia artigiana Tallone di Alpignano, una dell tipografie artistiche migliori di Italia, forse la migliore in assoluto, ho fatto un’osservazione su un certo glifo di una sua composizione; ne ho ricevuto un complimento che mi tengo molto caro: “Ma lei se ne intende di tipografia!” Detto da lui è come aver avuto una onorificenza. Ma non sono così bravo, assolutamente no.

                      Però ho imparato una cosa che il nostro Grand Wizard, Donald Knuth, il creatore di TeX, aveva già capito più di 40 anni fa; con l’avvento dei word processor e degli impaginatori commerciali, il gusto per la bella tipografia è andato scemando. Oggi lo standard sembra che sia diventato ciò che si riesce a fare con word, swriter, pages, e altri programmi simili.E più li si usa, più si perde il gusto per la bella tipografia. In certe discipline, medicina inclusa, dove si rifugge da programmi che richiedano la logica della programmazione, la diffusione dei word processor è tale che quello è diventato lo standard.

                      Ecco, tutto questo spiegone per metterti in guardia: può essere che la manchevolezze di LaTeX nel campo della medicina siano semplicemente cose che i word processor riescono a fare violentando l’arte tipografica, ma che la buona tipografia non farebbe mai; non parlo di LaTeX, ma della buona tipografia.

                  Visualizzazione 14 filoni di risposte
                  • Devi essere connesso per rispondere a questo topic.

                  Go to top