(3)LaTeX论文排版——实例解读

解读上一篇文章(2)LaTeX论文排版——总体框架中的排版样例

注释

  • 不会被编译
  • 不会对排版效果产生任何影响
  • 注释是用来方便阅读源代码

用%进行行注释

% 这是一行注释

使用verbatim包进行块注释,需要注意的是这个方法不能使用在像数学环境等一些复杂的环境中

\usepackage{verbatim}
\begin{comment}
这是第一行注释
这是第一行注释
\end{comment}

用命令\iffalse…\fi把需要注释的内容包含起来

\iffalse
这是第一行注释
这是第一行注释
\fi

说明

  • 说明是用来确定文档属性和编译选项,行也是以%开头,一般放在tex文件开头

常有如下说明

% *- coding: UTF-8 -*- %文档编码为utf8

TeXlive支持Linux/Window/Mac,MacTeX专项支持mac,MiKTeX专项支持Windows,etc

% !TEX builder = TeXlive %编译器为TeXlive

XeTeX是一种使用Unicode的TeX排版引擎,原生支持Unicode,并默认其输入文件为utf-8编码,可以在不进行额外配置的情况下直接使用操作系统中安装的字体,从底端就支持各种文字包括中文, 生成的文档更为美观。xelatex 拥有XeTeX 的优点

% !TEX program = xelatex %排版引擎程序调用顺序配置"latex-workshop.latex.recipes"中的第一个为xelatex(编译时默认用第一个)

如要对中文文档进行排版,参考这里进行配置

导言区

  • \documentclass[]{}\begin{document}之间的部分称为导言区,一般用于载入宏包,对文档的性质做一些设置或自定义一些命令和调整格式
  • 用\ 开始的字母串来表示一个命令,命令后面用花括号{} 包含的内容是该命令的参数(必不可少),用方括号[]包含该命令的可选参数(可选)

这里的\documentclass[]{}是LATEX 文档的基本命令,用于指明文档类,这里文档类为ctexart,ctexart是ctexarticle的缩写,是支持中文的article类,并设定该ctexart文档类为UTF8编码,纸张为A6大小

\documentclass[UTF8, a6paper]{ctexart},

*文档类常有
article 排版科技期刊、短报告、程序文档、邀请函等
report 排版多章节的长报告、短篇的书籍、博士论文等
book   排版书籍
slides  排版幻灯片,其中使用了较大的 sans serif 字体
使用ctexart文档类,所有中文环境和章节编号等等都已经按照中文习惯设置好了,简单易行。另外,对于book 和report 文档类,也有对应的ctexbook 和ctexrep 中文文档类,其用法类似

文档类的属性常有:
纸张大小(a4paper,a5paper,b4paper,letterpaper,legalpaper,executivepaper):
默认的letterpaper 纸张常见于美国,和国内常用的A4 纸张的大小稍有差别,建议自己指定。
字体大小(10pt,11pt,12pt):默认为10pt。
纸张方向(portrait,landscape):默认为portrait(纵向),在屏幕阅读也许landscape(横向)更方便。
草稿定稿(draft,final):默认为final(定稿);如果是draft(草稿),页面内容有溢出时会显示粗黑条。
单面双面(oneside,twoside):对于article 和report 文档类,默认设置为单面,页码总是在右边;对于book 文档类,默认设置为双面,奇数页页码在右边,偶数页页码在左边,这样双面打印时页码总在外侧。
新章开始(openright,openany):仅对book 文档类有效,默认值为openright,即每章都从奇数页开始;如果设置为openany,则每章仅从新的一页开始,不管奇偶页。*

这里的\usepackage []{}命令也是LATEX 的基本命令,用于载入LATEX 宏包,LATEX 系统中包含了各种各样的宏包,对LATEX 的基本功能作了各种扩展,LaTeX常用宏包请进传送门

这里的\bibliographystyle{plain}用来声明参考文献的样式

现在很多文章的公式定理等都需要采用统一编号,而不再是独立编号,如定理1,接下来可能是定理2,等等,这可以用\newtheorem{}来完成,这里的\newtheorem{thm}{定理}声明一个thm环境,标题为定理,比如下面的代码在正文中第一次出现,会编译输出定理1(勾股定理)...定理2(切线长定理)

