用Latex写论文时如何简单方便地插入图片、表格和公式

2024-08-26 14:32

本文主要是介绍用Latex写论文时如何简单方便地插入图片、表格和公式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

使用Latex写论文,最大的优点主要有两个:1)可以利用代码方便地编辑公式;2)插入图表、公式不需要自己费心思排版,可以避免word插入图片的各种格式问题,另外也可以像word一样,无需手动对图表和公式编号。第一个优点自不必说,我们平常使用Markdown写博客的时候,也会直接利用Latex语法编辑公式。下面主要介绍Latex的第二个优点。

一、插入图片

在这一部分,需要导入两个宏包:\usepackage{graphicx}\usepackage{subfigure}。前者用于插入单张图片,后者用于插入子图。

1、插入单张图片
\begin{figure}[htb!]
\vspace{-2mm}  %设置与上文的水平间距。
\begin{center}
\includegraphics[width=150mm]{fig.eps} %width=**mm:设置图片宽度(高度等比例缩放),fig.eps:插入图片的名字(可以插入.png,.jpg,.pdf等格式)
\figurecaption{这里是图注} %图注
\label{figure1}  %这就是图片名字,用来在正文中引用图片
\end{center}
\vspace{-5mm}  %设置与上文的水平间距。
\end{figure}

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

2、插入多张图片,多行多列排列
\begin{figure}[htb!]
%\vspace{-2mm}
\begin{center}
\setlength{\abovecaptionskip}{0pt}\subfigure[子图图注1]{
\includegraphics[width=70mm]{fig1.pdf}
%\caption{fig1}
}
\quad
\hspace{-7mm}
\subfigure[子图图注2]{
\includegraphics[width=70mm]{fig2.pdf}
}
\quad
\subfigure[子图图注3]{
\includegraphics[width=70mm]{fig3.pdf}
}
\quad
\hspace{-7mm}
\subfigure[子图图注4]{
\includegraphics[width=70mm]{fig4.pdf}
}
\figurecaption{这里是整体图注}
\label{figure2}
\end{center}
%\vspace{-5mm}
\end{figure}

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

二、插入表格

1、常用的三线表
\begin{table}
\tabcolsep 0pt
\caption{表格标题}  %这里写表格标题
\label{table1}  %表格名字,用于正文中引用表格
\begin{center}
\def\temptablewidth{1\textwidth}
{\rule{\temptablewidth}{1pt}}
\begin{tabular*}{\temptablewidth}{@{\extracolsep{\fill}}cccc}
& \textbf{表头1} & \textbf{表头2} &  \\   \hline   %\textbf{表头三} &
& a & 77.54\% &  \\
& b & 72.71\% &  \\
&c & 90.27\%  & \\
& d & 88.23\% &  \\
\end{tabular*}
{\rule{\temptablewidth}{1pt}}
\end{center}
\end{table}

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

2、内含合并单元格的表格

在上述三线表使用的过程中,发现如果合并单元格之后,会出现排版错乱,文字不居中等问题,这里找到了另一个种可以手动调整大小的表格。

当然,在合并表格单元格之前,需要导入一个latex包:\usepackage{multirow}

接下来是表格模板:

\begin{table}
%\tabcolsep 0pt
\caption{复杂的表}
%\vspace*{0pt}
\begin{center}
\def\temptablewidth{1\textwidth}
{\rule{\temptablewidth}{1pt}}
\setlength{\tabcolsep}{4mm}
%\begin{tabular*}{\temptablewidth}{@{\extracolsep{\fill}}c|c|c|c|c|c}
\begin{tabular}{c|c|c|c|c|c}
\multirow{2}{*}{\textbf{表头2}} & \multirow{2}{*}{\textbf{表头3}} &\multicolumn{2}{c|}{\textbf{表头4}}&\multicolumn{2}{c}{\textbf{表头5}}  \\  \cline{3-6}
&& P & R  & P & R  \\\hline4 & 32 & 99\% & 99\% & 99\% & 96\% \\\hline6 & 18 & 99\% & 98\% & 99\% & 95\% \\\hline7 & 18 & 99\% & 98\% & 99\% & 95\% \\\hline9 & 11 & 99\% & 98\% & 99\% & 93\%  \\
\end{tabular}
{\rule{\temptablewidth}{1pt}}
\end{center}
\label{table2}
\end{table}

在上述模板中,\setlength{\tabcolsep}{4mm}这条语句可以调整表格的整体宽度,\multirow{n}{*}{内容}代表纵向合并单元格,\multicolumn{n}{c}{内容}代表横向合并单元格,n为合并单元格的行数或列数 。

显示效果如下,可以根据自己的具体情况进行调整:
在这里插入图片描述

三、插入公式

\begin{align}
\label{eq1}CReLU(x) = [ReLU(x),ReLU(-x)]  ,
\end{align}

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

四、图片和表格的引用

对于插入的图表,我们只需要给图表起一个名字,然后利用代码:\ref{图表名} 引用对应的图表即可,在排版的时候latex会自动给图表排序。比如,我们把以上描述的图和表在正文里引用:

插入单个图如图\ref{figure1}所示,插入多行多列图如图\ref{figure2}所示,插入普通三线表如表\ref{table1}所示,插入复杂的表格如表\ref{table2}所示,插入公式如\ref{eq1}所示。

注意,这里需要运行两遍代码才能正常显示图片的编号。

显示效果如下:

在这里插入图片描述

五、总结

学习Latex,没必要从零开始,学会每个代码的含义再用,有时甚至不需要纠结每一行代码的含义,最好的方式就是网上搜索到实现具体功能的代码,然后放在ctex编译器里慢慢调整。对于复杂的功能尤其如此。

比如我需要一个表格,直接搜索三线表的Latex代码,然后慢慢调整成自己需要的大小。

所以,本文以模板的形式提供了图和表的编辑代码,便于自己和他人复制使用。

六、附:Latex的一些基本代码

  1. \vspace*{0pt}\hspace*{0pt}:分别是调整内容的水平间距和垂直间距的。适用于图片、图表、文本等所有内容。
  2. \textbf{加粗文字}:把大括号里的文字加粗。

扩展阅读

  1. Latex中插入多张图片,实现并排排列或者多行多列排列

这篇关于用Latex写论文时如何简单方便地插入图片、表格和公式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1108833

相关文章

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

详解C#如何提取PDF文档中的图片

《详解C#如何提取PDF文档中的图片》提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使用,下面我们就来看看如何使用C#通过代码从PDF文档中提取图片吧... 当 PDF 文件中包含有价值的图片,如艺术画作、设计素材、报告图表等,提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

Mysql表的简单操作(基本技能)

《Mysql表的简单操作(基本技能)》在数据库中,表的操作主要包括表的创建、查看、修改、删除等,了解如何操作这些表是数据库管理和开发的基本技能,本文给大家介绍Mysql表的简单操作,感兴趣的朋友一起看... 目录3.1 创建表 3.2 查看表结构3.3 修改表3.4 实践案例:修改表在数据库中,表的操作主要

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

如何使用Python实现一个简单的window任务管理器

《如何使用Python实现一个简单的window任务管理器》这篇文章主要为大家详细介绍了如何使用Python实现一个简单的window任务管理器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起... 任务管理器效果图完整代码import tkinter as tkfrom tkinter i

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程