LaTeX-设置表格大小

文章目录

  • LaTeX-设置表格大小
    • 1.创建表格
    • 2.设置表格的宽度
      • 2.1控制表格每一列的宽度
      • 2.2控制整个表格的宽度
    • 3.设置表格的外观
    • 4.LaTeX绘制三线表

LaTeX-设置表格大小

本文介绍了LaTeX如何设置表格的大小、改变表格的外观以及如何绘制三线表。

1.创建表格

在LaTeX中创建表很耗时,因此建议使用TablesGenerator.com在线工具为表导出LaTeX代码。

下面是用LaTeX代码创建一个表的示例:

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

tabular环境是LaTeX中创建表格的默认方法。您必须为这个环境指定一个参数;在这里我们使用{c c c},这告诉LaTeX有三列,并且每一列中的文本都必须居中对齐。

tabular环境提供了额外的灵活性;例如,可以在每列之间放置分隔线。您可以通过在列参数中加入|符号来实现这一点,比如{c|c|c}表示有三列,每列之间都有垂直分隔线。如果想在表格顶部和底部添加水平分隔线,可以在tabular环境的开始和结束处使用\hline命令。

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

image-20240301175239975

这里是上述示例中使用的构造的描述:

  • { |c|c|c| }:这声明了一个表格将使用三列,每列之间由一条垂直线分隔。每个c表示列中的内容将被居中对齐。您也可以使用r来使文本右对齐,使用l来使文本左对齐。
  • \hline:这将在表格顶部和底部插入一条水平线。您可以多次使用\hline,没有限制。
  • cell1 & cell2 & cell3 \\:每个&是一个单元格分隔符,双反斜杠\\设置了此行的结束。

2.设置表格的宽度

2.1控制表格每一列的宽度

当格式化表格时,可能需要为每列或整个表格设置固定宽度。下面的例子在文档导言区添加了array包:\usepackage{array}并使用它来设置固定的列宽度。

在这种情况下,可以使用像p{width}这样的列类型来定义固定宽度的列,其中width是你希望该列具有的宽度。例如,如果您希望有三列,每列宽度分别为2cm、3cm和4cm,您可以在tabular环境中这样指定列格式:

\begin{tabular}{|p{2cm}|p{3cm}|p{4cm}|}
...
\end{tabular}

这样,每列就会有指定的固定宽度,文本如果超过列宽会自动换行。这对于创建需要精确对齐的复杂表格特别有用。


\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 \\ [1ex]
  \hline
  cell1 dummy text dummy text dummy text & cell5 & cell6 \\
  \hline
  cell7 & cell8 & cell9 \\ [3cm]
  \hline
\end{tabular}
\end{center}
\end{document}

tabular环境中,参数m{5em}为第一列设置了5em的宽度(其他两列为1cm),并将文本居中于单元格中间。对齐选项有m代表中间,p代表顶部,b代表底部。使用这些参数时,文本会自动格式化以适应每个单元格内部。

[3cm]为单元格增加了额外的空间。

image-20240301182515335

2.2控制整个表格的宽度

如果不需要控制每个单元格的宽度,而是需要控制整个表格的宽度,并且然后均匀分配内部空间,那么使用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}

tabularx环境类似于tabular,但更加灵活。要使用它,请在文档导言区添加行\usepackage{tabularx}。注意,环境开头声明是不同的,在示例中表格宽度被设置为0.8\textwidth,即文档文本宽度的80%。可以使用任何LaTeX单位来设置该值。

大括号内的前缀| >{\raggedright\arraybackslash}X | >{\centering\arraybackslash}X | >{\raggedleft\arraybackslash}X |设置了每列的对齐方式:第一列向左对齐,第二列居中对齐,第三列向右对齐。

3.设置表格的外观

有时可以通过增加列间距和行长度来提高表的美观性。

\documentclass{article}
\setlength{\arrayrulewidth}{0.5mm}
\setlength{\tabcolsep}{18pt}
\renewcommand{\arraystretch}{1.5}
\begin{document}
\begin{tabular}{ p{3cm} p{3cm} p{3cm}  }
\hline
\multicolumn{3}{c}{Country List} \\
\hline
Country Name or Area Name& ISO ALPHA 2 Code &ISO ALPHA 3 \\