\begin{thm}[勾股定理]
...
\end{thm}
...
\begin{thm}[切线长定理]
...
\end{thm}

正文区

  • \begin{document}\end{document}之间的部分我们称为正文区,一般用于正文内容的撰写
  • LaTeX的命令也有不同的类型,形如\begin{环境名}...\end{环境名}的命令组合我们称为环境

这里的\maketitle命令用来控制编译输出标题、作者、日期
这里的\tableofcontents命令用来控制编译输出目录
\zihao{}命令设置字号,\kaiti命令设置字体
\bibliography{math}将从同文件夹下的math.bib中获取参考文献信息
LaTeX语法参考Latex排版全解、LaTeX学习笔记 1 | 一个中文排版例子、《LaTeX入门》v8ts

换行与空格
  • 用一个空行或者\par命令可以开始新的段落,同时会有默认的首行缩进,用\newline或\\可以强制换到下一行且不会有缩进,表格里用只能\\换行
  • LaTeX会忽略单个回车、段前的空格和汉字后面的空格,而其他符号后面的空格则会保留
  • 为了使源代码更容易阅读,编写时可在合适的位置敲一下回车,不要让一行代码太长;在汉字与其他符号之间加一个空格,使得代码更清晰
命令与环境
  • 命令的格式为:以反斜线\开头,后接一串字母表示命令名,参数用花括号括起来,可选参数用方括号
  • 环境的格式为:\begin{环境名}...\end{环境名},源代码中的document,abstract,myquote,figure,thm,equation,table,tabular都是环境名,其中myquote是自定义的环境名
  • 自定义环境:源代码中的\newenvironment{myquote} {\begin{quote}\kaishu\zihao{-5}} {\end{quote}}用来自定义环境,为什么这样写,移步到这里学习
  • 自定义命令:源代码中的\newcommand{\degree}{^\circ}用来自定义命令,新命令\degree的效用等价于^\circ,为什么这样写,移步到这里学习,如果是短命令\newcommand**{\新命令名}[参数个数]{命令内容},则命令内容中不能出现段落,即不能有\par
列表
  • 列表环境有三种,分别是无序列表(itemize)、有序列表(enumerate)和描述列表(description)

无序列表(itemize)

\documentclass{ctexart}

\begin{document}

  \begin{itemize}
    \item javascript
    \item html
    \item css
  \end{itemize}

\end{document}

(3)LaTeX论文排版——实例解读_第1张图片
image.png

有序列表(enumerate)

\documentclass{ctexart}

\begin{document}

  \begin{enumerate}
    \item javascript
    \item html
    \item css
  \end{enumerate}

\end{document}
(3)LaTeX论文排版——实例解读_第2张图片
image.png

描述列表(description)

\documentclass{ctexart}

\begin{document}

  \begin{description}
    \item[javascript] javascript
    \item[html] html
    \item[css] css
  \end{description}

\end{document}
(3)LaTeX论文排版——实例解读_第3张图片
image.png
标题摘要

这里的\title{}\author{}\date{}顾名思义,声明了标题、作者和写作日期,\heiti设置标题字体为黑体,\kaishu设置作者字体为楷书,\today当然是自动生成今日的日期,如果\date{}命令的参数为空,则不显示日期信息,如果不出现\date命令,则默认显示当前的日期,这只是声明,还需要下面的\maketitle命令用来控制编译输出标题、作者、日期

% -*- coding: UTF-8 -*-
% !TEX builder = TeXlive
% !TEX program = xelatex
% test.tex
% 测试

\documentclass{ctexart}

\begin{document}

    \title{LaTeX论文排版}
    \author{5john家安}
    \date{\today}
    \maketitle

    \begin{abstract}
    LATEX(英语发音:/ˈleɪtɛk/ LAY-tek或英语发音:
    /ˈlɑːtɛk/ LAH-tek,音译“拉泰赫”),是一种基于TEX的排版系
    统,由美国电脑学家莱斯利•兰伯特在20世纪80年代初期开发,利
    用这种格式,即使用户没有排版和程序设计的知识也可以充分发挥
    由TEX所提供的强大功能。对于生成复杂表格和数学公式,这一点
    表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学
    类文档。这个系统同样适用于生成从简单的邮件到完整书籍的所有
    其他种类的文档。
    \end{abstract}

