LaTeX中表格过宽解决方案

news2024/9/25 9:35:01

最近使用LaTeX处理表格时遇到了一件十分棘手的问题,由于内容较多将表格分成了好多列,但将内容填入表格时由于表格宽度过大,导致表格右边溢出了页面无法查看,查阅大量资料与博文后给出如下解决方案,全文代码已部署在OverLeaf在线编辑器,可一键运行查看结果,链接见文末。

文献综述表格截图
上图为一篇文章中的表格样式,希望以此为模版进行表格格式的复现,但在此过程中遇到了许多问题。

问题一:表格宽度过大,导致表格右侧部门显示不全

在这里插入图片描述
通过上图可以发现由于表格中部分列的内容过多导致表格整体宽度过大,右侧部分显示不全。

%原始表格
\begin{table}[htbp]
\centering
\caption{} %caption放在上面,标题就放在上面,否则就放在下面


\begin{tabular}{ccclclcl} %控制的是表格的对齐方式,但是最终的格式取决于最后的设置

   \toprule
    Ref & Aggr.levels & Lead times & Input Variables &Feature engineering & Models & Augmentation strategies & Target variabels \\
   
   \midrule
   22 & IIES & Short-term & Historical loads; weather factors; calendar information; & - & FNNs; ARMA & - & Multiple loads(electricity,heat and cooling) \\
   \bottomrule
\end{tabular}
\label{table:1}
\end{table}

解决方案:resizebox命令

%Table2
\begin{table}[htbp]
\centering
\caption{} %caption放在上面,标题就放在上面,否则就放在下面

\resizebox{\linewidth}{!}{
\begin{tabular}{ccclclcl} %控制的是表格的对齐方式,但是最终的格式取决于最后的设置

   \toprule
    Ref & Aggr.levels & Lead times & Input Variables &Feature engineering & Models & Augmentation strategies & Target variabels \\
   
   \midrule
   22 & IIES & Short-term & Historical loads; weather factors; calendar information; & - & FNNs; ARMA & - & Multiple loads(electricity,heat and cooling) \\
   \bottomrule
\end{tabular}
}

改进后的表格:

在这里插入图片描述
可以看到,通过使用resizebox命令将表格整体的宽度限制在了一个linewidth, 避免了表格宽度过大导致的内容溢出。

问题二:表格字体较小,可读性降低

虽然可以使用resizebox对表格宽度进行控制,但同时也产生了一个问题,那就是表格宽度的缩小是以牺牲字体大小作为代价的,这就导致了表格可读性降低。此时便需要利用makecell命令进一步美化表格。
解决方案:makecell命令

%表格三
\begin{table}[htbp]
\centering
\caption{} %caption放在上面,标题就放在上面,否则就放在下面

\resizebox{\linewidth}{!}{
\begin{tabular}{ccclclcl} %控制的是表格的对齐方式,但是最终的格式取决于最后的设置

   \toprule
    Ref & {\makecell[c]{Aggr.\\levels}} & {\makecell[c]{Lead \\times}} & Input Variables & {\makecell[c]{Feature \\engineering}} & Models & {\makecell[c]{Augmentation\\ strategies}} & Target variabels \\
   
   \midrule
   22 & IIES & {\makecell[c]{Short-\\term}} & {\makecell[l]{Historical loads; weather factors; \\calendar information}}  & - & FNNs; ARMA & - & {\makecell[l]{Multiple loads(electricity,heat and \\cooling)}} \\
   \bottomrule
\end{tabular}
}
\label{table:1}
\end{table}

改进后的表格:
在这里插入图片描述
此时可以看到经过处理后的表格样式和文献中的表格近乎接近,完美😊。

LaTeX表格知识点

  • \caption命令放在\begin{tabular}之前,则表格的标题会在表格上方出现。放在\end{tabular}之后则标题会出现在表格下方
  • 将表格对齐方式中的c可以换成p{2cm}控制列的宽度。

本文代码复现网址:

OverLeaf代码复现

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C#基础练习题,编程题汇总

C#基础练习题,编程题汇总一、C#提取输入的最大整数二、秒数换算为相应的时、分、秒三、C#计算电梯运行用时demo四、C#用一维数组求解问题五、C#程序教小学生学乘法六、C#winfrm简单例题七、C#类继承习题八、C#绘图例子一、C#提取输入的最大整数 编程实现在一行内输…

分布式任务调度(XXL-JOB)

什么是分布式任务调度? 任务调度顾名思义,就是对任务的调度,它是指系统为了完成特定业务,基于给定时间点,给定时间间隔或者给定执行次数自动执行任务。通常任务调度的程序是集成在应用中的,比如&#xff1a…

[译]PostgreSQL16-新特性-新增IO统计视图:pg_stat_io

PostgreSQL16-新特性-新增IO统计视图:pg_stat_io我们DBA常遇到的问题是:如何优化数据库的IO操作?获取PG服务产生的所有IO情况历来都是一个挑战。首先,PG将IO行为范围内为写WAL和读写数据目录(也就是数据文件)。真正的挑战是&#…

解决实际项目中stalled时间过久的问题