Afghanistan & AF &AFG \\
Aland Islands & AX   & ALA \\
Albania &AL & ALB \\
Algeria    &DZ & DZA \\
American Samoa & AS & ASM \\
Andorra & AD & AND   \\
Angola & AO & AGO \\
\hline
\end{tabular}
\end{document}

以下是对命令的描述:

  • \setlength{\arrayrulewidth}{0.5mm}:这设置了表格边框的厚度为0.5mm。
  • \setlength{\tabcolsep}{18pt}:此命令设置了文本与其包含单元格的左/右边框之间的空间为18pt。
  • \renewcommand{\arraystretch}{1.5}:每行的高度被设置为其默认高度的1.5倍。
缩写描述
pt约等于1/72.27英寸,大约0.0138英寸或0.3515毫米。精确定义为美国打印师脚的1/864,即英尺的249/250。
mm毫米一毫米。
cm厘米一厘米。
in英寸一英寸。
ex大致等于当前字体中小写x的高度(取决于使用的字体)。
em大致等于当前字体中大写M的宽度(取决于使用的字体)。
mu数学单位等于1/18 em,其中em是从数学符号族中取得。
sp特殊点一种低级测量单位,其中65536sp=1pt。

image-20240301184458063

在overleaf中打开查看示例程序

4.LaTeX绘制三线表

% !TeX program = xelatex
\documentclass{article}
\usepackage{booktabs} % 引入booktabs包以使用增强的表格线命令
\usepackage{ctex} % 引入ctex宏包才可以显示中文,以及代码中的第一行

\begin{document}

\begin{table}[htbp]
\centering % 表格居中
\caption{示例三线表} % 表格标题
\label{tab:example} % 表格引用标签
\begin{tabular}{ccc} % 三列都居中对齐
\toprule % 顶部粗线
列标题1 & 列标题2 & 列标题3 \\
\midrule % 中间细线
数据1 & 数据2 & 数据3 \\
数据4 & 数据5 & 数据6 \\
\bottomrule % 底部粗线
\end{tabular}
\end{table}

\end{document}

image-20240301191802833

在这个示例中,\usepackage{booktabs}引入了booktabs包,它提供了\toprule\midrule\bottomrule命令来分别绘制顶部、中间和底部的线条,使得表格具有更好的视觉效果和更清晰的层次结构。表格的标题使用\caption命令设置,而\label命令用于之后引用表格。表格环境开始于\begin{table},结束于\end{table},而实际的表格内容则位于\begin{tabular}\end{tabular}之间。

😃😃😃

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

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

相关文章

RocketMQ学习笔记一

课程来源:002-MQ简介_哔哩哔哩_bilibili (尚硅谷老雷,时长19h) 第1章 RocketMQ概述 1. MQ是什么? 2. MQ用途有哪些? 限流削峰;异步解耦;数据收集。 3. 常见MQ产品有哪些&对比…

10-Java装饰器模式 ( Decorator Pattern )

Java装饰器模式 摘要实现范例 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构 装饰器模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供…

测试/测试开发八股——找大厂测试实习基础篇

第一部分:基础概念 1. 软件测试是什么? 在规定的条件下对一个产品或者程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。 软件测试工程师的任务 2. 软件测试工程师的任务 软件测试工程师主要工作是检查软件是否有bug、是否具有稳定…

【深度学习笔记】计算机视觉——图像增广

图像增广 sec_alexnet提到过大型数据集是成功应用深度神经网络的先决条件。 图像增广在对训练图像进行一系列的随机变化之后,生成相似但不同的训练样本,从而扩大了训练集的规模。 此外,应用图像增广的原因是,随机改变训练样本可以…

Spring对IoC的实现

个人名片: 🐼作者简介:一名大三在校生,喜欢AI编程🎋 🐻‍❄️个人主页🥇:落798. 🐼个人WeChat:hmmwx53 🕊️系列专栏:🖼️…

GO-并发

1. 并发 有人把Go语言比作 21 世纪的C语言,第一是因为Go语言设计简单,第二则是因为 21 世纪最重要的就是并发程序设计,而 Go 从语言层面就支持并发。同时实现了自动垃圾回收机制。 先来了解一些概念: 进程/线程 进程是程序在操…

Bootstrap的使用

目录 js的引入: 1.行内式 2.嵌入式 3.外链式 Bootstrap:的引入 注意事项: 条件注释语句: 栅格系统: 列嵌套: 列偏移: 列排序: 响应式工具: Bootstrap的字体图标的使用&a…

