文档章节

LaTeX | 为学术论文排版而生【文本篇】

临江仙卜算子
 临江仙卜算子
发布于 2018/12/22 12:27
字数 2154
阅读 92
收藏 0

这几天一直在想该按照什么样的结构去写这个LaTeX栏目,才能让大家更快的上手,甚至培养对LaTeX兴趣

LaTeX本身非常复杂,涉及的细节非常多,不可能全部介绍,笔者能力有限,也难以做到面面俱到。因此,几经思考之后,决定突出重点,按照入门篇文本篇公式篇浮动体篇自动化工具篇展开本次的LaTeX系列。

下面就开始LaTeX系列的第二篇文本篇,所谓文本篇,主要涉及文字、段落、字体、页面设置等。

从 Hello World 说起

大家应该都有这种感觉,每当我们学习一个新东西,我们都迫不及待看到一个由自己完成的结果,因为对我们来说这意味着至少我会用了。只有看到希望了,后面的步子才会越迈越快。

在工程领域,这就叫做Hello World。学习单片机时,点亮第一个发光二极管是Hello World;学习C语言时,程序成功编译并输出一个字符串,叫做Hello World;焊接PCB时,LED成功发光了,叫做Hello World

那么,LaTeX里的Hello World就是:新建文件->敲代码->编译->输出PDF

咱,一步一步来。

  1. 新建文件

    开始之前,先说一下小编的操作环境:
    系统:Mac OS X Sierra 10.12.2
    编译器:MacTeX
    编辑器:TeXstudio 2.12.2

编译器和编辑器的下载可以参考上一篇推送【入门篇】。操作环境不一样没关系,`Windows`用户推荐`TeXlive 2016 + TeXstudio`。
  • 打开TeXstudio,界面如下。新建文件,并保存为Hello World.tex。注意LaTeX文件的格式为.TeX

  • 为了对中英文有更好的支持,编码方式采用UTF8,如下图红色方框所示处。TeXstudio默认已经设置好,我们不需要管。只是如果采用其他编辑器,保存时可能需要设置编码方式,不然中文可能无法显示。

  1. 敲代码

    今天这个Hello World例程的目标就是输出Hello World。为此,我们在TeXstudio的代码编辑区敲入以下代码(后面再解释具体含义)。

\documentclass{article}
   \begin{document}
        Hello World
\end{document}

  1. 编译
    编译之前,我们需要设置LaTeX的编译方式。随着LaTeX的发展,出于不同的需要,出现了很多种编译方式,如PdfLaTeXLaTeXXeLaTeX等,这里我们一般采用XeLaTeX,因为这种方式对中文的支持较好。 具体设置方法是进入菜单栏TeXstudio->Preferences,在弹出的窗口的左侧面板点击Build,在Default Compiler项选择XeLaTeX,并点击OK完成设置,如下图所示。

然后,点击下图所示编译并预览按钮,可以看到编译成功,没有出现错误,右侧输出效果的预览视图。

  1. 输出PDF

    上面的预览视图还不算真正的输出PDF,其实在我们编译的时候,PDF文档已经在Hello World.tex的根目录生成了,找到就可以了。

    到这里,就算完成了Hello World


语法讲解

LaTeX文档的基本结构

\documentclass{article}
    
\begin{document}
    
\end{document}

上述三行代码代表了一个LaTeX文件必不可少的三个部分。

\documentclass{article}表示该文档的类型是期刊(aiticle)LaTeX还支持report(报告)book(书籍)beamer(幻灯片)等多种类型。

\begin{document}\end{document}表示文档内容的开始结束,也就是说,所有正文内容都写在其中。\begin{document}前的部分我们称为导言区宏包我们都是写在导言区,后面会具体介绍。

此外,LaTeX中,我们用%表示注释,如:

\documentclass{article}
%这是导言区
\begin{document}
    
\end{document}

中文支持

LaTeX中,想要支持中文非常简单,通常有两种方式:

  • 调用ctex宏包,\usepackage[UTF8]{ctex}[ ]代表可选项,在LaTeX中这是非常常见的。[UTF8]表示该文档采用UTF8编码方式。
  • 由于现在LaTeX对中文的支持已经很完善,因此我们可以直接使用\documentclass[UTF8]{ctexart},代表该文档是中文论文(ctex+article。推荐使用这种方式,因为对部分的宏包的支持较好。

用下面代码做个示范。

\documentclass[UTF8]{ctexart}
\begin{document}
  这是第一个\LaTeX 文档
\end{document}

编译输出,效果如下:

这里需要提一下,上面代码中的\LaTeX是专门用于显示LaTeX的logo。又如\TeX可以显示TeX的logo,大家可以自己试试。

行与段落

LaTeX中,在一行的末尾使用\\表示换行,即另起一行。而两次按Enter表示另起一段落,即一个空行表示另起一段落。当然也可以用\par表示另起一段落。如下面代码所示:

\documentclass[UTF8]{ctexart}
\begin{document}
  这是第一行。\\
  这是第二行。
        
  另起一段落,另起一段落,另起一段落,另起一段落,另起一段落,另起一段落,另起一  段落,另起一段落。\par
  另起一段落,另起一段落,另起一段落,另起一段落,另起一段落,另起一段落,另起一段落,另起一段落。
\end{document}

效果如下:

可以看出,默认段首是缩进两格的,如果想取消缩进,可以在该段落前面添加\noindent语句。如:

\documentclass[UTF8]{ctexart}
\begin{document}
   \noindent
   Hello World
\end{document}

章节

如果文档类型为article,我们采用\section{章节名}\subsection{章节名}开启一个章节或者次级章节。代码如下:

\documentclass[UTF8]{ctexart}
\begin{document}
   \section{这是第一章节}
   Hello World
   \subsection{这是次级章节}
   Hello World
   \section{这是第二章节}
   Hello World
\end{document}

效果如下:

正如大家看到的,默认情况下,第一级章节标题是居中显示的(注意,上图预览视图的第一行是页眉),显然这不符合大多数需要,为此在导言区添加一些设置章节格式的代码即可,如下:

\documentclass[UTF8]{ctexart}
\CTEXsetup[name={第,章}]{section}
\CTEXsetup[format={\zihao{-3}\raggedright\bfseries}]{section}
\begin{document}
   \section{这是第一章节}
   Hello World
   \subsection{这是次级章节}
   Hello World
   \section{这是第二章节}
   Hello World
\end{document}

得到:

字体设置

  1. 字体选择
    LaTeX的字体蔟非常复杂,这里不多叙述,大家可以查查资料。下面代码是用于设置正文部分中英文的默认字体分别为Roman Times New楷体-简Windows上写楷体即可)。其中,xeCJK宏包用于设置中文字体,fontspec宏包用于设置英文字体,将其添加到导言区即可。

    \usepackage{xeCJK}
    \setCJKmainfont[BoldFont={黑体-简}]{楷体-简}
    
    \usepackage{fontspec}
    \setmainfont{Times New Roman}
    
    
  2. 字体大小
    LaTeX中设置字体大小的方式比较多。在文档类型为中文论文的情况下,我通常使用\zihao{数字}的方式来改变字体大小,数字的大小表示该部分文字为几号字体。如下所示:

    \documentclass[UTF8]{ctexart}
    \CTEXsetup[name={第,章}]{section}
    \CTEXsetup[format={\zihao{-3}\raggedright\bfseries}]{section}
        \begin{document}
         \section{这是第一章节}
         \zihao{2}
         Hello World
         \subsection{这是次级章节}
         Hello World
         \section{这是第二章节}
         Hello World
     \end{document}
    
    

效果如下所示:

如果只想改变某部分文字的大小,可以用一对大括号{}括住\zihao{数字}文字LaTeX中一对大括号{}表示一个环境,环境内的格式控制语句只对环境中的文字起作用。如:

  {\zihao{3} Hello World}

页面设置

  1. 纸张设置
    LaTeX中可以通过可选项来设置页面纸张的大小(默认为A4)。代码如下:

    \documentclass[UTF8,a4paper]{ctexart}   
    
    
  2. 页边距
    此外,LaTeX可以用geometry宏包来设置页边距,代码如下:

    \usepackage{geometry}
    \geometry{left=2.5cm,right=2.5cm,top=2.0cm,bottom=2cm}
    
    
  3. 页眉页脚
    LaTeX中用\pagestyle来设置页眉页脚,默认为页眉显示章节标题页码页脚为空。默认风格用下面的代码表示:

    \pagestyle{headings}
    
    

    如果要取消页眉页脚,用代码:

    \pagestyle{empty}
    
    

LaTeX的【文本篇】就到这里啦,更多丰富的格式设置需要大家多查阅资料来学习,这里推荐大家看看刘洋海《LaTeX 入门》[1],一本很经典的LaTeX参考资料!

本文转载自:https://www.jianshu.com/p/9c5482a31c5b

临江仙卜算子
粉丝 28
博文 345
码字总数 258597
作品 0
郑州
CEO
私信 提问
LaTeX | 为学术论文排版而生【公式篇】

一步一坑,继续LaTeX系列的第三篇【公式篇】,前面介绍过【入门篇】和【文本篇】,新来的朋友们可以点击这里查看。在公式编辑方面,LaTeX具有独到甚至统治性的优势,大批用户投入LaTeX的怀抱...

临江仙卜算子
2018/12/22
72
0
还在用Word写论文?收下这个排版神器,轻松搞定所有公式!

写论文一点也不可怕 可怕的是论文排版 稍微修改了下字体, 插图就不知道跑哪去了, 好不容易挪了回来, 文字又打乱了, 文字排好了 参考文献又乱了? 图片与公式显示又乱了 写论文只是费脑子...

Paper_weekly
2018/09/08
0
0
LaTeX | 为学术论文排版而生【浮动体篇】

说在前面 今天,迎来系列的第四篇【浮动体篇】,怎么感觉发布第三篇是很久之前的事情了呢(笑哭,逃)..... 关于,今天和大家多唠叨一点。 与主流的编程语言(如、、等相比),并没有那么多光...

临江仙卜算子
2018/12/22
137
0
LaTeX | 为学术论文排版而生【入门篇】

今天开始第一篇推送,有种自己,还有带着大家的感觉(笑哭)。所以,在你继续往下阅读之前,我郑重说一下: 好,准备吧! 什么是LaTeX? LaTeX是一种的系统,在20世纪80年代由美国的最初开发(那...

临江仙卜算子
2018/12/22
67
0
如何使用 Emacs 创建 LaTeX 文档

这篇教程将带你遍历在 Emacs 使用强大的开源排版系统 LaTex 来创建文档的全过程。 一篇由 Aaron Cocker 写的很棒的文章 “在 LaTeX 中创建文件的介绍” 中,介绍了 LaTeX 排版系统 并描述了如...

作者: Sachin Patil
2018/11/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Excel创建数据透视表:优点·数据汇总速度快

· 创建数据透视表: 插入选项卡------>数据透视表 1.可自由选择区域, 可选择是展示在本表还是其他表 2. 数据透视表布局展示: 3.行标签:展示数据类 ; 计数项:如果选择区域是文本展示的是...

东方墨天
6分钟前
1
1
Linux 分区内存扩充(centos7)

我的为例: df -h 查看当前系统磁盘使用状况,发现 根(/)目录即将满盘:如下图 我要做的就是把挂载点为 / 的分区在不影响原有数据的情况下增加可用空间! 1、首先在虚拟机上扩充“物理空间...

东方神祇
昨天
1
0
docker的使用

一、起名Dockerfile没有后缀名的文件,编辑如下指令 # Pull base image FROM java:8 VOLUME /tmp# 添加 ADD spring-provider-1.0-SNAPSHOT.jar app.jarRUN bash -c 't...

BobwithB
昨天
1
0
聊聊nacos的NacosDiscoveryAutoConfiguration

序 本文主要研究一下nacos的NacosDiscoveryAutoConfiguration NacosDiscoveryAutoConfiguration nacos-spring-boot-project/nacos-discovery-spring-boot-autoconfigure/src/main/java/com/a......

go4it
昨天
10
0
如何保证消息的顺序性?

面试题 如何保证消息的顺序性? 面试官心理分析 其实这个也是用 MQ 的时候必问的话题,第一看看你了不了解顺序这个事儿?第二看看你有没有办法保证消息是有顺序的?这是生产系统中常见的问题...

米兜
昨天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部