背景 在公司参与了一个做度量统计的项目,该项目的特点是页面上的表格、卡片、图标非常多。项目经常出现一种情况:页面加载速度较慢,开始怀疑是由于计算量较大,后端接口相应速度较慢。优化了一版后端接口后(加缓存、优…

方法区和元空间有什么关系?

一.什么是方法区? 方法区属于是 JVM 运行时数据区域的一块逻辑区域,是各个线程共享的内存区域。 《Java 虚拟机规范》只是规定了有方法区这么个概念和它的作用,方法区到底要如何实现那就是虚拟机自己要考虑的事情了。也就是说,在…

电子技术——分析放大器的高频响应的有用工具

电子技术——分析放大器的高频响应的有用工具 在前几章我们使用米勒效应估计了CS和CE放大器模型的高频响应 fHf_HfH​ ,以及分析了其限制和影响因素。然而,这个方法不能有效的处理负载是容性负载 CLC_LCL​ 的情况。同时,这个方法不能扩展到更…

【FPGA】Verilog:实现十六进制七段数码管显示 | 7-Segment Display

写在前面:本章主要内容为理解七点数码管显示的概念,并使用 Verilog 实现。生成输入信号后通过仿真确认各门的动作,通过 FPGA 检查在 Verilog 中实现的电路的操作。 Ⅰ. 前置知识 七段数码管是利用多重输出功能的非常有用的元件。该元件用于字…

spring+springboot+mybatis志愿者报名系统 ssm java

本盐城疫情防控志愿者报名系统以SSM作为框架,B/S模式以及MySql作为后台运行的数据库。本系统主要包括以下功能模块:防疫视频、优秀事迹、报名条件、在线报名等模块,通过这些模块的实现能够基本满足日常盐城疫情防控的操作。 根据盐城疫情防控…

基于微信小程序的中国各地美食推荐平台小程序

文末联系获取源码 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.…

【js】export default也在影响项目性能呢

这里写目录标题介绍先说结论分析解决介绍 无意间看到一个关于export与exprot default对比的话题, 于是对二者关于性能方面,有了想法,二者的区别,仅仅是在于写法吗? 于是,有了下面的测试。 先说结论 太长…

.NET3.5安装步骤及相关问题。

.NET3.5全称 Microsoft.NETFramework3.5 最新版本-.NET4.8 第一步打开控制面板 windows系统打开控制面板 选择程序 选择.NET3.5安装。 可能会出现问题。 解决方案: 报错代码80240438的常用解决办法: 方法一:检测windows update servic…

【NLP实战】Python字符串处理

一、Python字符串基本操作 1. 去掉前后的特殊字符(strip) Python的strip操作可以去除字符串前后的空格(不改变原串)下例将前后的空格均删掉👇 str 人工智能 str.strip() # OUT:人工智能rstrip删除右边的空格&a…

linux016之安装JDK

linux上安装JDK: 一:首先检查一下linux上是否已经安装有jdk rpm -qa | grep jdk :查询目前系统已安装的jdk,直接复制该命令执行,如下图就是系统已经安装好的JDK rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps &…

线段树(维护区间信息)

一,定义: 可以在logN时间内实现区间修改,单点修改,区间查询等操作的工具 二,思路(修改无乘法时): 1,建树 通过把区间不断二分建立一颗二叉树 我们以维护一个数组a{1…

流程引擎之compileflow简介

背景compileflow 是一个非常轻量、高性能、可集成、可扩展的流程引擎。compileflow Process 引擎是淘宝工作流 TBBPM 引擎之一,是专注于纯内存执行,无状态的流程引擎,通过将流程文件转换生成 java 代码编译执行,简洁高效。当前是阿…

JVM内存布局

JVM的主要组成:JVM包含俩个子系统和俩个组件,俩个子系统为Class loader(类装载)、Execution engine(执行引擎);俩个组件为Runtime data area(运行时数据区)、Native Inte…

认证全家桶(Cookie、Session、Token、JWT)

什么是认证(Authentication) 通俗地讲就是验证当前用户的身份,证明“你是你自己”(比如:你每天上下班打卡,都需要通过指纹打卡,当你的指纹和系统里录入的指纹相匹配时,就打卡成功)互联网中的认…

independentsoft.de/MSG .NET Framework Crack

MSG .NET 是用于 .NET Framework / .NET Core 的 Microsoft Outlook .msg 文件 API。API 允许您轻松创建/读取/解析/转换 .msg 文件等。API 不需要在机器上安装 Microsoft Outlook 或任何其他第三方应用程序或库即可工作。 以下示例向您展示了如何打开现有文件并显示消息的某些…

sklearn学习-线性回归大家族

文章目录一、多元线性回归二、回归类的评估指标三、多重共线性:岭回归和Lasso四、Lasso选取最佳的正则化参数取值总结一、多元线性回归 二、回归类的评估指标 三、多重共线性:岭回归和Lasso 多重共线性 Multicollinearity 与 相关性 Correlation: 多重共…

达梦8共享存储集群DSC

简介: DM 共享存储数据库集群的英文全称 DM Data Shared Cluster,简称 DMDSC。 熟悉Oracle的朋友会知道目前国产数据库只有达梦数据库有共享存储集群架构,Oracle通过私网进行不同节点之间的缓存融合,而达梦通过自己的MAL系统&…