LaTex入门简明教程

news2024/9/27 15:25:48

文章目录

  • 写在前面
  • 安装
    • Texlive的安装
    • TeXstudio 的安装
  • LaTex 的使用
    • 节指令
    • 图指令
    • 表指令
    • 公式指令
    • 参考文献指令
    • 引用指令
    • TeXstudio 编译
  • LaTex 的 `\label{}` 写法建议
  • 最后

写在前面

这篇文章面向没有任何 LaTex 基础的小白,主要讲解了 LaTex 的安装和使用。读完文章之后,已经具备基础的 LaTex 文档编写能力,可以使用 LaTex 进行写作。

刚开始上研究生的时候,写论文和文档用的是 Word。后来第一次写小论文的时候,接触了 LaTex ,学会了用 LaTex 写论文,于是发现了 LaTex 的好。

比起 Word来, LaTex 实在好用太多。

比如说写一本百来页的学位论文,页码、标题编号、图编号、表编号、公式编号、文献引用等等,都是一件十分十分繁杂的事情。特别容易出现察觉不到但又无从解决的问题。

有的同学可能觉得既然难办,那就不办咯。

于是选择纯手工敲 Word。

导致整个 Word里,标题数字是自己手打上去的,图编号是自己手打上去的,表编号是自己手打上去的,公式编号说不定也是自己打上去的,说不定还在头痛怎么把数学公式居中,公式编号放在最左边呢。

也有可能100多篇文献的引用也是自己手敲上的。

内心十分佩服这样的新世纪勇士。

但是有没有想过一个这样的问题:

假如你引用了100篇参考文献,突然!!!中间的第42篇文献你不需要了,在正文里把这篇文献删掉,那么后面的文献是不是需要把所有的文献序号往前提一位?

其实这个时候还好,因为只删了一篇文献,还算有一些规律。

但要是删掉好几篇文献呢?这个时候序号就完全乱掉了,要是再重新把文献序号改成正常的顺序,是一件让人头皮发麻的事情。

不过我承认,多花一些时间,是可以整出来的。

但是,为什么要花那么多时间来整这样没有意义的事情呢?能不能用一些更快的方式呢?关于Word的使用教程,我在前面的文章里面已经详细介绍过,这里想介绍一种新的文档编写工具。

在这里插入图片描述
LaTex 是一种可以让写作者专注于内容的文档编写手段,它把文档格式和文档内容分开,格式是格式,内容是内容,两者互不干扰。让写作者不用再为乱糟糟的文档格式发愁,只需要专心把文字内容写上去就好了。

至于之前提到的页码、标题编号、图编号、表编号、公式编号、文献引用什么的,统统都不用管。

甚至连目录都只需要一行指令就可以自动生成。

在这里插入图片描述

趣闻:LaTex 的诞生。

计算机领域有一本特别特别著名的书,《计算机编程艺术》。这本书是斯坦福大学的 Donald Knuth 教授计划编写的一系列书籍。Donald Knuth 在写这本书的时候,遇见一个很大的问题——没有一种很好的排版方式来实现他想要达到的效果。于是自己开发了一种编程语言来给自己正在写的书排版,也就是 TeX 语言。

再后来,Leslie Lamport 在已有的 TeX 语言上开发一系列更加易于使用的宏,并将这些宏开源。于是只需要运行一个程序,让 Tex 引擎先读取这个宏,来实现复杂的需求。于是 LaTex 诞生了。

很有意思的出现过程啊。

相当于本来想吃顿红烧肉,于是从养猪这一步开始做起,最后没有想到,猪也被人养得挺好的。

安装

首先要介绍的是 TeX Live 的安装和 TeXstudio 的安装。

在我的理解里,TeX Live 是运行 TeX 文档制作系统的基础语言,而 TeXstudio 是编译 TeX 的工具,那么 LaTex 就是一把使用TeX语言大杀四方的宝刀。

Texlive的安装

进入清华大学开源软件镜像网站,https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/Images/。

在这里插入图片描述

网站里一般会给出最新版本的 Tex Live ,现在是最新的 Tex Live 2023。

年初给自己电脑下载 Tex Live 的时候,还是 Tex Live 2022。

这里建议尽可能地保持自己电脑中的 Tex Live 是比较新的版本。因为有的期刊给的 LaTex 模板里,使用比较老的 Tex Live 版本可能没有办法编译成功。

下载 texlive2023.iso 文件。下载好之后,解压到文件夹中。

