células não centralizadas após multicélula

células não centralizadas após multicélula

Estou tentando criar uma tabela com todas as células centralizadas. Eu encontrei uma maneira de tornar isso possível, mas todas as células devem conter:

\multicolumn{1}{|c|}{"Text"}

Existe uma maneira de centralizar o texto sem a necessidade de adicionar o comando multicolumn em todos os lugares?

Tabular

\documentclass[10pt]{article}
\usepackage[english]{babel}
\usepackage{a4wide}      
\usepackage[utf8]{inputenc}     
\usepackage{mathtools}
\usepackage{float}
\usepackage{makecell}
\usepackage{slashbox}
\usepackage{multirow}
\usepackage{array}

\begin{document}
\begin{table}[H]
\centering
\begin{tabular}    {|c|p{.7\textwidth/5}|p{.7\textwidth/5}|p{.7\textwidth/5}|p{.7\textwidth/5}|}
\hline
\multirow{2}{*}{\backslashbox{Distance [m]}{Module}} & \multicolumn{2}{c|}{Range Test [dBm]} & \multicolumn{2}{c|}{Throughput Test [Kbps]}\\\cline{2-5}
   & \multicolumn{1}{c|}{A-B} & \multicolumn{1}{c|}{A-C} & \multicolumn{1}{c|}{A-B} & \multicolumn{1}{c|}{A-C} \\\cline{1-5}
\multicolumn{1}{|c|}{10} & \multicolumn{1}{c|}{•} & • & • & • \\ 
\hline 
\multicolumn{1}{|c|}{15} & • & • & • & • \\ 
\hline 
\multicolumn{1}{|c|}{20} & • & • & • & • \\ 
\hline 
\multicolumn{1}{|c|}{25} & • & • & • & • \\ 
\hline 
\multicolumn{1}{|c|}{30} & • & • & • & • \\ 
\hline 
\multicolumn{1}{|c|}{35} & • & • & • & • \\ 
\hline 
\multicolumn{1}{|c|}{40} & • & • & • & • \\ 
\hline 
\multicolumn{1}{|c|}{45} & • & • & • & • \\ 
\hline 
\multicolumn{1}{|c|}{50} & • & • & • & • \\ 
\hline 
\end{tabular} 
\end{table}

\end{document}

quando tento usar apenas células centralizadas, recebo o problema de que as células não têm tamanhos iguais. mesa centralizada

Responder1

Aqui está um código muito mais curto:

\documentclass[10pt]{article}
\usepackage[english]{babel}
%\usepackage{a4wide}
\usepackage{geometry}
\usepackage[utf8]{inputenc}
\usepackage{mathtools}
\usepackage{float}
\usepackage{makecell}
%\usepackage{slashbox}
\usepackage{diagbox}
\usepackage{multirow}
\usepackage{array}

\begin{document}
\begin{table}[H]
\centering\setlength{\extrarowheight}{2pt}
\begin{tabular} {|c|*{4}{>{\centering\arraybackslash}p{.7\textwidth/5}|}}
\hline
\multirow{2}{*}{\diagbox[height=\dimexpr2\line +6pt]{Distance \rlap{{[m]}}}{Module}} & \multicolumn{2}{c|}{Range Test [dBm]} & \multicolumn{2}{c|}{Throughput Test [Kbps]}\\[2pt]\cline{2-5}
   & A-B & A-C & A-B & A-C \\\cline{1-5}
10 & • & • & • & • \\
\hline
15
 & • & • & • & • \\
\hline
20 & • & • & • & • \\
\hline
25 & • & • & • & • \\
\hline
30 & • & • & • & • \\
\hline
35 & • & • & • & • \\
\hline
40 & • & • & • & • \\
\hline
 45 & • & • & • & • \\
\hline
50 & • & • & • & • \\
\hline
\end{tabular}
\end{table}

\end{document} 

insira a descrição da imagem aqui

Responder2

Aqui está como você pode construir essa tabela com {NiceTabular}of nicematrix.

 \documentclass{article}
 \usepackage{nicematrix}
 \usepackage{float}

 \begin{document}
 \begin{table}[H]
 \centering\setlength{\extrarowheight}{2pt}
 \begin{NiceTabular}{w{c}{3cm}*{4}{w{c}{0.14\textwidth}}}[hvlines]
 \Block{2-1}{\diagbox{Distance [m]}{Module}} & \Block{1-2}{Range Test [dBm]} && \Block{1-2}{Throughput Test [Kbps]}\\
    & A-B & A-C & A-B & A-C \\
 10 & • & • & • & • \\
 15 & • & • & • & • \\
 20 & • & • & • & • \\
 25 & • & • & • & • \\
 30 & • & • & • & • \\
 35 & • & • & • & • \\
 40 & • & • & • & • \\
 45 & • & • & • & • \\
 50 & • & • & • & • \\
 \end{NiceTabular}
 \end{table}

 \end{document} 

Você precisa de várias compilações (porque nicematrixusa nós PGF/Tikz nos bastidores).

Saída do código acima

Responder3

o texto em suas colunas não está centralizado porque você prescreve p{...}o tipo de coluna. conforme mencionado nos comentários à sua pergunta, você deve modificar o tipo de coluna para:

>{\centerng\arraybackslash}p{<column width>}

Porém, eu não usaria slashboxpara a primeira célula da tabela e para a tabela usaria tabularxambiente de tabela e largura igual em todas as colunas:

insira a descrição da imagem aqui

Também eu removeria todos os desnecessários multicolumns:

\documentclass[10pt]{article}
\usepackage[english]{babel}
\usepackage{a4wide}
%\usepackage[utf8]{inputenc}
\usepackage{mathtools}
%\usepackage{float}
\usepackage{array, makecell, multirow, tabularx}
%\usepackage{slashbox}

\begin{document}
    \begin{table}[htb]
    \centering
    \renewcommand\arraystretch{1.2}
\begin{tabularx}{0.7\linewidth}{| c | *{4}{>{\centering\arraybackslash}X|}}
    \hline
    & \multicolumn{4}{c|}{Module}            \\
    \cline{2-5}
\multirow{3}{=}{\centering  Distance [m]}
    & \multicolumn{2}{c|}{Range Test [dBm]}
                                & \multicolumn{2}{c|}{Throughput Test [Kbps]}   \\
    \cline{2-5}
   &  A-B   &   A-C &   A-B & A-C        \\
   \cline{1-5}
10  &   •   &   •   &   •   & •         \\
    \hline
15  &   •   &   •   &   •   & •         \\
    \hline
20  &   •   &   •   &   •   & •         \\
    \hline
25  &   •   &   •   &   •   & •         \\
    \hline
30  &   •   &   •   &   •   & •         \\
    \hline
35  &   •   &   •   &   •   & •         \\
    \hline
40  &   •   &   •   &   •   & •         \\
    \hline
45  &   •   &   •   &   •   & •         \\
    \hline
50  &   •   &   •   &   •   & •         \\
    \hline
\end{tabularx}
    \end{table}
\end{document}

informação relacionada