我有两个问题:
- 如何让内容位于中间?我已将
\begin{tabularx}{\textwidth}{|X|X|X|}
其 从 改为\begin{tabularx}{\textwidth}{|c|c|c|}
但似乎不起作用。
我想要最大化我的页面大小
- 为什么内容没有被吸收
\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
要解决您的两个问题,您可以执行以下操作:
>{\centering\arraybackslash}
在您的列之前添加X
或更好地定义新列,例如\newcolumntype{C}{>{\centering\arraybackslash}X}
- 您的代码
\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}
及其结果:
答案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) 左{
花括号未正确终止,因为\}
排版花括号。根据您想要实现的目标,将其替换{
为\{
,或者,将其替换\}
为}
。