在这里插入图片描述

点击 install-tl-windows.bat 安装。

在这里插入图片描述

最好不要更改任何设置,点击安装即可。会出现下面的界面,表示正在安装。

在这里插入图片描述

当出现如下所示的界面时,说明安装完毕,点击退出即可。

在这里插入图片描述

最好再验证一下 Tex Live 是否真的安装成功。

按下 win+R,输入 cmd,出现系统终端界面。再输入 tex -v,出现以下信息,说明安装成功。

在这里插入图片描述

TeXstudio 的安装

安装好 Tex Live 后,需要再安装 Texstudio , Texstudio 是编写 Tex 的工具。其实安装好 Tex Live 后,会自带一个编写工具。但是那个工具实在不好用,基本上没有人会用,现在用得比较多的工具还是 Texstudio 。

进入 Texstudio 官网([https:// Texstudio .sourceforge.net/](https:// Texstudio .sourceforge.net/))点击下载(Download now)即可。

在这里插入图片描述

Texstudio 很简单,一路点击下一步即可安装成功,这里不再赘述。

在这里插入图片描述

安装好之后,打开TeXstudio,界面如下所示。

在这里插入图片描述

这样,TeXstudio 也安装好了。

LaTex 的使用

安装好 Tex Live 和TeXstudio后,就可以开始 LaTex 的编写了。

在这里我用一个期刊的模板作为讲解。因为99%的情况下我们都不用自己写 LaTex 的风格文件,只需要用期刊编写好的风格文件就可以,所以不用担心自己需要从零到有创造一个全新的 LaTex 文件出来。

一般来说,期刊给的 LaTex 模板里包含了投稿所需的所有内容,我们只需要把文字填写进去即可。

这里我用的是出版 Nature 杂志的出版社 Springer 的 LaTex 模板,可以点击这里下载。

好了!下面让我们开始编写 LaTex 。

因为这篇教程是面向小白的文章,所以我只会介绍几种最常用的指令,以免一下子接收太多知识无法消化。

要介绍的指令一共有以下 6 种:

  1. 节指令:\section{}\subsection{}
  2. 图指令:\begin{figure} ... \end{figure}
  3. 表指令:\begin{table} ... \end{table}
  4. 公式指令:\begin{equation} ... \end{equation}
  5. 参考文献指令:\bibliography{}
  6. 引用指令:\cite{}\ref{}\eqref{}

节指令

\section{}\subsection{}是用来生成论文中的“节”。

\section{} 生成的是论文中的某节,比如第1节,第2节,第3节,等等。

\subsection{} 生成的是论文中的某子节,比如第1.1节,第1.2节,第1.3节,等等。

或许还有机会用到 \subsubsection{},生成的是第三级的子节,比如第1.1.1节,第1.1.2节,第1.1.3节,等等。

图指令

通常写法是这样子的:

\begin{figure}[htbp]
	\centering
    \includegraphics[width=0.5\textwidth]{fig.pdf}
    \caption{Some caption}
    \label{fig:your_label}
\end{figrue}

从上往下讲解。

  • \begin{figure} ... \end{figure}代表插入图的框架。
  • [htbp] 表示插入图的位置。现在你不用知道为什么 htbp要全部写上,反正能用就行。
    • h:here,当前位置。
    • t:top,页面顶部。
    • b:bottom,页面底部。
    • p:page,浮动页面。
  • \centering表示插入的图为居中格式。
  • \includegraphics[width=\textwidth]{fig.pdf}表示插入图片。
    • [width=0.5\textwidth]:图宽度是页面宽度的1/2。
    • {fig.pdf}:要插入的图文件,一般与.tex文件放在同一路径。
  • \caption{Some caption}表示图例说明,一定要放在\includegraphics[width=\textwidth]{fig.pdf}的下面
  • \label{fig:your_label}表示图引用标签,为后面引用作准备。

插入图的话,记得在文档最开始插入宏包 \usepackage{graphicx}

表指令

通常写法是这样子的:

\begin{table}[htbp]
	\centering
	\caption{your_caption}
	\label{tab:your_label}
	\begin{tabular}{ccc}
		\toprule
		xxx	& xxx & xxx	\\
		\midrule
		xxx	& xxx & xxx	\\
		\bottomrule
	\end{tabular}
\end{table}

从上往下讲解。

  • \begin{table} ... \end{table}代表插入表的框架。
  • [htbp] 表示插入表的位置,含义已在前面解释过。
  • \centering表示表格居中。
  • \caption{your_caption}\label{tab:your_label}的含义在前面已经解释过,但需要注意的是,这两行代码一定要放在\begin{tabular}{ccc} ... \end{tabular}的前面
  • \begin{tabular}{ccc} ... \end{tabular}表示创建表格环境,表的内容全部写在这里面。
    • {ccc}表示表格有3列,居中格式。
    • \toprule\midrule\bottomrule分别为三线表的上、中、下线。
    • &连接一行之中的各元素,\\表示表格换行。

插入表的话,记得在文档最开始插入宏包 \usepackage{booktabs}

如果不会写表格的话,可以用[在线网站](https://tableconvert.com/zh-cn/ LaTex -generator)编辑表格,把编辑好的表格代码复制进 LaTex 文档中就好了。

在这里插入图片描述

公式指令

通常写法是这样子的:

\begin{equation}
	\label{eq:your_label}
	r=a(1-sinθ)
\end{equation}

上面的公式写出来是这样子。
r = a ( 1 − s i n θ ) r=a(1-sinθ) r=a(1sinθ)
从上往下讲解。

  • \begin{equation} ... \end{equation}代表插入公式的框架。
  • \label{eq:your_label} 为数学公式的标签。
  • r=a(1-sinθ)为想要编写的公式。

插入公式的话,记得在文档最开始插入宏包 \usepackage{amsmath}

你可能会担心,不知道如何写 LaTex 公式怎么办?

没有关系,有在线网站可以解决这个问题。大家可以在网站里面编写好公式,再把代码复制进 LaTex 文档中就好啦。

在这里插入图片描述

参考文献指令

只有一行,很简单,\bibliography{reference}reference代表文件reference.bib,文件名可以随便取。

reference.bib为要引用的参考文献,各期刊网站都会给出论文的bibtex格式,导出的时候选择bibtex即可。

举个例子,我在reference.bib里写入一篇文献。

@article{long2018performance,
  title={Performance analysis for minimally nonlinear irreversible refrigerators at finite cooling power},
  author={Long, Rui and Liu, Zhichun and Liu, Wei},
  journal={Physica A: Statistical Mechanics and its Applications},
  volume={496},
  pages={137--146},
  year={2018},
  publisher={Elsevier}
}

第一行 long2018performance 就是要在正文中引用文献的关键字。

一般来说,使用了\bibliography{reference}作为参考文献的引用方式,还需要另外加上一个参考文献的风格文件,代码是\bibliographystyle{}

另外,这篇论文很浪漫,作者在最后的致谢里向对象求婚了。

在这里插入图片描述

还有另外一种引用参考文献的方式,不过没有 \bibliography{reference} 简洁。所以防止大家吸收知识太多导致脑袋混乱,这里就不再作介绍了。

引用指令

常用的引用指令有 3 种,\cite{}\ref{}\eqref{}

  • \cite{} 为参考文献的引用方式,像前面提到的论文要在正文中引用的话,输入代码 \cite{long2018performance} 即可。
  • \ref{} 通常用于引用打了标签(\label{})的地方,比如说章节号、图号、表号等等。
  • \eqref{} 用于引用公式编号。

TeXstudio 编译

好了!掌握了上面 6 种指令的使用,现在就可以在 TeXstudio 中编译 LaTex 了。

打开 TeXstudio ,再打开 .tex 文件,点击编译。

在这里插入图片描述

点红框那个按钮!其他的不用管。

如果没有报错的话,就可以得到一份全新的文档啦!

在这里插入图片描述

如果没有编译成功,TeXstudio 会在下面的信息框里提示错误信息,根据错误信息上网搜搜解决方法,一般都可以解决。

在这里插入图片描述

假如文档中出现“?”的情况,比如下面这样子。

在这里插入图片描述

不要慌,多编译几次就会出来了。这是 LaTex 编译链的问题,不理解没有关系,记住就好啦!

在这里插入图片描述

LaTex 的 \label{} 写法建议

这个部分我想单独拿出来讲,因为假如 \label{} 写得不好的话,写成的 LaTex 文档维护难度很高。拿公式举例子,一篇论文里面有 5 个公式,有些小伙伴可能就很简单地按照顺序命名成:

\label{eq1}
\label{eq2}
\label{eq3}
\label{eq4}
\label{eq5}

这样的命名方式是不太推荐的。也许 \label{eq2} 代表论文中的第 2 个公式,但如果第 2 个公式删掉了,第 3 个公式成为了第 2 个公式。那么现在代表第 2 个公式的 \label{eq3} 就有点意义不明,所以不推荐这样的命名方式。

我的命名习惯是这样:要引用的文本类型: 该文本意义

比如说,前面提到的公式就可以命名为

\label{eq:heart}

因为 r=a(1-sinθ) 是心形函数,所以把它命名成 eq:heart

下面是具体实例:

  • 节(section):sec:name
  • 子节(subsection):subsec:name
  • 子子节(subsubsection):subsubsec:name
  • 图(figure):fig:name
  • 表(table):table:name
  • 公式(equation):eq:name
  • 算法(algorithm):algo:name
  • 定义(definition):defi:name
  • 定理(theorem):theo:name
  • 引理(lemma):lma:name
  • 证明(proof):prf:name
  • 备注(remark):rmk:name
  • 假设(assumption):asp:name

最后

好了,就这么多!祝大家编写 LaTex 文档顺利!

欢迎通过邮箱联系我:lordofdapanji@foxmail.com

来信请注明你的身份,否则恕不回信。

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

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

相关文章

SVPWM原理及simulink

关注微♥“电击小子程高兴的MATLAB小屋”获得专属优惠 一.SVPWM原理 SPWM常用于变频调速控制系统,经典的SPWM控制主要目的是使变频器的输出电压尽量接近正弦波,并未关注输出的电流波形。而矢量控制的最终目的是得到圆形的旋转磁场,这样就要求…

大数据项目——基于Django协同过滤算法的房源可视化分析推荐系统的设计与实现

大数据项目——基于Django协同过滤算法的房源可视化分析推荐系统的设计与实现 技术栈:大数据爬虫/机器学习学习算法/数据分析与挖掘/大数据可视化/Django框架/Mysql数据库 本项目基于 Django框架开发的房屋可视化分析推荐系统。这个系统结合了大数据爬虫、机器学习…

SaToken利用Redis做持久化

官网解释 官网解释 教程 引入依赖 <!-- 提供Redis连接池 --> <dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId> </dependency><!-- Sa-Token 整合 Redis &#xff08;使用 jdk 默认序…

Linux--网络编程-ftp(TCP)网络通信-文件交互

项目要求&#xff1a;实现以下内容 远程控制&#xff1a; 1、查看服务器当前路径文件 ls 3、进入、退出服务器文件夹 cd 4、上传文件到服务器 put xxx 本地控制&#xff1a; 1、查看本地&#xff08;客户端&#xff09;文件 lls 2、进入客户端文件夹 lcd 3、获取服务器的文件…

【开发PaaS】基于Postgresql的开发平台Supabase

Supadase是开源的。我们选择可扩展的开源工具&#xff0c;使其易于使用。 Supadase不是Firebase的1对1映射。虽然我们正在构建Firebase提供的许多功能&#xff0c;但我们不会以同样的方式进行&#xff1a; 我们的技术选择大不相同&#xff1b;我们使用的一切都是开源的&#…

网络安全(二)-- Linux 基本安全防护技术

4.1. 概述 安全防护基础主要是会用Linux系统&#xff0c; 熟悉Linux基本操作命令。 在这个章节中&#xff0c;我们主要探讨自主访问控制&#xff08;许可位、ACL&#xff09;、文件属性、 PAM技术、能力机制等。 4.1.1. 补充命令 本章节中&#xff0c;涉及一些新的命令&#…

leetcode做题笔记1038. 从二叉搜索树到更大和树

给定一个二叉搜索树 root (BST)&#xff0c;请将它的每个节点的值替换成树中大于或者等于该节点值的所有节点值之和。 提醒一下&#xff0c; 二叉搜索树 满足下列约束条件&#xff1a; 节点的左子树仅包含键 小于 节点键的节点。节点的右子树仅包含键 大于 节点键的节点。左右…

@PostConstruct使用详解

一、简介 在Spring应用程序中启动时&#xff0c;有时需要在所有Bean都已加载&#xff0c;初始化并准备好之后执行某些自定义代码。这时&#xff0c;Spring提供了一个可用的方式&#xff0c;即使用PostConstruct注解。这个注解用于标记一个方法&#xff0c;这个方法将在Bean初始…

【Cesium】模型平面裁切

const scene viewer.scene;let tileset; let targetY 400.0; let planeEntities []; let selectedPlane; // 选择的切面 let clippingPlanes; // 切面属性// 当鼠标点击切面时&#xff0c;修改相关属性 const downHandler new Cesium.ScreenSpaceEventHandler(viewer.sce…

xampp环境安装

XAMPP是完全免费且易于安装的Apache发行版&#xff0c;其中包含Apache、MariaDB、PHP和Perl。 类似XAMPP的服务器套件还有很多&#xff0c;我用过的还有UPUPW&#xff0c;它们都极大的简化了开发环境的配置。 下载链接Download XAMPP 我选的最新的 一路next就安装好了。 访问…

【PID学习笔记 5 】控制系统的性能指标之一

写在前面 PID在实际工程中最重要的工作就是调参&#xff0c;那么首先就要了解控制系统的性能指标。上文最后简要介绍了控制系统的基本要求&#xff0c;本文开始将系统学习控制系统的性能指标&#xff0c;内容比较多&#xff0c;初步计划是分三节来讲解。本文重点介绍性能指标的…

Liunx常用基础命令

目录 liunx常用命令基础1、cd命令2、ls命令3、pwd命令4、touch命令5、head命令6、cat命令7、more命令8、tail命令9、mkdir命令10、rmdir命令11、cp命令12、mv命令13、diff命令14、exit命令15、id命令16、uname命令17&#xff0c;ping命令18、echo命令19、man命令(ls --help)20、…

LInux组管理及拓展

目录 一、Linux组管理 &#xff08;一&#xff09;、组的概述 1.概述 2.作用 &#xff08;二&#xff09;、组操作 1.创建 2.修改 3.删除 4.添加用户 二、用户信息查看 &#xff08;一&#xff09;、id &#xff08;二&#xff09;、finger &#xff08;三&#x…

idea连接mysql详细讲解

IDEA连接mysql又报错&#xff01;Server returns invalid timezone. Go to Advanced tab and set serverTimezone prope 前进的道路充满荆棘。 错误界面 IDEA连接mysql&#xff0c;地址&#xff0c;用户名&#xff0c;密码&#xff0c;数据库名&#xff0c;全都配置好了&…

ISIS配置以及详解

作者简介&#xff1a;大家好&#xff0c;我是Asshebaby&#xff0c;热爱网工&#xff0c;有网络方面不懂的可以加我一起探讨 :1125069544 个人主页&#xff1a;Asshebaby博客 当前专栏&#xff1a; 网络HCIP内容 特色专栏&#xff1a; 常见的项目配置 本文内容&am…

AI大模型驶向产业之海,需要高质数据“河道”引航

“我们的AI大模型&#xff0c;在万卡集群上训练&#xff0c;三小时就出一次错。别笑&#xff0c;这已经是世界先进水平了。”某次行业峰会上&#xff0c;一位清华大学的院士科学家&#xff0c;讲出了AI大模型训练的“大实话”。 风靡全球的AI大模型&#xff0c;是今年毋庸置疑的…

每日一练【快乐数】

一、题目描述 202. 快乐数 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为&#xff1a; 对于一个正整数&#xff0c;每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1&#xff0c;也可能是 无限循环 但始终变不到 1。如果这…

浮点数二分例题:数的三次方根-Java版

//浮点数二分,正常写就行,不用考虑死循环问题import java.util.Scanner;public class Main{public static void main(String[] args) {Scanner sc new Scanner(System.in);Double n sc.nextDouble();double l -100,r 100;//数据范围是100000,开了三次方后不会超过100//小知…

selenium自动化测试:xpath八种定位方式!

01、前言 如果可以的话&#xff0c;请先关注&#xff08;专栏和账号&#xff09;&#xff0c;然后点赞和收藏&#xff0c;最后学习和进步。你的支持是我继续写下去的最大动力&#xff0c;个人定当倾囊而送&#xff0c;不负众望。谢谢&#xff01;&#xff01;&#xff01; 1.…

市场缺口投资者应该怎么做? 昂首资本一招就能盈利

当在市场交易分析中&#xff0c;投资者发现市场缺口或者价格缺口的时候&#xff0c; 昂首资本问各位投资者应该怎么才能抓住机会盈利一波。 其实在技术分析中的这个术语指的是&#xff1a;前一根棒线的收盘价和下一根棒线的开盘价之间有差距的情况。例如&#xff0c;当做市商将…