LaTex入门简明教程

文章目录

  • 写在前面
  • 安装
    • 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}\toprulexxx	& xxx & xxx	\\\midrulexxx	& 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.mzph.cn/news/197979.shtml

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

相关文章

enum 枚举类型

我们可以通过定义枚举IpAddrKind来表达这样的概念,声明该枚举需要列举出所有可能的IP地址种类,也就是所谓的枚举变体(variant)。 enum IpAddrKind {V4,V6, }枚举的变体全部位于其标识符的命名空间中,并使用两个冒号来…

android https 证书过期

有的时候 我们android https 证书过期 ,或者使用明文等方式去访问服务器 可能会碰到类似的 问题 : javax.net.ssl.SSLHandshakeException: Chain validation failed java.security.cert.CertPathValidatorException: Response is unreliable: its validi…

通讯录管理系统(基于C语言)

模块设计 本通讯录管理系统功能模块共包括9个部分:1.输入数据、2.显示数据、 3.插入数据、4.删除数据、5.查看数据、6.修改数据、7.保存数据、 8.返回主菜单、9.退出系统. 一.总体设计 通讯录的每一条信息包括:姓名、性别、住址、联系电话…

西南科技大学模拟电子技术实验七(集成运算放大器的非线性应用)预习报告

一、计算/设计过程 说明:本实验是验证性实验,计算预测验证结果。是设计性实验一定要从系统指标计算出元件参数过程,越详细越好。用公式输入法完成相关公式内容,不得贴手写图片。(注意:从抽象公式直接得出结果,不得分,页数可根据内容调整) 预习计算内容根据运放的非线…

【MODBUS】Modbus主站云端服务器和边缘设备部署区别

Modbus主站作为云端服务器: 云端服务器作为主站: 在这种部署方式中,云端服务器充当Modbus通信的主站,负责向不同的Modbus从站发起请求,并处理响应。云端服务器通常与其他云服务一起运行,可以在云平台上实现…

【Linux下如何生成coredump文件】

一,什么是coredump 我们经常听到大家说到程序core掉了,需要定位解决,这里说的大部分是指对应程序由于各种异常或者bug导致在运行过程中异常退出或者中止,并且在满足一定条件下(这里为什么说需要满足一定的条件呢&#…

QT使用SQLite(打开db数据库以及对数据库进行增删改查)

QTSQLite 在QT中使用sqlite数据库,有多种使用方法,在这里我只提供几种简单,代码简短的方法,包括一些特殊字符处理。 用SQlite建立一个简单学生管理数据库 数据库中有两个表一个是class和student。 class表结构 student表结果…

Java零基础-if条件语句

前言 条件语句是编程语言中最基础也是最常用的语句之一,对于初学者来说,掌握好条件语句是学习编程的第一步。本文将以Java开发语言为例,详细介绍Java中的if条件语句及其应用场景。 摘要 本文主要包含以下内容: Java中的if条件…

非标设计之气缸类型

空压机: 空压机又称空气压缩机,简单来说就是将机械能转化为压力能来进行工作的,空压机在电力行业应用比较多,除了在电力行业应用较多外,其实空压机还有一个比较常见的用途就是用来制冷和分离气体,输送气体…

【web安全】RCE漏洞原理

前言 菜某的笔记总结,如有错误请指正。 RCE漏洞介绍 简而言之,就是代码中使用了可以把字符串当做代码执行的函数,但是又没有对用户的输入内容做到充分的过滤,导致可以被远程执行一些命令。 RCE漏洞的分类 RCE漏洞分为代码执行…

Vue子组件的挂载,以及使用子组件的原理

Vue子组件是如何挂载的? vue中,子组件是通过父组件模板中的标签来进行挂载的,当父组件模板中包含子组件的标签时,vue会在渲染过程中自动创建并挂载子组件 挂载过程如下: 1、解析父组件模板:当vue实例化父…

RT-Thread 三步实现利用DMA进行串口发送

应某些网友需求,说网上根本找不到基于Rt-Thread DMA串口发送代码,只有官方开源的串口DMA接收。 其实这些东西并不难,只要你细心去看哪些闲置的驱动文件且都是包装好的,通过关键字去查询或点开源文件查看,花不了几分钟…

【C/PTA —— 14.结构体1(课内实践)】

C/PTA —— 14.结构体1(课内实践) 6-1 计算两个复数之积6-2 结构体数组中查找指定编号人员6-3 综合成绩6-4 结构体数组按总分排序 6-1 计算两个复数之积 struct complex multiply(struct complex x, struct complex y) {struct complex product;product.…

Selenium 自动化高级操作与解决疑难杂症,如无法连接、使用代理等

解决 Selenium 自动化中的常见疑难杂症 这里记录一些关于 Selenium的常用操作和疑难杂症。 有一些细节的知识点就不重复介绍了,因为之前的文章中都有! 如果对本文中的知识点有疑问的,可以先阅读我以前分享的文章! 知识点&…

【MySQL表的操作】

目录: 前言表的操作创建表查看表结构修改表对列的增删改修改表名 对表中数据的操作插入数据查找数据修改数据删除数据 删除表总结 前言 剑指offer:一年又3天 表的操作 创建、查看、修改(属性和内容)与删除 创建表 语法&#xf…

点云从入门到精通技术详解100篇-雨雾环境下多传感器融合 SLAM 方法

目录 前言 国内外研究现状 传统 SLAM 研究现状 多传感器融合 SLAM 研究现状

8.Python TCP网络编程入门指南

HTTP协议 HTTP 是一种用于传输超文本(例如 HTML)的应用层协议。它是基于请求-响应模型的,客户端发送请求,服务器返回响应。HTTP 使用 TCP 作为传输层协议。在 Python 中,有一些内置的模块用于处理 HTTP 请求和响应&am…

PyQt实战 创建一个PyQt5项目

前后端分离 参考链接 PyQt5实战(二):创建一个PyQt5项目_pyqt5实战项目_笨鸟未必先飞的博客-CSDN博客 项目目录 创建一个QT项目 调用pyuic工具将dialog.ui文件编译为Python程序文件ui_dialog.py。 # -*- coding: utf-8 -*-# Form implemen…

Android 透明度颜色值对照表

一、透明度对照表 注:00是完全透明,FF就是完全不透明 我们的UI小姐姐就喜欢给「不透明度」,这个需要自己判断一下。 完全透明:0% HEX: 00 透明度:1% HEX: 30 透明度:2% HEX: 50 透明度:3% HEX: 80 透明度:4% HEX: A0 透明度:5…

【离散差分】LeetCode2953:统计完全子字符串

作者推荐 [二分查找]LeetCode2040:两个有序数组的第 K 小乘积 本题其它解法 【滑动窗口】LeetCode2953:统计完全子字符串 涉及知识点 分块循环 离散差分 题目 给你一个字符串 word 和一个整数 k 。 如果 word 的一个子字符串 s 满足以下条件,我们称它是 完全…