LaTex实战笔记 1-快速入门

LaTex插入 Python 程序代码块

    • 1. 为什么用 LaTeX?
    • 2. LaTeX 的安装与配置
      • 2.1 安装 TeXLive
      • 2.2 选择 LaTeX 编辑器
    • 3. LaTeX 的初次使用
      • 3.1 最短的 LaTeX 示例
      • 3.2 从模板创建文档
      • 3.3 编译生成 PDF 文件
    • 4. 基于模板编辑文档
      • 4.1 tex 模板的基本结构
      • 4.2 基于模板编辑排版
    • 5. 第一个中文文档
    • 6. LaTeX 如何工作?

LaTeX 支持结构化文档的编写。

本文记录自己学习 LaTeX 的实战经验。


1. 为什么用 LaTeX?

使用 LaTeX 排版并不友好,不能所见即所得,有了语法错误就像编程一样需要一点点去检查。使用 LaTeX 直接写作,我觉得基本上不现实。

那么,为什么还要用 LaTeX?而且在科技论文、书籍的排版中越来越流行,甚至超越了 Word、PDF 和 MD。

LaTeX 基于 TeX,主要目的是实现精确、快捷排版。

对于数学、计算机等学科,文档中涉及大量而又复杂的公式、程序、图表、标记等特殊格式,使用 Word 等传统文档编辑软件很难精确控制、统一格式。

特别对于会议论文、期刊论文、学位论文这类由不同作者写作的需求,组织方用 LaTeX 建立统一的文档模板,可以高效和有效地实现统一格式的需求。很多读者可能想不到,在 Word 文档编辑时代,会议征文的格式要求常常有好几页,而学位论文的格式规范则多达十几页甚至几十页。即便如此,也无法保证每位作者都能完全阅读、理解和遵照这些格式规范来排版。

而使用 LaTeX 模板,可以轻松、高效地控制文档格式规范。这就是 LaTeX 的优势。


2. LaTeX 的安装与配置

LaTeX 的安装和配置,包括选择 TeX 发行版安装和选择 LaTeX 编辑器。

2.1 安装 TeXLive

LaTeX 本质上是基于 TeX 的封装,使得程序语言增加用户可读性,要基于 TeX 编译系统安装。
可选系统: TeXLive,CTeX,MacTeX,Windows 用户推荐 TeXLive。

官方网站下载: https://www.tug.org/texlive/
清华大学镜像网站:https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/Images/
推荐选择 texlive2021-20210325.isotexlive2022-20220321.iso 下载

双击打开 .iso 文件,选择其中的 install-tl-advanced.bat 文件,点击右键以管理员身份运行。
安装完成后,生成 TeXworks editor 应用程序。

环境配置,将安装的 Texworks 的 bin 目录添加到环境变量中。

安装检查:cmd 打开命令行窗口,输入:

tex -v
latex - v
xelatex -v
pdflatex -v

如果以上版本查询命令都能输出版本信息,就说明 TeXLive 安装配置成功了。


2.2 选择 LaTeX 编辑器

TeXLive 自带 LaTeX 编辑器,可以进行文本编辑。

根据使用习惯,也可以选择其它的 LaTeX 编辑器,如 TeXstudio,VScode。


3. LaTeX 的初次使用

打开 TeXworks editor 应用程序,就可以创建、编辑文档了。

3.1 最短的 LaTeX 示例

这是官方文档提供的一个 LaTeX 示例,据说是最短的 LaTeX 文档。

\documentclass{article}
\begin{document}
``Hello world!'' from \LaTeX.
\end{document}

这个文档的结构很简单:

  • 第 1 行是定义文档类型为 article
  • 第 2 行、第 4 行是环境声明,定义文档环境的 begin 和 end
  • 第 3 行是文本格式的文档内容

点击 TeXworks 左上角菜单栏的绿色箭头进行“排版”,就会生成对应的 PDF 文件,并在右侧的窗口显示。

