Alinhamento incorreto em ambiente tabular ao usar a opção de tabela xcolor

Alinhamento incorreto em ambiente tabular ao usar a opção de tabela xcolor

Me deparei com um comportamento estranho ao carregar xcolor=tablea opção que afeta o alinhamento adequado no ambiente tabular.

A saída deste MWE

\documentclass{beamer}

\usepackage{siunitx,booktabs,multirow}

\begin{document}
\begin{frame}

    \centering
    \begin{tabular}{@{}l|ccc@{}}
        \toprule 
        \multirow{2}{*}{\huge Parameters} & \multicolumn{3}{c}{Levels}\\
        \cmidrule{2-4}
                             & 1   & 2   & 3   \\ 
        \midrule
        Power \hfill \si{\W} & 100 & 200 & 300 \\ 
        \bottomrule
    \end{tabular}

\end{frame}
\end{document}

é

insira a descrição da imagem aqui

Porém, ao usar a opção \documentclass[xcolor=table]{beamer}, obtive a saída assim com alinhamento incorreto na primeira célula da última linha.

insira a descrição da imagem aqui

Como posso obter o alinhamento adequado ao carregar esta opção xcolor=table?

Responder1

Use duas colunas em vez de uma:

\documentclass[xcolor=table]{beamer}

\usepackage{siunitx,booktabs,multirow}

\begin{document}
\begin{frame}

\centering
\begin{tabular}{@{}lrccc@{}}
\toprule 
\multicolumn{2}{@{}c}{\multirow{2}{*}{\huge Parameters}} & \multicolumn{3}{c}{Levels}\\
                \cmidrule{3-5}
      &         & 1   & 2   & 3   \\ 
\midrule
Power & \si{\W} & 100 & 200 & 300 \\ 
\bottomrule
\end{tabular}

\bigskip

\begin{tabular}{@{}lrccc@{}}
\toprule 
\multicolumn{2}{@{}c}{Parameters} & \multicolumn{3}{c}{Levels}\\
                \cmidrule{3-5}
      &         & 1   & 2   & 3   \\ 
\midrule
Power & \si{\W} & 100 & 200 & 300 \\ 
\bottomrule
\end{tabular}

\end{frame}
\end{document}

Sugiro que você considere a segunda tabela, sem o \hugerótulo gigantesco.

insira a descrição da imagem aqui

Alternativamente, em seu código, escreva

Power\hspace{0pt plus 1filll}\si{W}

A razão TeXnical é que colortbl(carregado com a tableopção to xcolor) realiza o alinhamento à esquerda com, \hfillem vez de com, \hfilo código principal. Portanto, você precisa de uma cola infinita de ordem superior para empurrar o objeto para a margem direita.

informação relacionada