小白必看的超超超超级基础的Latex入门教程

Warning

这篇博客是针对对Tex真的一点都不懂的小白,如果稍微了解一点,就不需要看了。此外,赶时间的小白就看黄字和加粗的字体就可以了。这只是对自己从零开始学Latex的一个记录,不知不觉就讲了很多废话。

背景

最近天天在家不务正业,反正研究方向要学的东西我不学,别的我是都要去涉猎一下的。
听说Latex的公式很优美,写论文总结的时候,总是被word里面打公式的繁琐过程气到,然后我花了一天(其实不止)捣鼓了一下Latex,走了好多歪路,看了好多百度经验,N多篇博客以及几篇Github,终于!懂了一点点入门的东西(认真搞懂是不可能的,这辈子都不可能的),写个论文翻译以及总结还是OK的!但是真的很基础,如果想深入学习,需要看一些参考书,这个网站是专门介绍Tex的,可以了解一下。Tex的模板可以去IEEE的网站下。
接下来就跟着我的脚步写一篇Latex文档的论文总结吧!这篇论文是关于事件抽取的,17年ACL的 《Automatically Labeled Data Generation for Large Scale Event Extraction》,如果对这篇论文也感兴趣,我会把我翻译的论文tex文档放在Github上面,如果不是做这块的,建议自己跟着写一下tex文档,不然很容易忘记(关键自己做的tex很粗糙)。这个Tex文档也是借鉴了一个模板,不过看的网页太多了,不知道那个网站去哪里了(十分对不起那个被借鉴的人)。
不过最好是在别人的模板上面构建自己用得来的模板啦!记得大二管理老师说创新就是模仿加改良(我记性真好!)。

安装

刚开始我下载了Ctex简化版,用起来很奇怪,卸载了,再安装,还是很奇怪,又卸载了。接着我下载了Ctex的完整版,但是可能因为我比较愚蠢,看了B站一些教学视频(竟然有一个高中生教Latex,真的后生可畏!那个女生未来可期!),用起来还是很奇怪。后来搜了一下大家都在用Texstudio,抱着好奇的态度,下载了一下,嗯!真的好用!看一些博客说,要是想写中文的Tex文档,得把两个合起来用,要是不介意版本的问题,这里把Ctex和Texstudio两个安装包放在这里(如果有人看这篇博客的话),这样子就不用各个地方找了,安装一直next就行了,“好像”没什么big deal(原谅我的用词不准确,作为一个研究生真的太不严谨了,我反思!)。 但是! 我看到一个博客说安装Ctex是会有覆盖环境变量的问题,先可以去看一下那个博客,然后安装Ctex,如果还是出现这个问题,再去看看别的博客(或者卸载,反正千万先别关机,安装软件对我真的是玄学,只能帮到这里了)。
链接:https://pan.baidu.com/s/1REm22qTsv96BHjLZTDiYVA
提取码:ago7

设置

下载安装成功之后,把Texstudio的语言改成中文。
Texstudio
看到options点进去,选第一个选项configure TeXstudio,会看到下面这个页面。
小白必看的超超超超级基础的Latex入门教程_第1张图片
把default改成zh_CN,这样子就会变成中文界面。在这里插入图片描述
因为我要写一篇中文的论文总结,所以需要把编译器改一下。
小白必看的超超超超级基础的Latex入门教程_第2张图片
还是configure TeXstudio的界面,点击构建,把默认编译器改成XeLatex,默认文献工具是BiTeX。

新建文件

在这里插入图片描述
点击那个白纸绿加号,就会新建一个tex文档,然后点击文件-保存保存在自己选定的位置,最好是为这个Tex文档单独建一个文件夹,把这个Tex文档保存在这个文件夹中,因为保存的时候会产生很多的文件类型,不止Tex这一个文档,此外,论文使用的图片都可以放在这个文件夹里面,方便直接引用(也算是自己做一个整理归纳的工作)。

Latex入门编译

好,接下来就是在刚刚创建的Tex文档中瞎写八道创作了。
激动的心,颤抖的手!代码的第一行终于不是Hello World了!下面的代码可以一行一行的复制到刚刚创建好的Tex文档中,我会对每一行做个解释,方便后续的使用。开始要对文章进行一个定义。

定义阶段

1、首先定义文档类型

\documentclass[a4paper]{article}  %%%如果写英文文档用这个定义,就复制这行

但是呢,我要写中文文档,因此用下面这个定义。

\documentclass[UTF8]{ctexart}  %%%定义我写的是中文文档,那就只需要复制这行

2、接下来加载宏包,我加载的是以下几个宏包,更多的宏包还需要自己去挖掘, 这篇博客 上面有一个对常用宏包的说明,我觉得写的挺好的,可以参考一下!

%%%%%%%%%%% 加载宏包 %%%%%%%%%%%%%
\usepackage{amsmath}       %加载公式
\usepackage{graphicx}        %处理图片
\usepackage{setspace}        %调整行间距
\usepackage{indentfirst}        %首行缩进宏包
\usepackage{latexsym,bm}        % 处理数学公式中和黑斜体的宏包
\usepackage{cases}         %定义书写公式环境
\usepackage{pifont}         %是一些※√这种符号。
\usepackage{txfonts}       %文本和数学字符库

3、CJK下设置中文字体,这一段是参考 这篇博客的。在我看来,下面几种字体在平时就够用了。

%%%%%%%%%%% CJK下设置中文字体 %%%%%%%%%%%%%
\newcommand{\song}{\CJKfamily{song}}   % 宋体 
\newcommand{\fs}{\CJKfamily{fs}}        % 仿宋体 (Windows自带simfs.ttf)
\newcommand{\kai}{\CJKfamily{kai}}      % 楷体   (Windows自带simkai.ttf)
\newcommand{\hei}{\CJKfamily{hei}}      % 黑体   (Windows自带simhei.ttf)
\newcommand{\li}{\CJKfamily{li}}        % 隶书   (Windows自带simli.ttf)

4、设置字体大小,一共有12种字号,跟Word里面一样,第一个花括号里面是字号的拼音。不管三七二十一,先复制黏贴到自己的Tex文档中,后面会讲怎么改字号,现在只是定义环节。

%%%%%%%%%%%  设置字体大小 %%%%%%%%%%%%%
\newcommand{\chuhao}{\fontsize{42pt}{\baselineskip}\selectfont}   %%%初号字体
\newcommand{\xiaochuhao}{\fontsize{36pt}{\baselineskip}\selectfont}    %%%小初号字体
\newcommand{\yihao}{\fontsize{28pt}{\baselineskip}\selectfont}   %%%一号字体,以此类推
\newcommand{\erhao}{\fontsize{21pt}{\baselineskip}\selectfont}
\newcommand{\xiaoerhao}{\fontsize{18pt}{\baselineskip}\selectfont}
\newcommand{\sanhao}{\fontsize{15.75pt}{\baselineskip}\selectfont}
\newcommand{\sihao}{\fontsize{14pt}{\baselineskip}\selectfont}
\newcommand{\xiaosihao}{\fontsize{12pt}{\baselineskip}\selectfont}
\newcommand{\wuhao}{\fontsize{10.5pt}{\baselineskip}\selectfont}
\newcommand{\xiaowuhao}{\fontsize{9pt}{\baselineskip}\selectfont}
\newcommand{\liuhao}{\fontsize{7.875pt}{\baselineskip}\selectfont}
\newcommand{\qihao}{\fontsize{5.25pt}{\baselineskip}\selectfont}

5、设置 section 属性,这是定义每个部分环节,就是定义论文简介、背景、方法这种二级标题格式的属性。
\makeatletter和 \makeatother 是为了在文档中使用Latex的内部命令的
\renewcommand 是重新定义的意思,\renewcommand\section是重新定义section这个部分。
中间代码部分是对标题与上下文的距离的设置。后面写了内容之后,可以改改每行第一个数字,比如把-1.5改成-5.5,看看变化,找到自己看着最顺眼上下文间距。后面的数字是一个可以被伸长和缩短的长度,我这边改了是没什么变化的。

%%%% 设置 section 属性 %%%%
\makeatletter  
\renewcommand\section{\@startsection{section}{1}{\z@}%
	{-1.5ex \@plus -.5ex \@minus -.2ex}%
	{.5ex \@plus .1ex}%
	{\normalfont\sanhao\CJKfamily{song}}}  %%这边要是不想要宋体三号字,可以把song改成之前定义的字体和字号。
	%{\normalfont\sihao\CJKfamily{fs}}}  %%比如改成仿宋四号,前面定义好了,后面只需要改几个字母就可以了。
\makeatother

6、设置 subsection 属性,这边是设置类似于1.1这种一级标题格式的,代码跟section差不多。

%%%% 设置 subsection 属性 %%%%
\makeatletter
\renewcommand\subsection{\@startsection{subsection}{1}{\z@}%
	{-1.25ex \@plus -.5ex \@minus -.2ex}%
	{.4ex \@plus .1ex}%
	{\normalfont\sihao\CJKfamily{song}}}
\makeatother

7、设置 subsection 属性,这边是设置类似于1.1这种二级标题格式的,代码跟section差不多,具体见第六点。

%%%% 设置 subsection 属性 %%%%
\makeatletter
\renewcommand\subsection{\@startsection{subsection}{1}{\z@}%
	{-1.25ex \@plus -.5ex \@minus -.2ex}%
	{.4ex \@plus .1ex}%
	{\normalfont\sihao\CJKfamily{song}}}
\makeatother

8、设置 subsubsection 属性,这边是设置类似于1.1.1这种三级标题格式的,代码跟section差不多,具体见第六点。

%%%% 设置 subsubsection 属性 %%%%
\makeatletter
\renewcommand\subsubsection{\@startsection{subsubsection}{1}{\z@}%
	{-1ex \@plus -.5ex \@minus -.2ex}%
	{.3ex \@plus .1ex}%
	{\normalfont\xiaosihao\CJKfamily{song}}}
\makeatother

9、段落首行缩进两个字

%%%% 段落首行缩进两个字 %%%%
\makeatletter
\let\@afterindentfalse\@afterindenttrue
\@afterindenttrue
\makeatother
\setlength{\parindent}{2em}  %中文缩进两个汉字位

10、重定义页面边距

%%%% 下面的命令重定义页面边距,使其符合中文刊物习惯 %%%%
\addtolength{\topmargin}{-54pt}   %%上边距
\setlength{\oddsidemargin}{0.63cm}   % 3.17cm - 1 inch奇数页的左面页边距
\setlength{\evensidemargin}{\oddsidemargin}  %%奇数页的左面页边距
\setlength{\textwidth}{14.66cm}  %%文本的宽度
\setlength{\textheight}{24.00cm}    % 24.62正文的高度

11、设置行间距与段落间距

\linespread{1.2}   %%%行间距
\setlength{\parskip}{1ex}  %%% \parskip: 两个段落之间的距离。以ex为单位,橡皮长度
%\setlength{\parskip}{\baselineskip}

对于单位不清楚的可以在CSDN上搜一下,会出来很多有用的博客,比如这一篇博客。

正文

接下来就是所写即所得的阶段了。

\begin{document}  
    %%%% 重定义 %%%%这边是类似于英译中,本来/begin{abstract}运行出来是abstract,现在运行出来会变成 摘要
	\renewcommand{\contentsname}{目录}  % 将Contents改为目录
	\renewcommand{\abstractname}{摘要}  % 将Abstract改为摘要
	\renewcommand{\refname}{参考文献}   % 将References改为参考文献
	\renewcommand{\indexname}{索引}
	\renewcommand{\figurename}{图}
	\renewcommand{\tablename}{表}
	\renewcommand{\appendixname}{附录}
	\renewcommand{\baselinestretch}{1.2}  %% 行距  linespace = baselineskip * baselinestretch,知乎上面有一篇关于这行代码的详细介绍,链接放在最后。

	\title{Automatically Labeled Data Generation for Large Scale Event Extraction\\大规模事件抽取的自动标记数据生成}  %%%文章的题目
	\author{哈嘎啦呀\footnote{电子邮件: [email protected],学号: 202040327777}\\[2ex]
			\xiaosihao XX大学\\[2ex]
		}
	\date{2020年}  %%日期
	\pagestyle{plain}  %%%不要页眉,页脚包含一个居中的页码
	\thispagestyle{empty}  %%这一页不要页码
	\maketitle  %%一定要有这一行!这一行是将所有title 、author里面花括号的内容展示出来。
	\tableofcontents  %%这个是自己显示目录
	
	\newpage  %%%新建一页
	
	\begin{abstract}  %%%这边是摘要,虽然花括号里面写的是abstract,但是显示出来的是摘要,因为我们之前renewcommand了
	大多数事件抽取任务都依赖于人工标注数据,但是人工标注数据十分昂贵,事件类型少,每个事件类型数量也少,因此有监督的事件抽取很难利用到大规模事件抽取中。本文提出利用知识库(Freebase和FrameNet,Wikipedia)来自动标记数据。本文自动标记的数据包含人工标注的数据,可以从人工标注的数据中提升性能。
	\end{abstract}
	
	\newpage  %%%新建一页
	
	\section{背景}  %%%这边是类似于二级标题的意思
	\paragraph{Freebase:}  
	中间不仅有三元组原子知识表示,还创造了虚拟节点结构,被称为组合值类型(CVT)。
	\paragraph{FrameNet:}
	包含一千多个框架以及10000多个词法单元,每个框架可以被看作是一种事件类型的语义框架。每个框架都有一组引理,部分词法标注可以唤起该框架,称为词法单元(LU)。
	\paragraph{Wikipedia:}
	我们使用的维基百科于2016年1月发布。其中630万篇文章都用于我们的实验。我们使用Wikipedia是因为它是相对最新的,而且Freebase中的很多信息都来自Wikipedia。
	
	\subsection{Key Argument Detection}  %%%这边是三级标题
	有些元素在事件中十分的重要,通过这些元素可以轻易地将不同事件区别开来。本文使用Key Rate (KR)来评估一个元素在事件中的重要性。这个重要性取决于两个因素:Role Saliency (角色显著性)和 Event Relevance(事件相关性)。
	
\end{document}
	

正文部分差不多就是按这个套路来,不停地添加\section,\subsection来增加自己的内容。

运行

点击下面两个绿三角叠起来的按钮,就可以运行并查看了。
在这里插入图片描述
下面是上面所有代码的效果图。
小白必看的超超超超级基础的Latex入门教程_第3张图片

插图

这个博客写的插图心得写的好好!算是比较全面的插图tips了,我在这里就介绍最基础的插图。

	\begin{figure}[h]  %%%这边h(here)可以改成t(top顶部)或者b(bottom底部)。可以自己尝试一下。
	\centering   %%居中
	\includegraphics[width = .8\textwidth]{1.png} \\ %加载图片,缩放至页面的80%
	\caption{示例}  %%这会显示图X:示例
	\end{figure}

插图的效果图看的不是很明显,在这里就不展示了。

列表

有两种常用列表,一种是标号的,一种是小圆点的。

%%%%%第一种:计数%%%%%%%%
	\begin{enumerate}
		\item ACE数据集中,33个事件类型是在599个英文文档中人工标注的。
		\item ACE数据集中60\%的事件类型都是少于一百个样例,甚至有三个事件类型是少于10个样本的。
		\item 预定义的33个事件类型不能运用到大规模事件抽取中。
	\end{enumerate}
%%%%%第二种:不计数%%%%%%%%	
	\begin{itemize}
		\item 在知识库中,触发词并不是提前给出的。为了解决这个问题,文在运用远程监督之前,先发现触发词,再去自动标记事件元素。
		\item 根据远程监督在关系抽取内的应用,我们假设一个句子包含所有的事件元素,然而,对于特定事件,元素是分布在多个句子中。
	\end{itemize}

这是两种列表的效果图。
小白必看的超超超超级基础的Latex入门教程_第4张图片

表格