\end{document}
(3)LaTeX论文排版——实例解读_第4张图片
image.png
章节目录
  • 在book 和report 文档类中,可以使用\part、\chapter、\section 、\subsection、\subsubsection、\paragraph、\subparagraph这些章节命令,在article 文档类中,除了 \chapter不能用,其它的都可以用
  • \tableofcontents命令可以自动从各章节标题生成目录
  • 在导言区中用命令\usepackage{hyperref}载入hyperref 宏包就可以让生成的文章目录有链接,点击时会自动跳转到该章节,而且也会使得生成的pdf 文件带有目录书签
  • 要调整章节标题在目录页中的格式,可以用titletoc 宏包,该宏包的基本命令参数为
    \titlecontents{标题层次}[左间距]{整体格式}{标题序号}{标题内容}{指引线和页码}[下间距]
    详情参考这里
\documentclass[UTF8, a6paper]{ctexart}

\begin{document}

\tableofcontents

\part{绪论} 
\section{课题研究背景} 这一节我们介绍课题研究背景
\section{课题研究意义} 这一节我们介绍课题研究意义
\subsection{强化学习网络模拟训练} 这一小节我们介绍国内外强化学习网络模拟训练现状
\subsubsection{AirSim} 这一子节我们介绍国内外微软开发AirSim进行强化学习网络模拟训练
\paragraph{段标题}
\subparagraph{小段标题}
\subsubsection{CARLA} 这一子节我们介绍国内外某一团队开发CARLA进行强化学习网络模拟训练

\end{document}
(3)LaTeX论文排版——实例解读_第5张图片
image.png
参考文献
  • 引用文献的基本环境是thebibliography,使用方法如下,其中\begin{thebibliography}{}的大括号内填入的数字表示最大标号值,\bibitem表示一条文献记录,其中[显示符号]表示在参考文献区域显示的标号,可不填,默认使用数字1,2,3进行编号,引用标签则是在正文中引用的标签,参考文献的引用和其他的引用有点不同,需要用\cite{引用标签}来引用。
\begin{thebibliography}{}
\bibitem[显示符号]{引用标签} Book Title, Author
\end{thebibliography}
  • 默认thebibliography会自动添加标题Reference,所以无需重复添加
  • 默认参考文献的行间距为一行,这有时候显得太大了。可以在\begin{thebibliography}{}后添加\addtolength{\itemsep}{-1.5ex}来缩小行间距,-1.5ex表示每行缩小1.5ex,其实细心观察可以发现,thebibliography其实是一个枚举环境,因此对于itemizeenumerate,可以用同样的方法缩小行间距
  • thebibliography是十分繁琐的,因为你还需要把作者等信息一个个地填上去,有没有什么更好的方法呢?答案是:有的,那就是bibtex!bibtex是一个引用数据库,一般以bib后缀结尾,各大论文网站都会提供bibtex格式的文献引用,这里不做详解,可去谷歌学术或百度学术搜索一下,推荐用bibtex
\documentclass[UTF8, a6paper]{ctexart}

\begin{document}

\tableofcontents

\part{绪论} 
\section{课题研究背景} 这一节我们介绍课题研究背景
\section{课题研究意义} 这一节我们介绍课题研究意义
\subsection{强化学习网络模拟训练} 这一小节我们介绍国内外强化学习网络模拟训练现状
\subsubsection{AirSim} 这一子节我们介绍国内外微软开发AirSim\cite{AirSim}进行强化学习网络模拟训练
\paragraph{段标题}
\subparagraph{小段标题}
\subsubsection{CARLA} 这一子节我们介绍国内外某一团队开发CARLA进行强化学习网络模拟训练

\begin{thebibliography}{88}
    \bibitem {AirSim}Shah S, Dey D, Lovett C, et al. AirSim: High-Fidelity Visual and Physical Simulation for Autonomous Vehicles[J]. 2018.
\end{thebibliography}

\end{document}
(3)LaTeX论文排版——实例解读_第6张图片
image.png

公式表格图片

