用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编写一个简单的聊天机器人

《利用Python编写一个简单的聊天机器人》这篇文章主要为大家详细介绍了如何利用Python编写一个简单的聊天机器人,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 使用 python 编写一个简单的聊天机器人可以从最基础的逻辑开始,然后逐步加入更复杂的功能。这里我们将先实现一个简单的

使用SQL语言查询多个Excel表格的操作方法

《使用SQL语言查询多个Excel表格的操作方法》本文介绍了如何使用SQL语言查询多个Excel表格,通过将所有Excel表格放入一个.xlsx文件中,并使用pandas和pandasql库进行读取和... 目录如何用SQL语言查询多个Excel表格如何使用sql查询excel内容1. 简介2. 实现思路3

C#中图片如何自适应pictureBox大小

《C#中图片如何自适应pictureBox大小》文章描述了如何在C#中实现图片自适应pictureBox大小,并展示修改前后的效果,修改步骤包括两步,作者分享了个人经验,希望对大家有所帮助... 目录C#图片自适应pictureBox大小编程修改步骤总结C#图片自适应pictureBox大小上图中“z轴

使用Python将长图片分割为若干张小图片

《使用Python将长图片分割为若干张小图片》这篇文章主要为大家详细介绍了如何使用Python将长图片分割为若干张小图片,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果1. Python需求

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

使用PyQt5编写一个简单的取色器

《使用PyQt5编写一个简单的取色器》:本文主要介绍PyQt5搭建的一个取色器,一共写了两款应用,一款使用快捷键捕获鼠标附近图像的RGB和16进制颜色编码,一款跟随鼠标刷新图像的RGB和16... 目录取色器1取色器2PyQt5搭建的一个取色器,一共写了两款应用,一款使用快捷键捕获鼠标附近图像的RGB和16

四种简单方法 轻松进入电脑主板 BIOS 或 UEFI 固件设置

《四种简单方法轻松进入电脑主板BIOS或UEFI固件设置》设置BIOS/UEFI是计算机维护和管理中的一项重要任务,它允许用户配置计算机的启动选项、硬件设置和其他关键参数,该怎么进入呢?下面... 随着计算机技术的发展,大多数主流 PC 和笔记本已经从传统 BIOS 转向了 UEFI 固件。很多时候,我们也

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

使用 Python 和 LabelMe 实现图片验证码的自动标注功能

《使用Python和LabelMe实现图片验证码的自动标注功能》文章介绍了如何使用Python和LabelMe自动标注图片验证码,主要步骤包括图像预处理、OCR识别和生成标注文件,通过结合Pa... 目录使用 python 和 LabelMe 实现图片验证码的自动标注环境准备必备工具安装依赖实现自动标注核心

MyBatis框架实现一个简单的数据查询操作

《MyBatis框架实现一个简单的数据查询操作》本文介绍了MyBatis框架下进行数据查询操作的详细步骤,括创建实体类、编写SQL标签、配置Mapper、开启驼峰命名映射以及执行SQL语句等,感兴趣的... 基于在前面几章我们已经学习了对MyBATis进行环境配置,并利用SqlSessionFactory核