是的,这就是我们完成的第一个 LaTeX 文档。

在这里插入图片描述


3.2 从模板创建文档

LaTeX 对格式定义的命令很多,对于初学者非常复杂。因此我们通常不是新建文档,而是从模板创建新文档。

TeXworks 为我们提供了一些最简单的文档模板。

在这里插入图片描述

我们选择 article.tex 模板创建一个 .tex 文件,于是得到了下图的内容。这很像一段复杂的程序代码,比第一个文档中复杂的多。

为什么使用模板创建文件?如果我们自己来编写这段代码,天晓得要花多长时间。


3.3 编译生成 PDF 文件

点击左上角菜单栏的绿色箭头进行“排版”,将会生成对应的 PDF 文件,并在右侧的窗口显示。

在这里插入图片描述

我们此前选择的 article.tex 模板,其实是一个“简单”而又完整的 tex 文档。在 PDF 文件可以看到这个文档的内容,包括标题,作者,章节标题和内容。


4. 基于模板编辑文档

4.1 tex 模板的基本结构

我们基于 article.tex 模板来编写文档,首先要了解模板文件的结构。

模板 article.tex 很像一段计算机程序代码,这就是一段程序代码。

模板文件中有大量红色语句,都是注释行。以 % 开头的内容是注释行。

模板文件总体分为两部分:

(1)导言区

在 \documentclass{article} 与 \begin{document} 之间的部分称为导言区。导言区是各种格式控制的设置和定义,如页面设置、段落设置、字体设置、图表设置。

导言区的格式控制对整个文档起作用,是通用的格式规范。

我们基于模板编辑文档,通常要遵守模板的总体格式规范,必要时才会对导言区的控制格式做少量修改。在期刊、会议中,主办方提供的排版样式的模板,作者通常不要修改导言区的控制格式。

(2)正文区

在 begin{document} 与 end{document} 之间的部分被称为正文区,是具体的文字内容。正文区也包括各种控制符和控制环境,但正文区的格式控制通常只对指定的局部区域内容起作用。

正文区的文本是我们的写作内容。我们在这个模板基础上进行编辑。


4.2 基于模板编辑排版

我们基于 article.tex 模板来编辑文档,不修改导言区,只对正文区的内容进行修改:

%%% The "real" document content comes below...\title{200 OpenCV examples by youcans}
\author{youcans@qq.com}
\date{June 6,2022}\begin{document}
\maketitle\section{Basic operation of images}\subsection{cv.imread}
\subsection{cv.imwrite}
\subsection{cv.imshow}\section{Arithmetic operation of images}\subsection{cv.add}
\subsection{cv.addweight}\end{document}

点击左上角菜单栏的绿色箭头进行“排版”,将会生成对应的 PDF 文件,并在右侧的窗口显示。

在这里插入图片描述


5. 第一个中文文档

如果我们基于 article.tex 模板,对正文区的内容进行修改,加入中文内容后,编译排版时就会报错。

解决方案是,换一个中文模板,或者导入 ctex 中文支持包。

\documentclass[UTF8,a4paper,12pt]{article}
\usepackage{ctex} 		% 中文支持

点击左上角菜单栏的绿色箭头进行“排版”,还是会报错。

将左上角菜单栏的绿色箭头后面的编译器选项,由 “pdfLaTex” 更换为 “XeLaTeX”,就能通过编译,生成 PDF 文件并在右侧的窗口显示。

在这里插入图片描述


6. LaTeX 如何工作?

最后简单介绍一下 LaTeX 的工作机制。

LaTeX 的工作方式类似于 WebPage,通过引擎(TeX)对源文件(.tex)进行渲染,得到 PDF 文件。

源文件包括文档样式和具体内容。文档样式就是对各种格式规范的描述,例如页面设置、段落设置、字体设置、图表设置,等等;具体内容则是具体的字符和文字。

