美文网首页
论文杀器LaTeX用法汇总(2)——基础语法

论文杀器LaTeX用法汇总(2)——基础语法

作者: hymscott | 来源:发表于2018-02-03 16:07 被阅读326次

安装好LaTeX及编译器后我们就开始写LaTeX啦,在这里先介绍一些LaTeX的基础语法。

1.文档结构

文件结构

LaTeX的文件结构可以分为三类:文档类声明,序言,正文。
文档类声明用来指定文档的类型。
序言用来执行引入宏包、定义指令、设置变量等工作,序言属于可选项。
正文用来书写文档的实际内容,在指令\begin{document}\end{document}之间。

三者的基础语法如下:

\documentclass[option]{class}  %文档类声明
\usepackage[option]{package}  %序言
\begin{document}  %正文
...
\end{document}

文档类声明中的class分为:article、report、book,相关选项(option)如图:

需要注意的是,原生LaTeX只提供基础的功能,其他需要通过宏包(\usepackage)进行扩展,不同的宏包提供的功能各不一样。

标题、摘要、层次

一篇LaTeX文档通常需要标题、摘要等信息,之后是文章的层次结构,而正文内容则散落在各层次结构之间。
标题、作者、日期的写法:

\title{标题}  %“标题”处写上文章标题
\author{作者}  %“作者”处写上文章作者
\today  %编译生成文章时的日期
\maketitle

注意\maketitle指令应放在最后。
摘要写法:

\begin{abstract}
...
\end{abstract}

层次结构写法:

\chapter{...}  
\section{...}  
\subsection{...}
\subsubsection{...}

程度递减,其中article里无chapter,report和book包含所有结构。

目录

使用\tableofcontents指令生成整个文档的目录,Latex会自动设定目录的层次,也可以通过\setcounter指令手动设定层次深度。

\tableofcontents
\setcounter{tocdepth}{2}  %设置深度为2

如果不希望章节等层次结构出现在目录中,可以通过加*号避免。

\chapter*{...}
\section*{...}

值得一提的是,当章节、图表等结构发生变化后,需要执行两遍才能得到正确结构,LaTeX这样被设计据分析是因为当时的电脑内存容量有限。

2.文字排版

字符输入

LaTeX中常用字符为:普通字符、控制符、特殊符号、注音符号、预定义字符串等,对于这些字符,常见的输入模式分为:文本模式(缺省)和数学模式,行间的数学模式用$...$表示。
LaTeX中有些字符(# $ % ^ & _ { } ~ \等)是作为特殊的控制符存在的,单独使用的时候需要在前面加上“\”,而“\”本身则作为换行符,因此“\\”在LaTeX中是换行指令。
相关符号输入方式如下:

换行/页、断字

换行指令如下:
1)\\和\\*

\\[extra-space]
\\*[extra-space]

\\和\\*指令功能相同,差别只是后者在强制换行后禁止换页。可选叁数 extra-space 指明下一行开始前预留多少垂直距离(可以为负值)。
2)\newline
\newline指令只能在段落中使用,使文本新开一行。
3)\linebreak和\nonlinebreak

\linebreak[number]
\nonlinebreak[number]

这条指令让LaTeX中断当前行并将当前行己有文本拉长直至页边。如果使用了 number 可选叁数,则此指令变成了一个换行请求,由系统决定是否换行。number 的值只能从 0 到 4,值越大代表换行的意愿越强烈(\nonlinebreak与其相反)。

换页指令如下:
1)\newpage
\newpage指令结束当前页, 开始新的一页。
2)\pagebreak和\nonpagebreak

\pagebreak[number]
\nonpagebreak[number]

这条命令让 LaTeX从文本当前位置结束当前页。如果使用了 number 可选叁数,则此指令变成了一个换页请求,由系统决定是否换页。number 的值只能从 0 到 4,值越大表示换页的意愿越强烈(\nonpagebreak与其相反)。

段落(paragraph)是用一个完全空白的行结束的一段文本。空行不能出现在不允许段范开始的时机或地方,如数学状态下或分节命令的参数中等等。
段落指令如下:
1)\indent
该指令产生一块水平空白区域,其宽度等于段落的缩进距离值。
2)\par
该指令与空行的效果相同,使用它常常只是为了使文档中的命令或环境的定义更易于阅读理解。

LaTeX一般会均匀断字,但有些时候我们需要显式指定断字位置,这需要用到\hyphenation指令:

\hyphenation{hyph-en-a-tion}  %显示指定断字
字样和字号

LaTeX会自动调整正文、标题、章节、上下标、脚注等的字样,我们也可以用表2.3中的指令来设置字样,用表 2.4中的指令来设置相对字号。




\emph是字样强调命令,在不同字样和装饰环境下有不同效果。比如周围文字是正体,它就是斜体,反之它就是正体。

3.常见环境

列表

LaTeX中有三种列表环境:itemize、enumerate、description,用法如下:

\documentclass{article}
\begin{document}
\begin{itemize}
  \item First
  \item Second
  \item Third
\end{itemize}

\begin{enumerate}
  \item First
  \item Second
  \item Third
\end{enumerate}

\begin{description}
  \item{First} aaa
  \item{Second} bbb
  \item{Third} ccc
\end{description}
\end{document}

结果如下:


摘录

LaTeX中有三种摘录环境:quote、quotation、verse。三者区别如下:
quote:两端都缩进。
quotation:在quote的基础上增加了首行缩进
verse:比quote多了第二行起的缩进。

原文照排

一般文档中,命令和源代码通常使用等宽字样来表示,也就是原文照 排。对此 LaTeX提供了\verb命令(一般用于在正文中插入较短的命令)和 verbatim 环境。后者有带 * 的版本用来标明空格。

\begin{verbatim}
    printf("Hello, world!");
\end{verbatim}
\begin{verbatim*}
    printf("Hello, world!");
\end{verbatim*}

结果如下:


交叉引用

我们需要引用文档中的section、subsection、figure、table等对象的编号,这种功能叫做交叉引用。
\label{marker}:定义一个标记,marker可以是 任意字符串,但是在全文中须保持唯一。
\ref{marker}:引用标记处章节或图表的编号。
\pageref{marker}:引用标记处的页码。

\begin{equation}\label{f1}
    a^2=b^2+c^2
\end{equation}

文档中新增交叉引用后,第一次执行 LaTeX或 pdfLaTeX 编译命令时会得到警告信息,第二次编译才能得到正确结果。

脚注

\footnote指定脚注

This is a sentence.\footnote{This is a footnote.}

4.长度

LaTeX中的常用长度单位如表2.5所示。


相关文章

网友评论

      本文标题:论文杀器LaTeX用法汇总(2)——基础语法

      本文链接:https://www.haomeiwen.com/subject/iexuzxtx.html