创建一个表格,其中文字垂直和水平居中

创建一个表格,其中文字垂直和水平居中

我想创建一个表格,将所有文字(行和列)置于中心位置。

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{multirow}
\usepackage{tabularx}
\usepackage{booktabs}
\newcolumntype{Y}{<{\centering\arraybackslash}X}

\begin{document}
\begin{table}[h]
  \caption{Elenco riassuntivo di tutte le perdite meccaniche}
  \label{Tab:tabellariassuntiva}    
{\centering\renewcommand\arraystretch{1.2}
\begin{tabularx}{\textwidth}{@{}lYYYYY@{}}
    \toprule
 Componente &  Valore & Formulazione utilizzata \\
    \midrule
\thead{Cuscinetto superiore \\ albero verticale U1847} &  650     &   Bearing select SKF \\
\bottomrule
\end{tabularx}
}
\end{table}
\end{document}

答案1

您的 MWE 有两个错误:

  • 列类型定义的Y符号错误<,应该是>
  • 缺少的是包裹makecell

并定义太多列(3Y列就足够了)。考虑到这一点:

\documentclass{article}
\usepackage{booktabs, makecell, tabularx} % <---
\newcolumntype{Y}{>{\centering\arraybackslash}X} % <---

\begin{document}
    \begin{table}[h]
  \caption{Elenco riassuntivo di tutte le perdite meccaniche}
  \label{Tab:tabellariassuntiva}
\centering\renewcommand\arraystretch{1.2}
\begin{tabularx}{\textwidth}{@{} YYY @{}} % <---
    \toprule
 Componente &  Valore   & Formulazione utilizzata   \\
    \midrule
\makecell{Cuscinetto superiore\\ albero verticale U1847}
            &  650      &   Bearing select SKF      \\
    \bottomrule
\end{tabularx}
    \end{table}
\end{document}

修正后的代码的结果如下:

在此处输入图片描述

您可以使用以下方法获得相同的结果:

\documentclass{article}
\usepackage{booktabs, tabularx}
\newcolumntype{Y}{>{\centering\arraybackslash}X} % <---

\begin{document}
    \begin{table}[h]
\renewcommand\tabularxcolumn[1]{m{#1}} % <---
  \caption{Elenco riassuntivo di tutte le perdite meccaniche}
  \label{Tab:tabellariassuntiva}
\centering\renewcommand\arraystretch{1.2}
\begin{tabularx}{\textwidth}{@{} YYY @{}}
    \toprule
 Componente &  Valore   & Formulazione utilizzata   \\
    \midrule
Cuscinetto superiore albero verticale U1847
            &  650      &   Bearing select SKF      \\
    \bottomrule
\end{tabularx}
    \end{table}
\end{document}

相关内容