百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分析 > 正文

写论文还在用Word?LaTex 基本使用指南

liebian365 2024-10-29 15:50 24 浏览 0 评论

前言

有一些同学写学术论文还在用Word。不可否认的是word非常容易上手,而且所写即所得,是一个非常不错的文本编辑器。而且,交给导师修改论文会更加方便。但是,如果论文较长,格式又非常纷繁复杂,尤其是正规出版物,那么一般推荐使用LaTex作为编辑工具。

Word前期上手容易,但是后期高级操作就比较困难,相对的,LaTex前期上手不容易,但是后期高级操作比较容易。LaTex的本质目的就是让用户无需考虑格式问题,只需要专注于撰写文章内容本身即可,减少了不必要的操作。最近网上博客流行的MarkDown编辑器就是LaTex的简化版,大家有兴趣的可以了解一下。

LaTex 项目组成

在学术论文撰写过程中,LaTex作为标准化论文的工具,一直被广为流传,更是传言,不会LaTex的,就写不出好文章(这话有点夸大了)。为此,我们还是需要学习如何使用LaTex。

本章,我们以简单的LaTex使用方式[Overleaf],以ACL 会议论文为例,进行LaTex使用方法介绍和说明。

首先,找到Overleaf的网站后,可以看到有很多会议和期刊的LaTex文件夹已经为我们准备好了,因此我们不再需要费尽心思去寻找模板了,这使得我们可以只关注与论文的内容,而不用去管论文的格式了。

当我们打开ACL 2019的论文模板后,我们的界面如图所示,左边是项目的目录,中间是我们的源文件,右边是PDF预览版。这里我们一一介绍,首先了解LaTex的组成结构,即左边的部分,左边部分包含整个LaTex项目的文件组成。

XX.bib文件与XX.bst文件

第一个以bib结尾的文件为包含参考文献的文件,这里列举了我们所有论文中使用的参考文献,其格式均为bib的格式,这种格式可以使用谷歌学术中引用里使用BibTex导出即可。

在正文中,只需要在适当的位置写入以下语句即可,这里需要提一点的是,不同的论文对其参考文献的格式要求不同,一般会给出一个bst后缀的文件,这个文件是规定了参考文献的格式与排版,一般不需要我们手动修改,如果需要修改的话,我们后期会出进阶教程。

\bibliography{acl2019} %bib文件名

\bibliographystyle{acl_natbib} %参考文献的格式的文件名

XX.sty文件与XX.cls文件

在本例中,第二个是PDF文件,这个不用说了,就是我们的输出文件,第三个文件为sty文件,这个文件表明的是LaTex文件中所使用的各种样式,这就像是在网页中的css文件一样。一般的,我们多半使用sty文件,也有使用cls文件,这个我们再以后的教程中详细介绍,本文主要简单介绍一下其内容,使得更容易上手。一般来说,.cls 和 .sty 文件都是增加 LaTeX 功能的补足文件。它们在我们排版文章时对应的使用 \documentclass{} 和 \usepackage{} 加载。

在主文件中,只需要在开头引入相关的样式文件即可,如下代码所示:

\documentclass[11pt,a4paper]{article} %这是引入一个cls文件

\usepackage[hyperref]{acl2019} %这是引入一个sty文件

\usepackage{times}

\usepackage{latexsym}

XXX.tex文件

第四个文件就是主文件,也就是编写我们内容的文件。我们可以看到,它其实是一个增强版的标记语言文件,既包含了格式化样式,也包含部分逻辑语句,就像是带了脚本的网页一样。

的确如此,在该文件中,是我们所写的主要内容,除了正常的内容表达外,他有一些语法如下所示:

1. 关键字语法

  • 注释的符号为%
  • 关键字以\开头
  • 关键字分为单标签和双标签两种
  • 单标签格式为\关键字{目标内容},如\title{Test for ACL 2019},其标题名为"Test for ACL 2019",特别的如使得字体缩小,则为{\small目标文字}
  • 双标签格式开始为\begin{对象名},结束为\end{对象名},如\begin{abstract}\end{abstract},该标签对中间的内容即为摘要。
  • 还有一些特殊的关键字,如\newcommand表示自定义命令,有点像宏定义一样;\maketitle则是划开标题和正文等,这些我们都在以后的教程中详细介绍。
  • 还有一些其他语法。

2. 文章结构

好了,现在进入正文阶段,在正文中,最重要的是篇章的结构,首先看到的是文章层次,其定义方式如下,重启一段也可以直接空一行即可:

\part{part标题}
\section{section标题}
\subsection{subsection标题}
\subsubsection{subsubsection标题}
\paragraph{paragraph标题}
\subparagraph{subparagraph标题}

3. 常用命令

接下来是几个常用的命令.

  • 斜体\emph{International Joint Conference on Artificial Intelligence}
  • 加粗\textbf{The proceedings are designed for printing on A4paper.}为加粗
  • 交叉引用~\ref{ssec:first}为引用当前文件的位置,其对应位置上的代码为\label{ssec:first},需紧跟section或者subsection。
  • 不需转义\verb|\aclfinalcopy|表示使用原文\aclfinalcopy,不需要转义
  • 顶格开启新段落\noindent

4. 列表

  • 有序列表

\begin{enumerate}[(1)]
\item 有编号的列表
\item ...
\end{enumerate}

  • 无序列表

\begin{itemize}
\item Left and right margins: 2.5 cm
\item Top margin: 2.5 cm
\item Bottom margin: 2.5 cm
\item Column width: 7.7 cm
\item Column height: 24.7 cm
\item Gap between columns: 0.6 cm
\end{itemize}

5. 表格

  • 普通表格

\begin{table}[t!]
\begin{center} %表格整体居中
\begin{tabular}{|l|rl|} %各列对齐方式
\hline %直线
\textbf{Type of Text} & \textbf{Font Size} & \textbf{Style} \\ %设置字体
\hline
paper title & 15 pt & bold \\ %各列以&分割
author names & 12 pt & bold \\
author affiliation & 12 pt & \\
the word ``Abstract'' & 12 pt & bold \\
section titles & 12 pt & bold \\
subsection titles & 11 pt & bold \\
document text & 11 pt &\\
captions & 10 pt & \\
abstract text & 10 pt & \\
bibliography & 10 pt & \\
footnotes & 9 pt & \\
\hline
\end{tabular}
\end{center}
\caption{\label{font-table} Font guide. } %文章标题
\end{table}

  • 双列表格

