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}
生成后的表格如下图所示。
值得注意的地方有:
- 关于表格放置的参数:
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}
}
版权声明:本文为shirleyya原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。