LaTex: 表格单元格内容 分行显示/换行

时间:2021-06-09 19:41:38

问题:如何同时让表格同一行一个单元格的文字能垂直居中?比如说文字超长超出页面范围需要分行显示

答:(来源于smth)

方案一:

\newcommand{\tabincell}[2]{\begin{tabular}{@{}#1@{}}#2\end{tabular}}
%然后使用&\tabincell{c}{}&就可以在表格中自动换行

%比如这么用
\begin{tabular}{|c|c|}
\hline
 1 & the first line \\
\hline
 2 & \tabincell{c}{haha\\ heihei\\zeze} \\
\hline
\end{tabular}

注:好用,已试过,以下为一例子,可直接存为.tex文件编译运行

\documentclass[a4paper,12pt]{article}
\usepackage{CJK}
\begin{document}
\begin{CJK*}{GBK}{song}

\newcommand{\tabincell}[2]{\begin{tabular}{@{}#1@{}}#2\end{tabular}}
%然后使用&\tabincell{c}{}&就可以在表格中自动换行

%比如这么用
\begin{tabular}{|c|c|}
\hline
 1 & the first line \\
\hline
 2 & \tabincell{c}{haha\\ heihei\\zeze \\fgf \\asgr} \\
\hline
\end{tabular}

\end{CJK*}
\end{document}

方案二:

\usepackage{longtable} 
%本人在linux下的,pdfLaTex测试没有成功,求原因,求解释。 (lim)

方案三:(要是觉得单元格内容,不分行也行的话)

使用\resizebox{\textwidth}{!}{...}, 用到graphix宏包.
参考资料:Latex, 缩小表格或者横向表格