Re: Tabelle: un esercizio

#33507
Up
0
Down
::

Ciao a tutti, vorrei comporre con LaTeX una tabella scritta con Word, ma non ci riesco. 😳

La tabella originale è questa:
http://www.lorenzopantieri.net/LaTeX_files/Tabella.pdf

Il codice cui sono arrivato è il seguente:

`\usepackage{siunitx}
\usepackage{tabularx,booktabs,multirow}

\newcolumntype{U}{>{\centering\arraybackslash$}X<{$}} \begin{tabularx}{\columnwidth}{l*{6}{U}} \toprule {\bfseries Materiale} & \multicolumn{2}{c}{\bfseries Modulo di Young} & \multicolumn{2}{c}{\bfseries Modulo di scorrimento} & \multicolumn{2}{c}{\bfseries Modulo di compressione} \\ & \si{kg/m} & \si{kg/m} & \si{kg/m} & \si{kg/m} & \si{kg/m} & \si{kg/m} \\ \midrule Acciaio & 1 & 2 & 3 & 4 & 5 & 6 \\ Acciaio & 1 & 2 & 3 & 4 & 5 & 6 \\ Acciaio & 1 & 2 & 3 & 4 & 5 & 6 \\ Acciaio & 1 & 2 & 3 & 4 & 5 & 6 \\ Acciaio & 1 & 2 & 3 & 4 & 5 & 6 \\ Acciaio & 1 & 2 & 3 & 4 & 5 & 6 \\ \bottomrule \end{tabularx}` Il problema principale è che le scritte introdotte con \multicolumn non vengono spezzate, e fuoriescono dal margine. Avevo introdotto quelle sei colonne con X con l'obiettivo di mantenerle tutte uguali, ma così non è. Altro piccolo problema, non riesco a scrivere "Materiale" con \multirow. Grazie mille a chi vorrà cimentarsi con questo esercizio.

`\begin{tabularx}{\textwidth}{l*{6}{U}}
\toprule
{\bfseries Materiale} &
\multicolumn{2}{c}{\bfseries Modulo di} &
\multicolumn{2}{c}{\bfseries Modulo di} &
\multicolumn{2}{c}{\bfseries Modulo di} \\
&
\multicolumn{2}{c}{\bfseries Young} &
\multicolumn{2}{c}{\bfseries scorrimento} &
\multicolumn{2}{c}{\bfseries compressione} \\
\cmidrule(lr){2-3}
\cmidrule(lr){4-5}
\cmidrule(lr){6-7}
& \si{kg/m} & \si{kg/m} & \si{kg/m} & \si{kg/m} & \si{kg/m} & \si{kg/m} \\
\midrule
Acciaio & 1 & 2 & 3 & 4 & 5 & 6 \\
Acciaio & 1 & 2 & 3 & 4 & 5 & 6 \\
Acciaio & 1 & 2 & 3 & 4 & 5 & 6 \\
Acciaio & 1 & 2 & 3 & 4 & 5 & 6 \\
Acciaio & 1 & 2 & 3 & 4 & 5 & 6 \\
Acciaio & 1 & 2 & 3 & 4 & 5 & 6 \\
\bottomrule
\end{tabularx}`
La parola “materiali” sta benissimo dov’è. Non vedo nemmeno perché usare tabularx; infatti
`\begin{tabular}{l*{6}{>{$}c<{$}}}` è più che sufficiente: non è detto che le colonne debbano avere la stessa larghezza né che la tabella debba occupare la colonna. In ogni caso va usato \textwidth, perché una tabella del genere di sicuro non sta in una colonna e l'ambiente galleggiante da usare sarà table*. A meno che il documento non sia in "landscape". :) Ciao Enrico

Go to top