LaTeX之表格中强制换行

来源:互联网 发布:vb计算器代码 编辑:程序博客网 时间:2024/06/01 11:00

如图所示,表格第三列中每行文字太长,需要强制换行,该如何实现呢?

这里介绍两种方法。

第一种,要点在于第一行的命令,和在需要换行的那一栏中使用\tabincell{c}{ }命令,并在需要换行的文字后跟上\\

\newcommand{\tabincell}[2]{\begin{tabular}{@{}#1@{}}#2\end{tabular}}  \begin{table}[!hpb]\caption{Verilog HDL语言能力总结}\label{verilog}  \centering  \begin{tabular}     {@{}cccc@{}} \toprule    %\multicolumn{2}{c}{Item} \\ \cmidrule(r){1-2}    \hei{描述级别} & \hei{抽象级别} & \hei{功能描述} & \hei{物理模型} \\ \midrule         & \song{系统级} & \tabincell{c}{用语言提供的高级结构能够实现\\所设计模块外部性能的模型} &             \tabincell{c}{芯片、电路板和物理\\划分的子模块}\\ \cmidrule{2-4}    行为级& 算法级 & \tabincell{c}{用语言提供的高级功能\\能够实现算法运行的模型} &              部件之间的物理连接,电路板\\ \cmidrule{2-4}    & RTL级 & \tabincell{c}{描述数据如何在寄存器之间流动和\\如何处理、控制这些数据流动的模型} &             芯片、宏单元\\ \midrule    逻辑级 & 门级 & 描述逻辑门与逻辑门之间连接的模型     & 标准单元布图\\ \midrule    电路级 & 开关级 & \tabincell{c}{描述器件中三极管和存储节点\\以及他们之间连接的模型} & 晶体管布图 \\ \bottomrule  \end{tabular}\end{table}

第一种方法的排版效果如下图所示:



第二种,这种方法主要是通过第6行的命令来限制每一列的宽度,这样当文字长度超过限制宽度的时候,便会自动换行,换行后,是左对齐的。个人觉得这种方法比上面的方法稍微简单些。

\begin{table}[hfpb]\label{verilog}\caption{Verilog HDL语言能力总结}\hspace{0.5cm}  \centering  \begin{tabular} {p{40pt}p{50pt}p{170pt}p{130pt}}\toprule       \hei{描述级别} & \hei{抽象级别} & \hei{功能描述} & \hei{物理模型} \\ \midrule         & \song{系统级} & 用语言提供的高级结构能够实现所设计模块外部性能的模型 &             芯片、电路板和物理划分的子模块\\ \cmidrule{2-4}    行为级& 算法级 & 用语言提供的高级功能能够实现算法运行的模型 &              部件之间的物理连接,电路板\\ \cmidrule{2-4}    & RTL级 & 描述数据如何在寄存器之间流动和如何处理、控制这些数据流动的模型 &             芯片、宏单元\\ \midrule    逻辑级 & 门级 & 描述逻辑门与逻辑门之间连接的模型     & 标准单元布图\\ \midrule    电路级 & 开关级 & 描述器件中三极管和存储节点以及他们之间连接的模型 & 晶体管布图 \\ \bottomrule  \end{tabular}\end{table}
第二种方法的排版效果如下图所示:


0 0