1. 程式人生 > 實用技巧 >Latex中表格問題

Latex中表格問題

最近在學習使用Latex,在學習過程中碰到很多小問題,故記之。

以下是一個引數表的例項(繪成三線表的形式)。

 1  \begin{table}[hp] %%引數: h:放在此處 t:放在頂端 b:放在底端 p:在本頁
 2   \renewcommand\arraystretch{1.2}
 3   %\setlength{\abovecaptionskip}{0.cm}
 4   %\setlength{\belowcaptionskip}{-0.cm}
 5    \centering  % 顯示位置為中間
 6    %%\caption{Parameters description}  % 表格標題
7 %%\label{Table1} % 用於索引表格的標籤 8 %字母的個數對應列數,|代表分割線 9 % l代表左對齊,c代表居中,r代表右對齊 10 \textbf{Table 1}~~Parameters description.\\ %%表的標題 11 \begin{tabular}{p{45pt}llll} %第一列設定寬度為45pt 全為左對齊 沒有分割線 12 %\setlength{\tabcolsep}{20mm} 13 %\hline % 表格的橫線 14 \toprule % 頂部線 15 Parameters & & Definitions & Value & Source \\%[3pt]只改一行 %%表格第一行標題 % 表格中的內容,用&分開,\\表示下一行
16 %\hline % 表格的橫線 17 \midrule % 中部線 18 $\beta_{1}$ & & xxxxabcdxxx & 1 & Estimation \\ %%表格內容 19 $\beta_{2}$ & & xxxxabcdxxx & 1 & Estimation \\ 20 $\alpha_{1}$ & & xxxxabcdxxx & 1 & Estimation \\
21 $\alpha_{2}$ & & xxxxabcdxxx & 1 & Estimation \\ 22 \multirow{2}[2]{*}{$\alpha_{3}$} & & aaa1 & \multirow{2}[2]{*}{1} & \multirow{2}[2]{*}{Estimation} \\ 23 & & bbb2 & & \\ 24 \multirow{2}[2]{*}{$\sigma$} & & aaa1 & \multirow{2}[2]{*}{1} & \multirow{2}[2]{*}{Estimation} \\ 25 & & bbb2 & & \\ 26 $d_{1}$ & & xxxxabcdxxx & 1 & Estimation \\ 27 $r_{1}$ & & xxxxabcdxxx & 1 & Estimation \\ 28 $d_{2}$ & & xxxxabcdxxx & 1 & Estimation \\ 29 $r_{2}$ & & xxxxabcdxxx & 1 & Estimation \\ 30 \multirow{3}[2]{*}{$\eta(t)$} & $\eta_{0}$ & aaa1 & 1 & Estimation \\ 31 & $\eta_{1}$ & bbb2 & 1 & Estimation \\ 32 & $\eta_{2}$ & ccc3 & 1 & Estimation \\ 33 \multirow{3}[2]{*}{$1/\theta(t)$}& $\theta_{0}$ & 1aaa & 1 & Estimation \\ 34 & $\theta_{1}$ & 2bbb & 1 & Estimation \\ 35 & $\theta_{2}$ & 3ccc & 1 & Estimation \\ 36 \bottomrule % 底部線 37 %\hline % 表格的橫線 38 \end{tabular} 39 \end{table}

生成後的表格如下圖所示。

值得注意的地方有:

  1. 關於表格放置的引數:
    h:放在此處 t:放在頂端 b:放在底端 p:在本頁
  2. 關於表格內容的對齊方式:
    l代表左對齊,c代表居中,r代表右對齊  
  3. 關於表格的列數以及列與列之間是否需要分割線:
    字母的個數對應列數,|代表分割線
  4. 關於表格的邊框:
    \hline  % 表格的橫線
    \toprule % 頂部線
    \midrule % 中部線
    \bottomrule % 底部線 (繪製三線表一般用頂部線、中部線和底部線)
  5. 關於表格中內容過長涉及的換行問題:此時將需要換行的內容分開(如例子中的aaa1bbb2),不需要換行的加上\multirow{所分的行數}[2]{*}{不需要換行的內容} (只用寫一次)。
    \multirow{2}[2]{*}{$\alpha_{3}$} & & aaa1 & \multirow{2}[2]{*}{1} &  \multirow{2}[2]{*}{Estimation} \\
                                     & & bbb2 &                       &                                 \\
  6. 調節行高:
     \renewcommand\arraystretch{1.2}
  7. 調節單列的列寬:
    \begin{tabular}{p{45pt}llll} %第一列設定寬度為45pt
  8. 表格大小調整:如果表格比較大,則可以通過統一縮放的方式調整。(其中h-size和v-size為縮放後目標表格的水平大小、縱向大小,可以填寫具體的數值,如50pt、100mm等。表格中的字型等會像圖片一樣的拉伸。所以調整的時候要注意字型會不會變形失真。)

    \resizebox{h-size}{v-size}{ 
    \begin{tabular}
    ...
    \end{tabular}
    }