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