我们可以在一个 .tex 源文件中写入文档样式和具体内容,也可以实现内容和样式的分离。后者类似于 PyQt5 的界面与功能分离,使我们可以专注于内容的写作或样式的调整,也使结构更加清晰。

我们首先要了解一下 LaTeX 中涉及的文件类型:

文件类型功能介绍
.dtx包含类或宏包及其说明文件
.ins.dtx 的分解文件,控制宏包文件的释放
.cfg供类包或宏包调用的配置文件
.sty宏包文件,可用命令\usepackage调用
.cls稿件类型文件,可用命令\documentclass调用
.bst文献样式文件,控制参考文献样式
.aux辅助文件,不影响使用

LaTeX 源文件需要经过编译,生成PDF、DVI、PostScript 或 Html 格式,才能查看或打印。编译过程中会生成一些辅助文件,如 *.log、*.aux、*.out等,不影响使用,可以删除。

(本文完)


版权声明:
youcans@xupt 原创作品,转载必须标注原文链接:(https://blog.csdn.net/youcans/article/details/125168745)
Copyright 2022 youcans, XUPT
Crated:2022-6-6

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

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

相关文章

Redis 常见命令

Redis一共有5种数据类型 : String(字符串) List(列表)Hash(字典) Set(集合)Sorted Set(有序集合) 不同的数据类型,有不同的命令方式…

java fx 皮肤_JavaFX 皮肤功能

作为RIA技术之一,为了让应用程序的界面看起来更加的漂亮或者更有个性,皮肤功能自然是必不可少的。在JavaFX中,可以使用CSS样式表来进行皮肤的更换。不过JavaFX中的CSS是基于W3C CSS version 2.1,但又不完全相同。JavaFX中的换肤有…

LaTex实战笔记 2-文档层次与结构

LaTeX 支持结构化文档的编写。 什么是结构化文档?会议论文、期刊论文、学位论文,这类有统一结构、统一版式的文档,是典型的结构化文档。而报刊文章的结构则因人而异,因文而异,是典型的非结构化文档。 1. 结构化文档的…

java爬取小说

使用Java爬取网站:http://www.shicimingju.com的小说内容 代码详解 1.在本地创建存储位置 2.编写正则表达式 3.循环获取内容 4.把内容存入文件夹中 5.判断成功或失败 效果演示 代码展示 package text;import java.io.BufferedReader;import java.io.BufferedWri…

java json u0026_特殊字符的json序列化

先来看一段golangpackage mainimport ("encoding/json""fmt")func main() {data : map[string]string{"str0": "Hello, world","str1": ""str2": ">","str3": "&",}js…

智能家居(3)智能交互的竞品分析

智能家居系统与产品的交互方式,早已从物理按键、遥控操作发展为以触摸面板手机APP作为主要的交互方式,并已经实现了语音交互、生物识别等新技术的导入,未来可能会流行基于视觉的交互方式、基于机器学习的无感交互方式。融合这些交互方式的多模…

java爬取单张图片

我们经常需要在网页上获取一些图片,有的图片我们是可以直接下载使用,有的图片需要我们登陆账号甚至付费下载,所以在此我写了一个使用Java爬取任意网页单张图片的爬虫。 代码解析 1.图片的网络位置 2.进行访问和下载 3.建立本地存储位置 效果…

四川大学java语言程序设计_四川大学2014年计算机(软件)学院Java语言设计期末考试B卷程序.doc...

四川大学期末考试试题(闭卷)(2014-2015学年第2学期)课程号: 课程名称: Java语言程序设计(B 卷)任课教师:适用专业年级: 学号: 姓名:考试须知四川大学学生参加由学校组织或由学校承办的各级各类考试&#xf…

LaTex实战笔记 3-宏包与控制命令

1. LaTeX 命令的基本架构 LaTex 排版系统对于格式控制、公式编辑比 Word 更加灵活、准确。 Tex 环境中,字符、图片等各种文档内容都装在不同的盒子(box)容器内。这些盒子根据 Tex/Latex 的默认规则和控制命令组合为更大的盒子。字符组合为单…

【OpenCV 例程200篇】201. 图像的颜色空间转换

OpenCV 例程200篇 总目录 201. 图像的颜色空间转换 202. 查表快速替换(cv.LUT) 203. 伪彩色图像处理 204. 图像的色彩风格滤镜 205. 调节色彩平衡/饱和度/明度 文章目录【youcans 的 OpenCV 例程200篇】201. 图像的颜色空间转换图像的色彩空间基础图像的…

java 三大特性理解_java 三大特性--封装、继承和多态理解

java 三大特性--封装、继承和多态理解封装/*** 所谓封装,就是将对象具有的成员变量和成员函数包装和隐藏起来,让外界无法直接使用,* 被封装的成员只能通过某些特定的方式才能访问。* 实现封装有两个步骤:* 1、将不能暴露的成员隐藏…

JSP 内置对象

JSP中一共预先定义了9个这样的对象,分别为:request、response、session、application、out、pagecontext、config、page、exception 1、request对象   request 对象是 javax.servlet.httpServletRequest类型的对象。 该对象代表了客户端的请求信息&am…

CSDN 搜索工具使用体验与对比分析

搜索工具是 C 站的核心产品,也是广大计算机学习读者的最爱。基于 CSDN 的程序设计与基于 Baidu 的程序设计并肩,成为计算机学习者的最爱。 本文对几种常用的计算机行业相关搜索工具进行对比分析。 本次对比分析只针对各网站的 PC 端网页版。 文章目录0…

JSON对象转化为JSON字符串

在进行前端开发的时候,有时我们会遇到要将json对象转化为json字符串,那么该如何进行转化呢??? 我们可以用JSON对象的stringify()和parse()方法。 JSON.stringify(obj) 将JSON对象转为字符串。 JSON.parse(stri…

des java c_这个des加密,到底是用的哪种类型?

到底是不是ECB模式Pkcs7?因为需要在别的语言中实现(js前端),需要对接后端的加密方式,这是后端的方法不懂java,在http://tool.chacuo.net/cryptd...,都加不出相同的结果来看上去应该是和这篇文章的方法类似,…

【OpenCV 例程200篇】202. 查表快速替换(cv.LUT)

OpenCV 例程200篇 总目录 201. 图像的颜色空间转换 202. 查表快速替换(cv.LUT) 203. 伪彩色图像处理 204. 图像的色彩风格滤镜 205. 调节色彩平衡/饱和度/明度 文章目录【youcans 的 OpenCV 例程200篇】202. 查表快速替换(cv.LUT)…

java控制单元测试_java – 当单元测试控制器时,模拟一个Spring Validator

在将单元测试postmortem编码到另一个项目创建的代码时,我遇到了如何使用initBinder模拟与控制器绑定的验证器的这个问题?通常我会考虑确保我的输入是有效的,并且在验证器中进行一些额外的调用,但在这种情况下,验证器类与通过几个数据源进行检查相结合,并且测试变得相…

LaTex实战笔记 4-字体格式

LaTeX 中的字体有 5 种属性: 字体编码:正文字体编码,数学字体编码字体族:罗马字体,无衬线字体,打字机字体(等宽字体)等字体系列:粗细,宽度字体形状&#xff…

jsoup 简单应用

JSOUP指的是前端爬虫框架,对HTML网页的一系列操作包括信息的获取内容的修改等。 jsoup简单应用 1.三种加载HTML的方法 Testpublic void test1() throws IOException {//从URL加载HTMLDocument document Jsoup.connect("http://www.guge.com").get();St…

PHP在哪里执行_php文件放在哪运行

下载一个WampServer (集成环境)安装后,把要运行的放到安装目录下的www(我安装在D盘:D:\wamp\wamp\www),然后本机访问localhost/text.php(text.php是你要运行的php文件)。WampServer(推荐学习:PHP编程从入门到精通)WampServer是一款…