\documentclass{beamer}
\begin{document}
\begin{frame}
\begin{table}
\begin{tabular}{c{15mm} | c | c | c | c}
Television & Radio & Washer & Dryer & Computer \\
\end{tabular}
\end{table}
\end{frame}
\end{document}
我正在制作 Beamer 演示文稿,我想限制某些列的宽度,以便条目显示为两行,而不是使列太宽。但是当我将宽度指定为 15mm 时,我得到了
LaTeX Error: Illegal character in array arg.
我该如何修复它?
答案1
请注意,“Computer”一词占用的空间几乎与“Television”一词一样多。我不会为了使表格看起来不错而一次摆弄一列宽度,而是使用环境tabularx
来确保全部五列有相同的宽度。
\documentclass{beamer}
\usepackage{tabularx} % for 'tabularx' environment
\useapackage{ragged2e} % for \Centering macro
\newcolumntype{C}{>{\Centering\arraybackslash}X}
\begin{document}
\begin{frame}
\begin{tabularx}{\textwidth}{| C | C | C | C | C |}
Television & Radio & Washer & Dryer & Computer \\
\end{tabularx}
\end{frame}
\end{document}
答案2
这个问题不是针对特定的beamer
,所以我将先给出一个一般性的答案,然后再给出一个使用的工作示例beamer
。
要在表格列中换行,有两个简单的选项:
使用
tabular
并将其中一列指定为段落p{<width>}
。您必须指定该列的宽度,而其他列将适合内容的宽度。换行的p
列将始终左对齐。\begin{tabular}{p{15mm} c c}
使用其他制表软件包之一。另一个答案演示了
tabularx
,它扩展了列以填充整个表格的指定宽度。使用
tabulary
,您可以指定整个表格的宽度,然后您可以选择带有小写对齐命令 、 和 的传统表格样式列c
;l
或者r
您可以使用大写命令得到一个包装列。这样你就可以轻松地创建具有任意对齐方式的包装列。\begin{tabulary}{\textwidth}{C c c}
例如beamer
:
第一帧使用tabular
,第二帧使用tabulary
。
\documentclass{beamer}
\usepackage{tabulary}
\begin{document}
%*******************
\begin{frame}
\begin{table}
\begin{tabular}{p{15mm} | c | c | c | c }
Text that should wrap to multiple lines & Data & Data & Data & Data\\
\end{tabular}
\end{table}
\end{frame}
%*******************
\begin{frame}
\begin{table}
\begin{tabulary}{\textwidth}{C | c | c | c | c }
Text that should wrap to multiple lines & Data & Data & Data & Data\\
\end{tabulary}
\end{table}
\end{frame}
%*******************
\end{document}