Latex中表格问题

时间:2024-01-27 10:19:59

    最近在学习使用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}
    }