Necesita texto centrado verticalmente en la tabla de látex

Necesita texto centrado verticalmente en la tabla de látex

Quiero que el texto de cada celda esté centrado verticalmente.

\documentclass[12pt,a4paper,onesided]{report}
\usepackage{array}
\usepackage{booktabs}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\begin{document}

\begin{table}[htbp]
\centering
\caption{Recognition with Haar Wavelet based image compression for $N=5$ features}
\label{tab: Recognition with Haar Wavelet based image compression for $N=5$ features}
\begin{tabular}{|C{1.8cm}||C{1.8cm}||C{2cm}||C{1.8cm}|C{1.8cm}||C{1.8cm}||C{2.5cm}|}

\toprule \bfseries Training folder 
&\bfseries Training Time 
&\bfseries Training Accuracy 
& \multicolumn{2}{c|}{\bfseries Number of images} 
&\bfseries Testing folder 
& \bfseries Recognition accuracy\\
 & & & \bfseries Training &\bfseries Testing & &\\ \midrule
    1     & 0.52  & 70.00 & 10    & 90    & 9     & 14.44 \\
    2     & 0.66  & 85.00 & 20    & 80    & 8     & 38.75 \\
    3     & 0.74  & 86.66 & 30    & 70    & 7     & 40.00 \\
    4     & 0.68  & 85.00 & 40    & 60    & 6     & 48.33 \\
    5     & 0.88  & 88.00 & 50    & 50    & 5     & 62.00 \\
\bottomrule

\end{tabular}
\end{table}

\end{document}

Respuesta1

Una solución sin definir nuevos tipos de columnas ni calcular los anchos de las columnas. Simplemente use los paquetes , y plus makecellpara captionmejorar la apariencia de las líneas dobles. La tabla puede caber en sus márgenes de dos maneras: redúzcala a 4 puntos y use un tamaño de fuente más pequeño para el documento (doy un ejemplo en 11 puntos) o reduzca el tamaño de fuente a 10 puntos ( el comando en 12 puntos será suficiente).multirowhhlinetabcolseplocally\small

Por cierto, no lo use booktabs con líneas verticales.

    \documentclass[11pt,a4paper,onesided]{report}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[showframe, nomarginpar, left=1.5in, right=1in, top=1.5in, bottom=1in,]{geometry}
    \usepackage{array}
    \usepackage[font = small]{caption}
    \usepackage{booktabs}
    \usepackage{multirow}
    \usepackage{makecell}
    \renewcommand{\theadfont}{\bfseries}
    \renewcommand{\theadalign}{cc}
    \setlength{\tabcolsep}{4pt}
    \usepackage{hhline}

    \begin{document}
    Table fontsize:  11 pt
    \begin{table}[htbp]
    \centering
    \caption{Recognition with Haar Wavelet based image compression for $N=5$ features}
    \label{tab: Recognition with Haar Wavelet based image compression for $N=5$ features}
    \begin{tabular}{*{3}{|c|}|cc|*{2}{|c|}}%{|C{1.8cm}||C{1.8cm}||C{2cm}||C{1.8cm}|C{1.8cm}||C{1.8cm}||C{2.5cm}|}
     \hhline{|-||-||-||--||-||-|}
    \multirowthead{2}{Training\\ Folder}
    &\multirowthead{2}{Training\\ Time}
    &\multirowthead{2}{Training\\ Accuracy}
    & \multicolumn{2}{c||}{\thead{Number of images}}
    &\multirowthead{2}{Testing\\ Folder}
    & \multirowthead{2}{Recognition\\ Accuracy}\\
     & & &  \thead*{Training} & \thead{Testing} & &\\
     \hhline{|-||-||-||--||-||-|}
        \Gape[6pt][0pt]{1}     & 0.52  & 70.00 & 10    & 90    & 9     & 14.44 \\
        2     & 0.66  & 85.00 & 20    & 80    & 8     & 38.75 \\
        3     & 0.74  & 86.66 & 30    & 70    & 7     & 40.00 \\
        4     & 0.68  & 85.00 & 40    & 60    & 6     & 48.33 \\
        \Gape[0pt][6pt]{5}     & 0.88  & 88.00 & 50    & 50    & 5     & 62.00 \\
     \hhline{|-||-||-||--||-||-|}

    \end{tabular}
    \end{table}

    \fontsize{12}{14}\selectfont
    Table font size:  10 point
    \begin{table}[htbp]
    \small
    \centering
    \caption{Recognition with Haar Wavelet based image compression for $N=5$ features}
    %\small
    \label{tab: Recognition with Haar Wavelet based image compression for $N=5$ features}
    \begin{tabular}{*{3}{|c|}|cc|*{2}{|c|}}%{|C{1.8cm}||C{1.8cm}||C{2cm}||C{1.8cm}|C{1.8cm}||C{1.8cm}||C{2.5cm}|}
     \hhline{|-||-||-||--||-||-|}
    \multirowthead{2}{Training\\ Folder}
    &\multirowthead{2}{Training\\ Time}
    &\multirowthead{2}{Training\\ Accuracy}
    & \multicolumn{2}{c||}{\thead{Number of images}}
    &\multirowthead{2}{Testing\\ Folder}
    & \multirowthead{2}{Recognition\\ Accuracy}\\
     & & &  \thead*{Training} & \thead{Testing} & &\\
     \hhline{|-||-||-||--||-||-|}
        \Gape[6pt][0pt]{1}     & 0.52  & 70.00 & 10    & 90    & 9     & 14.44 \\
        2     & 0.66  & 85.00 & 20    & 80    & 8     & 38.75 \\
        3     & 0.74  & 86.66 & 30    & 70    & 7     & 40.00 \\
        4     & 0.68  & 85.00 & 40    & 60    & 6     & 48.33 \\
        \Gape[0pt][6pt]{5}     & 0.88  & 88.00 & 50    & 50    & 5     & 62.00 \\
     \hhline{|-||-||-||--||-||-|}

    \end{tabular}
    \end{table}
    \end{document} 

