在LaTeX中的表中自定义对齐文本

时间:2010-01-25 14:12:31

标签: alignment latex

基本上,我想在LaTeX中生成下表(注意第二个单元格的“逗号对齐”):

----------------------------------------
| Header1 | Header2                    |
----------------------------------------
|    1    | "value 1"      , "value 2" |
|    2    | "one"          , "two"     |
|    3    | "abcdefheasal" , "ok"      |
----------------------------------------

我在LaTeX中制作上表的方法如下:

\begin{tabular}{|c|l|}
  \hline
  Header1 & Header2             \\
  \hline
  1 & ``value 1'' , ``value 2'' \\
  2 & ``one'' , ``two''         \\
  3 & ``abcdefheasal'' , ``ok'' \\
  \hline
\end{tabular} 

但显然,该代码产生以下内容(显然没有“逗号对齐”):

-----------------------------------
| Header1 | Header2               |
-----------------------------------
|    1    | "value 1" , "value 2" |
|    2    | "one" , "two"         |
|    3    | "abcdefheasal" , "ok" |
-----------------------------------

将后一张桌子变成我想要的桌子的最佳方法是什么?即前者

2 个答案:

答案 0 :(得分:9)

作为对Martin B答案的修改,请考虑使用@符号来制作列分隔符:

\begin{tabular}{|c|l@{ , }l|}
  \hline
  Header1 & \multicolumn{2}{l|}{Header2}  \\
  \hline
  1 & ``value 1'' & ``value 2'' \\
  2 & ``one'' & ``two''         \\
  3 & ``abcdefheasal'' & ``ok'' \\
  \hline
\end{tabular}

另请注意,multicolumn需要额外的管道来绘制第一行的垂直线。

答案 1 :(得分:2)

我建议使用三列表,然后合并第二列和第三列的标题,如下所示:

\begin{tabular}{|c|ll|}
  \hline
  Header1 & \multicolumn{2}{l}{Header2} \\  
  \hline  
  1 & ``value 1''      & , ``value 2''  \\  
  2 & ``one''          & , ``two''      \\  
  3 & ``abcdefheasal'' & , ``ok''       \\  
  \hline
\end{tabular}