在具有固定列宽的表中居中文本和符号

在具有固定列宽的表中居中文本和符号

我尝试构建一个具有固定列宽和居中文本/符号的表格。我使用了以下脚本。

\begin{center}
\begin{tabular}{ |p{.1cm}|p{.1cm}|p{.1cm}| } 
  \hline $\bigcirc$ & A & A \\ \hline
\end{tabular}
\end{center}

我也尝试使用 \centering 和 \hspace{...} 来调整文本的位置,但不起作用。如何将文本/符号置于选定宽度的列内?

答案1

如果您不需要在单元格内使用换行符,则可以使用列w(这将抑制由于内容对于 0.1cm 列宽来说太宽而引起的过满框警告)或使用W列(并确保您的列足够宽以容纳您的内容):

\documentclass{article}
\usepackage{mathtools}
\usepackage{array}
\begin{document}

\begin{center}
\begin{tabular}{ |w{c}{.1cm}|w{c}{.1cm}|w{c}{.1cm}| } 
  \hline $\bigcirc$ & A & A \\ \hline
\end{tabular}
\end{center}



\begin{center}
\begin{tabular}{ |W{c}{.4cm}|W{c}{.4cm}|W{c}{.4cm}| } 
  \hline $\bigcirc$ & A & A \\ \hline
\end{tabular}
\end{center}


\end{document}

在此处输入图片描述

答案2

如果您需要使用p(“段落”)列类型 - 比如,因为您需要在单元格内自动换行 - 您应该(a)array在序言中加载包并(b)使用以下代码

\begin{center}
\begin{tabular}{ | *{3}{>{\centering\arraybackslash}p{1cm}|}  } 
  \hline 
  $\bigcirc$ & A & A \\ 
  \hline
\end{tabular}
\end{center}

生成一个tabular包含三列 [3] 的环境居中内容。如果您的文档需要重复使用居中的p列类型,那么定义一个定制的新列类型是一个好主意,如下例所示。


在此处输入图片描述

\documentclass{article} % or some other suitable document class
\usepackage{array} % for '\newcolumntype' and '\arraybackslash' macros
\newcolumntype{P}[1]{>{\centering\arraybackslash}p{#1}}

\begin{document}
\begin{center}
    \begin{tabular}{ | *{3}{P{1cm}|}  }
        \hline
        $\bigcirc$ & A & AAA AAAA AAA \\
        \hline
    \end{tabular}
\end{center}
\end{document} 

答案3

这会将文本塞入 1mm 的列中。请注意,从 | 到 | 的列宽等于最大条目的宽度加上2\tabcolsep

\documentclass{article}

\begin{document}
\begin{center}
\setlength{\tabcolsep}{0pt}% you probably want to remove this
\begin{tabular}{|c|c|c|} \hline 
  \makebox[.1cm]{$\bigcirc$} & \makebox[.1cm]{A} & \makebox[.1cm]{A} \\ \hline
\end{tabular}
\end{center}
\end{document}

演示

相关内容