具有多列和多行问题的长表

具有多列和多行问题的长表

我尝试构建一个特定大小的“复杂”表格,但多列仍然存在一些问题。如您在附图中看到的,我希望在表格的第一列“technique”中包含两个子列“Methodes au niveau données”,第二子列由两行“sousechantillonage”和“surechantillonage”组成。

在此处输入图片描述

代码是:

\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}

感谢您的帮助。

答案1

一些建议和意见:

  • 去掉\multirow所有的“包装”。

  • 要在带连字符的单词中允许附加连字符点,请\hspace{0pt}谨慎插入。例如,分别将Sous-échantillonnage和替换Sur-échantillonnageSous-\hspace{0pt}échantillonnageSur-\hspace{0pt}échantillonnage

  • 修复一些拼写错误,否则这些错误会阻止 LaTeX 找到合适的连字点。例如,échantiollonnage将的两个实例替换为échantillonnage

  • 使用包的机制enumitem将第三列和第四列的条目列表紧凑地排版。请参阅下面的代码以了解可能的解决方案。

  • {\bf ...}通过将所有 替换为,一头扎进 21 世纪\textbf{...}

在此处输入图片描述

\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]{>{\RaggedRight\hspace{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]
\setlength\extrarowheight{2pt}
\caption{Résumé des approches de traitement de données déséquilibrées\strut}
\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} 

答案2

我建议使用这种基于的变体布局tabularx。我将默认的 emdash 替换为 endash,在我看来,在这种情况下它看起来更好。

\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=\bfseries\textendash, 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}{>{\compress\arraybackslash}X|}}
    \hline
{\bfseries Techniques} & {\bfseries Références} & {\bfseries Avantages} & {\bfseries Inconvénients}\\
    \hline\noalign{\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} 

在此处输入图片描述

相关内容