Неправильное выравнивание в табличной среде при использовании параметра таблицы xcolor

Неправильное выравнивание в табличной среде при использовании параметра таблицы xcolor

Я столкнулся со странным поведением при загрузке xcolor=tableпараметра, который влияет на правильное выравнивание в табличной среде.

Выход этого 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}

является

введите описание изображения здесь

Однако при использовании опции \documentclass[xcolor=table]{beamer}я получил такой вывод с неправильным выравниванием в первой ячейке последней строки.

введите описание изображения здесь

Как мне добиться правильного выравнивания при загрузке этой опции xcolor=table?

решение1

Используйте два столбца вместо одного:

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

Предлагаю вам рассмотреть вторую таблицу, без огромной \hugeнадписи.

введите описание изображения здесь

В качестве альтернативы, в вашем коде напишите

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

TeXnical причина в том, что colortbl(загруженный с tableопцией to xcolor) реализует левое выравнивание с помощью , \hfillа не с помощью \hfilкак основной код. Таким образом, вам нужен бесконечный клей более высокого порядка, чтобы подтолкнуть объект к правому краю.

Связанный контент