ingrese la descripción de la imagen aquí

Respuesta2

¿Es esto lo que estabas pidiendo? Aquí la solución define una \mcmacro que toma el texto como argumento para la multirowestructura que envolverá el texto en dos líneas, alineadas a la izquierda.

\newcommand\mc[1]{\multicolumn{1}{l||}{\multirow{2}{0.9cm}{#1}}}

ingrese la descripción de la imagen aquí

Código

\documentclass[12pt,a4paper]{report}
\usepackage{array,graphicx}
\usepackage[margin=1cm]{geometry}
\usepackage{booktabs,dcolumn,multirow} 
\newcolumntype{C}[1]{>{\centering \arraybackslash\hspace{0pt}}m{#1}} 
\newcommand\mc[1]{\multicolumn{1}{l||}{\multirow{2}{0.9cm}{#1}}}
\begin{document}

Before:

\begin{table}[htbp]
\centering
\caption{Recognition with Haar Wavelet based image compression for $N=5$ features}
\label{tab: Recognition with Haar Wavelet based image compression for $N=5$ features}
\begin{tabular}{|C{1.8cm}||C{1.8cm}||C{2cm}||C{1.8cm}|C{1.8cm}||C{1.8cm}||C{2.5cm}|}

\toprule \bfseries Training folder 
&\bfseries Training Time 
&\bfseries Training Accuracy 
& \multicolumn{2}{c|}{\bfseries Number of images} 
&\bfseries Testing folder 
& \bfseries Recognition accuracy\\
& & & \bfseries Training &\bfseries Testing & &\\ \midrule
    1     & 0.52  & 70.00 & 10    & 90    & 9     & 14.44 \\
    2     & 0.66  & 85.00 & 20    & 80    & 8     & 38.75 \\
    3     & 0.74  & 86.66 & 30    & 70    & 7     & 40.00 \\
    4     & 0.68  & 85.00 & 40    & 60    & 6     & 48.33 \\
    5     & 0.88  & 88.00 & 50    & 50    & 5     & 62.00 \\
\bottomrule

\end{tabular}
\end{table}

After:
\begin{table}[htbp] 
\centering
\resizebox{\textwidth}{!}{    % if resizebox is needed
\begin{minipage}{\textwidth}  % if resizebox is needed
\caption{Recognition with Haar Wavelet based image compression for $N=5$ features} 
\label{tab: Recognition with Haar Wavelet based image compression for $N=5$ features} 
\begin{tabular}{|C{1.8cm}||C{1.8cm}||C{2cm}||C{1.8cm}|C{1.8cm}||C{1.8cm}||C{2.5cm}|}
\toprule 
\multicolumn{1}{|l||}{\multirow{2}{0.9cm}{\bfseries Training  folder}}
&\mc{\bfseries Training Time} 
&\mc{\bfseries Training Accuracy} 
&\multicolumn{2}{c||}{\bfseries Number of images} 
&\mc{\bfseries Testing folder} 
&\multicolumn{1}{l|}{\multirow{2}{0.9cm}{\bfseries Recognition accuracy}} \\
& & & \bfseries Training &\bfseries Testing & &\\ 
\midrule 
1 & 0.52 & 70.00 & 10 & 90 & 9 & 14.44 \\
2 & 0.66 & 85.00 & 20 & 80 & 8 & 38.75 \\
3 & 0.74 & 86.66 & 30 & 70 & 7 & 40.00 \\
4 & 0.68 & 85.00 & 40 & 60 & 6 & 48.33 \\
5 & 0.88 & 88.00 & 50 & 50 & 5 & 62.00 \\
\bottomrule
\end{tabular}
\end{minipage}         % if resizebox is needed
}                      % if resizebox is needed
\end{table}

\end{document}

información relacionada