Precisa de texto centralizado verticalmente na tabela de látex

Precisa de texto centralizado verticalmente na tabela de látex

Quero que o texto em cada célula seja centralizado 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}

Responder1

Uma solução sem definir novos tipos de colunas nem calcular as larguras das colunas. Basta usar os pacotes , e plus makecellpara captionmelhorar a aparência das linhas duplas. A tabela pode caber nas suas margens de duas maneiras: reduza para 4pt e use um tamanho de fonte menor para o documento (dou um exemplo em 11pt) ou reduza o tamanho da fonte para 10pt ( o comando em 12pt serve).multirowhhlinetabcolseplocally\small

Aliás, não use booktabs com linhas verticais.

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

insira a descrição da imagem aqui

Responder2

Era isso que você estava pedindo? Aqui a solução define uma \mcmacro tomando o texto como argumento para a multirowestrutura que irá quebrar o texto em duas linhas, alinhadas à esquerda.

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

insira a descrição da imagem aqui

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}

informação relacionada