推 lovecin:原來如此, 真是感謝您 :) 09/07 16:09
各位前輩好,
想請教一下,
如果想要將 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