背景
期刊模板中未给出表格插入,因此需要单双栏插入方式汇总。相比于图片和公式,此部分细节或者试错次数更多。
已经可以轻易地搜到许多教程,熟悉基本语法之后,若普通的功能满足不了需求,则这里可能提供相应的解决方式。
一般来讲,论文中的表格宽度和文字宽度是一致的,单栏就是单栏宽度,双栏就是双栏宽度。而普通的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*}
{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*}
合并单元格&换行
添加了合并行、列、换行的功能
\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*}
\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⟩}允许单元格内换行
参考教程
打赏博主
制作不易,如果有能帮到你,可以打赏博主一瓶可乐