如何让表格中的内容居中?

如何让表格中的内容居中?

我有两个问题:

  1. 如何让内容位于中间?我已将 \begin{tabularx}{\textwidth}{|X|X|X|}其 从 改为\begin{tabularx}{\textwidth}{|c|c|c|}但似乎不起作用。

我想要最大化我的页面大小

  1. 为什么内容没有被吸收\textit{datafeature_1}[\, \_,\_ ]\,

梅威瑟:

\documentclass[british]{article}
\usepackage{tabularx}

\begin{document}

\textit{datafeature_1}[\, \_,\_  ]\,

 \begin{table}[h!]
 \centering
     \begin{tabularx}{\textwidth}{|X|X|X|}
      \hline
    A & B & C \\
       \hline
    % {\textit{datafeature_1}[\, \_,\_  ]\}, &  B & C
    % %   \hline
     \end{tabularx}
 \end{table}

\end{document}

在此处输入图片描述

答案1

要解决您的两个问题,您可以执行以下操作:

  1. >{\centering\arraybackslash}在您的列之前添加X或更好地定义新列,例如

    \newcolumntype{C}{>{\centering\arraybackslash}X}
    
  2. 您的代码\textit{datafeature_1}[\, \_,\_ ]\,首先是错误的_:它被解释为写入索引(为此您需要写入$_1$;这就是有关缺少的错误消息的原因$)。但您想写一个下划线,因此请转义_类似的东西。因此请使用table 之前和 table 中的\_代码!\textit{datafeature\_1}[\, \_,\_ ]\,

备注:我添加了

\usepackage{showframe} % <=============== to visualize typing area and margins

向您显示您不需要\centering表格中的命令,因为\textwidth强制表格跨越完整的可用文本宽度......

请参阅以下 MWE

\documentclass[british]{article}

\usepackage{tabularx}
\usepackage{showframe} % <=============== to visualize typing area and margins

\newcolumntype{C}{>{\centering\arraybackslash}X} % <====================


\begin{document}

text \textit{datafeature\_1}[\, \_, \_  ]\, text % <====================

\begin{table}[h!]
%\centering
  \begin{tabularx}{\textwidth}{|C|C|C|}
    \hline
    A & B & C \\
    \hline
    {\textit{datafeature\_1}[\, \_, \_  ]\,} &  B & C \\ % <===========
    \hline
  \end{tabularx}
\end{table}

\end{document}

及其结果:

生成的 pdf

答案2

正如您所发现的,X列类型完全对齐单元格的内容,从左侧开始。我建议您添加指令

\newcolumntype{C}{>{\centering\arraybackslash}X}

在序言中并替换

\begin{tabularx}{\textwidth}{|X|X|X|}

\begin{tabularx}{\textwidth}{|C|C|C|}

请注意,{\textit{datafeature_1}[\, \_,\_ ]\}包含 2 个 [!] 错误:(i) 的第一个实例_未转义;(ii) 左{花括号未正确终止,因为\} 排版花括号。根据您想要实现的目标,将其替换{\{,或者,将其替换\}}

相关内容