Latex {multicols}{2}环境下插入单栏/双栏表格

背景

期刊模板中未给出表格插入,因此需要单双栏插入方式汇总。相比于图片和公式,此部分细节或者试错次数更多。
已经可以轻易地搜到许多教程,熟悉基本语法之后,若普通的功能满足不了需求,则这里可能提供相应的解决方式。
一般来讲,论文中的表格宽度和文字宽度是一致的,单栏就是单栏宽度,双栏就是双栏宽度。而普通的tabular环境貌似需要手动调整每列宽度,因此该方法不太实用。
相比之下,tabularx可以指定整体宽度,每列宽度自动适应,因此更适用一些。由此总结一些对齐/合并的操作方式。

前期准备

一般来讲都是先用excel绘制表格,建议使用Excel2LaTeX进行转换后,再修改。教程

\usepackage{multirow} %合并行,貌似合并列的不用导入
\usepackage{makecell} %实现单元格内换行

tabularx

默认与列宽设置

首先是默认情况,和tabular中的lcr类似,X也代表了列的设置,当然也可以用p{⟨width⟩}m{⟨width⟩}b{⟨width⟩}来设置。
lcr代表了水平对齐方式:左中右
pmb代表了纵向对齐方式:下中上,⟨width⟩为宽度设置

\begin{table*}[htbp]
  \centering
  \caption{Add caption}
    \begin{tabularx}{\linewidth}{m{3cm}XXX}
    \toprule
          & 1     & 2     & 3 \\
    \midrule
    4     & 5     & 6     & 7 \\
    4     & 5     & 6     & 7 \\
    4     & 5     & 6     & 7 \\
    \bottomrule
    \end{tabularx}
  \label{tab:addlabel}
\end{table*}

Latex {multicols}{2}环境下插入单栏/双栏表格_第1张图片
{m{3cm}XXX}进行了列宽的设置,第一列为3cm,其余三列自动调整宽度
可以注意到,tabularx自动对齐方式为左对齐

居中对齐

如有需要,可进行居中对齐的设置:
在列设置前添加>{\centering\arraybackslash}实现居中,>\arraybackslash的存在是因为>\centering 等对齐命令会破坏表格环境里\\换行命令的定义,>\arraybackslash 用来恢复之。

\begin{table*}[htbp]
  \centering
  \caption{Add caption}
    \begin{tabularx}{\linewidth}{
    >{\centering\arraybackslash}m{6cm}
    >{\centering\arraybackslash}X
    >{\centering\arraybackslash}X
    >{\centering\arraybackslash}X}
    \toprule
          & 1     & 2     & 3 \\
    \midrule
    4     & 5     & 6     & 7 \\
    4     & 5     & 6     & 7 \\
    4     & 5     & 6     & 7 \\
    \bottomrule
    \end{tabularx}
  \label{tab:addlabel}
\end{table*}

Latex {multicols}{2}环境下插入单栏/双栏表格_第2张图片

合并单元格&换行

添加了合并行、列、换行的功能

\begin{table*}[htbp]
  \centering
  \caption{Add caption}
    \begin{tabularx}{\linewidth}{
    >{\centering\arraybackslash}m{3cm}
    >{\centering\arraybackslash}X
    >{\centering\arraybackslash}X
    >{\centering\arraybackslash}X}
    \toprule
    \multicolumn{2}{c}{Input} & 2     & 3 \\
    \midrule
    4     & 5     & 6     & 7 \\
    \multirow{2}{*}{8} & \multirow{2}{*}{\makecell[c]{999 \\ 999}} & 10    & 11 \\
          &       & 12    & 13 \\
    \multirow{2}{*}{14} & \multirow{2}{*}{15\newline15} & 16    & 18 \\
          &       & 17    & 19 \\
    \bottomrule
    \end{tabularx}
  \label{tab:addlabel}
\end{table*}

Latex {multicols}{2}环境下插入单栏/双栏表格_第3张图片
\multicolumn{⟨n⟩}{⟨column-spec⟩}{⟨item⟩}
⟨n⟩表示合并个数
⟨column-spec⟩表示合并后的列格式,只允许出现lcrp

\multirow{⟨n⟩}[⟨m⟩]{⟨width⟩}{⟨item⟩}
\multirow{⟨n⟩}[⟨m⟩]{⟨width⟩}{⟨item⟩}
⟨n⟩ 为要合并的列数。
[⟨m⟩]表示该行单元格所占的纵向格子数。一般来讲不写[⟨m⟩],默认纵向居中。
⟨width⟩为合并后单元格的宽度,可以填 * 以使用自然宽度。

\makecell[c]{⟨text⟩}允许单元格内换行

参考教程

参考1
参考2

你可能感兴趣的:(Latex,latex)