【Excel2LaTeX】复杂表格制作的解决方案

刚开始用LaTeX写论文,遇到的第一道坎就是绘制表格,较小的普通表格可以通过简单的语法实现,但是较大的复杂的表格却让我无从下手。


Excel2LaTeX插件

这里介绍一种我用到非常顺手的工具:Excel2LaTeX插件,下载地址:传送门
下载好之后,在excel中显示加载项,并将Excel2LaTeX.xla文件导入到加载项中,重新启动excel可以看到如下选项:
在这里插入图片描述

在Excel绘制表格并生成LaTeX代码

现在就可以开始在excel中绘制想要的表格形式了,举个例子如下(多数据集、多模型、多指标、包含粗边框、粗字体、双重边框等):
在这里插入图片描述
然后,用鼠标选中需要生成LaTeX代码的表格区域,点击左上角的Convert Tabel to LaTeX。通常我习惯勾选上Booktabs package这个选项,然后拷贝。
在这里插入图片描述

% Table generated by Excel2LaTeX from sheet 'Sheet1'
\begin{table}[htbp]
  \centering
  \caption{Add caption}
    \begin{tabular}{c|lrrrrrrrrr}
    \toprule
    \multicolumn{2}{c}{\multirow{2}[4]{*}{\textbf{Method}}} & \multicolumn{3}{c}{\textbf{Dataset 1}} & \multicolumn{3}{c}{\textbf{Dataset 2}} & \multicolumn{3}{c}{\textbf{Dataset 3}} \\
\cmidrule{3-11}    \multicolumn{2}{c}{} & \multicolumn{1}{c}{RMSE} & \multicolumn{1}{c}{MAE} & \multicolumn{1}{c}{ACC} & \multicolumn{1}{c}{RMSE} & \multicolumn{1}{c}{MAE} & \multicolumn{1}{c}{ACC} & \multicolumn{1}{c}{RMSE} & \multicolumn{1}{c}{MAE} & \multicolumn{1}{c}{ACC} \\
    \midrule
    \multirow{2}[2]{*}{Non-Graph} & MLP  &      &      &      &      &      &      &      &      &  \\
         & SVR  &      &      &      &      &      &      &      &      &  \\
    \midrule
    \multirow{5}[2]{*}{Graph} & GCN  &      &      &      &      &      &      &      &      &  \\
         & GAT  &      &      &      &      &      &      &      &      &  \\
         & RGCN &      &      &      &      &      &      &      &      &  \\
         & GIN  &      &      &      &      &      &      &      &      &  \\
         & ChebNet &      &      &      &      &      &      &      &      &  \\
    \midrule
    \midrule
    \textbf{Proposed} & \textbf{ABC} &      &      &      &      &      &      &      &      &  \\
    \bottomrule
    \end{tabular}%
  \label{tab:addlabel}%
\end{table}%

将代码粘贴到LaTeX的文字中,注意添加宏包:\usepackage{booktabs},否则会编译错误!同时,我用到了多行表格,所以需要添加 \usepackage{multirow}
现在的效果如下所示,已经勾勒出表格的全貌了:
在这里插入图片描述

修正调整表格格式

调整表格标题到表格的距离
在\centering下面添加\setlength的命令:

\begin{table}[htbp]
  \centering
  \setlength{\abovecaptionskip}{2pt}%
  \setlength{\belowcaptionskip}{10pt}%
  \caption{It is a table.}

在这里插入图片描述
效果如下:
在这里插入图片描述

表格竖线从间断修改为连续
需要知道的是,hline bottomrule toprule将表格水平分隔开,在表格代码中使用bottomrule和toprule会导致竖线不连续。解决方案是:将 除了最上方和最下方的bottomrule和toprule,都改为hline。为什么说最上方和最下方的不改为hline?原因就是,我需要保持最上方和最下方的边框加粗!而hline则是细线。
如果最后发现,竖线的最上方和最下方仍然是没有和边框紧密相交,那么就把最上方代码的\toprule改为\bottomrule,把最下方代码的\bottomrule改为\toprule
效果如下:
在这里插入图片描述

将三个Dataset下面的横线分离开
在生成的LaTeX代码中,Dataset下方的横线代码如下:

\cmidrule{3-11}

 
 
  • 1

这显然是一根完整的横线,现在介绍如何分成三段。
将上述代码修改为:

\cmidrule(r){3-5} \cmidrule(r){6-8} \cmidrule{9-11} 

 
 
  • 1