入门的话,用在线表格生成器,基本上画两个就知道怎么写了。在这里就介绍最基本的表格格式。

	\begin{table}[h]  %%这边h(here)可以改成t(top顶部)或者b(bottom底部)。
	\centering  %%居中
	\begin{tabular}{|l|l|l|} %%%这边|l|l|l|意思是三列,两边有竖线。两边不想要竖线,变成l|l|l就可以了,可以尝试一下。
		\hline
		特征 & 触发词(F1 )  & 元素(F1)\\ \hline
		ACE & 69.1 & 53.5  \\ \hline
		AEC+RS & 70.1   & 55.3\\ \hline
		AEC+ER & 69.5   & 54.2\\ \hline
		AEC+KR & \textbf{70.5}   & \textbf{55.7}\\ \hline
	\end{tabular}
	\end{table}

效果图如下:
小白必看的超超超超级基础的Latex入门教程_第5张图片

公式

建议刚开始是用在线Latex公式编辑器,然后生成Latex文档,下载之后,复制黏贴到文章中需要的地方。刚开始用的时候,会觉得还不如在Word里面打公式,所见即所得,多好。后面观察了几个Latex公式就知道了写公式的套路了。由于论文里面有很多符号都带下标,Word里面打出来每次都需要点一下插入公式,很麻烦,Latex里面就直接打$ER_{i}$ ,就能输出 E R i ER_{i} ERi,很便捷,也不需要考虑排版。下面介绍两种打公式的方法。

%%%%第一种打公式的方法%%%%
	\[{{TCF\mathop{{}}\nolimits_{{ij}}}=\frac{{Count \left( V\mathop{{}}\nolimits_{{i}},ETS\mathop{{}}\nolimits_{{j}} \right) }}{{Count \left( ETS\mathop{{}}\nolimits_{{j}} \right) }}}\]
%%%%第二种打公式的方法%%%
	\begin{eqnarray} 
	{TCF\mathop{{}}\nolimits_{{ij}}}=\frac{{Count \left( V\mathop{{}}\nolimits_{{i}},ETS\mathop{{}}\nolimits_{{j}} \right) }}{{Count \left( ETS\mathop{{}}\nolimits_{{j}} \right) }}
	\end{eqnarray}

出来的效果如下:

T C F i j = C o u n t ( V i , E T S j ) C o u n t ( E T S j ) {TCF\mathop{{}}\nolimits_{{ij}}}=\frac{{Count \left( V\mathop{{}}\nolimits_{{i}},ETS\mathop{{}}\nolimits_{{j}} \right) }}{{Count \left( ETS\mathop{{}}\nolimits_{{j}} \right) }} TCFij=Count(ETSj)Count(Vi,ETSj)

在Texstudio里面,将鼠标放在下图中的黄色区域,就可以预览公式,就不需要点运行了。

小白必看的超超超超级基础的Latex入门教程_第6张图片

快捷键(加粗、下划线等)

旁边红框的界面有一些跟word里面差不多的按钮,如果想要加粗,就选中需要加粗的文字,点一下B文字就加粗了。还有一些简单公式的快捷键,需要自己去挖掘。

小白必看的超超超超级基础的Latex入门教程_第7张图片

参考

GitHub里一篇很有用的参考文章.
知乎——段落

总结

看到这里,真的真的十分感谢了,我废话是真的多,但是也是学Latex的真实想法,这也算自己对Latex的复盘,方便自己后期使用。前期学的时候真的很头大,后面就真香了,发现Latex挺有用的,特别是写公式,不用注意格式,写出来的公式真的很优美。Latex的好用之处是,前面定义好属性之后,后面就只需要专注于自己的内容,管你复制黏贴传进来的是什么,Latex直接统一格式,专治各种花里胡哨。对于本人来说,Latex写小论文或者大论文的时候挺有用的。不过,写论文总结好像有点小题大做了,我可能后期会考虑OneNote或者就是博客来写论文总结。
听说Latex还能做PPT,有时间再去不务正业一下。

PS

  • 如果有借鉴的文章侵犯了权益,一定!务必!请提出来!
  • 如果发现什么错误,一定!务必!请提出来!
  • 虚心接受批评指正!

你可能感兴趣的:(Latex)