目录

LaTeX初体验

感觉做科研的话很多人都在用LaTeX,这里记录一下初次使用LaTeX的心得。
使用TeXworks编辑器,排版工具使用TeXworks上的XeLaTeX。
感谢Liam Huang分享的教程, 这篇文章只是简单演示一下我按照教程第一次使用LaTeX的情况,如果需要学习LaTeX,建议直接看Liam Huang的教程:
TeX Live 下载及安装说明:https://liam.page/texlive/
一份其实很短的 LaTeX 入门文档: https://liam.page/2014/09/08/latex-introduction/

Hello World

在编辑框中,输入如下内容:

1
2
3
4
5
\documentclass{article}  
% 这里是导言区
\begin{document}
Hello, world!
\end{document}

选中 XeLaTeX 后,按下绿色的编译按钮,等待片刻屏幕右边就会出现新的窗口: Hello, world!\documentclass{article}\begin{document}之前的内容是导言区,通常是对布局(如页面大小、页眉页脚样式、章节标题样式等等)的设置。
我们将以反斜杠·\ 开头,以第一个空格或非字母 的字符结束的一串文字, 称为控制序列(或称命令/标记)。

中英文混排

在 TeXworks 编辑框中输入以下内容,以 UTF-8 编码保存,使用 XeLaTeX 编译:

1
2
3
4
\documentclass[UTF8]{ctexart}
\begin{document}
你好,world!
\end{document}

相较于之前的例子,这份代码只有细微的差异:

  1. 文档类从 article 变为 ctexart;
  2. 增加了文档类选项 UTF8。
    中英文混排

组织你的文章

作者、标题、日期

1
2
3
4
5
6
7
8
\documentclass[UTF8]{ctexart}
\title{你好,world!}
\author{clj}
\date{\today}
\begin{document}
\maketitle
你好,world!
\end{document}

也就是在导言区增加一些内容,并加上一个控制序列maketitle。如果不加的话,导言区的作者信息这些内容编译之后就不会显示出来。 作者、标题、日期

章节和段落

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
\documentclass[UTF8]{ctexart}
\title{你好,world!}
\author{clj}
\date{\today}
\begin{document}
\maketitle
\section{你好广东section}
广东在南方.
\subsection{Hello Guangdong subsection}
广东是南方的城市.
\subsubsection{Hello Shenzhen subsubsection}
\paragraph{Shenzhen paragraph}
is a city
\subparagraph{Welcome subparagraph}
to Shenzhen
\subsection{Hello World subsection}
\paragraph{World} means 世界。
\end{document}

在文档类 article/ctexart 中,定义了五个控制序列来调整行文组织结构。他们分别是

  • \section{·}
  • \subsection{·}
  • \subsubsection{·}
  • \paragraph{·}
  • \subparagraph{·}

在report/ctexrep中,还有\chapter{·};在文档类book/ctexbook中,还定义了\part{·}。 章节和段落

插入目录

加上\maketitle就会自动生成目录。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
\documentclass[UTF8]{ctexart}
\title{你好,world!}
\author{Liam}
\date{\today}
\begin{document}
\maketitle
\tableofcontents
\section{你好广东section}
广东在南方. 第一行
这也是第一行

这才是第二行
\subsection{Hello Guangdong subsection}
广东是南方的城市.
\subsubsection{Hello Shenzhen subsubsection}
\paragraph{Shenzhen paragraph}
is a city
\subparagraph{Welcome subparagraph}
to Shenzhen
\end{document}

在LaTeX中,如果需要换行,需要空出一行来。 插入目录

插入数学公式

为了使用 AMS-LaTeX 提供的数学功能,我们需要在导言区加载 amsmath 宏包:\usepackage{amsmath}

行内和行外

LaTeX 的数学模式有两种:行内模式 (inline) 和行间模式 (display)。
前者在正文的行文中,插入数学公式;后者独立排列单独成行,并自动居中。
行内: $ ... $
行外: \[ ... \]
带编号的行内公式(使用 equation 环境):

1
2
3
\begin{equation}  
...
\end{equation}

上下标

默认只作用于之后的一个字符:
上标: ^
下标: _
如果需要连续的几个字符需要用花括号{}括起来。如:
上标:e^{2\pi i} 下标:a_{123}

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[ z = e^{2\pi i}. \]
\[a_{123}\]

Einstein 's $E=mc^2$.

\[ E=mc^2. \]

\begin{equation}
E=mc^2.
\end{equation}
\end{document}

数学公式

根式和分式

根式: \sqrt{·}
分式: \frac{·}{·}(第一个参数为分子,第二个为分母)。
在行间公式和行内公式中,分式的输出大小是有差异的(分式行内大小稍小)。如果要强制行内模式的分式显示为行间模式的大小,可以使用 \dfrac, 反之可以使用 \tfrac

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
\documentclass[UTF8]{ctexart}
\usepackage{amsmath}
\begin{document}
$\sqrt{x}$, $\frac{1}{2}$.

\[ \sqrt{x}, \]

\[ \frac{1}{2}. \]

$\dfrac{1}{2}$.行内加d变大
\[ \tfrac{1}{2}. \]
\end{document}

根式和分式

运算符

\[ \pm\; \times \; \div\; \cdot\; \cap\; \cup\; \geq\; \leq\; \neq\; \approx \; \equiv \]

连加、连乘、极限、积分等大型运算符分别用 \sum, \prod, \lim, \int 生成。他们的上下标在行内公式中被压缩,以适应行高。我们可以用 \limits\nolimits来强制显式地指定是否压缩这些上下标。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
\documentclass[UTF8]{ctexart}
\usepackage{amsmath}
\begin{document}
\[ \pm\; \times \; \div\; \cdot\; \cap\; \cup\;
\geq\; \leq\; \neq\; \approx \; \equiv \]

$ \sum_{i=1}^n i\quad \prod_{i=1}^n $
$ \sum\limits _{i=1}^n i\quad \prod\limits _{i=1}^n $
\[ \lim_{x\to0}x^2 \quad \int_a^b x^2 dx \]
\[ \lim\nolimits _{x\to0}x^2\quad \int\nolimits_a^b x^2 dx \]

\end{document}

运算符

定界符(括号等)

各种括号用 (), [], \{\}, \langle\rangle 等命令表示;注意花括号通常用来输入命令和环境的参数,所以在数学公式中它们前面要加 \
|推荐使用\lvert\rvert
amsmath 宏包推荐使用 \big, \Big, \bigg, \Bigg 等一系列命令放在上述括号前面调整大小。如:
\[ \Biggl(\biggl(\Bigl(\bigl((x)\bigr)\Bigr)\biggr)\Biggr) \]

省略号

省略号用 \dots, \cdots, \vdots, \ddots 等命令表示。\dots\cdots 的纵向位置不同,前者一般用于有下标的序列。

1
2
3
4
5
6
\documentclass[UTF8]{ctexart}
\usepackage{amsmath}
\begin{document}
\[ x_1,x_2,\dots ,x_n\quad 1,2,\cdots ,n\quad
\vdots\quad \ddots \]
\end{document}

省略号

其他公式

感觉一些公式使用起来频率不高,这里就先略去,想看关于矩阵多行公式公式组分段函数的可以到Liam Huang的博客查阅。

图片

在 LaTeX 中插入图片,有很多种方式。最好用的应当属利用 graphicx 宏包提供的 \includegraphics 命令。
比如你在你的 TeX 源文件同目录下,有名为 a.jpg 的图片,你可以用这样的方式将它插入到输出文档中:

1
2
3
4
5
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\includegraphics{a.jpg}
\end{document}

控制图片大小:\includegraphics[width = .8\textwidth]{a.jpg}这样会长宽等比缩放,图片宽度会到页面宽度的80%。

表格

\hline 命令表示横线,在列格式中用 | 表示竖线;用&来分列,用\\来换行;每列可以采用居左、居中、居右等横向对齐方式,分别用l、c、r来表示。(感叹一下Markdown真好用)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
\documentclass[UTF8]{ctexart}
\usepackage{amsmath}
\begin{document}
\begin{tabular}{|l|c|r|}
 \hline
操作系统& 发行版& 编辑器\\
 \hline
Windows & MikTeX & TexMakerX \\
 \hline
Unix/Linux & teTeX & Kile \\
 \hline
Mac OS & MacTeX & TeXShop \\
 \hline
通用& TeX Live & TeXworks \\
 \hline
\end{tabular}
\end{document}

表格

总结

林林总总记了一些,总的来说LaTeX还是非常强大的,在很多细节上(像字体大小)做的很细致,但是个人觉得如果有一个简单的统一的模板岂不是更加方便,不过LaTeX里面肯定还有很多值得探索的功能,不然也不会得到很多人的追捧。
再次感谢Liam Huang分享教程,并同意我转载其中的内容。