精華區beta LaTeX 關於我們 聯絡資訊
各位前輩好, 想請教一下, 如果想要將 table 中的資料作特定的對齊方式該如何作呢 ? 如以下兩種, 1. -------------------- title title title -------------------- 8% 16% 100% -------------------- 也就是說, 我希望 title 是置中的, 但是表格內的資料能夠靠左或靠右. 2. --------------------- title title title --------------------- 76(18%) 100(20%) 8(1%) --------------------- 第二種就是希望能以自訂的方式對齊, 以此範例而言是希望能對左括號對齊 (當然 title 也希望置中), 有點像數學環境的 & 功能. 謝謝各位 ! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.231.99.133 > -------------------------------------------------------------------------- < 作者: andrew43 (Myrmarachne) 看板: LaTeX 標題: Re: [問題] Table 中數值內容對齊如何作 ? 時間: Mon Sep 7 02:27:18 2009 ※ 引述《lovecin (....)》之銘言: : 各位前輩好, : 想請教一下, : 如果想要將 table 中的資料作特定的對齊方式該如何作呢 ? : 如以下兩種, : 1. : -------------------- : title title title : -------------------- : 8% : 16% : 100% : -------------------- : 也就是說, 我希望 title 是置中的, : 但是表格內的資料能夠靠左或靠右. 我有找到二個解法。 第一個解法是利用 \hspace*{\fill}title\hspace*{\fill} 來強制置中: \begin{tabular}{|r|r|r|} \hline title & {\hspace*{\fill}title\hspace*{\fill}} & title \\ \hline & 8\% & \\ & 16\% & \\ & 100\% & \\ \hline \end{tabular} 而第二個解法是利用 LATEX 內建的 \multicolumn: \begin{tabular}{|r|r|r|} \hline title & \multicolumn{1}{c|}{title} & title \\ \hline & 8\% & \\ & 16\% & \\ & 100\% & \\ \hline \end{tabular} : 2. : --------------------- : title title title : --------------------- : 76(18%) : 100(20%) : 8(1%) : --------------------- : 第二種就是希望能以自訂的方式對齊, : 以此範例而言是希望能對左括號對齊 : (當然 title 也希望置中), : 有點像數學環境的 & 功能. 你可以建立 4 個 column, 其中第 2 及第 3 個 column 重新組合,並設定 ( 字元為間隔: \begin{tabular}{|r|r@{(}l|r|} \hline title & \multicolumn{2}{c|}{title} & title \\ \hline & 76 &18\%) & \\ & 100 &20\%) & \\ & 8 &1\%) & \\ \hline \end{tabular} 如果看不懂的話, 請看看李果正先生的「大家來學 LaTeX」中對 tabular 的說明。 為了看出置中置左置右是不是成功,所以上面的例子都有加上縱線。 你若不需要就自己去掉吧! -- http://apansharing.blogspot.com/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.35.207 ※ 編輯: andrew43 來自: 122.117.35.207 (09/07 02:35) > -------------------------------------------------------------------------- < 作者: lovecin (....) 看板: LaTeX 標題: Re: [問題] Table 中數值內容對齊如何作 ? 時間: Mon Sep 7 11:53:02 2009 非常謝謝指導 ! 不過這邊還有一個問題, 如下: : \begin{tabular}{|r|r|r|} : \hline : title & \multicolumn{1}{c|}{title} & title \\ \hline : & 8\% & \\ : & 16\% & \\ : & 100\% & \\ \hline : \end{tabular} 這樣子的方法的確是可以做到, 但是, 因為是透過 r 靠右對齊, 假設 title 較長, 出現的效果就不是我想要的, 我希望中間的數值還是能置中對齊. 原來排出的效果大概是這樣, --------------------------- title title123456789 --------------------------- 1% 10% 100% ---------------------------- 我希望能排成下面這樣. --------------------------- title title123456789 --------------------------- 1% 10% 100% ---------------------------- 請問這樣該如何作呢 ? 謝謝 ! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.90.170 > -------------------------------------------------------------------------- < 作者: andrew43 (Myrmarachne) 看板: LaTeX 標題: Re: [問題] Table 中數值內容對齊如何作 ? 時間: Mon Sep 7 12:44:40 2009 ※ 引述《lovecin (....)》之銘言: : 我希望能排成下面這樣. : --------------------------- : title title123456789 : --------------------------- : 1% : 10% : 100% : ---------------------------- : 請問這樣該如何作呢 ? 謝謝 ! 凡是 tabular 中需要「小數點對齊」、「百分比對齊」、「某字元對齊」時, 都需要用到二個 column 來組合成新的 column,並利用 @{某字元} 來做分隔。 而 header 就利用 \multicolumn 來合併。 但在你的例子中,1、10、100 三個數字長度太短,造成位置偏左而非偏中間, 所以我手動地再多加了一個 p{長度} 的 column 來塞長度。 請見下例: \begin{tabular}{|r|p{1cm}|r@{\%}l|} \hline title & \multicolumn{3}{c|}{title123456789abcdefg} \\ \hline & & 1 & \\ & & 10 & \\ & & 100 & \\ \hline \end{tabular} 若你把 p{1cm}| 改成 p{1cm} 應該就會看起來很像你要的。 -- http://apansharing.blogspot.com/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.35.207
lovecin:原來如此, 真是感謝您 :) 09/07 16:09