我有一个简单的问题,但似乎没有简单的答案。
使用下面的代码:
\begin{center}
\huge
\begin{tabular}{|c|c|}
\hline
\textsf{\emph{\textbf{x}}} & \textsf{\emph{\textbf{y}}}\\
\hline
0 & 1 \\
\hline
1& 3 \\
\hline
2& 5 \\
\hline
3 & 7\\
\hline
4 & 9 \\
\hline
\end{tabular}
\end{center}
如何为每列添加 2cm 的预设宽度,同时保持单元格中的所有内容居中?此外,我该如何在不发出任何新命令的情况下做到这一点?
答案1
array
提供您可以使用的列规范w{<align>}{<width>}
。具体来说,列将使用w{c}{2cm}
:
\documentclass{article}
\usepackage{array}
\begin{document}
\begin{center}
\huge
\begin{tabular}{ | w{c}{2cm} | w{c}{2cm} | }
\hline
\textsf{\emph{\textbf{x}}} & \textsf{\emph{\textbf{y}}}\\
\hline
0 & 1 \\
\hline
1 & 3 \\
\hline
2 & 5 \\
\hline
3 & 7 \\
\hline
4 & 9 \\
\hline
\end{tabular}
\end{center}
\end{document}
答案2
有了,您{NiceTabular}
就nicematrix
拥有了一把钥匙columns-width
。
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\begin{center}
\huge
\begin{NiceTabular}{|c|c|}[columns-width=2cm]
\hline
\textsf{\emph{\textbf{x}}} & \textsf{\emph{\textbf{y}}}\\
\hline
0 & 1 \\
\hline
1& 3 \\
\hline
2& 5 \\
\hline
3 & 7\\
\hline
4 & 9 \\
\hline
\end{NiceTabular}
\end{center}
\end{document}
答案3
您的查询尚未确定是否2cm
应该是可用宽度还是列的总宽度。
如果是可用的列宽,可以
2cm
直接在列类型的第二个参数中使用w
;参见@Werner 的回答。相反,
2cm
如果全部的列宽,可以继续使用w
列类型,但现在必须减去2\tabcolsep
以2cm
获得可用的列宽;请参阅下面的示例如何完成此操作。
\documentclass{article}
\usepackage{array} % for 'w' column type
\newcommand\zzz{%
\hline
\textbf{x} & \textbf{y} \\ \hline
0 & 1 \\ \hline
2 & 3 \\ \hline}
\newlength\mylen % set up a scratch length parameter
\begin{document}
\verb+c+ col.\ type\strut
\begin{tabular}{| c | c |}
\zzz
\end{tabular}
\bigskip
\verb+w+ col.\ type, 2cm \emph{usable} width\strut
\begin{tabular}{| w{c}{2cm} | w{c}{2cm} |}
\zzz
\end{tabular}
\bigskip
\verb+w+ col.\ type, 2cm \emph{total} width\strut
\setlength\mylen{\dimexpr2cm-2\tabcolsep\relax} % compute the usable width
\begin{tabular}{| w{c}{\mylen} | w{c}{\mylen} |}
\zzz
\end{tabular}
\smallskip
\addtolength\tabcolsep{1em} % enlarge value of \tabcolsep
\setlength\mylen{\dimexpr2cm-2\tabcolsep\relax} % recompute the usable width
\begin{tabular}{| w{c}{\mylen} | w{c}{\mylen} |}
\zzz
\end{tabular}
\end{document}