探讨苹果 Vision Pro 的 AI 数字人形象问题

Personas 的设计模糊性: 部分人认为这种模糊设计可能是出于安全考虑🛡️。安全角度:Personas 代表着你的 AI 数字形象,在创建时,它相当于你的 AVP(生物识别扫描器的存在增加了冒充的难度)。如果…

mysql服务治理

一、性能监控指标和解决方案 1.QPS 一台 MySQL 数据库,大致处理能力的极限是,每秒一万条左右的简单 SQL,这里的“简单 SQL”,指的是类似于主键查询这种不需要遍历很多条记录的 SQL。 根据服务器的配置高低,可能低端…

Java ZooKeeper-RocketMQ 面试题

Java ZooKeeper-RocketMQ 面试题 前言1、谈谈你对ZooKeeper的理解 ?2、Zookeeper的工作原理(Zab协议)3、谈谈你对分布式锁的理解,以及分布式锁的实现?4、 zookeeper 是如何保证事务的顺序一致性的?5、 zook…

使用lnmp环境部署laravel框架需要注意的点

1,上传项目文件后,需要chmod -R 777 storage授予文件权限,不然会报错file_put_contents(/): failed to open stream: Permission denied。 如果后面还是报错没有权限的话,就执行ps -ef |grep php查询php运行用户。然后执行chown …

STM32-ADC一步到位学习手册

1.按部就班陈述概念 ADC 是 Analog-to-Digital Converter 的缩写,指的是模拟/数字转换器。它将连续变量的模拟信号转换为离散的数字信号。在 STM32 中,ADC 具有高达 12 位的转换精度,有多达 18 个测量通道,其中 16 个为外部通道&…

小朋友来自多少小区 - 华为OD统一考试(C卷)

OD统一考试(C卷) 分值: 100分 题解: Java / Python / C 题目描述 幼儿园组织活动,老师布置了一个任务: 每个小朋友去了解与自己同一个小区的小朋友还有几个。 我们将这些数量汇总到数组 garden 中。 请…

gofly框架接口入参验证使用介绍

接口传入的参数做相关性质验证是开发中较为常用,gofly框架内置校验工具,提供开发效率,开发接口简单调用即可实现验证,下面介绍gofly框架数据验证设计思路及使用方法。 gofly框架提供了功能强大、使用便捷、灵活易扩展的数据/表单…

jupyter调用envs环境——jupyter内核配置虚拟环境

1.jupyter无法使用envs环境 pycharm的终端打开jupyter notebook: 在kernel下找不到上面的Pytorch_GPU环境: 2.解决方法 在对应的envs环境中安装ipykernel: 将该环境写入jupyter: python -m ipykernel install --user --name Py…

蓝桥杯前端Web赛道-自适应页面

蓝桥杯前端Web赛道-自适应页面 题目链接:1.自适应页面 - 蓝桥云课 (lanqiao.cn) 先看题目要求: 简单的来说就是需要完成上面规定的布局和要求当800px及以下的时候要显示移动端布局来完成下面gif的效果,那么我们先一步一步来 首先想到的就…

逻辑漏洞(pikachu)

#水平,垂直越权,未授权访问 通过个更换某个id之类的身份标识,从而使A账号获取(修改、删除)B账号数据 使用低权限身份的账号,发送高权限账号才能有的请求,获得其高权限操作 通过删除请求中的认…

SpringCloud微服务技术栈-什么是Docker?怎么安装Docker?

初识Docker以及常见技术及其概念概述 1、项目部署存在的问题 大型项目组件较多,运行环境也较为复杂,部署时会碰到一些问题: 依赖关系复杂,容易出现兼容性问题 开发、测试、生产环境有差异 Docker如何解决大型项目依赖关系复杂&#xff0…

面试高频率问答题目

索引: 主键索引:表的id (唯一 且 不能为空) 唯一索引:表User 假设有account 字段 ,用户名不重复 (唯一 可以为空) 复合索引:where() 的条件 用户名,密码 …

判断点是否在多边形内

std::vector<cv::Point2d> vanCorner_;bool inArea(const Pose &pos) {cv::Point2d point cv::Point2d(pos.position.x(), pos.position.y());double distance cv::pointPolygonTest(vanCorner_, point, false);return distance > 0; } 似乎效果不太好,会误报 …