LaTeX文档编写系统有一段有趣的历史。当程序员Don Knuth在1968年写下他的第一本书《计算机编程的艺术》时,它是用老式印刷机的方法制作的。当他在1976年出版第二版时,出版商已经改用现代照排。
Knuth对新版的外观很不满意。从程序员的角度来解决这个问题,Knuth决定创建他自己的文本处理系统,这样他未来的书就可以以同样的方式进行格式化,为该系列的每一本书服务。就这样,Don Knuth在1978年写出了第一版TeX。
几年后,Leslie Lamport创造了一套宏,帮助作者更容易地编写复杂的文件。Lamport的宏扩展,即LaTeX,本质上是对TeX的扩展,以方便制作各种文件。例如,许多学术组织使用LaTeX来出版期刊和论文集。
用LaTeX编写文档
通过写一篇短文来学习LaTeX的基础知识是很容易的。让我们先从About Opensource.com网页上借用一下,创建这个样本输入文件。
$ cat about.tex
\documentclass{article}
\begin{document}
Opensource.com is a premier, daily publication focused on
open source and Linux tutorials, stories, and resources.
We're a diverse and inviting group, made up of staff
editors, Correspondents, contributors, and readers. We
value differences in skills, talents, backgrounds, and
experiences. There are a few different ways to get involved
as a reader or a writer.
\end{document}
像其他文档格式化程序一样,LaTeX收集单词并填充段落。这意味着你可以在段落中间添加新的文字,而不必担心最终的文档会是什么样子。只要你不在段落中间添加空行,LaTeX就会创建完全对齐的段落。当它发现一个空行时,LaTeX会开始一个新的段落。
LaTeX需要一些控制语句来定义文档。每个LaTeX文档都应该以文档的类的声明开始。LaTeX支持几种类型的文档,包括信件、书籍和文章。在这个例子中,我用\documentclass{article} 来设置文章类。
用\begin{document} 和\end{document} 语句告诉LaTeX文本的开始和结束位置。如果你在\begin{document} 之前添加文本,LaTeX会产生一个错误。\end{document} 之后的任何文本都会被忽略。
用LaTeX的latex 命令来处理这个文档。
$ latex about.tex
This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021) (preloaded format=latex)
restricted \write18 enabled.
entering extended mode
(./about.tex
LaTeX2e <2020-10-01> patch level 4
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2020/04/10 v1.4m Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo))
(/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-dvips.def)
No file about.aux.
[1] (./about.aux) )
Output written on about.dvi (1 page, 736 bytes).
Transcript written on about.log.
LaTeX会产生大量的文本,所以你可以看到它在做什么。如果你的文档包含错误,LaTeX会打印出一条信息,并可能提示它应该怎么做。在大多数情况下,你可以在提示符下输入exit ,强迫LaTeX退出。
如果LaTeX成功地生成了一个文档,它就会产生一个扩展名为.dvi 的文件。DVI代表独立设备,因为你可以使用各种工具来创建其他类型的输出。例如,dvipdf程序将DVI文件转换为PDF文件。
$ dvipdf about.dvi

图片由:
(Jim Hall, CC BY-SA 4.0)
添加列表
LaTeX支持两种列表:一种是列举式列表,每个项目以数字开头,另一种是逐项或 "子弹 "式列表。在第二段后添加一个简短的列举式列表,列出人们参与Opensource.com的方式。
\begin{enumerate}
\item Be a writer
\item Be a reader
\end{enumerate}
类似于你需要在文件定义周围提供\begin 和\end 语句,你也需要在列表周围提供\begin 和\end 语句。在列表中,每一个新的项目都要用一个\item 命令来开始。当你用LaTeX处理这个新文件并将其转换成PDF格式时,你会看到你的列表被格式化为一个编号的列表。

