Re: [問題] 表格的欄位設定

看板LaTeX (論文排版)作者 (kezza)時間8年前 (2016/10/16 16:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《cloudxyz (羅德)》之銘言: : ※ 引述《axn99980 (VividSun)》之銘言: : : 我想請問最下面的那兩格要如何製作? : : 目前我只知道上面的打法是 : : \begin{tabular}[t]{|p{1.7in}|p{1.7in}|p{1.7in}|} : : \hline : : a & a & a \\ : : \hline : : a & a & a \\ : : \hline : : a & a & a \\ : : \hline : : a & a & a \\ : : \end{tabular} \\ : : 我想問有什麼方法可以新增下面2格? : : http://i.imgur.com/wm7Z0qQ.jpg
: 我試著用推文的方法做一個 : 不過很奇怪的是, 如果不加上"假的"第一列, 表格寬度總是會跑掉 : 不知道有沒有高手有比較好的解決方法.... : \begin{tabular}{p{0.85in}p{0.85in}p{0.85in}p{0.85in}p{0.85in}p{0.85in}} : &&&&&\\ : \hline : \multicolumn{2}{|l|}{a} & \multicolumn{2}{l|}{a} & \multicolumn{2}{l|}{a} \\ : \hline : \multicolumn{2}{|l|}{a} & \multicolumn{2}{l|}{a} & \multicolumn{2}{l|}{a} \\ : \hline : \multicolumn{2}{|l|}{a} & \multicolumn{2}{l|}{a} & \multicolumn{2}{l|}{a} \\ : \hline : \multicolumn{2}{|l|}{a} & \multicolumn{2}{l|}{a} & \multicolumn{2}{l|}{a} \\ : \hline : \multicolumn{3}{|l|}{a} & \multicolumn{3}{l|}{a} \\ : \hline : \end{tabular} : http://i.imgur.com/MZTbR9R.jpg
因為 multicolumn 中用了 l 蓋過之前的 p{0.85in} 所以在你的方法中 沒有假的第一行,最終TeX只會看到和{llllll}一樣,會跑掉 另一種解法是在multicolumn中算到底要多寬 preamble 中加入 \newlength\mywidth \setlength\mywidth{0.85in} \newlength\twocellswidth \setlength\twocellswidth{% \dimexpr 2\mywidth+2\tabcolsep+\arrayrulewidth\relax} \newlength\threecellswidth \setlength\threecellswidth{% \dimexpr 3\mywidth+4\tabcolsep+2\arrayrulewidth\relax} 然後內文中的 tabular 長相大約是 (用%斷行不然PTT會斷我的) \begin{tabular}{|p{\mywidth}|p{\mywidth}|p{\mywidth}|% p{\mywidth}|p{\mywidth}|p{\mywidth}|} \hline \multicolumn{2}{|p{\twocellswidth}|}{blah}& \multicolumn{2}{p{\twocellswidth}|}{blah}& \multicolumn{2}{p{\twocellswidth}|}{blah}\\\hline \multicolumn{2}{|p{\twocellswidth}|}{blah}& \multicolumn{2}{p{\twocellswidth}|}{blah}& \multicolumn{2}{p{\twocellswidth}|}{blah}\\\hline \multicolumn{2}{|p{\twocellswidth}|}{blah}& \multicolumn{2}{p{\twocellswidth}|}{blah}& \multicolumn{2}{p{\twocellswidth}|}{blah}\\\hline \multicolumn{3}{|p{\threecellswidth}|}{blah}& \multicolumn{3}{p{\threecellswidth}|}{blah}\\\hline \end{tabular} 因為實質能用的寬度不是 2*0.85in, 3*0.85in 而有 \tabcolsep (每一 格的左右會加這個,除非你用@壓縮掉,通常是 6pt)和 \arrayrulewidth (因為用了 |,通常是約 0.4pt,document class 中會有定義),如果沒 有算會有些許走樣 -- 『我思故我在』怎樣從法文變成拉丁文的: je pense, donc je suis --- René Descartes, Discours de la Méthode (1637) ego sum, ego existo --- ____, Meditationes de Prima Philosophia (1641) ego cogito, ergo sum --- ____, Principia Philosophiae (1644) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.169.121.54 ※ 文章網址: https://www.ptt.cc/bbs/LaTeX/M.1476606744.A.AC1.html
文章代碼(AID): #1O0piOh1 (LaTeX)
討論串 (同標題文章)
文章代碼(AID): #1O0piOh1 (LaTeX)