数组环境的列宽

数组环境的列宽

我正在使用该array环境并有如下内容:

\begin{array}{|c|c|}
   \hline 
   \textbf{x} & \textbf{y} \\ 
   \hline
   \hline
   t_1 & lon_1 \\ 
   \hline 
\end{array}

我想让两列的宽度相同。我该怎么做?

答案1

如果您不想使用p{<width>}必须将宽度固定为特定量的列类型,则可以使用SetToWidest下面定义的宏排版一行。这要求您确定最宽的条目是什么,并将其定义为 的值WidestEntry

在此处输入图片描述

\documentclass{article}
\usepackage{calc}

\newcommand{\WidestEntry}{$lon_1$}%
\newcommand{\SetToWidest}[1]{\makebox[\widthof{\WidestEntry}]{#1}}%

\begin{document}
\begin{tabular}{|c|c|}
   \hline 
   \textbf{x} & \textbf{y} \\ 
   \hline
   \hline
   \SetToWidest{$t_1$} & $lon_1$ \\ 
   \hline 
\end{tabular}

或类似地使用array

\documentclass{article}
\usepackage{calc}

\newcommand{\WidestEntry}{$lon_1$}%
\newcommand{\SetToWidest}[1]{\makebox[\widthof{\WidestEntry}]{$#1$}}%

\begin{document}$
\begin{array}{|c|c|}
   \hline 
   \textbf{x} & \textbf{y} \\ 
   \hline
   \hline
   \SetToWidest{t_1} & lon_1 \\ 
   \hline 
\end{array}$
\end{document}

如果您可以指定每列的宽度,则可以使用p{<width>}列类型:

\documentclass{article}
\usepackage{array}

\begin{document}$
\begin{array}{|>{\centering\arraybackslash$} p{1.0cm} <{$} | >{\centering\arraybackslash$} p{1.0cm} <{$} |}
   \hline 
   \textbf{x} & \textbf{y} \\ 
   \hline
   \hline
   t_1 & lon_1 \\ 
   \hline 
\end{array}$
\end{document}

相关内容