\begin{table}
\centering
\small
\begin{tabular}{cc} %一个c表示一列
\begin{tabular}{|l|l|} %|表示是否需要竖线
\hline
\textbf{Command} & \textbf{Output}\\\hline
\verb|{\"a}| & {\"a} \\
\verb|{\^e}| & {\^e} \\
\verb|{\`i}| & {\`i} \\
\verb|{\.I}| & {\.I} \\
\verb|{\o}| & {\o} \\
\verb|{\'u}| & {\'u} \\
\verb|{\aa}| & {\aa} \\\hline
\end{tabular} &
\begin{tabular}{|l|l|} %第二个表格
\hline
\textbf{Command} & \textbf{Output}\\\hline
\verb|{\c c}| & {\c c} \\
\verb|{\u g}| & {\u g} \\
\verb|{\l}| & {\l} \\
\verb|{\~n}| & {\~n} \\
\verb|{\H o}| & {\H o} \\
\verb|{\v r}| & {\v r} \\
\verb|{\ss}| & {\ss} \\\hline
\end{tabular}
\end{tabular}
\caption{Example commands for accented characters, to be used in, \emph{e.g.}, \BibTeX\ names.}\label{tab:accents}
\end{table}

  • 跨列表格

\begin{table*}[t!] %这里的星表示当为2列的文章时,此表格为1列表格。
\centering
\begin{tabular}{lll}
output & natbib & previous ACL style files\\
\hline
\citep{Gusfield:97} & \verb|\citep| & \verb|\cite| \\
\citet{Gusfield:97} & \verb|\citet| & \verb|\newcite| \\
\citeyearpar{Gusfield:97} & \verb|\citeyearpar| & \verb|\shortcite| \\
\end{tabular}
\caption{Citation commands supported by the style file.
The citation style is based on the natbib package and
supports all natbib citation commands.
It also supports commands defined in previous ACL style files
for compatibility.
}
\end{table*}

这里t表示表格的位置,具体的有以下四种选项:

  • h Here - at the position in the text where the table environment appears.
  • t Top - at the top of a text page.
  • b Bottom - at the bottom of a text page.
  • p Page of floats - on a separate float page, which is a page containing no text, only floats.

6. 引用与脚注

从上表中,可以看到5种引用格式,分别是:

\citep{Gusfield:97} %(人名,时间)
\citet{Gusfield:97} %人名(时间)
\citeyearpar{Gusfield:97} %(时间)
~\cite{Gusfield:97} %(人名,时间)
~\cite{Gusfield:97,Aho:72} %(人名,时间;人名,时间)

这里引用参考文献时,其别名只需要在参考文献的第一个部分加上即可。

  • 引用表格或图的形式(see Table~\ref{font-table})
  • 脚注\footnote{This is how a footnote should appear.}

至此,我们把整个ACL2019的模板自上而下梳理了一番,从而可以更好地使用这个模板了。至于更加深层的教程,我们会后续解答。

补充

1. 公式

公式就是LaTex公式,与Makedown的语法保持一致.有序公式如下所示,无序公式使用$$符号或者\begin{equation*}即可。

\begin{equation}
1+2+3+\dots+(n-1)+n = \frac{n(n+1)}{2}
\end{equation}

2. 插入图表

\begin{figure}[h]
\begin{center}
\includegraphics[scale=0.8]{图片名字}
\end{center}
\caption{外部图片标题}
\label{fig:test_demo}
\end{figure}

在此之前需要引入包\usepackage{graphics}

只需要按照上述步骤,我们就可以构建完整的论文了。

本人技术博客同步更新,欢迎关注:刘炫320的博客_CSDN博客-算法编程习题解答(java版),机器学习习题集,leetcode领域博主

相关推荐

[西门子PLC] S7-1200PLC中所支持的数据类型详解

数据类型呢,就是讲数据的长度和属性的,也就是指定数据元素的大小,还有怎么去解释数据。每个指令起码得支持一种数据类型,有的指令还能支持好多种数据类型。所以呀,指令上用的操作数的数据类型一定得跟指令支持的...

C语言wctomb函数详解:宽字符到多字节字符的「翻译官」

核心定位wctomb是C语言中用于将宽字符转换为多字节字符的「翻译官」,它能将单个宽字符(wchar_t)转换为多字节字符(如UTF-8编码的中文)。就像一位翻译官,它能将一种语言(宽字符)翻译成...

Python 中数组和列表之间的区别(python列表和c语言数组区别)

在这篇文章中,您将了解Python中数组和列表之间的区别。Python列表Python列表是一种内置数据结构,是包含在方括号[]的元素集合。它们具有许多独特的属性,使它们与其他数据结构不同。有...

Linux内核设计与实现—进程管理(linux内核原理与实现)

进程进程就是处于执行期的程序(目标码存放在某种存储介质上)。进并不仅仅局限于一段可执行程序代码(Unix称其为代码段,textsection)。通常进程还要包含其他资源,像打开的文件,挂起的信号,...

实际工程项目中西门子S7-1500如何批量读取和写入机器人信号

方法一:DPRD_DAT:读取DP标准从站的一致性数据该指令适用于中央模块以及DP标准从站和PROFINETIO设备。可以使用以下数据类型:BOOL,BYTE,CHAR,WCHAR,WO...

C语言mbstowcs函数详解:多字节字符串到宽字符的「翻译官」

核心定位mbstowcs是C语言中用于将多字节字符串转换为宽字符字符串的「翻译官」,它能将多字节字符(如UTF-8编码的中文)转换为宽字符(wchar_t)。就像一位翻译官,它能将一种语言(多字节...

C语言mbtowc函数详解:多字节字符到宽字符的「翻译官」

核心定位mbtowc是C语言中用于将多字节字符转换为宽字符的「翻译官」,它能将单个多字节字符(如UTF-8编码的中文)转换为宽字符(wchar_t)。就像一位翻译官,它能将一种语言(多字节字符)翻...

西门子PLC系列连载|No.5 初识西门子1200PLC数据类型

导语:在之前的文章中我们介绍了PLC的相关基础知识和一些小的程序段,也讲解过博途软件使用的一些基本方法。那么我们在本章内容将为大家讲解关于西门子1200系列PLC的常用数据类型,以及这些数据类型的区别...

计算机中常见的字符编码及存储方式

常见的字符编码ASCII、GBK、GB2312、Unicode等等常识用多个字节来代表的字符称之为宽字符,而Unicode码只是宽字符编码的一种实现,宽字符并不一定是Unicodechar窄字...

西门子SCL高级语言之数据转换介绍

(整数转浮点数INT_TO_REAL)我们在做项目中经常用到各种类型的数据,这就需要转换(CONVERT)指令来转换,由于博途数据转换指令只有它一个,那我们就只记住它就可以了,注意设置需要转换...

SCL编程语言学习(2)-启保停电路(起保停电路plc程序)

“启保停”电路是学习过程中最常见的一个案例,也是最简单易懂的控制程序。如果采用梯形图编程,如图1所示。在实际工程的电路中,很少有这么简单的起保停电路,一般都需要考虑急停、限位、过载保护等多项因素,启停...

GCC的常用编译选项(gcc编译工具)

GCC(GNUCompilerCollection,GNU编译器套件)是由GNU开发的编程语言译器。对于C语言源代码文件,使用GCC生成可执行文件的过程不仅仅是编译的过程,而是要经历四个相...

「C语言」初始化数组,C语言中初始化特定列表和元素

如果没有显式地初始化数组变量,那么就会采用一般规则:如果数组具有动态存储周期,那么数组元素的值就是没有定义的。否则,所有的元素都会被默认地初始化为0(如果数组元素是指针,则会被初始化为NULL)。编...

C++11新特性(c++11新特性 lambda)

1、智能指针2、Lambda表达式3、线程库4、原子操作5、统一的列表初始化{}6、右值引用和移动构造7、引入nullptr指针8、类型推导auto和decltype智能指针:智能指针是一个...

西门子 S7-1200 PLC 数据类型详解

关注“PLC发烧友”,一起涨知识!回复:西门子全套,领西门子系列PLC电子资料包!数据类型用来描述数据的长度和属性,即用于指定数据元素的大小及如何解释数据,每个指令至少支持一个数据类型,而部分指令支持...

取消回复欢迎 发表评论: