Re: Problemi con tabella su più pagine e longtable

#20505
Up
0
Down
::

Ho fatto tutto quello che hai scritto. Compilato 4/5 volte, l’effetto grafico è molto pulito e ordinato. L’unico problema è che la terza colonna, l’ultima di destra, esce dai margini della pagina. Il problema sarebbe facilmente risolvibile se latex diminuisse solo un pò lo spazio vuoto (inutile) che lascia tra la seconda e l’ultima colonna.
Per darti un’idea ti lascio il codice della mia tabella definitivo com’è ora (togliendo un po di contenuto inutile), sempre con i relativi pacchetti inclusi a inizio documento.
`…
\begin{longtable}{@{}>{\footnotesize}c@{}>{\footnotesize}c%
@{\extracolsep{10pt}}>{\footnotesize}p{.5\textwidth}@{}}
\caption{Requisiti Funzionali}\\[-\abovecaptionskip]
\bottomrule
\multicolumn{1}{c}{\footnotesize\textbf{ID Requisito}}&
\multicolumn{1}{c}{\footnotesize\textbf{Funzione}}&
\multicolumn{1}{c}{\footnotesize\textbf{Descrizione}} \\
\midrule
\endhead
Req\_f\_01 & Differenziazione Accessi &
Esistono 4 diverse tipologie di utenti:
amministratore, docente, studente, utente non registrato.
Ognuno di essi possiede diversi permessi sul Wiki. \\
…`

Sarebbe molto meglio così:
`\begin{longtable}{@{}>{\footnotesize}c>{\footnotesize}c
>{\footnotesize}p{.45\textwidth}@{}}
\caption{Requisiti Funzionali}\\
\toprule
\textbf{ID Requisito}&
\textbf{Funzione}&
\hspace*{\fill}\textbf{Descrizione}\hspace*{\fill} \\
\midrule
\endhead
Req\_f\_01 & Differenziazione Accessi &
Esistono 4 diverse tipologie di utenti:
amministratore, docente, studente, utente non registrato.
Ognuno di essi possiede diversi permessi sul Wiki. \\
…`
Quello spazio che ritieni inutile è invece molto importante.

Se hai bisogno di più spazio per la terza colonna, potresti considerare di usare
`>{\footnotesize\centering}p{\colwd}`
per lo specificatore della seconda colonna. Nel preambolo scriverai la seguente magia:
`\newlength{\colwd}
\settowidth{\colwd}{\footnotesize Differenziazione}`
(usando la parola più lunga della tua seconda colonna, naturalmente, al posto di Differenziazione).

Con questo puoi arrivare anche a .59\textwidth per la terza colonna.

Ciao
Enrico

Ok ho fatto la prima delle modifiche che mi hai consigliato e ho aggiunto nel preambolo il trucchetto della parola più lunga (che casualmente era proprio “Differenziazione”). Il mio codice ora è il seguente. Compilando 4 o 5 volte, la tabella viene perfetta nella seconda e terza pagina, non nella prima e nella quarta dove l’ultima colonna è ancora leggermente tagliata dal margine. Come può essere?? 😯

`
\documentclass[a4paper,12pt]{book}
\usepackage[italian]{babel}
\usepackage{lipsum}
\usepackage{array}
\usepackage{booktabs}
\usepackage{longtable}
\setcounter{tocdepth}{3}
\setcounter{secnumdepth}{3}
\usepackage{indentfirst}
\usepackage[latin1]{inputenc}
\usepackage{fancyhdr}
\usepackage{amsmath}
\usepackage{graphicx}

\newlength{\colwd}
\settowidth{\colwd}{\footnotesize Differenziazione}
\linespread{1.2}
\setlength\headheight{15pt}
\pagestyle{fancy}\addtolength{\headwidth}{20pt}
\renewcommand{\chaptermark}[1]{\markboth{\thechapter.\ #1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection \ #1}{}}
\cfoot{}
\rhead[\fancyplain{}{\bfseries\leftmark}]{\fancyplain{}{\bfseries\thepage}}
\lhead[\fancyplain{}{\bfseries\thepage}]{\fancyplain{}{\bfseries\rightmark}}

\begin{document}

\begin{longtable}{@{}>{\footnotesize}c>{\footnotesize}c
>{\footnotesize}p{.45\textwidth}@{}}
\caption{Requisiti Funzionali}\\
\toprule
\textbf{ID Requisito}&
\textbf{Funzione}&
\hspace*{\fill}\textbf{Descrizione}\hspace*{\fill} \\
\midrule
\endhead
Req\_f\_01 & Differenziazione Accessi &
Esistono 4 diverse tipologie di utenti:
amministratore, docente, studente, utente non registrato.
Ognuno di essi possiede diversi permessi sul Wiki. \\
Req\_f\_02 & Registrazione Studente &
Uno studente non registrato si registra al Wiki attraverso un'apposita pagina.
La registrazione richiede una conferma dell'indirizzo email registrato.
Una volta ottenuta, lo studente viene aggiunto alla lista degli utenti registrati
e gli vengono assegnati i relativi permessi. \\
Req\_f\_03 & Registrazione Docente &
Un docente richiede ad un amministratore di essere registrato al Wiki.
L'amministratore provvede quindi alla registrazione
e all'assegnazione dei relativi permessi. \\
Req\_f\_04 & Rimozione Studente &
Uno studente registrato richiede la rimozione dal Wiki
attraverso un'apposita pagina. Viene rimosso dalla lista
degli utenti registrati e dalla Mailing-List. \\
Req\_f\_05 & Recupero Password &
Un utente registrato richiede la propria password
di accesso al Wiki attraverso un'apposita pagina.
Il sistema provvede a comunicare i dati di accesso
tramite una email all'indirizzo registrato collegato all'utente. \\
Req\_f\_23 & Template per Gruppo &
Al momento della creazione del gruppo viene generata automaticamente
la pagina principale del gruppo, la pagina del diario di gruppo e
la pagina del diario dell'utente creatore.
Dopo l'accettazione di ogni componente aggiuntivo,
vengono generate le pagine relative ad ognuno dei diari personali. \\
Req\_f\_24 & Template per Commenti &
Al momento dell'inserimento di un allegato deve essere possibile
aggiungere commenti attraverso l'uso di uno specifico template. \\
\bottomrule
\end{longtable}

\end{document}
`

Questo è l’output:

`
[PDFLaTeX] progetto.tex => progetto.pdf (pdflatex)
./progetto.tex:0:Underfull \vbox (badness 1259) has occurred while \output is active []
./progetto.tex:201:Overfull \hbox (110.68079pt too wide) in alignment
./progetto.tex:210:Underfull \hbox (badness 1043) in paragraph
./progetto.tex:266:Underfull \hbox (badness 1596) in paragraph
./progetto.tex:266:Underfull \hbox (badness 2237) in paragraph
./progetto.tex:208:Overfull \hbox (110.68079pt too wide) in alignment
./progetto.tex:303:Underfull \hbox (badness 1226) in paragraph
./progetto.tex:313:Underfull \hbox (badness 1325) in paragraph
./progetto.tex:299:Overfull \hbox (110.68079pt too wide) in alignment
./progetto.tex:0:Underfull \vbox (badness 10000) has occurred while \output is active []
./progetto.tex:441:Underfull \hbox (badness 10000) in paragraph
[PDFLaTeX] 0 errors, 0 warnings, 11 badboxes
[PDFLaTeX] Done!`

Go to top