公式
  • 数学公式分为两种,一个是正文公式,一个是显示公式

正文公式:把公式用一对美元符号括起来即$公式$,主要用于较短的夹在行文中的公式,如

这是行内公式$a=b+c$\par
image.png

显示公式:使用equation环境,主要用于较长的比较重要的需要引用的公式,如

\begin{equation}
        a(b+c) = ab + ac 
    \end{equation}
image.png
  • 输入特殊字符
输入 \# \$ \% \& \{ \} \_ \^{} \~{} \textless \textgreater \textbar \textbackslash
输出 # $ % & { } _ ^ ~ < > | \\
插入表格
  • 构造表格的基本环境是\tabular,参数|l|c|r| 指明了各列的对齐方式,l、c 和r 分别表示左对齐、居中对齐和右对齐,中间的竖线| 指明各列之间有竖线分隔,如果在某些地方不需要竖线,去掉相应位置的| 即可
  • 表格各行的元素之间用&号分隔,两行内容用\\分隔
  • \hline表示两行之间的横线,可以用连续两个\hline得到双横线,或者去掉\hline以不显示该横线
  • 表格一般直接通过代码构造,而不是在外面先做好,下面构造一个小表格插入在行内
表格一般直接通过代码构造,而不是在外面先做好,下面构造一个小表格
    \begin{tabular}{|r|r|r|}
        \hline
        直角边 $a$ & 直角边 $b$ & 斜边 $c$ \\
        \hline\hline
    \end{tabular}
    插入在行内
(3)LaTeX论文排版——实例解读_第7张图片
image.png
  • 如果需要在某个单元格中填写多行内容,不能直接用\\\newline命令,而应该将它们放在一个盒子里面(比如\parbox盒子)
  • 复杂的表格经常需要跨行和跨列,在\tabular环境中,我们可以用命令\multicolumn得到跨列表格,而跨行表格需要使用makecellmultirowcell命令
  • 表格是在tabular环境对应的位置排版出来的,如果表格高度大于当前页剩余高度,表格就会被放置到下一页中,造成这一页下部留出很大空白,大部分时候我们并不需要严格限定表格出现的位置,而只要求表格在该段正文的附近出现即可。此时,我们可以用table这个可以变动相对位置的浮动体环境来达到自动调整位置的效果
  • table环境的可选参数里,h(here,当前位置)、t(top,页面顶部)、b(bottom,页面底部)、p(page,单独一页)表明允许将表格放置在哪些位置,而! 表示不管某些浮动的限制,用table浮动环境,还可以用\caption命令指明表格的名称,并得到表格的自动编号,下面构造一个大表格
\begin{table}[ht]
        \centering
        \begin{tabular}{|r|r|r|}
            \hline
            直角边 $a$ & 直角边 $b$ & 斜边 $c$ \\
            \cline{1-1} \cline{3-3}
            3 & 4 & \parbox[t]{3em}{不跨行\par 写第二行}\\
            \hline
            5 & 12 & 13\\
            \hline
            \multicolumn{2}{|c|}{跨两列} & 666\\
            \hline
            6 & \multirowcell{2}{跨两行\\写第二行} & 6\\
            \cline{1-1}\cline{3-3}
            7 &   & 7 \\
            \cline{1-1}\cline{3-3}
            \cline{2-3}
        \end{tabular}
        \caption{勾股定理示例}
        \label{tab:gouguexample}
    \end{table}
(3)LaTeX论文排版——实例解读_第8张图片
image.png
  • \table环境内用\tabular构造的表格可以与其它元素并排,下面是表格与公式并排,其中\end{tabular}%中的%可去除换行转变为一个空格的影响,\qquad2em宽度的空白
\begin{table}[H]
        \centering
        \begin{tabular}{rrr}
            \hline
            直角边 $a$ & 直角边 $b$ & 斜边 $c$ \\
            \hline
            3 & 4 & 5\\
            5 & 12 & 13\\
            \hline
        \end{tabular}%
        \qquad
        ($a^2 + b^2 = c^2$)
    \end{table}
(3)LaTeX论文排版——实例解读_第9张图片
image.png
  • 有时需要表格在table环境对应的位置排版出来的,如果表格高度大于当前页剩余高度,表格就会被放置到下一页中,而这一页下部就算留出很大空白也没关系,因为需要严格限定表格出现的位置,这时可使用float宏包的H参数来进行固定,即\begin{table}[H]
(3)LaTeX论文排版——实例解读_第10张图片
image.png
(3)LaTeX论文排版——实例解读_第11张图片
image.png
(3)LaTeX论文排版——实例解读_第12张图片
image.png
(3)LaTeX论文排版——实例解读_第13张图片
image.png
插入图片
  • 与表格不同,一般情况下不会用代码构造图片,而是直接插入外部现有图形,需要使用graphicx宏包,使用\includegraphics{}命令插入图片,参数是与tex文件同级的图片名
  • 图文混排
图片一般先在外面做好再引进,下面直接把已经做好的很小的标志图\includegraphics{artsign32_32.jpg}插在行内\par
image.png
  • 浮动图片

同表格的插入情形类似,自动调整图片的位置。用figure浮动环境来达到这个效果

下面把大图放到一个可以变动相对位置的浮动体环境中,相当于一块没有缩进的段落,如图\ref{fig:arisign}所示
    \begin{figure}[ht]
        \centering
        \includegraphics[scale=0.2]{artsign.pdf}
        \caption{这是吴家安的艺术签名}
        \label{fig:arisign}
    \end{figure}
(3)LaTeX论文排版——实例解读_第14张图片
image.png

全部练习文件

代码

\documentclass[UTF8]{ctexart}
\title{\heiti LaTeX入门}
\author{\kaishu 5john}
\date{\today}


\bibliographystyle{plain}

\usepackage{graphicx}
%使用插图表宏包

\usepackage{float}
%为table环境加上了一个[H]位置选项,生成不浮动的表格

\usepackage{amsmath}
%专门用于公式的引用,定义了\eqref,能产生括号,普通的\ref没括号,前缀是american mathematical society美国数学学会的缩写

\usepackage{geometry}
%配置页面尺寸
\geometry{a4paper,centering,scale=0.8}
%A4纸,版心居中,c放宽占页面0.8倍

\usepackage[format=hang,font=small,textfont=it]{caption}
\captionsetup[figure]{format=hang,font=small,textfont=it}
%改变图表标题格式

%\usepackage{multirow}
%跨行表格的使用\multirow命令

\usepackage{makecell}
%跨行表格且能写第二行,使用 \multirowcell 命令

\newtheorem{thm}{这是定理序号前的标题}

\newenvironment{myquote}
{\begin{quote}\zihao{-5}\kaishu}
{\end{quote}}

\newcommand{\degree}{^\circ}

\begin{document}
    \maketitle
    \begin{abstract}
        这是摘要
    \end{abstract}
    \tableofcontents%添加目录
    \section{命令与环境}
    \textbackslash par是保持缩进开始新一段符号
    脚注\footnote{这是脚注内容}\par
    强调\emph{这是强调内容}\par
    \begin{quote}
        \zihao{-5} \kaishu 这是quote内容,小五号字体,楷书
    \end{quote}
    \begin{thm}[这是定理名称]
        这是定理内容    
    \end{thm}
    --这是与字母n等宽的短线
    \section{数学公式}
    这是行内公式$a=b+c$\par
    下面\eqref{eq:distributivelaw}是显示公式
    \begin{equation}
        a(b+c) = ab + ac 
        \label{eq:distributivelaw}
    \end{equation}
    这是$\angle$和$\pi$两数学符号的使用$\angle ACB = \pi / 2$\par
    公式上标$a^1$\par
    公式下标$b_1$\par
    公式上下标多参数$a^{1,2},b_{1,2}$\par
    用函数复合的二元运算符$\circ$的上标形式表示度,如$90^\circ$
    \section{使用图表}
    \subsection{插图}
    图片一般先在外面做好再引进,下面直接把已经做好的很小的标志图\includegraphics{artsign32_32.jpg}插在行内\par
    下面把大图放到一个可以变动相对位置的浮动体环境中,相当于一块没有缩进的段落,如图\ref{fig:arisign}所示
    \begin{figure}[ht]
        \centering
        \includegraphics[scale=0.2]{artsign.jpg}
        \caption{这是吴家安的艺术签名}
        \label{fig:arisign}
    \end{figure}
    \subsection{表格} 
    表格一般直接通过代码构造,而不是在外面先做好,下面tabular环境构造一个小表格
    \begin{tabular}{|r|r|r|}
        \hline
        直角边 $a$ & 直角边 $b$ & 斜边 $c$ \\
        \hline\hline
    \end{tabular}
    插入在行内
    table是一个可以变动相对位置的浮动体环境,可将tabular环境放置在其中,通过table环境的可选参数h(here,当前位置)、t(top,页面顶部)、b(bottom,页面底部)、p(page,单独一页)表明允许将表格放置在哪些位置,也可使用float环境的H参数,将其当作段落一样处理,固定在其出现的位置,下面构造一个大表格,如表\ref{tab:gouguexample}所示\par
    \begin{table}[ht]
        \centering
        \begin{tabular}{|r|r|r|}
            \hline
            直角边 $a$ & 直角边 $b$ & 斜边 $c$ \\
            \cline{1-1} \cline{3-3}
            3 & 4 & \parbox[t]{3em}{不跨行\par 写第二行}\\
            \hline
            5 & 12 & 13\\
            \hline
            \multicolumn{2}{|c|}{跨两列} & 666\\
            \hline
            6 & \multirowcell{2}{跨两行\\写第二行} & 6\\
            \cline{1-1}\cline{3-3}
            7 &   & 7 \\
            \cline{1-1}\cline{3-3}
            \cline{2-3}
        \end{tabular}
        \caption{勾股定理示例}
        \label{tab:gouguexample}
    \end{table}
    \textbackslash qquad是两个M宽的空白
    下面是无标题表格与公式并排,使用float包的[H]位置选项,固定它的位置,真正当作段来处理。
    \begin{table}[H]
        \centering
        \begin{tabular}{rrr}
            \hline
            直角边 $a$ & 直角边 $b$ & 斜边 $c$ \\
            \hline
            3 & 4 & 5\\
            5 & 12 & 13\\
            \hline
        \end{tabular}%
        \qquad
        ($a^2 + b^2 = c^2$)
    \end{table}
    \section{两种引用参考文献的形式}
    \subsection{bib文件}
    引用同级文件math.bib中的quanjing\cite{quanjing}
    列出没引用的Shiye\nocite{Shiye} 
    \bibliography{math}
    \subsection{直接编码参考文献}
    引用直接编码的参考文献AirSim\cite{AirSim}
    \begin{thebibliography}{88}
        \bibitem {AirSim}Shah S, Dey D, Lovett C, et al. AirSim: High-Fidelity Visual and Physical Simulation for Autonomous Vehicles[J]. 2018.
    \end{thebibliography}
    \section{设计文章格式}
    使用amsmath宏包\par
    使用geometry宏包\par
    在使用caption宏包时控制标题样式\par
    使用captionsetup设置caption样式\par
    \begin{myquote}
        这是我自定义的myquote内容,小五号字体,楷书
    \end{myquote}
    使用\textbackslash newcommand定义度的命令如$90\degree$
    
\end{document}

artsign32_32.jpg


image.png

artsign.jpg


(3)LaTeX论文排版——实例解读_第15张图片
image.png

math.bib

@BOOK{Kline,
 title={古今数学思想},
 publisher={上海科学技术出版社},
 year={2002},
 author={克莱因}
 }

 @ARTICLE{quanjing,
  author={曲安京},
  title={商高、赵爽与刘徽关于勾股定理的证明},
  journal={数学传播},
  year={1998},
  volume={20},
  number={3}
  }

@BOOK{Shiye,
 title={几何的有名定理},
 publisher={上海科学技术出版社},
 year={1986},
 author={矢野健太郎}
 }

练习文件编译结果

(3)LaTeX论文排版——实例解读_第16张图片
image.png
(3)LaTeX论文排版——实例解读_第17张图片
image.png
(3)LaTeX论文排版——实例解读_第18张图片
image.png

资料

LaTeX开源小屋
LaTeX 编辑部在线API

你可能感兴趣的:((3)LaTeX论文排版——实例解读)