你还可以在一个列表中添加列表。如果你需要为每个项目提供几个选项的列表,这是一个很好的功能。例如,你可以为那些想成为Opensource.com的作家的人添加一些不同的资源。嵌入的列表使用它自己的\begin 和\end 语句。我将在这个例子周围添加一些额外的空间,以便更容易看到,但LaTeX并不真正关心空行和额外的空间。
\begin{enumerate}
\item Be a writer
\begin{itemize}
\item Resources for writers
\item Contributor Club
\item Correspondent Program
\end{itemize}
\item Be a reader
\end{enumerate}
新的列表是作为一个嵌入式列表插入到第1项中的,因为你在两个原始的\item 语句之间添加了这个列表。你可以通过在\end{enumerate} 语句之前添加新的列表,将这个列表插入到第2项之后。

分节和子节
你可以通过把一个长的文件分成几个部分来使它更容易阅读。要在LaTeX文档中添加一个章节的标题,请使用\section{...} 语句,并在大括号内写上该章节的标题。例如,你可以用这个在文档的顶部添加一个新的章节,标题为 "关于Opensource.com"。
$ head about.tex
\documentclass{article}
\begin{document}
\section{About Opensource.com}
Opensource.com is a premier, daily publication focused on
open source and Linux tutorials, stories, and resources.
We're a diverse and inviting group, made up of staff
editors, Correspondents, contributors, and readers. We
文章文档类在每个主要部分前添加一个数字,并加大字体大小,以便在文档中脱颖而出。

对于需要更多组织的文档,你可以使用\subsection{...} 命令来添加分节。像\section{...} 命令一样,在大括号之间输入小节的标题。
$ head about.tex
\documentclass{article}
\begin{document}
\section{About Opensource.com}
Opensource.com is a premier, daily publication focused on
open source and Linux tutorials, stories, and resources.
\subsection{Welcome to the Opensource.com community}

形象代言人:
(Jim Hall, CC BY-SA 4.0)
标题和作者
用于出版的科学文章需要有标题、作者和出版日期。LaTeX提供了一种方法,通过插入定义每个信息的命令来添加这些信息,然后用一个单独的\maketitle 命令来生成文章的标题。
添加 "关于我们 "作为文章的标题,"Opensource.com编辑 "作为作者,"2022年7月10日 "作为出版日期。你必须在\begin{document} ,在其他内容(如第一节)之前输入此块。
\title{About Us}
\author{Opensource.com Editors}
\date{July 10, 2022}
\maketitle
当你处理文件时,LaTeX会将标题、作者和日期添加到文章的顶部。

增加重点
科学和其他技术文件经常包括需要特别强调的术语和短语。LaTeX提供了几种字体效果,你可以在技术文档中使用,包括强调文字(通常以斜体显示)、粗体文字和小标题。
更新你的LaTeX文档,把 "编辑人员、通讯员、撰稿人和读者 "这句话放在斜体字中,并在本段后面把具体的 "读者 "和 "作家 "放在强调文字中。你也可以把 "技能、才能、背景和经验 "这句话放在黑体字中。虽然这不是正确的样式,但你可以用小写字母来打 "Linux"。
$ head -20 about.tex
\documentclass{article}
\begin{document}
\title{About Us}
\author{Opensource.com Editors}
\date{July 10, 2022}
\maketitle
\section{About Opensource.com}
Opensource.com is a premier, daily publication focused on
open source and \textsc{Linux} tutorials, stories, and resources.
\subsection{Welcome to the Opensource.com community}
We're a diverse and inviting group, made up of \textit{staff
editors, Correspondents, contributors, and readers}. We
value differences in \textbf{skills, talents, backgrounds, and
experiences}. There are a few different ways to get involved
as a \emph{reader} or a \emph{writer}.
这个例子显示了对文本应用不同样式的不同方式。当你需要增加重点时,使用\emph{...} 命令,将单词或短语放在大括号之间。要用斜体、黑体或小写字母显示文本,请使用\text 命令的变体:\textit{...} 用于斜体,\textbf{...} 用于黑体,\textsc{...} 用于小写字母。LaTeX支持许多其他的文本样式,但这些样式在编写科学文件时可以让你走得更远。

使用LaTeX
我只提到了用LaTeX编写科技文件的几种方法。根据你的需要,你还可以用LaTeX插入脚注和排版数学公式和表达式。