Горизонтальное центрирование определенных столбцов таблицы на странице

Горизонтальное центрирование определенных столбцов таблицы на странице

Я хотел бы выровнять вторую и третью колонки этой таблицы по центру страницы по горизонтали, чтобы «Конструкционные сплавы» и «Плавки» выступали влево: введите описание изображения здесь

\documentclass{article}
\usepackage{booktabs, multirow, threeparttable}
\usepackage{siunitx}

\begin{document}
\begin{table}[htpb] \footnotesize
    \centering
    \begin{threeparttable}
        \caption{Material properties of cladding alloys compared to structural alloys at \SI{705}{\celsius}}
        \label{tab:properties}
        \begin{tabular}{rlc}
             \cmidrule[0.08em]{2-3}
            & Material & CTE (\SI{e-3}{\per\celsius}) \\ 
            \cmidrule[0.05em]{2-3}
            \multirow{2}{*}{Structural alloys \bigg\{} & 316H & 18.8 \\
            & 800H & 17.2 \\ 
            \cmidrule[0.05em]{2-3}
            \multirow{3}{*}{Claddings \Bigg\{} & Ni-201 & 15.8  \\ 
            & Hastelloy N & 14.3  \\ 
            & Haynes 242 & 13  \\ 
            \cmidrule[0.08em]{2-3}
        \end{tabular}
    \end{threeparttable}
\end{table}
\end{document}

решение1

В любом случае стол будет выглядеть несбалансированным.

Это можно сделать и без него \multirow; по общепринятому соглашению пустые ячейки означают повторяющееся значение.

\documentclass{article}
\usepackage{booktabs, multirow, threeparttable}
\usepackage{siunitx}

\begin{document}

\begin{table}[htpb]
\centering
\begin{threeparttable}

\caption{Material properties of cladding alloys compared 
  to structural alloys at \SI{705}{\celsius}}
\label{tab:properties}

\begin{tabular}{@{}llS[table-format=2.1]@{}}
\toprule
Type & Material & {CTE (\SI{e-3}{\per\celsius})} \\
\midrule
Structural alloy & 316H        & 18.8 \\
                 & 800H        & 17.2 \\
\midrule
Cladding         & Ni-201      & 15.8 \\
                 & Hastelloy N & 14.3 \\
                 & Haynes 242  & 13   \\
\bottomrule
\end{tabular}

\end{threeparttable}

\end{table}

\end{document}

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

Альтернатива не выглядит столь привлекательной:

\documentclass{article}
\usepackage{booktabs, multirow, threeparttable}
\usepackage{siunitx}

\begin{document}
\begin{table}[htpb]
    \centering
    \begin{threeparttable}
        \caption{Material properties of cladding alloys compared to structural alloys at \SI{705}{\celsius}}
        \label{tab:properties}
        \begin{tabular}{@{}r@{}lc}
             \cmidrule[0.08em]{2-3}
            & Material & CTE (\SI{e-3}{\per\celsius}) \\ 
            \cmidrule[0.05em]{2-3}
            \multirow{2}{*}{\llap{Structural alloys \bigg\{\ }} & 316H & 18.8 \\
            & 800H & 17.2 \\ 
            \cmidrule[0.05em]{2-3}
            \multirow{3}{*}{\llap{Claddings \Bigg\{\ }} & Ni-201 & 15.8  \\ 
            & Hastelloy N & 14.3  \\ 
            & Haynes 242 & 13  \\ 
            \cmidrule[0.08em]{2-3}
        \end{tabular}
    \end{threeparttable}
\end{table}
\end{document}

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

решение2

Редактировать: После комментария OP ниже может показаться, что он хотел, чтобы столбец с "материалом" в заголовке был помещен в середину ширины текста. Этого можно добиться, сдвинув таблицу влево. Это можно сделать многими способами... с использованием невидимого правила, которое пришло threeparttableмне в голову как самое простое. Соответственно, я исправил свой MWE из первой версии ответа:

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

\documentclass{article}
\usepackage{booktabs, multirow, threeparttable}
\usepackage{siunitx}
\newlength\tabshift% added

%-------------------------------------------- to show page layout
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%

\begin{document}
\begin{table}[htpb] 
    %\footnotesize
    \centering
    \begin{threeparttable}
        \caption{Material properties of cladding alloys compared to structural alloys at \SI{705}{\celsius}}
        \label{tab:properties}
        \begin{tabular}{rlS}
             \cmidrule[0.08em]{2-3}
            & Material & {CTE (\SI{e-3}{\per\celsius})} \\
            \cmidrule[0.05em]{2-3}
            \multirow{2}{*}{Structural alloys \bigg\{} & 316H & 18.8 \\
            & 800H & 17.2 \\
            \cmidrule[0.05em]{2-3}
            \multirow{3}{*}{Claddings \Bigg\{} & Ni-201 & 15.8  \\
            & Hastelloy N & 14.3  \\
            & Haynes 242 & 13  \\
            \cmidrule[0.08em]{2-3}
        \end{tabular}
    \end{threeparttable}%
        \rule{0.5\tabshift}{0pt}% added
\end{table}
\end{document}

Последний столбец таблицы я меняю на Sтип столбца с помощью пакета siunitx. Вы можете сделать подробную спецификацию для Sстолбца, например, как S[table-format=2.1](рекомендуется сделать). В вашем конкретном случае результат одинаков в обоих случаях.

Примечание (1): Пожалуйста, в будущем всегда предоставляйте небольшой, но полный документ (MWE: Минимальный (не)рабочий пример), как я сделал выше. Помогите людям, которые готовы помочь вам. не весело писать недостающую преамбулу...

Заметка 2): Пожалуйста, в будущем будьте точнее в формулировке своего вопроса :). Вы получили два ответа, оба основанные — относительно вашего комментария ниже — на неверном предположении. И, кстати, изначальное положение таблицы (до смещения влево) кажется вполне приемлемым ...

Тонкую настройку позиционирования таблицы можно выполнить, изменив коэффициент 0.5на \rule{0.5\tabshift}{0pt}значение, которое по вашему вкусу разместит таблицу наилучшим образом на странице.

Приложение: Для лучшего визуального центрирования таблицы на странице я бы переделал вашу таблицу следующим образом:

\documentclass{article}
\usepackage{booktabs, makecell, multirow, threeparttable}
\usepackage{siunitx}

%---------------------------------------------------------------%
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%

\begin{document}
\begin{table}[htpb]
    \centering
    \begin{threeparttable}
        \caption{Material properties of cladding alloys compared to structural alloys at \SI{705}{\celsius}}
        \label{tab:properties}
        \begin{tabular}{rlS}
             \cmidrule[0.08em]{2-3}
            & Material & {CTE (\SI{e-3}{\per\celsius})} \\
            \cmidrule[0.05em]{2-3}
            \multirow{2}{*}{\makecell{Structural\\ alloys} \bigg\{} & 316H & 18.8 \\
            & 800H & 17.2 \\
            \cmidrule[0.05em]{2-3}
            \multirow{3}{*}{Claddings \Bigg\{} & Ni-201 & 15.8  \\
            & Hastelloy N & 14.3  \\
            & Haynes 242 & 13  \\
            \cmidrule[0.08em]{2-3}
        \end{tabular}
    \end{threeparttable}
\end{table}
\end{document}

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

решение3

Я хотел бы выровнять вторую и третью колонки этой таблицы по центру по горизонтали.

Этого можно добиться, используя cдля требуемых столбцов\begin{tabular}{rcc}

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