则可以将一根完整的横线分为三段,效果如下:
在这里插入图片描述
表格单元格内部文字换行
如果表格内部的文字过长,应该如何手动换行呢?LaTeX中没有办法直接通过 Enter或\\符号实现表格单元格内部文字的换行。我采用的方法如下:
首先,在文章的开头添加新命令:\newcommand{\tabincell}[2]{\begin{tabular}{@{}#1@{}}#2\end{tabular}}
然后我就可以在希望换行的单元格里换行了,比如我想让Tabular Learning Methods从Learning后面换行,则可以这么修改:\tabincell{c}{Tabular Learning\\Methods},效果如下:
在这里插入图片描述
表格跑到参考文献后面的调整
当表格跑到参考文献后面去了,就需要限制表格浮动的位置在\section范围内,解决方案是在文档开头加上:\usepackage[section]{placeins}

调整表格宽度

\setlength{\tabcolsep}{3mm}{
    \begin{tabular}{ccccccccccc}
    ...
    \end{tabular} }  % 一定注意这里还有个后花括号!

 
 
  • 1
  • 2
  • 3
  • 4

最终表格效果

在这里插入图片描述
完整代码如下:

% Table generated by Excel2LaTeX from sheet 'Sheet1'
\begin{table}[htbp]
  \centering
  \setlength{\abovecaptionskip}{2pt}%
  \setlength{\belowcaptionskip}{10pt}%
  \caption{It is a table.}
    \begin{tabular}{c|lrrrrrrrrr}
    \bottomrule %\toprule
    \multicolumn{2}{c}{\multirow{2}[4]{*}{\textbf{Method}}} & \multicolumn{3}{c}{\textbf{Dataset 1}} & \multicolumn{3}{c}{\textbf{Dataset 2}} & \multicolumn{3}{c}{\textbf{Dataset 3}} \\
\cmidrule(r){3-5} \cmidrule(r){6-8} \cmidrule{9-11}  \multicolumn{2}{c}{} & \multicolumn{1}{c}{RMSE} & \multicolumn{1}{c}{MAE} & \multicolumn{1}{c}{ACC} & \multicolumn{1}{c}{RMSE} & \multicolumn{1}{c}{MAE} & \multicolumn{1}{c}{ACC} & \multicolumn{1}{c}{RMSE} & \multicolumn{1}{c}{MAE} & \multicolumn{1}{c}{ACC} \\
    \hline
    \multirow{2}[2]{*}{Non-Graph} & MLP &   &   &      &    &      &      &      &      &  \\
         & SVR  &      &      &      &      &      &      &      &      &  \\
    \hline
    \multirow{5}[2]{*}{Graph} & GCN  &  &  &      &      &      &      &      &      &  \\
         & GAT  &      &      &      & & &      &      &      &  \\
         & RGCN &      &      &      &      &      &      &      &      &  \\
         & GIN  &      &      &      &      &      &      &      &      &  \\
         & ChebNet &      &      &      &      &      &      &      &      &  \\
    \hline
    \hline
    \textbf{Proposed} & \textbf{ABC} &      &      &      &      &      &      &      &      &  \\
    \toprule %\bottomrule
    \end{tabular}%
  \label{tab:addlabel}%
\end{table}%
    原文链接:https://blog.csdn.net/qq_16763983/article/details/122912373

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/550934.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SSH协议的优缺点

SSH(Secure Shell)是一种用于在计算机网络上进行安全远程访问和执行命令的协议。提供加密通信通道,防止敏感信息在传输过程中被窃听或篡改。SSH还支持文件传输和端口转发等功能,使其成为广泛使用的安全远程管理工具。 1. 安全远程…

对桥接模式的理解

目录 一、背景二、桥接模式的demo1、类型A(形状类型)2、类型B(颜色类型)3、需求:类型A要使用类型B(如:红色的方形)4、Spring的方式 一、背景 在《对装饰器模式的理解》中&#xff0…

MySQL 基础使用

文章目录 一、Navicat 工具链接 Mysql二、数据库的使用1.常用数据类型2. 建表 create3. 删表 drop4. insert 插入数据5. select 查询数据6. update 修改数据7. delete 删除记录truncate table 删除数据 三、字段约束字段1. 主键 自增delete和truncate自增长字段的影响 2. 非空…

CS学习(九)—— 分支实现

if-else 18&#xff1a;若y<x&#xff0c;跳转L2 22&#xff1a;否则&#xff0c;跳转L3。 goto 可见&#xff0c;与if-else类似。但是用goto很low。 条件表达式 又是与if类似&#xff0c;那有没有区别&#xff1f; 当然&#xff0c;条件表达式两个式子都会计算&…

html、css、京东移动端静态页面,资源免费分享,可作为参考,提供InsCode在线运行演示

CSDN将我上传的免费资源私自变成VIP专享资源&#xff0c;且作为作者的我不可修改为免费资源&#xff0c;不可删除&#xff0c;寻找客服无果&#xff0c;很愤怒&#xff0c;&#xff08;我发布免费资源就是希望大家能免费一起用、一起学习&#xff09;&#xff0c;接下来继续寻找…

Leetcode 15. 三数之和(暴力->双指针)

给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意&#xff1a;答案中不可以包含重复的三元组。 示例 1…

git clone报错:error invalid path ‘dorisdockerthirdpartiesdocker-composexxxx‘

git clone报错&#xff1a;error: invalid path ‘doris/docker/thirdparties/docker-compose/xxxx’ 在周日晚上&#xff0c;我尝试从GitHub上克隆Doris的代码库&#xff0c;以便进行学习。在使用IntelliJ IDEA进行克隆时&#xff0c;我遇到了一个Git错误。具体操作如下&…

UbuntuServer22.04安装docker

通过ubuntuserver安装docker是搭建开发环境最便捷的方式之一。下面介绍一下再ubuntu22.04上如何安装docker。相关内容参考官网链接&#xff1a;Install Docker Engine on Ubuntu 根据官网推荐&#xff0c;利用apt命令的方式安装&#xff0c;首先需要设置docker仓库&#xff0c…

✌粤嵌—2024/4/3—合并K个升序链表

代码实现&#xff1a; /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* merge(struct ListNode *l1, struct ListNode *l2) {if (l1 NULL) {return l2;}if (l2 NULL) {return l1;}struct Lis…

杰发科技AC7840——CAN通信简介(4)_过滤器设置

0. 简介 注意&#xff1a;过滤器最高三位用不到&#xff0c;因此最高位随意设置不影响过滤器。 1. 代码分析 注意设置过滤器数量 解释的有点看不懂 详细解释...也看不大懂 Mask的第0位是0&#xff0c;其他位都是1(就是F?)&#xff0c;那就指定了接收值就是这个数&#xff0c;…

深度强化学习(DRL)算法 附录 6 —— NLP 回顾之预训练模型篇

Self-Attention 模型结构 上图架构以 batch_size 为 1&#xff0c;两个时间步的 X 为例子&#xff0c;计算过程如下&#xff1a; 位置编码 根据 self-attention 的模型结构&#xff0c;改变 X 的输入顺序&#xff0c;不影响 attention 的结果&#xff0c;所以还需要引入额外的…

解决Linux根分区空间不足的方法:利用Home分区进行扩容

前言 在进行系统安装时&#xff0c;一个常见的困扰是默认分区设置可能导致home分区拥有过多的空间&#xff0c;而root分区却显得十分紧缺。这种情况下&#xff0c;用户往往会陷入无法继续安装软件或存储文件的困境。本文将向您展示如何通过合理的调整&#xff0c;将home分区中多…

《剑指 Offer》专项突破版 - 面试题 111 : 计算除法(C++ 实现)

题目链接&#xff1a;计算除法 题目&#xff1a; 输入两个数组 equations 和 values&#xff0c;其中&#xff0c;数组 equations 的每个元素包含两个表示变量名的字符串&#xff0c;数组 values 的每个元素是一个浮点数值。如果 equations[i] 的两个变量名分别是 和 &#…

接口测试——postman

一.下载与安装 https://www.getPostman.com/ 界面导航说明 二.get请求 第一个get请求 批量执行接口请求&#xff1a; 1. 右击run collection 2. 会出现runner标签页 携带参数的GET请求 所谓的查询参数&#xff0c;其实就是URL地址中问号&#xff08;?&#xff09;后面的部分…

易基因: MeRIP-seq揭示lncRNA甲基化通过lncRNA-miRNA/蛋白质轴抑制胃癌干细胞凋亡|文献解读

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 癌症一直是生物学研究的热门话题。关于癌症起源&#xff0c;一种主流观点是癌症干细胞&#xff08;Cancer Stem Cell&#xff0c;CSC&#xff09;的无限增殖。CSC是肿瘤内肿瘤细胞的一个…

textview允许长文本下滑

原本是用scroview textview的&#xff0c;结果长文本的时候&#xff0c;textview会把文本内容截断&#xff1b; 后面在网上找到直接使用textview就能解决长文本问题&#xff0c; 关键代码还是这两个 android:scrollbars“vertical” tv_message_message.setMovementMethod(…

5.HC-05蓝牙模块

配置蓝牙模块 注意需要将蓝牙模块接5v,实测接3.3v好像不太好使的样子 首先需要把蓝牙模块通过TTL串口模块接到我们的电脑,然后打开我们的串口助手 注意,我们现在是配置蓝牙模块,所以需要进入AT模式,需要按着蓝牙模块上的黑色小按钮再上电,这时候模块上的LED灯以一秒慢闪一次…

大数据平台搭建2024(三)

三&#xff1a;HBase安装 提前上传hbase安装包至虚拟机 1 上传、解压 tar -zxvf hbase-2.0.0-alpha2-bin.tar.gz -C /hadoop2 修改配置文件 在/hadoop/hbase-2.0.0-alpha2-bin/conf文件夹里 vi /hadoop/hbase-2.0.0-alpha2/conf/hbase-env.sh修改hbase-env.sh文件 export…

错误分析 (Machine Learning研习十九)

错误分析 您将探索数据准备选项&#xff0c;尝试多个模型&#xff0c;筛选出最佳模型&#xff0c;使用 Grid SearchCV微调其超参数&#xff0c;并尽可能实现自动化。在此&#xff0c;我们假设您已经找到了一个有前途的模型&#xff0c;并希望找到改进它的方法。其中一种方法就…

基于java+springboot+vue实现的健身俱乐部系统(文末源码+Lw+ppt)23-49

摘 要 随着社会的发展&#xff0c;健身俱乐部的管理形势越来越严峻。越来越多的用户利用互联网获得信息&#xff0c;健身信息鱼龙混杂&#xff0c;信息真假难以辨别。为了方便用户更好的获得本健身俱乐部管理信息&#xff0c;因此&#xff0c;设计一种安全高效的健身俱乐部网…