前言:
至此我们已经基本学习了如何排版文档中的标题、章节等待,今天我们接着上一篇博客继续学习LaTex的使用。这篇博客主要学习排版样式的设定,比如字体、字号、分栏已经参考文献。
一、设置页面参数
在默认的页面参数下,文档的pdf效果如下:
geometry 宏包提供了设置页面参数的简便方法,在 pdflatex 和 xelatex 编译命令下,我们既可以调用 geometry 宏包然后用其提供的 \geometry 命令设置页面参数,也可以将参数指定为宏包的选项。
比如,符合 Microsoft Word 习惯的页面设定是 A4 纸张,上下边距1英寸(2.54cm),左右边距 1.25英寸,于是我们可以通过如下两种等效的方式之一设定页边距:
\documentclass{ctexart}
\usepackage[left=1.25in,right=1.25in, top=1in,bottom=1in]{geometry} % 设置页面参数的第一种方法
%\usepackage{geometry} % 等效的设置页面参数的第二种方法
%\geometry{left=1.25in,right=1.25in, top=1in,bottom=1in}
\title{LaTeX入门}
\author{小明\thanks{第一作者}
\and 小红\thanks{第二作者}
\and 隔壁老王\thanks{通讯作者}}
\date{2018年7月7日}
\begin{document}
\maketitle
\section*{第一章 LaTex介绍} LATEX是一个文档准备系统 (Document Preparing System),它非常适用于生成高印刷质量的科技类和数学类文档。
\subsection*{1.1 概述} TEX是高德纳 (Donald E.Knuth) 开发的、以排版文字和数学公式为目的的一个计算机软件。
高德纳从1977年开始开发TEX,以发掘当时开始用于出版工业的数字印刷设备的潜力。
\par 在开始示例编译过程之前,有必要澄清几个概念:\par
引擎:全称为排版引擎,是读入源代码并编译生成文档的程序。\par
格式:是定义了一组命令的代码集。
\subsubsection*{1.1.1 LaTex的优缺点} 专业的排版输出,产生的文档看上去就像“印刷品”一样。\par
方便而强大的数学公式排版能力,无出其右。\par 绝大多数时候,用户只需专注于一些组织文档结构的基础命令,无需(或很少)操心文档的版面设计。\par
很容易生成复杂的专业排版元素,如脚注、交叉引用、参考文献、目录等。
\subsection*{1.2 安装} 在ctex.org下载ctex套装(203Mb或1.3Gb)(含MikTeX及WinEdt)。
\subsection*{1.3 概述} TEX是高德纳 (Donald E.Knuth) 开发的、以排版文字和数学公式为目的的一个计算机软件。
高德纳从1977年开始开发TEX,以发掘当时开始用于出版工业的数字印刷设备的潜力。
\par 在开始示例编译过程之前,有必要澄清几个概念:\par
引擎:全称为排版引擎,是读入源代码并编译生成文档的程序。\par
格式:是定义了一组命令的代码集。
\subsection*{1.4 安装} 在ctex.org下载ctex套装(203Mb或1.3Gb)(含MikTeX及WinEdt)。
\end{document}
编译后的效果如下所示:
geometry 宏包本身也能够修改纸张大小、页眉页脚高度、边注宽度等等参数。更详细的用法可查阅 geometry 宏包的帮助文档。
二 、参考文献
LaTeX 处理参考文献的逻辑是这样的。首先作者需要维护一个文献数据库,然后为每一篇文献加上标题、作者、年份、期刊名、哪一卷等信息,最重要的是给它一个独特的标签。在行文过程中,作者只需要像做交叉引用一样用一定的命令 (\cite) 去引用这个标签,LaTeX 的引擎 BibTeX 就会去查找数据库中对应的信息,然后生成引用,并在文末加上完整的文献条目。
BibTeX 数据库以 .bib 作为扩展名,其内容是若干个文献条目,每个条目的格式为:
@⟨type⟩{⟨citation⟩,
⟨key1 ⟩ = {⟨value1 ⟩},
⟨key2 ⟩ = {⟨value2 ⟩},
. . .
其中 ⟨type⟩ 为文献的类别,如 article 为学术论文,book 为书籍,incollection 为论文集中的某一篇,等等。⟨citation⟩ 为 \cite 命令使用的文献标签。在 ⟨citation⟩ 之后为条目里的各个数据项,以 ⟨key⟩ = {⟨value⟩} 的形式组织。
建立一个新文档,把以下内容复制进入文档中,保存,保存文件名为references.bib,保存类型为UTF-8。这个文档里面以一定的格式写明了每个文献的信息,我们来看看里面的样子:
@article{rivero2001resistance,
title={Resistance to cold and heat stress: accumulation of phenolic compounds in tomato and watermelon plants},
author={Rivero, Rosa M and Ruiz, Juan M and Garc{\i}a, Pablo C and L{\'o}pez-Lefebre, Luis R and S{\'a}nchez, Esteban and Romero, Luis},
journal={Plant Science},
volume={160},
number={2},
pages={315--321},
year={2001},
publisher={Elsevier}
}
@article{gostout1992clinical,
title={The clinical and endoscopic spectrum of the watermelon stomach},
author={Gostout, Christopher J and Viggiano, Thomas R and Ahlquist, David A and Wang, Kenneth K and Larson, Mark V and Balm, Rita},
journal={Journal of clinical gastroenterology},
volume={15},
number={3},
pages={256--263},
year={1992},
publisher={LWW}
}
第一行的 article 表示文献类型,而 rivero2001resistance 以及 gostout1992clinical 则是标签。下面的内容应该就很容易看明白了。这些内容大多是直接从网上抓取的,所以一般情况下我们不太需要了解其中的细节。大家只需要知道,每一条文献记录都是像上面那样的就行了。如果发现文献信息有误,可以自己手动在里面修改。一般文献管理软件都自带导出功能,导出之后修改即可。这里需要注意的是作者那一栏。多个作者的信息是用 and 分隔的,逗号前是姓,逗号后是名。
现在我们来看如何利用 BIBTEX 数据库生成参考文献和引用:
第一步:制作需要的 BIBTEX 数据库,例如上述的数据库文件, references.bib,将其放置在 LATEX 源代码的目录下。
第二步:在源代码中添加必要的命令。l例如我的源代码名为 test.tex。
1. 首先需要使用命令 \bibliographystyle 设定参考文献的格式。
2. 其次,在正文中引用参考文献。BIBTEX 程序在生成参考文献列表的时候,通常只列出用了
\cite 命令引用的那些。如果需要列出未被引用的文献,则需要 \nocite{⟨citation⟩} 命令; 而 \nocite{*} 则让所有未被引用的文献都列出。
3. 再次,在你需要列出参考文献的位置,使用 \bibliography 命令代替 thebibliography 环境:
\bibliography{⟨bib-name⟩}
其中 ⟨bib-name⟩ 是 BIBTEX 数据库的文件名,不要带 .bib 扩展名。
我们修改源代码如下:
\documentclass{ctexart}
\bibliographystyle{plain} %参数 plain 表示参考文献的样式,有好几种可选
\usepackage[left=1.25in,right=1.25in, top=1in,bottom=1in]{geometry}
\title{LaTeX入门}
\author{小明\thanks{第一作者}
\and 小红\thanks{第二作者}
\and 隔壁老王\thanks{通讯作者}}
\date{2018年7月7日}
\begin{document}
\maketitle
\section*{第一章 LaTex介绍} LATEX是一个文档准备系统 (Document Preparing System) \cite{gostout1992clinical},它非常适用于生成高印刷质量的科技类和数学类文档 \cite{rivero2001resistance}。
\subsection*{1.1 概述} TEX是高德纳 (Donald E.Knuth) 开发的、以排版文字和数学公式为目的的一个计算机软件。
高德纳从1977年开始开发TEX,以发掘当时开始用于出版工业的数字印刷设备的潜力。
\par 在开始示例编译过程之前,有必要澄清几个概念:\par
引擎:全称为排版引擎,是读入源代码并编译生成文档的程序。\par
格式:是定义了一组命令的代码集。
\subsubsection*{1.1.1 LaTex的优缺点} 专业的排版输出,产生的文档看上去就像“印刷品”一样。\par
方便而强大的数学公式排版能力,无出其右。\par 绝大多数时候,用户只需专注于一些组织文档结构的基础命令,无需(或很少)操心文档的版面设计。\par
很容易生成复杂的专业排版元素,如脚注、交叉引用、参考文献、目录等。
\subsection*{1.2 安装} 在ctex.org下载ctex套装(203Mb或1.3Gb)(含MikTeX及WinEdt)。
\subsection*{1.3 概述} TEX是高德纳 (Donald E.Knuth) 开发的、以排版文字和数学公式为目的的一个计算机软件。
高德纳从1977年开始开发TEX,以发掘当时开始用于出版工业的数字印刷设备的潜力。
\par 在开始示例编译过程之前,有必要澄清几个概念:\par
引擎:全称为排版引擎,是读入源代码并编译生成文档的程序。\par
格式:是定义了一组命令的代码集。
\subsection*{1.4 安装} 在ctex.org下载ctex套装(203Mb或1.3Gb)(含MikTeX及WinEdt)。
\bibliography{references}
% 注意:\bibliographystyle 和 \bibliography 命令缺一不可,没有这两个命令,使用BIBTEX 生成参考文献列表的时候会报错。
\end{document}
编译后得到的效果为(红色方框部分):

显然,排版参考文献只需要用好以下三个命令即可:
- \bibliographystyle{<样式名>},定义文献引用格式,在导言区使用;
- \cite{<标签>} 系列命令,在行文中使用;依据需求不同会有不同的命令;
- \bibliography{<文献数据库名>},在排版参考文献处使用,添加文献列表;
三、表格
LATEX 里排版表格不如 Word 等工具简便和自由,不过对于不太复杂的表格来讲,完全能够胜任。排版表格最基本的 tabular 环境用法为:
\begin{tabular}{⟨column-spec⟩}
⟨item1 ⟩ & ⟨item2 ⟩ & . . . \\
\hline
⟨item1 ⟩ & ⟨item2 ⟩ & . . . \\
\end{tabular}
其中 ⟨column-spec⟩ 是列格式标记,在接下来的内容将仔细介绍;& 用来分隔单元格;\\ 用来换行;\hline 用来在行与行之间绘制横线。
LATEX 表格中基本的列格式如下表:
我们修改源代码如下所示:
\documentclass{ctexart}
\bibliographystyle{plain} %参数 plain 表示参考文献的样式,有好几种可选
\usepackage[left=1.25in,right=1.25in, top=1in,bottom=1in]{geometry} % 设置页面参数的第一种方法
\title{LaTeX入门}
\author{小明\thanks{第一作者}
\and 小红\thanks{第二作者}
\and 隔壁老王\thanks{通讯作者}}
\date{2018年7月7日}
\begin{document}
\maketitle
\section*{第一章 LaTex介绍} LATEX是一个文档准备系统 (Document Preparing System) \cite{gostout1992clinical},它非常适用于生成高印刷质量的科技类和数学类文档 \cite{rivero2001resistance}。
\subsection*{1.1 概述} TEX是高德纳 (Donald E.Knuth) 开发的、以排版文字和数学公式为目的的一个计算机软件。
高德纳从1977年开始开发TEX,以发掘当时开始用于出版工业的数字印刷设备的潜力。
\par 在开始示例编译过程之前,有必要澄清几个概念:\par
引擎:全称为排版引擎,是读入源代码并编译生成文档的程序。\par
格式:是定义了一组命令的代码集。
\subsubsection*{1.1.1 LaTex的优缺点} 专业的排版输出,产生的文档看上去就像“印刷品”一样。\par
方便而强大的数学公式排版能力,无出其右。\par 绝大多数时候,用户只需专注于一些组织文档结构的基础命令,无需(或很少)操心文档的版面设计。\par
很容易生成复杂的专业排版元素,如脚注、交叉引用、参考文献、目录等。
\subsection*{1.2 安装} 在ctex.org下载ctex套装(203Mb或1.3Gb)(含MikTeX及WinEdt)。
\subsection*{1.3 概述} TEX是高德纳 (Donald E.Knuth) 开发的、以排版文字和数学公式为目的的一个计算机软件。
高德纳从1977年开始开发TEX,以发掘当时开始用于出版工业的数字印刷设备的潜力。
\par 在开始示例编译过程之前,有必要澄清几个概念:\par
引擎:全称为排版引擎,是读入源代码并编译生成文档的程序。\par
格式:是定义了一组命令的代码集。
\subsection*{1.4 安装} 在ctex.org下载ctex套装(203Mb或1.3Gb)(含MikTeX及WinEdt)。
\subsection*{1.5 制作表格} 学习如何制作简单的表格。
\begin{center}
\begin{tabular}{|c|c|}
\hline
a & b \\
\hline
c & d\\
\hline
\end{tabular}
\end{center}
\bibliography{references}
% 注意:\bibliographystyle 和 \bibliography 命令缺一不可,没有这两个命令,使用BIBTEX 生成参考文献列表的时候会报错。
\end{document}
编译后的结果如下所示:
四、图片
LATEX 本身不支持插图功能,需要由 graphicx 宏包辅助支持。在xelatex 编译命令下所支持的图片格式有:.pdf、.eps 、.jpg 、.png、 .bmp等等。
在LaTeX文档中插入图片都是通过使用一些latex图形处理宏命令来实现的, 有很多宏命令都支持在在LaTeX文档中插入图形文件, 比较常用的是用 includegraphics宏命令(graphicx包):
首先需在latex文档的文件说明部分加上: \usepackage{graphicx}然后在需要插入图片的地方引用: \includegraphics[height=高度]{图片文件名} 或者: \includegraphics[width=宽度]{图片文件名}
其中的"高度"和"宽度"是指希望图片打印的高度和宽度, 必须给出单位, 可用厘米(cm)或英寸(in)。高度和宽度也可用上述格式同时给出, 这样可以改变原图的长宽比例。上述命令中的图片文件名是指欲插入的图片文件的文件名。
用graphicx包的includegraphics宏命令插入图片时还可以使图片旋转,方法是: \includegraphics[height=高度][angle=旋转角度]{图片文件名},插入的图形通常为eps、pdf或者jpg、png等格式。
我们在写论文的时候,一般如果图片比较多我们一般会选择把图片统一的放到和源文件一个路径下的某个目录里,这个时候我们要成功的加载图片我们就可以使用相对路径来加载。例如我们把图片全部放在一个叫做 figures 的文件夹下面,如下图所示:

一般情况下我们很少会把图片直接插入到我们的文本当中,而是会给它放置在一个叫做浮动体(float)的东西中。这样图片可以有一些相对位置的变换,不会造成分页困难等问题。图片的浮动环境是figure。使用的方法如下所示:
\begin{figure}[ht]
\centering
\includegraphics[scale=0.6]{fullscreen.png}
\caption{this is a figure demo}
\label{fig:label}
\end{figure}
在这里第一行和最后一行就是我们使用figure的浮动体环境。
[ht]是可选项 h表示的是here在这里插入
t表示的是在页面的顶部插入
使用figure表示的是把我们这个东西看成一个段落并且是没有任何缩进的:
\centering表示的是里面紧跟的内容都居中
\includegraphics[]{}表示的插入图片
\caption设置图片的一个编号以及为图片添加标题
我们修改源代码如下所示:
\documentclass{ctexart}
\bibliographystyle{plain}
\usepackage[left=1.25in,right=1.25in, top=1in,bottom=1in]{geometry}
\usepackage{graphicx}
% 插图功能不是有Latex的内核直接提供的,而是需要由宏包graphicx提供的。因此要使用宏包的话,我们就需要在引言区插入我们的宏包。
% 插图的宏包我们还可以选择性的使用graphics这个宏包,这个两个宏包在功能上并没有什么差别,只是graphicx宏包支持<项目>=<值>的语法,使用起来更方便。
\graphicspath{{figures/}}
% graphicspath它可以指定我们图片的路径,表示在当前目录下存放有一个图片
\title{LaTeX入门}
\author{小明\thanks{第一作者}
\and 小红\thanks{第二作者}
\and 隔壁老王\thanks{通讯作者}}
\date{2018年7月7日}
\begin{document}
\maketitle
\section*{第一章 LaTex介绍} LATEX是一个文档准备系统 (Document Preparing System) \cite{gostout1992clinical},它非常适用于生成高印刷质量的科技类和数学类文档 \cite{rivero2001resistance}。
\subsection*{1.1 概述} TEX是高德纳 (Donald E.Knuth) 开发的、以排版文字和数学公式为目的的一个计算机软件。
高德纳从1977年开始开发TEX,以发掘当时开始用于出版工业的数字印刷设备的潜力。
\par 在开始示例编译过程之前,有必要澄清几个概念:\par
引擎:全称为排版引擎,是读入源代码并编译生成文档的程序。\par
格式:是定义了一组命令的代码集。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 插入单张图片
\begin{figure}[htbp]
\centering
% \includegraphics[width=4cm,height=5cm]{3}
\includegraphics[scale=0.4]{3} % 或者采用缩放因子的写法
\caption{这是一个案例}
\label{fig:label}
\end{figure}
% 并排插入两张图片
\begin{figure}[htbp] % h:此处,t:页顶,b:页底,p:独立一页
\begin{minipage}[t]{0.5\textwidth} %并排放两张图片,每张占页面的0.5,下同。
\centering
\includegraphics[width=\textwidth]{2}
\caption{这是第一张图片} % 这是第一张图片
\end{minipage}
\begin{minipage}[t]{0.5\textwidth}
\centering
\includegraphics[width=\textwidth]{3}
\caption{这是第二张图片}
\end{minipage}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection*{1.1.1 LaTex的优缺点} 专业的排版输出,产生的文档看上去就像“印刷品”一样。\par
方便而强大的数学公式排版能力,无出其右。\par 绝大多数时候,用户只需专注于一些组织文档结构的基础命令,无需(或很少)操心文档的版面设计。\par
很容易生成复杂的专业排版元素,如脚注、交叉引用、参考文献、目录等。
\subsection*{1.2 安装} 在ctex.org下载ctex套装(203Mb或1.3Gb)(含MikTeX及WinEdt)。
\subsection*{1.3 概述} TEX是高德纳 (Donald E.Knuth) 开发的、以排版文字和数学公式为目的的一个计算机软件。
高德纳从1977年开始开发TEX,以发掘当时开始用于出版工业的数字印刷设备的潜力。
\par 在开始示例编译过程之前,有必要澄清几个概念:\par
引擎:全称为排版引擎,是读入源代码并编译生成文档的程序。\par
格式:是定义了一组命令的代码集。
\subsection*{1.4 安装} 在ctex.org下载ctex套装(203Mb或1.3Gb)(含MikTeX及WinEdt)。
\subsection*{1.5 制作表格} 学习如何制作简单的表格。
\begin{center}
\begin{tabular}{|c|c|}
\hline
a & b \\
\hline
c & d\\
\hline
\end{tabular}
\end{center}
\bibliography{references}
\end{document}
编译源代码,得到结果如下: