我尝试构建一个具有固定列宽和居中文本/符号的表格。我使用了以下脚本。
\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}