LaTeX基础-表格的创建

LaTeX基础-Tables的创建


参考博客:

latex表格手把手超详细教程(table, tabular, multirow, multicolumn)_latex tabular-CSDN博客

Tables - Overleaf, Online LaTeX Editor

474. LaTeX技巧184:精致的表格教程 - LaTeX工作室 (latexstudio.net)

LaTeX工作室

基本模板

\documentclass{article}
\begin{document}

\end{document}

内容插入这里面

创建一个一个简单表格

无边框

\begin{center}
\begin{tabular}{ c c c }
 cell1 & cell2 & cell3 \\ 
 cell4 & cell5 & cell6 \\  
 cell7 & cell8 & cell9    
\end{tabular}
\end{center}

显示效果:

image-20240809150055076

内容讲解:

tabular:这个是默认LaTeX创建表格的环境,你必须指定一个环境

{c c c}:这个是告诉LaTeX,三列,并且是居中的效果

有边框的表格

\begin{center}
\begin{tabular}{ |c|c|c| } 
 \hline
 cell1 & cell2 & cell3 \\ 
 cell4 & cell5 & cell6 \\ 
 cell7 & cell8 & cell9 \\ 
 \hline
\end{tabular}
\end{center}

显示效果:

image-20240809152205305

内容介绍:

{|c|c|c|}:这表示有三列,通过竖线分开,其中 c 表示居中,也可以使用 r 右对齐,l 左对齐

\hline:这将在表格的最顶部插入一个水平线,你可以无限次使用\hline

cell1 & cell2 & cell3 \\: 每个 & 都表示分隔,\\用于一行的结束

也可以这样写:

\begin{document}
\begin{center}
    \begin{tabular}{ |c|c|c| } 
     \hline
     cell1 & cell2 & cell3 \\ 
     \hline
     cell4 & cell5 & cell6 \\ 
     \hline\hline
     cell7 & cell8 & cell9 \\ 
     \hline
    \end{tabular}
    \end{center}
\end{document}

显示的效果就是:

image-20240809153305093

有固定宽度的表格

单独管理每个单元格的宽度

当你对每一个列或一个表进行规范的时候,你可以加入下列的包:

\usepackage{array}

使用如下的内容来进行固定列的宽度

\documentclass{article}
\usepackage{array}
\begin{document}
    \begin{center}
    \begin{tabular}{ | m{5em} | m{1cm}| m{1cm} | } 
      \hline
      cell1 dummy text dummy text dummy text& cell2 & cell3 \\ 
      \hline
      cell1 dummy text dummy text dummy text & cell5 & cell6 \\ 
      \hline
      cell7 & cell8 & cell9 \\ 
      \hline
    \end{tabular}
    \end{center}
\end{document}

内容介绍:

m{5em}:em是创建一个基本的弹性布局,也是一种宽度的计量单位,类似于px,m表示居中,p表示置顶,b表示置底,

使用这个参数,文本可以自动格式化以适应每个单元格

均匀分配整个单元格的宽度

如果你不需要控制每个单元格的宽度,而是控制整个单元格的宽度,然后均匀的分配其中的空间,那么可以使用tabularx包:

\usepacekage{tabularx}

如下:

\documentclass{article}
\usepackage{tabularx}
\begin{document}
\begin{tabularx}{0.8\textwidth} { 
  | >{\raggedright\arraybackslash}X 
  | >{\centering\arraybackslash}X 
  | >{\raggedleft\arraybackslash}X | }
 \hline
 item 11 & item 12 & item 13 \\
 \hline
 item 21  & item 22  & item 23  \\
\hline
\end{tabularx}
\end{document}

显示如下:

image-20240809155457962

内容解释:

0.8\textwidth:表示占有表格的80%的空间

{\raggedright\arraybackslash}

  • raggedleft:表示向右对齐,
  • raggedright:表示向左对齐,
  • centering表示居中
  • \arraybackslash:固定模板,必须要加的

合并行和列

合并列

想要合并行和列,需要用到包multirow来实现

\documentclass{article}
\usepackage{multirow}
\begin{document}
\begin{tabular}{ |p{3cm}||p{3cm}|p{3cm}|p{3cm}|  }
 \hline
 \multicolumn{4}{|c|}{Country List} \\
 \hline
 Country Name or Area Name& ISO ALPHA 2 Code &ISO ALPHA 3 Code&ISO numeric Code\\
 \hline
 Afghanistan   & AF    &AFG&   004\\
 Aland Islands&   AX  & ALA   &248\\
 Albania &AL & ALB&  008\\
 Algeria    &DZ & DZA&  012\\
 American Samoa&   AS  & ASM&016\\
 Andorra& AD  & AND   &020\\
 Angola& AO  & AGO&024\\
 \hline
\end{tabular}
\end{document}

显示效果:

image-20240809162507653

内容解释

\multicolumn{4}{|c|}{Country List} \\

\multicolumn:固定模板,合并列

{4}:表示合并多少列

{|c|}:表示居中

{Country List}:显示内容

合并行

想要合并行,需要加入包:

\usepackage{multirow}

具体实现代码:

\documentclass{article}
\usepackage{multirow}
\begin{document}
\begin{center}
\begin{tabular}{ |c|c|c| } 
\hline
col1 & col2 & col3 \\
\hline
\multirow{3}{4em}{Multiple row} & cell2 & cell3 \\ 
& cell5 & cell6 \\ 
& cell8 & cell9 \\ 
\hline
\end{tabular}
\end{center}
\end{document}

