LaTeX

Tabel - multirow

13. september 2010 af Economist (Slettet)

Jeg har lavet en anelse hjemmekonstrueret tabel, der gerne skulle illustrere sandsynlighederne for uddannelse imellem generationer - hvor de marginale sandsynligheder så er beregnet yderst i tabellen, så det tillige kan ses, at sandsynlighederne tilsammen summer til en.

Jeg har benyttet mig af multirow og multicolumn for at få "edu" og "EDU" til at fylde flere 3 felter hver. Hvad går der galt i konstruktionen, siden "edu" ikke placeres nede midt i feltet men i stedet øverst?

Minimalt eksempel:

\documentclass[a4paper,12pt]{memoir}
\usepackage{multirow}
\renewcommand\multirowsetup{\centering}

\begin{document}
\begin{center}
\begin{tabular}{|c|c|ccc|c|c|}
\hline
& & \multicolumn{3}{c|}{EDU} &\\\hline
\multirow{3}{*}{edu} & & NONE & LOW & HIGH &\\\hline
& none & 0,13 & 0,19 & 0,06 & 0,38\\
& low & 0,11 & 0,25 & 0,11 & 0,47\\
& high & 0,03 & 0,04 & 0,08 & 0,15\\\hline
& & 0,27 & 0,48 & 0,25 & 1 \\\hline
\end{tabular}
\end{center}
\end{document}


Svar #1
13. september 2010 af Economist (Slettet)

Åh, hvor jeg dog hader, når jeg selv finder på løsningen lige efter, at jeg HAR spurgt. Problemet var \hline. Indsættes \multirow en linie længere nede, går det hele i orden.

Løsning:

\documentclass[a4paper,12pt]{memoir}
\usepackage{multirow}
\renewcommand\multirowsetup{\centering}

\begin{document}
\begin{center}
\begin{tabular}{|c|c|ccc|c|c|}
\hline
& & \multicolumn{3}{c|}{EDU} &\\\hline
& & NONE & LOW & HIGH &\\\hline
\multirow{3}{*}{edu} & none & 0,13 & 0,19 & 0,06 & 0,38\\
& low & 0,11 & 0,25 & 0,11 & 0,47\\
& high & 0,03 & 0,04 & 0,08 & 0,15\\\hline
& & 0,27 & 0,48 & 0,25 & 1 \\\hline
\end{tabular}
\end{center}
\end{document}


Brugbart svar (2)

Svar #2
13. september 2010 af daleif (Slettet)

Tag også og gør dig selv en den tjeneste at vænne dig af med at anvende lodrette (og mange af de vandrette) linier i tabeller.

Det er en tabel du skriver ikke et grid


Svar #3
13. september 2010 af Economist (Slettet)

Vil du hellere have dem som denne?

\begin{center}
\begin{tabular}{c|cccc|cc}
\hline
& & \multicolumn{3}{c|}{EDU} &\\\hline
& & NONE & LOW & HIGH &\\
\multirow{3}{*}{edu} & none & 0,13 & 0,19 & 0,06 & 0,38\\
& low & 0,11 & 0,25 & 0,11 & 0,47\\
& high & 0,03 & 0,04 & 0,08 & 0,15\\\hline
& & 0,27 & 0,48 & 0,25 & 1 \\\hline
\end{tabular}
\end{center}

Den første tabel var sådan set næsten taget direkte fra en opgave, så det var faktisk blot et forsøg på at efterligne layout. Jeg synes dog godt, at nogle enkelte lodrette streger kan være anbefalelsesværdige, at de så ikke alle behøver at være der, kan jeg godt følge dig i.


Brugbart svar (2)

Svar #4
14. september 2010 af daleif (Slettet)

Nej, professionelle bruger ikke lodrette linier mere. Du skal faktisk koncentrere dig mere for at læse en tabel med lodrette linier i end en uden (fordi dine øjne gerne vil følge linierne ned)

Det er ikke altid en god ide blindt at følge den måde opgaver anvender layout. Har selv haft den kamp med studerende som anvendte en bog skrevet for over 10 år siden, og får jeg fik fat i vore forelæseres materiale.

Vi forsøger nu at have et mere konsistent layout og ved at vi har et ansvar over for de studerende, således at de lærer nogle bedre vaner.

Jeg ville nok går over i noget lignende nedenstående. Jeg anvender også luft som virtuelle linier når jeg skriver tabeller

\documentclass{memoir}
\usepackage{multirow}
\usepackage[referable]{threeparttablex}
\setTableNoteFont{\footnotesize}
% hvis man ikke anvender memoir, skal man huske pakken booktabs
\begin{document}
\begin{center}
\begin{threeparttable}
\begin{tabular}{c !{\qquad}  c !{\quad} ccc @{}c !{\quad} c}
\toprule
                                  &      & \multicolumn{3}{c}{EDU\tnotex{tn:1}} &                       \\
\cmidrule{3-5}
                                  &      & NONE                                 & LOW  & HIGH &  &      \\
\cmidrule{3-5}
\multirow{3}{*}{edu\tnotex{tn:2}} & none & 0,13                                 & 0,19 & 0,06 &  & 0,38 \\
                                  & low  & 0,11                                 & 0,25 & 0,11 &  & 0,47 \\
                                  & high & 0,03                                 & 0,04 & 0,08 &  & 0,15 \\
\midrule
 Total                            &      & 0,27                                 & 0,48 & 0,25 &  & 1    \\
\bottomrule
\end{tabular}
\begin{tablenotes}
  \item[a] \label{tn:1} forklar hvad dette er
  \item[b] \label{tn:2} forklar hvad dette er
\end{tablenotes}
\end{threeparttable}
\end{center}
\end{document}


Svar #5
14. september 2010 af Economist (Slettet)

Ah, spændende mulighed. Min eneste indvending er faktisk, at nu ser det ud til, at "EDU" er vigtigere end "edu", hvilket den jo ingenlunde er, idet tabellen summeres både lodret og vandret. Det, synes du ikke, er et problem?

Men jeg kan se, hvad du mener med de blanke linier, det virker til at fungere godt.


Brugbart svar (2)

Svar #6
14. september 2010 af daleif (Slettet)

jeg ville måske overveje at dreje edu 90 grader. Grunden til at jeg sætter en linie under EDU er at man bedre kan se hvad den spænder over


Svar #7
14. september 2010 af Economist (Slettet)

Det ville desværre nok ødelægge ideen med tabellen, tænker jeg.


Skriv et svar til: Tabel - multirow

Du skal være logget ind, for at skrive et svar til dette spørgsmål. Klik her for at logge ind.
Har du ikke en bruger på Studieportalen.dk? Klik her for at oprette en bruger.