admin 管理员组

文章数量: 887021

TechRepo是由软件学院学生科协推出的技术分享系列推送,每两周会进行一次更新,旨在为同学们提供一个分享技术、学习技术、传承技术的平台。欢迎感兴趣的同学关注我们,也欢迎有意向分享技术的同学联系我们(tech@ssast)了解投稿事宜。

LaTeX基本知识和应用

01

什么是LaTeX

    LaTeX是一种基于 TeX 的排版系统,可以看做是TeX的一种宏包,在现代的排版工作中被广泛的使用,TeX本身也是一个免费的开源系统。相比于传统的排版和文字处理软件,我们一般公认LaTeX具有以下优点:

        1) 排版质量高,处理数学内容能力强。

        2) 更高的可拓展性和兼容性。

        3) 内容与排版相分离,提供更专注的工作创作。

    接下来我们将介绍LaTeX中基本的结构、图片表格、数学公式、参考文献的处理。

02

LaTeX文档的基本结构

    LaTeX文档基本可以分为两部分,导言区正文区

    导言区通常包含一组命令的集合,它指定处理后面文本的全局参数,如页面格式、文本的高度和宽度,输出页的页码、页眉与页脚的组成。例如,我们可以使用\documentclass命令,以指定文档的全局处理类型。这通常也是导言的第一条命令。

  正文区是以\begin{document}来表示开始,\end{document}表示结束的区域。正文中包括我们所要编辑的文本、图片等内容,并且包含着一些其它的局部命令,与导言区的命令不同,这些命令往往只适用于一部分文本。

    下面给出一段简单的LaTeX文档,帮助大家理解:

%导言区\documentclass[UTF8]{article} %定义文档类型\title {Hello world!}\author{z-zhang}\date{\today}%正文区\begin {document}\maketitle
Hello world!\end{document}

    不出意外,在任一款TeX编辑器的预览下,我们应该得到以下的输出:

Tips

1

 LaTeX中控制文章结构的常用命令

\section{} %一级标题\subsection{} %二级标题\subsubsection{} %三级标题\maketitle%根据导言区内容生成标题\tableofcontents%根据section的分布生成目录% LaTeX中还有很多结构命令,例如用单个空行表示分段,用\\表示换行

02

LaTeX文档的基本结构

    在LaTeX的基础环境下,我们需要先引入graphicx宏包\usepackage{graphicx},通过\includegraphics命令来进行图片的插入和排版.其格式为:

\includegraphic[]{}

    例如:

\includegraphics[width=.8\textwidth]{\figures\1.jpg}% 通过相对路径引入图片,宽度为0.8倍的文档宽度

    我们也可以使用\graphicspath命令来将指定的路径纳入图片插入的默认路径。

\graphicspath{{figures},{pictures}} %导言区键入
\includegraphics{1.jpg}

    处理表格时,我们通常用\begin{tabular}和\end{tabular}开启一段表格环境

\begin{tabular}{|l| c| r |}%l,c,r表示列对齐格式(left,center,right) 可以选择|来分隔列\hline
OS& version& editor\\  

%\hline为行分隔线 &隔开不同的列分隔符 \hline
Windows & MikTeX & TexMakerX \\\hline
Unix/Linux & teTeX & Kile \\ \hline
Mac OS & MacTeX & TeXShop \\ \hline
general& TeX Live & TeXworks \\ \hline\end{tabular}

    我们得到的结果应该为:   

    但是,由以上方式得到的图片和表格,对它们的格式、位置、大小等元素进行控制比较困难。为此,我们还需要使用浮动体来控制格式。例如:

\begin{figure}[] %htbp代表浮动体的位置参数\centering %浮动体居中\includegraphics[width = .8\textwidth]{figures/1.jpg}\caption{Bai zhantang} %图片标题\label{figure1} %引用标志\end{figure}\ref{figure1} %在文章的其它位置对图片进行引用

    这里展示了浮动体标题、label等命令,我们还可以使用更多的格式控制命令。    

    一般来说,LaTeX的基础命令已经可以支持我们进行非复杂图片和表格的处理,但是,如果要处理更复杂的图片和表格,我们还需要引入一些额外的宏包,或者使用其它的工具。同样,LaTeX还具有强大的作图能力,这可以借助tikz,pstricks等宏包实现,也可以使用一些支持添加LaTeX公式的绘图软件,例如著名的Inkscape.

    这里我们介绍Tables Generator网站,它支持我们在线可视化编辑表格并转化为对应的LaTeX代码。可以帮助我们处理复杂的表格并避免繁琐的代码输入。

03

LaTeX中的数学公式

    LaTeX对数学公式具有广泛的支持,且其数学排版质量很高。LaTeX支持大部分的公式类型,数学符号,和比较方便的公式排版和引用。一般来说,LaTeX中最常用的数学宏包为amsmath和amssymb。

    LaTeX中数学记号和特殊符号的输入内容较多,在这里我们不进行具体的讨论。主要讨论LaTeX中数学公式的格式问题。

    LaTeX中常见的公式格式包括行内公式、行间公式、多行公式,其中根据公式是否编号,公式间的格式又有不同的命令。这里我们介绍一些基本的格式。

$ x=y $ %行内公式无编号$$ x=y $$%行间公式无编号%行间公式\begin{equation}
    {(x+y)}^2=x^2+y^2+2xy
    ={(x-y)}^2+4xy\end{equation}%多行公式,格式对齐\begin{align}
    x&=y \label{equal xy} \\

%同样,我们可以用label和ref命令引用公式,&为行对齐符
    y&=x\end{align}%公式内分行\begin{equation} \begin{split}
        {(x+y)}^2&=x^2+y^2+2xy\\
        &={(x-y)}^2+4xy \end{split}\end{equation}

    其输出从上到下为:

    我们也可以使用array环境进行公式的分行与分块(命令与表格相似,输出格式与align环境相似)

\begin{equation}
y = \left\{\begin{array}{lcl}
    1 &\text{if} &\ x=0\\
    0 &\text{if} &\ x\neq 0 \\  \end{array}\right.\end {equation}

输出结果如下:

    可以看出,LaTeX会对可以编号的公式进行自动编号,如果不愿对公式编号,可以使用 \notag 命令进行部分编号,也可以通过 * 来对一个公式块统一不编号,例如align*.  事实上,LaTeX往往有多种命令来输入同一格式的公式,例如我们也可以用 \[ 和 \] 来输入行间公式。一般来说,以上我们介绍的命令是足够的。

    LaTeX中,我们还常常需要输入比较复杂的矩阵,对矩阵的排版也可以看做是LaTeX中公式的排版内容。矩阵排版所常用的环境为matrix环境和array环境,array环境在输入复杂矩阵时可能更加便利,在这里我们给出一个示例。

%一般矩阵
\[\left[\begin{array}{cccc|c}
    a_{11}&a_{12}&\cdots&a_{1n}&b_1\\
    a_{21}&a_{22}&\cdots&a_{2n}&b_2\\\vdots&&\ddots&\vdots&\vdots\\
    a_{n1}&a_{n2}&\cdots&a_{nn}&b_n\\\end{array}\right]
\]

04

LaTeX中的参考文献

    作为论文创作排版的常用工具,参考文献的处理是考察LaTeX能力的重要环节。LaTeX为我们提供的最基础的参考文献引入方法如下:

\begin{thebibliography}{}
\bibitem{ref1}Arandjelović R, Zisserman A, Three things everyone should know to improve object retrieval, Computer Vision and Pattern Recognition (CVPR), 2012 IEEE Conference on, IEEE, 2012: 2911-2918.  
\end{thebibliography}% 这里的文献只用于示例

    我们使用\begin{thebibliography}来开启Reference区域,\bibitem{label}表示一个参考文献条目,label表示其引用标志。我们可以在正文中使用\cite{label}来引用一个具体的条目。

    但可以看出,这种参考文献管理方式,要求我们对每篇参考文献的格式和内容进行手动的管理。所以一般来说,我们并不使用这种方式来管理LaTeX中的参考文献。而是使用BibTeX(或BibLaTeX)来管理参考文献。

    首先,我们介绍.bib和.bst两种格式的文件。.bib即BibTeX的参考文献数据文件,.bst为参考文献的格式控制文件,例如排序方式,作者名的缩写格式等。一般来说,不同期刊杂志都有自己的格式要求,即对应的.bst,我们更多地需要维 护bib文件。

    一般来说,.bib文件中由参考文献的词条构成,每一个词条的格式大致如下:

@article{foot2012educational,
  title={Educational research: Planning, conducting, and evaluating quantitative and qualitative research},
  author={Foot, Michael and Life, A and Heep, Uriah},
  year={2012}
}

    其中可以包括文章类型,title,author,year,publisher,pages等参考文献信息,内容十分广泛。但是,一般使用时,我们不需要太多的手动输入这些信息,而是借助文献管理工具来进行处理。例如,我们可以在Google Scholar中检索文献,并导出其对应的BibTex格式引用并附在我们的.bib文件中即可。

    其BibTex的Entry格式为:    

    创建好.bib文件和.bst文件后,我们可以在.tex文件中指定对应的.bib和.bst文件:

\bibliographystyle{<.bst>} %引入.bst文件\bibliography{<.bib>}     %引入.bib文件

    之后,我们就可以在文档中直接引用.bib文件中的文献:

Reference 1 \cite{national2007nutrient}%我们也可以使用\citep等各种不同的引用格式

    我们可以看到文档中出现了对应的标注和文献:    

    我们也可以使用\notice{label}命令在Reference中添加我们未直接引用的参考文献。

END

文案:张智

排版:曾子豪

审核:赵乙宁

 往期推送速览 

1

TechRepo | 常用代码编辑器推荐

2

TechRepo | 用 Hexo 及 GitHub Pages 建立个人博客

3

TechRepo | Mac终端的简单入门

本文标签: 基本知识 换行 longtable Latex TechRepo