显示内容:

image-20240809163343119

内容解释:

和合并列是一样的 ,这里就不解释了

实际实现的样式:

这个注意要加上

\usepackage{graphicx} % 基本包内容
\resizebox{\textwidth}{!}{} % 设置表格适应文章宽度

要不然会导致表格与页面不适应导致表格显示不全

\documentclass{article}
\usepackage{graphicx}
\usepackage{multirow}
\begin{document}
    \begin{table*}[t]
    \centering
    \caption{MAP scores of teacher model, different student models with 4 widths and three baseline models with different length of binary codes on CIFAR-10 and SUN datasets.}
    \label{table1}
    \resizebox{\textwidth}{!}{
    \begin{tabular}{|c|c|c|c|c|c|c|c|}
    \hline
    \multicolumn{2}{|c|}{\multirow{2}{*}{Model}} &\multirow{2}{*}{FLOPs}&\multirow{2}{*}{Params} & \multicolumn{4}{c|}{CIFAR-10}\\
    \cline{5-8}
    
    \multicolumn{2}{|c|}{} & & & 12bits & 24bits & 32bits & 48bits \\
    \hline
    
    \multicolumn{2}{|c|}{Teacher} &4.12G	&25.56M	&0.87841	&0.89512	&0.9014	&0.90601 \\ 
    \hline
    
    %0.25x-----------------
    \multirow{4}{*}{$0.25\times$} & Stu-1 & 0.15G & 1.03M & 0.70746 & 0.73458 &	0.74909 & 0.75833 \\
    \cline{2-8}
    
    \multirow{4}{*}{} & Stu-2 &0.19G	&1.08M	&0.7629	&0.79111	&0.80039	&0.80519 \\
    \cline{2-8}
    
    \multirow{4}{*}{} & Stu-3 &0.26G	&1.43M	&0.84684	&0.86443	&0.87384	&0.88268 \\
    \cline{2-8}
    
    \multirow{4}{*}{} & Stu-4 & 0.29G	&1.99M	&0.85901	&0.87269	&0.8836	&0.88728	\\
    \hline
    \end{tabular}}
    \label{table_MAP}
    \end{table*}
    
\end{document}

最终实现效果:

image-20240809170136390

内容解释:

\cline{2-8}:为了实现横线从第2列到第8列,而\hline是不自定义横线长度,而是直接从左到右全横线

{*}:这个符号的意义是为了跨多行实现合并

  • 4 表示这个单元格会跨越4行。

  • * 表示宽度自动适应内容。

  • {$0.25\times$} 是这个单元格的内容。

三线表的绘制

学术论文普遍使用三线表。三线表的特点主要是:整个表格通常只有三条横线, 首尾两条横线较粗,中间一条较细,一般不使用竖线。

主要用到的宏包是:

\usepackage{booktabs}

普通表

下面是普通三线表的代码和效果:

\documentclass{article} % 基本语法
\usepackage{booktabs} % 用于绘制三线表格
\usepackage{ctex}  % 添加中文字体
\usepackage{graphicx} %  用于插入图形文件
\usepackage{multirow}  % 合并多行
\usepackage{amssymb}  % 包含了大量的数学符号,如✓,×,α,β之类数学符号的
\begin{document}

\begin{table}[htbp] 
    \centering
    \caption{员工地址} 
    \label{aaa}
    \begin{tabular}{lcl} 
    \toprule 姓名 & 年龄 & 地址\\ 
    \midrule 张三 & 32 & 中华人民共和国\\ 
    李四 & 12 & 中华人民共和国\\ 
    王五 & 24 & 中华人民共和国\\ 
    \bottomrule 
    \end{tabular}
    \end{table}
    
\end{document}

实现效果:

image-20240809190831532

扩展

\documentclass{article} % 基本语法
\usepackage{booktabs} % 用于绘制三线表格
\usepackage{ctex}  % 添加中文字体
\usepackage{graphicx} %  用于插入图形文件
\usepackage{multirow}  % 合并多行
\usepackage{amssymb}  % 包含了大量的数学符号,如✓,×,α,β之类数学符号的


\begin{document}

\begin{table*}[t]
    \centering
    \caption{A comparison between UESTC, Xidian University and BUPT.}
    \label{tab:univ-compa}
    \resizebox{\textwidth}{!}{
    \begin{tabular}{lcccrrr}
    \toprule
        \textbf{University} & \textbf{Double-Top (A)} & \textbf{985} & \textbf{211} & \textbf{ARWU Ranking} & \textbf{QS Ranking} & \textbf{US News Ranking} \\ \midrule
        UESTC & $\checkmark$ & $\checkmark$ & $\checkmark$ & 151-200 & 591-600 & 272 \\ 
        BUPT & & & $\checkmark$ & 601-700 & 801-1000 & 760 \\
        Xidian University & & & $\checkmark$ & 401-500 & n/a & 729 \\
    \bottomrule
    \end{tabular}}
\end{table*}

\end{document}

实现效果:

image-20240809192523371

内容解释:

  • 这里面的对号是用数学符号实现的 $\checkmark$

  • 注意:由于这个表太大,需要调整大小,用的就是\resizebox{\textwidth}{!}{}需要用到包\usepackage{graphicx}

  • \textbf{University}:用于文字加粗

  • 26
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值