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

这里介绍两种方法。

第一种,要点在于第一行的命令,和在需要换行的那一栏中使用\\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}
第二种方法的排版效果如下图所示:

\"\"

 

收藏 打印