TransWikia.com

Longtable with multicolumn and multirow issues

TeX - LaTeX Asked on December 23, 2020

I tried to build a "complex" table of a certain size but still have some problems with the multicolumn. As you can see on the attached images, in the table I want to have in the first column "technique" two sub-columns "Methodes au niveau données" and the second sub-column consisting of two lines "sousechantillonage" and " surechantillonage ".

enter image description here

the code is :

begin{table}[htbp]
caption{Résumé des approches de traitement de données déséquilibrées}
label{tab:RelatedWorkSkewed}
begin{tabular}{|p{2.5cm}|p{2cm}|p{4.5cm}|p{5cm}|}
    hline
{bf Techniques} & {bf Références} & {bf Avantages} & {bf Inconvénients}
    hline
multirow{2}{*}{Méthodes au niveau des données}  & Sous-échantiollonnage & 
begin{itemize}
    item Technique simple et largement utilisée dans de nombreux domaines d'applications;
    item Elle peut être facilement implémenté;
    item Elle peut aider à améliorer le problème associé au temps d'exécution et au stockage, simplement en éliminant les instances des données de formation.
end{itemize} & 
begin{itemize}
item  Elle entraîne la perte d'informations utiles et significatifs;
item  Elle peut entraîner des performances médiocres sur des données invisibles.
end{itemize}   cline{2-4}
    & Sur-échantiollonnage & 
    begin{itemize}
        item Elle peut être facilement mis en œuvre;
        item Elle n'entraîne aucune perte d'information.
    end{itemize} & 
    begin{itemize}
        item Elle augmente la probabilité de sur-apprentissage
        item Elle introduit un coût de calcul supplémentaire et prend du temps de formation.
    end{itemize}   
      hline
        multirow{2}{*}{Méthodes au niveau de l'algorithme}  & Apprentissage d'ensemble & 
    begin{itemize}
        item Plus de résilience au bruit;
        item Elle évite le problème de sur-ajustement;
    end{itemize} 
    & 
    begin{itemize}
        item Elle prend du temps de formation.
    end{itemize}   cline{2-4}
    & Apprentissage sensible aux coûts & 
    begin{itemize}
        item Technique simple et efficace;
        item Elle minimise le coût de la classification erronée.
    end{itemize} & 
    begin{itemize}
        item Les coûts de classification erronée (le coût réel des erreurs) sont souvent inconnus.
    end{itemize}   
      hline
end{tabular}
end{table}

Thanks for your help.

2 Answers

Some suggestions and comments:

  • Get rid of the multirow "wrappers" -- all of them.

  • To allow additional hyphenation points in hyphenated words, insert hspace{0pt} judiciously. E.g., replace Sous-échantillonnage and Sur-échantillonnage with Sous-hspace{0pt}échantillonnage and Sur-hspace{0pt}échantillonnage, respectively.

  • Fix some spelling errors that will otherwise prevent LaTeX from finding suitable hyphenation points. For instance, replace both instances of échantiollonnage with échantillonnage.

  • Use the machinery of the enumitem package to typeset the itemized lists in the third and fourth columns compactly. See the code below for a possible solution.

  • Jump headlong into the 21st Century CE by replacing all instances of {bf ...} with textbf{...}.

enter image description here

documentclass{article}
usepackage[a4paper,margin=2.5cm]{geometry} % set page parameters suitably
usepackage[french]{babel}
usepackage[T1]{fontenc}
usepackage{array,ragged2e}
% allow hyphenation of first words of cells & use ragged-right layout:
newcolumntype{P}[1]{>{RaggedRighthspace{0pt}}p{#1}} 

% create a bespoke list-like environment called "myitemize"
usepackage{enumitem}
newlist{myitemize}{itemize}{1}
setlist[myitemize,1]{label = ---, left = 0pt, 
            before = begin{minipage}[t]{hsize},
            after  = end{minipage} }

begin{document}
begin{table}[htbp]
setlengthextrarowheight{2pt}
caption{Résumé des approches de traitement de données déséquilibréesstrut}
label{tab:RelatedWorkSkewed}
centering
begin{tabular}{|P{2.5cm}|P{2cm}|P{4.5cm}|P{5cm}|}
    hline
    textbf{Techniques} & textbf{Références} & textbf{Avantages} & textbf{Inconvénients}
    hline
    Méthodes au niveau des données  
    & Sous-hspace{0pt}échantillonnage 
    & begin{myitemize}
        item Technique simple et largement utilisée dans de nombreux domaines d'applications;
        item Elle peut être facilement implémenté;
        item Elle peut aider à améliorer le problème associé au temps d'exécution et au 
              stockage, simplement en éliminant les instances des données de formation.
      end{myitemize} 
    & begin{myitemize}
        item  Elle entraîne la perte d'informations utiles et significatifs;
        item  Elle peut entraîner des performances médiocres sur des données invisibles.
      end{myitemize}   
    cline{2-4}
    & Sur-hspace{0pt}échantillonnage 
    & begin{myitemize}
        item Elle peut être facilement mis en œuvre;
        item Elle n'entraîne aucune perte d'information.
    end{myitemize} 
    & begin{myitemize}
        item Elle augmente la probabilité de sur-apprentissage
        item Elle introduit un coût de calcul supplémentaire et prend du temps de formation.
      end{myitemize}   
      
    hline
    Méthodes au niveau de l'algorithme  
    & Apprentissage d'ensemble 
    & begin{myitemize}
        item Plus de résilience au bruit;
        item Elle évite le problème de sur-ajustement;
      end{myitemize} 
    & begin{myitemize}
        item Elle prend du temps de formation.
      end{myitemize}   
    cline{2-4}
    & Apprentissage sensible aux coûts 
    & begin{myitemize}
        item Technique simple et efficace;
        item Elle minimise le coût de la classification erronée.
      end{myitemize} 
    & begin{myitemize}
        item Les coûts de classification erronée (le coût réel des erreurs) sont souvent inconnus.
    end{myitemize}   
    hline
end{tabular}
end{table}
end{document} 

Answered by Mico on December 23, 2020

I propose this variant layout, based on tabularx. I replaced the default emdash with an endash, which looks better in this context, in my opinion.

documentclass[a4paper, french]{article}
usepackage[T1]{fontenc}
usepackage{geometry}
usepackage{babel}
usepackage{enumitem} 
usepackage{tabularx, ragged2e, caption, multirow}
makeatletter
newcommand{compress}{@minipagetrue}
makeatother

begin{document}

begin{table}[htbp]
setlist[itemize]{label=bfseriestextendash, nosep, wide=0pt, leftmargin=*, after=vskip-1.5ex}
setlength{extrarowheight}{4pt}
caption{Résumé des approches de traitement de données déséquilibrées}
centering
begin{tabularx}{linewidth}{|*{2}{p{2cm}|}*{2}{>{compressarraybackslash}X|}}
    hline
{bfseries Techniques} & {bfseries Références} & {bfseries Avantages} & {bfseries Inconvénients}
    hlinenoalign{vskip1.5ex}
multicolumn{4}{@{}l}{itshape Méthodes au niveau des données} [1ex]
hline
multicolumn{2}{|r|}{Sous-échantillonnage} &
begin{itemize}[nosep, wide=0pt, leftmargin=*]
    item Technique simple et largement utilisée dans de nombreux domaines d'applications;
    item Elle peut être facilement implémenté;
    item Elle peut aider à améliorer le problème associé au temps d'exécution et au stockage, simplement en éliminant les instances des données de formation.
end{itemize} &
begin{itemize}
item Elle entraîne la perte d'informations utiles et significatifs;
item Elle peut entraîner des performances médiocres sur des données invisibles.
end{itemize} hline
    multicolumn{2}{|r|}{Sur-échantillonnage }&
    begin{itemize}
        item Elle peut être facilement mis en œuvre;
        item Elle n'entraîne aucune perte d'information.
    end{itemize} &
    begin{itemize}
        item Elle augmente la probabilité de sur-apprentissage
        item Elle introduit un coût de calcul supplémentaire et prend du temps de formation.%vskip-3ex
    end{itemize}
     hline
noalign{vskip1.5ex}
        multicolumn{4}{@{}l}{itshape Méthodes au niveau de l'algorithme}[1ex]
hline
multicolumn{2}{|r|}{Apprentissage d'ensemble} &
    begin{itemize}
        item Plus de résilience au bruit;
        item Elle évite le problème de sur-ajustement;
    end{itemize}
    &
    begin{itemize}
        item Elle prend du temps de formation.
    end{itemize}  hline
   multicolumn{2}{|r|}{Apprentissage sensible aux coûts} &
    begin{itemize}
        item Technique simple et efficace;
        item Elle minimise le coût de la classification erronée.
    end{itemize} &
    begin{itemize}
        item Les coûts de classification erronée (le coût réel des erreurs) sont souvent inconnus.
    end{itemize}
    hline
end{tabularx}
end{table}

end{document} 

enter image description here

Answered by Bernard on December 23, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP