论文写作利器—LaTeX教程(入门篇)(更新中)

论文写作利器—LaTeX教程(入门篇)(更新中)一、LaTeX简介结合维基百科及LaTeX官网可知:LaTeX(/ˈlɑːtɛx/,常被读作/ˈlɑːtɛk/或/ˈleɪtɛk/)是一种基于TeX的高品质排版系统,由美国计算机科学家莱斯利·兰伯特在20世纪80年代初期开发,非常适用于生成高印刷质量的科技和数学、物理文档,尤其擅长于复杂表格和数学公式的排版。LaTeX是科学文献交流和出版的事实标准。简单来说,相比于Word排版时需要设…

大家好,又见面了,我是你们的朋友全栈君。

一、LaTeX简介

结合维基百科及LaTeX官网可知:

LaTeX(/ˈlɑːtɛx/,常被读作/ˈlɑːtɛk/或/ˈleɪtɛk/) 是一种基于TeX的高品质排版系统,由美国计算机科学家莱斯利·兰伯特在20世纪80年代初期开发,非常适用于生成高印刷质量的科技和数学、物理文档,尤其擅长于复杂表格和数学公式的排版。LaTeX是科学文献交流和出版的事实标准。

简单来说,相比于Word排版时需要设置各种复杂的样式外观,使用LaTeX排版,作者不需要过多担心他们的文件外观,而是集中精力编辑正确的内容。文档的外观格式由模板样式文件单独定义,因此,即使没有丰富排版经验的作者也能轻而易举的制作出出版物级别漂亮的文档。

现实一点来讲,对于广大的科研工作者,投稿SCI期刊往往给出的是LaTeX模板(毕竟TeX系统是科学出版的事实标准),因此你要学会这一排版工具。LaTeX排版在论文投稿中的优点在于:
(1)投稿期刊给出了论文模板,作者只需编辑自己的内容即可得到符合期刊要求的外观。
(2)投稿期刊被拒搞转而投稿新的期刊时,只需更换新期刊的模板文件,无需更改原内容,节省了大量重新排版的时间。
(3)公式、图表、参考文献的引用均为自动化编号,使用简洁高效。
其缺点在于,对初学者增加了一定的入门成本。然而考虑投入/产出比,随着排版复杂度的提升,LaTeX会大大降低所耗费的时间与精力。一个经典的Word与LaTeX对比图如下:

fg

LaTeX能干的事都有哪些?
文字、图表、公式排版,这些都太简单。

fg

画个象棋图、分子结构式、电路图、乐谱……总之,没有几行代码办不到的事,如果有,那就再加几行代码!

fg

原来写篇论文也可以走敲代码+debug调程序的模式。C语言还没学好咋办?伤心头疼ing…….

the answer is that :代码超级简单,入门仅需半天!(聪明的你也许只需半小时!)

二、软件环境安装(推荐方案3)

砍柴先要磨刀,首先要把开发环境搞起来。目前,常用的Latex编辑排版环境主要推荐两类软件方案:(1)CTeX套装(2)TeX Live+TeXstudio,当然还有各种各样的配置方案在此不过多赘述。

 方案1:CTeX套装
配置方法:仅需安装CTeX套装软件

CTeX 中文套装是科学院吴凌云研究员的个人作品,是基于 Windows 下的 MiKTeX 系统,集成了编辑器 WinEdt 和 PostScript 处理软件 Ghostscript 和 GSview 等主要工具。 CTeX 中文套装在 MiKTeX 的基础上增加了对中文的完整支持。 CTeX 中文套装支持 CJK, xeCJK, CCT, TY 等多种中文 TeX 处理方式。

目前该软件最新稳定版本为CTeX_2.9.2.164_Full.exe (1.31G) 包含完整版 MiKTeX(2019年3月30日)
官方下载地址:http://www.ctex.org/CTeXDownload 下载镜像文件后点击安装即可。
软件安装完成后,打开WinEdt 编辑器即可编辑TEX文档。但是,WinEdt本身是一个付费软件,未注册激活的WinEdt在试用期结束后经常会弹出注册界面影响正常排版进程,虽然网络上有关于WinEdt的激活方法,但是仍然推荐通过正规渠道购买软件版权。

CTeX套装基本能够解决LaTeX排版问题,这也是我读研期间一直使用的软件,但是CTeX毕竟很多年没有更新,太老了,为此,知乎上有人专门分析2018, 为什么不推荐使用CTeX套装作为入门?
理由:

  1. CTeX 封装的 MikTeX 在实现 XeTeX 以及字体库的时候有一些问题,前者导致运行 XeLaTeX 异常缓慢,后者导致使用一些数学字体的时候会报错。
  2. CTeX 封装的默认编辑器 WinEdt 是闭源软件,实际上是在使用盗版软件。
  3. CTeX 封装的默认编辑器 WinEdt 修改了默认编码为 GBK, 这将在后续使用过程中产生很多问题,对初学者来说是不良的。
  4. 有 bug:在一定条件下,CTeX 套装在安装时会抹掉系统环境变量,造成一定损失。
  5. 版本落后: CTeX 套装的 2.9.2.164 版本至今已经多年未更新,套装中包含的各部分内容都有了不同程度的升级。版本落后,除了新增的功能、便利的配置用不上,还可能导致提问不易收到回答、他人帮忙解答时因复线问题的成本高、网络资源(尤其是英文资源)更聚焦新版而与旧版相关的少,等等弊端。
  6. CTeX 由于封装 MikTeX 而只能运行于 Windows 平台,跨平台移植性能差,当然对于Windows用户可忽略此点。
  7. CTeX 是因为 CJK 包的字体配置复杂,为了免去入门用户的配置成本而推出的。而现在因为 XeTeX 引擎以及 xeCJK 宏包的出现,CJK 包已经成为过去。并且使用 zhm 可以与 CJK 结合方便地动态配置字体。因此 CTeX 曾经的优势实际上已经不成为优势,并且因其引起的各种国内期刊模板的老旧问题正不断成为阻碍中国 TeX 社区进步的恼人因素。

 方案2:TeX Live+TeXstudio
配置方法:安装TeXLive软件+安装TeXstudio编辑器
TeXLive是由国际 TeX 用户组织 TUG 开发的 TeX 系统,支持不同的操作系统平台。
windows版TeX Live镜像下载地址为 http://tug.org/texlive/acquire-iso.html 点击“download from a nearby CTAN mirror” 从最近的站点下载软件镜像文件(目前可下载 texlive2018.iso 版本的镜像)
在这里插入图片描述
TeXstudio是一个用于创建LaTeX文档的集成书写环境,具有众多功能,如语法高亮,集成查看器,参考检查和各种助手。下载地址为 http://texstudio.sourceforge.net/ 当前版本为TeXstudio 2.12.14
在这里插入图片描述
下载完以上两个软件后,首先安装TeXLive

然后安装TeXstudio。

配置TeXstudio
界面改为中文语言:打开TeXstudio软件,选择“Options—>Configure TeXstudio—>General—>Language”,选择简体中文“zh_CN”,单击“OK”
配置构建命令:选择 “选项—>设置TeXstudio—>构建” 打开构建命令配置对话框,设置元命令如下(具体含义见下文分析):
在这里插入图片描述
此外,也可根据使用习惯配置快捷键、编辑器、语法检查等内容。

 方案3:TeXLive+Winedt+SumatraPDF
详细介绍见:LATEX环境配置方案:TeXLive2018+Winedt10.2+SumatraPDF
总结: 因为初次接触的是CTeX套装,使用中遇到一些问题但都解决了,虽然是一款很老的软件但是排版功能还是很完备的,TeXLive是最近才接触。

综合分析更偏向推荐使用TeXLive+Winedt+SumatraPDF解决方案
当然你也可以使用Ctex套装,而且根据官方信息由Harry Chen和Liam Huang接手负责开发的新版CTeX套装即将发布,新版本配置更合理,对新手更友好。

三、LaTeX 语法简介

LaTeX基本语法规则并不复杂,由于本文针对的是需要写论文的LaTeX新手,在此仅介绍利用LaTeX进行论文写作的入门知识。本节内容基于基本TeX语法,对于任何LaTEX配置环境均有效。

 3.1 熟悉LaTeX

首先尝试编译一个小demo。打开LaTeX编辑器,新建一个.tex文件,编辑下图所示TeX源文件。编辑完成后点击绿色的构建按钮

fg
fg

在Winedt中,编译生成PDF步骤为依次点击“LaTeX—>dvipdf”命令或者使用“LaTeX—>dvips—>pspdf”命令

fg

如果一切顺利编译完成即可看到生成的PDF文件。下面介绍.tex文件基本语法:

一个基本的LaTeX文件由导言区、文档类、注释等构成。开头\documentclass{article}定义了文档的样式为article,开头部分为导言区,起止符号\begin{document}\end{document}包括起来的是文档内容。在导言区中一般定义了文档的标题、作者、需要引用的宏包以及文档其他信息。注释由%标识,注释掉的内容不会被编译器编译。文档内容区中,\maketitle表示将\title{*}定义的标题内容放于此处。
latex 提供了丰富的宏包工具,通过在导言区使用 \usepackage 命令可以引入相应宏包,有关宏包具体使用方法请参考latex高级教程。
论文章节标识:使用\section{章标题内容}\subsection{节标题内容}\subsubsection{小节标题内容}分别开启新的章、节、小节,LaTeX会自动为章节编号。

字体命令:使用\textit{内容}\textbf{内容}等设置斜体、粗体样式,更多颜色下划线等样式命令请参考LaTeX手册。

公式的处理:公式由LaTeX代码编写,类型主要分为段落内公式、单独一行无编号公式以及单独一行带编号公式三类。LaTeX中所有公式均可以由代码编写完成,但是考虑到需要记忆大量符号命令成本较高,此处推荐采用MathType公式编辑器进行公式可视化编辑而后转为LaTeX代码插入TEX文档。具体操作为
 打开mathtype软件编辑公式,然后选择 “选项—>剪切和复制选项—>转换成其他文字—>选择LaTeX2.09 and later—>取消包括在翻译中的译者名和包括mathtype数据两项对勾—>确定”。

fg

此时,复制mathtype公式粘贴到LaTeX文档中即可得到公式代码 \[x = {a^2} + {b^2}\]
单独一行无编号公式:直接粘贴过来的公式代码前后分别由\[\]包裹,排版效果为不带编号的单独一行公式

fg

段落内公式符号:去掉前后\[\]两个标识符号,在公式代码前后分别添加$,即$ x = {a^2} + {b^2} $,效果如下

fg

独占一行带编号公式:此类公式需要使用 \equation 环境完成,代码及效果如下

\begin{equation}
\label{equ1}        %标签equ1,文中使用\ref{equ1}引用
x = {a^2} + {b^2}
\end{equation}
fg

图片排版: 借助 \figure 环境,需要注意的是LaTeX编译命令要求将图片格式转化为.eps格式,关于不同格式图片如何转化为eps问题请参考文章eps、emf等图片格式转换。 代码示例:

\usepackage{graphicx}%导言区需加入picture宏包
%文档正文图片代码
\begin{figure}
   \centering			%居中对齐
   % Requires \usepackage{graphicx}
   \includegraphics[width=5cm]{myfigure.eps}    %图片文件名myfigure.eps,width指定图片宽度
   \caption{the framework of the proposed method} %图说明
   \label{figure1}    %图标签,正文中用\ref{figure1}引用
\end{figure}

表格排版: 表格排版比较复杂,详细说明请参考LaTeX进阶教程。

\begin{table}[!]
\label{table1}
\caption{my first table}
\centering
\begin{tabular}{|c|c|r|}
	\hline
	system& version& edit\\
	\hline
	Windows & MikTeX & TexMakerX \\
	\hline
	Unix/Linux & teTeX & Kile \\
	\hline
	Mac OS & MacTeX & TeXShop \\
	\hline
	common& TeX Live & TeXworks \\
	\hline
\end{tabular}
\end{table}

分段: LaTeX采用空行(或换行符\\)来分段,tex编辑器中相邻两行为同一段落。

 3.2 模板

模板文件介绍

LaTeX论文模板文件一般包括.tex .cls .bib .bst .eps等类型文件
.tex 文件为latex源文件
.cls文件是latex2e的全文样式文件,决定了论文最终的排版效果
.bib 文件是参考文献的数据库,保存有参考文献的元数据
.bst文件是用 bibtex 处理参考文献*.bib文件时的输出格式模板,即定义了参考文献的排版效果
.eps文件即LaTeX插入的图片文件格式
一个模板范例如下所示:
在这里插入图片描述
所给LaTeX源文件模板bare_jrnl.tex中通过\documentclass[journal]{IEEEtran}定义所使用的样式文件为IEEEtran.cls
参考文献的处理:
IEEEexample.bib是参考文献数据库,以文献元数据的形式储存每条文献信息,如下图所示:
在这里插入图片描述
文献元数据以@article{}标识期刊论文,@inproceedings{}标识会议论文集等等。括号内第一个条目(如上图 Ganiz2011Higher )是该文献的书签,在tex源代码中通过\cite{Ganiz2011Higher}命令引用该条参考文献。bib格式的参考文献元数据可以从web of science 或者googlescholor导出,也可以直接编写bib信息条目(不推荐百度学术导出的元数据,因为多数不准确)
使用bib参考文献首先需要在TEX源文件中语句\end{document}前加入以下代码:

\bibliographystyle{IEEEtran}   %指定参考文献样式文件为IEEEtran.bst
\bibliography{IEEEexample}   %指定所使用的bib文件为IEEEexample

然后在正文中通过\cite{}命令引用文献书签。
编译过程中,首先使用LaTeX命令编译一遍,若无错误再用Bibtex命令编译一遍参考文献,最后再用LaTeX命令编译生成即可得到最终带参考文献的排版结果。如下图效果:
在这里插入图片描述

四、下一步,进阶

如何深入学习LaTeX?答案是 亲自实践+Google搜索
了解了LaTeX的基本使用方法后,推荐找一个期刊模板自己去亲自排版实现一篇小论文。在此期间遇到问题请首先Google or baidu寻找答案。

推荐阅读刘海洋的LaTeX入门书:《LaTeX入门》刘海洋. 电子工业出版社. ISBN:9787121202087
CTeX网站帮助文档及常见问题集:http://www.ctex.org/HomePage
CTAN官网:https://www.ctan.org/
一本其实很短的latex入门指南:https://liam.page/2014/09/08/latex-introduction/

利用latex还可以做哪些事?比如做漂亮的简历、书籍排版、还能做ppt,此外在python绘图、markdown中都可以使用latex代码编写公式。更多教程资源请访问latex开源小屋:http://www.latexstudio.net

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/159356.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • opencv-python图像二值化函数cv2.threshold函数详解及参数cv2.THRESH_OTSU使用「建议收藏」

    opencv-python图像二值化函数cv2.threshold函数详解及参数cv2.THRESH_OTSU使用「建议收藏」通常情况,我们一般不知道设定怎样的阈值thresh才能得到比较好的二值化效果,只能去试。如对于一幅双峰图像(理解为图像直方图中存在两个峰),我们指定的阈值应尽量在两个峰之间的峰谷#ret:暂时就认为是设定的thresh阈值,mask:二值化的图像ret,mask=cv2.threshold(img2gray,175,255,cv2.THRESH_BINARY)plt.imshow(mask,cmap=’gray’)上面代码的作用是,将灰度图img2gray中灰度值小于175的点置…

    2022年10月25日
  • SSH加密代理「建议收藏」

    SSH加密代理「建议收藏」1.首先拷贝putty到系统目录下2.然后执行命令putty-D22bin@ipplinkusername@hostname-D127.0.0.1:80883.设置代理就ok了

  • #WPF#Dirkster.AvalonDock教程

    #WPF#Dirkster.AvalonDock教程https://blog.csdn.net/youyomei/article/details/103107304教程还不错,但是存在一个错误xmlns:avalon=”http://schemas.xceed.com/wpf/xaml/avalondock”改成如下xmlns:avalon=”https://github.com/Dirkster99/AvalonDock”

  • pycharm设置背景色及字体_pycharm如何改变背景

    pycharm设置背景色及字体_pycharm如何改变背景设置背景变黑file->setting->appearance&behavior->appearance->在theme处选择darcula设置字体大小还是看百度的比较清晰http://jingyan.baidu.com/article/76a7e409de785efc3a6e1557.html打开pycharm,点击file->setting->a

  • 矩阵运算_逆矩阵的运算

    矩阵运算_逆矩阵的运算二、矩阵运算1.什么是矩阵矩阵就是由多组数据按方形排列的阵列,在3D运算中一般为方阵,即M*N,且M=N,使用矩阵可使计算坐标3D坐标变得很方便快捷。下面就是一个矩阵的实例:看似没什么特殊的,可是后面

  • 文件操作(File类等)API摘要[通俗易懂]

    文件操作(File类等)API摘要[通俗易懂]Console此类包含多个方法,可访问与当前Java虚拟机关联的基于字符的控制台设备(如果有)。虚拟机是否具有控制台取决于底层平台,还取决于调用虚拟机的方式。如果虚拟机从一个交互式命令行开始启动,且没有重定向标准输入和输出流,那么其控制台将存在,并且通常连接到键盘并从虚拟机启动的地方显示。如果虚拟机是自动启动的(例如,由后台作业调度程序启动),那么它通常没有控制台。如果此虚拟机具

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号