一篇实用的Latex的入门教程

2023-05-16

转载

LaTeX新人教程,一小时从完全陌生到基本入门

作者 :  董楠

 

LaTeX新人教程,一小时从完全陌生到基本入门

by Nan

 

对于真心渴望迅速上手LaTeX的人,可以只看正文。

曾经在缝缝补补中变得长长的“前言”被我丢到了正文后面当“后记”。

后记部分可以跳过不看或只看粗体。

原本这个版本的流程内容是30分钟。

后来应小伙伴呼声,加入了图片引用、公式引用和参考文献内容。

因此如果要走完这个流程的话,大致需要一个小时。

 

=============================================

下面是教程正文。(正文最后应大家要求增添了附录)

注:文章里的代码我自己测试是可以直接复制进winedt编译成功的。但是有朋友反馈说编译不成功,检查后的结果大概是在人人网发帖的时候,人人网自己神奇的排版系统自主“智能”增添了一些换行符制表符类似物。因此如果直接复制编译不成功的时候,请尝试手打一遍。代码内容已经十分精简,相信手打起来也不会有太大压力。

 

1.LaTeX软件的安装和使用 
方法A(自助):在MikTeX的官网下载免费的MikTeX编译包(150Mb)并安装。下载WinEdt(9.5Mb)(收费)或TexMaker(32Mb)(免费)等编辑界面软件并安装。 
方法B(打包):在ctex.org下载ctex套装(203Mb或1.3Gb)(含MikTeX及WinEdt)

哈哈这一部分当然不包含在标题的一小时里。

新人不必纠结软件问题,随便什么软件随便什么版本只要下载下来能编译出pdf来就可以,先下载了装上来试试再说。我推荐winedt也是方便我在介绍按钮样子的时候可以统一描述。在真正开始跑步之前没有必要纠结该买NIKE跑鞋还是ADI跑鞋,跑起来再说。不要瞻前顾后,just try it.



2.第一个文档 
打开WinEdt,建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8。 

\documentclass{article} 
\begin{document} 
   hello, world 
\end{document} 

然后在WinEdt的工具栏中找到编译按钮(在垃圾桶和字母B中间),在下拉菜单中选择XeLaTeX,并点击编译。 (这里请注意一下我之前一直笔误写的XeTeX,给大家带来困扰深感歉意)
如果顺利的话,我们就可以顺利生成出第一个pdf文件,点击工具栏中的放大镜按钮就可以快速打开生成的pdf文件。 


3.标题、作者和注释 
建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8,编译并观察现象。 

\documentclass{article} 
   \author{My Name} 
   \title{The Title} 
\begin{document} 
   \maketitle 
   hello, world % This is comment 
\end{document}

%为本行右边所有内容被注释掉,在生成的pdf中不会显示。

块注释也有专门的语句,不过更方便的方式是选中一块区域点鼠标右键,点comment 


4.章节和段落 
建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8,编译并观察现象。 

\documentclass{article} 
   \title{Hello World} 
\begin{document} 
   \maketitle 
   \section{Hello China} China is in East Asia. 
     \subsection{Hello Beijing} Beijing is the capital of China. 
       \subsubsection{Hello Dongcheng District} 
         \paragraph{Tian'anmen Square}is in the center of Beijing 
           \subparagraph{Chairman Mao} is in the center of Tian'anmen Square 
       \subsection{Hello Guangzhou} 
         \paragraph{Sun Yat-sen University} is the best university in Guangzhou. 
\end{document} 

退格只是我个人偏好,看起来层次清晰美观。实际操作上未必要如此,每一行之前的空格不影响编译生成PDF的排版结果。


5.加入目录 
建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8,编译并观察现象。 

\documentclass{article} 
\begin{document} 
   \tableofcontents 
   \section{Hello China} China is in East Asia. 
     \subsection{Hello Beijing} Beijing is the capital of China. 
       \subsubsection{Hello Dongcheng District} 
         \paragraph{Hello Tian'anmen Square}is in the center of Beijing 
           \subparagraph{Hello Chairman Mao} is in the center of Tian'anmen Square 
\end{document} 

6.换行 
建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8,编译并观察对比现象。 
\documentclass{article} 
\begin{document} 
   Beijing is 
   the capital 
   of China. 

  Washington is 

   the capital 

   of America. 

   Amsterdam is \\ the capital \\ 
   of the Netherlands. 
\end{document}

空一行为另起一段,\\为段内强制换行。

我对之前手滑写出New York is the capital of America这类低级错误表示非常抱歉。



7.数学公式 
建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8,编译并观察对比现象。 

\documentclass{article} 
   \usepackage{amsmath} 
   \usepackage{amssymb} 
\begin{document} 
   The Newton's second law is F=ma. 

   The Newton's second law is $F=ma$. 

   The Newton's second law is 
  

F=ma


   The Newton's second law is 
  
F=ma


   Greek Letters $\eta$ and $\mu$ 

   Fraction $\frac{a}{b}$ 

   Power $a^b$ 

   Subscript $a_b$ 

   Derivate $\frac{\partial y}{\partial t} $ 

   Vector $\vec{n}$ 

   Bold $\mathbf{n}$ 

   To time differential $\dot{F}$ 

   Matrix (lcr here means left, center or right for each column) 
   \[ 
     \left[ 
       \begin{array}{lcr} 
         a1 & b22 & c333 \\ 
         d444 & e555555 & f6 
       \end{array} 
     \right] 
   \] 

Equations(here \& is the symbol for aligning different rows) 
\begin{align} 
   a+b&=c\\ 
   d&=e+f+g 
\end{align} 

\[ 
   \left\{ 
     \begin{aligned} 
       &a+b=c\\ 
       &d=e+f+g 
     \end{aligned} 
   \right. 
\]

 

\end{document} 

具体细节可以自行搜索LaTeX的数学符号表或别人给的例子。

 

$...$是开启行内数学模式,用于和文本合在一起使用。

 

...
...
是另起一行居中开启数学模式。通常用起来差别不是很大,不过$$会修改默认的公式行间距,有时可能会对文章的整体效果有影响。

 

但是我最推荐使用的是equation环境,在之后的第9节中介绍。

 

有一些网站可以通过画图的方式来生成公式,有的编辑器集成了各种数学功能按钮。这对于公式需求少的人来说很方便,具体信息可以自己去搜索。但是如果你的文章中要出现大段的证明过程,就会发觉还是老老实实地google一篇latex数学符号表,然后不懂的去查代码,自己用手指敲来得干脆利索。再进阶一点,可以去搜一下有关LaTeX的自定义command的内容去看一下,在敲公式时能省很多力气。


8.插入图片 
将待插入的图片姑且先命名为figure1.jpg 
建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8,放在和图片文件同一个文件夹里,编译并观察现象。 

\documentclass{article} 
   \usepackage{graphicx} 
\begin{document} 
   \includegraphics[width=4.00in,height=3.00in]{figure1.jpg} 
\end{document}

现在LaTeX对jpg、bmp、png等等常见图片都可以支持。

 

9.可以被引用的图片和公式

接下来进阶一点,我们来做有图片名称,可以在文中被引用的插入图片,还有可以在文中被引用的公式。建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8,放在和图片文件同一个文件夹里。编译方式可以选择XeLaTeX或PDFTeXify。如果选择XeLaTeX,那么需要编译两次。如果选择PDFTeXify,那么编译一次就可以。

 

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{graphicx, subfig}
\usepackage{caption}
\begin{document}
  One image ???.
    \begin{figure}[!htbp]
      \centering
      \includegraphics[width = .8\textwidth]{image1.jpg}
      \caption{example of one image} \label{one-img}
    \end{figure}

  Image together is shown in Figure ???.
  First sub-image is shown as Figure ???.
  In Figure ??? the second sub-image is presented.
    \begin{figure}[!htbp]
      \centering
      \subfloat[first sub-image]{
        \includegraphics[width = .45\textwidth]{image1.jpg}
        \label{sub1}
      }
      \qquad
      \subfloat[second sub-image]{
        \includegraphics[width = .45\textwidth]{image2.jpg}
        \label{sub2}
      }
      \caption{combined image}\label{img-together}
    \end{figure} 

  The result is shown in Equation ???:
    \begin{equation}\label{abcde}
      a+b+c+d+e=f
    \end{equation}

\end{document}

9.简单表格 
建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8,编译并观察对比现象。 

\documentclass{article} 
\begin{document} 
   \begin{tabular}{|c|c|} 
     aaa & b \\ 
     c & ddddd\\ 
   \end{tabular} 

   \begin{tabular}{|l|r|} 
     \hline 
     aaaa & b \\ 
     \hline 
     c & ddddd\\ 
     \hline 
   \end{tabular} 

   \begin{center} 
     \begin{tabular}{|c|c|} 
       \hline 
       a & b \\ \hline 
       c & d\\ 
       \hline 
     \end{tabular} 
   \end{center} 
\end{document}

注意观察有无\hline和有无\begin{center}的区别。注意观察\begin{tabular}后的lcr的区别,分别是left对齐,center对齐和right对齐。                          

 

10.制作参考文献

建立一个新文档,把以下内容复制进入文档中,保存,保存文件名为references.bib,保存类型为UTF-8。这个文档专门用来存放参考文献的信息。

@article{rivero2001resistance,
title={Resistance to cold and heat stress: accumulation of phenolic compounds in tomato and watermelon plants},
author={Rivero, Rosa M and Ruiz, Juan M and Garc{\i}a, Pablo C and L{\'o}pez-Lefebre, Luis R and S{\'a}nchez, Esteban and Romero, Luis},
journal={Plant Science},
volume={160},
number={2},
pages={315--321},
year={2001},
publisher={Elsevier}
}

@article{gostout1992clinical,
title={The clinical and endoscopic spectrum of the watermelon stomach},
author={Gostout, Christopher J and Viggiano, Thomas R and Ahlquist, David A and Wang, Kenneth K and Larson, Mark V and Balm, Rita},
journal={Journal of clinical gastroenterology},
volume={15},
number={3},
pages={256--263},
year={1992},
publisher={LWW}
}

建立一个新文档,把以下内容复制进入文档中,保存在同一个文件夹里,保存类型为UTF-8。

\documentclass{article}
\usepackage[numbers]{natbib}
\begin{document}
          One reference about watermelon \cite{gostout1992clinical}        
          Another reference about watermelon \cite{rivero2001resistance}        
          \bibliographystyle{plain}        
          \bibliography{references}        
        \end{document}

编译有两种方式可以选择,选择自己喜欢的随便一种就可以。

比较简单的方式是选择编译方式为PDFTeXify编译一下就可以了。

如果选择编译方式为XeLaTeX,那么需要多两个步骤,需要先用XeLaTeX编译一次,然后再用BibTeX编译一次(按钮就是在XeLaTeX编译右边的那个字母B),接着再用XeLaTeX编译两次。(谢谢小伙伴助攻~~)

编译成功后观察并对比现象。

        (获得参考文献的那些信息的方式,我是觉得有谷歌学术搜索就可以了,没有必要装这个那个文献管理工具的。只要谷歌学术上搜索文献,在搜索结果下面点“引用”,在弹出窗口里点“BibTeX”,再把新窗口里的这些信息复制粘贴到自己的references.bib里去就可以了。)

 

11.结尾 
到目前为止,你已经可以用LaTeX自带的article模板来书写一篇基本的论文框架了,至少你已经能够借助搜索然后复制粘贴这些命令例子来开始用LaTeX编辑了。 
在论文从框架到完整的过程中,必然还存在许多的细节问题,比如字体字号,比如图片拼合,比如复杂的表格等等。 
那些问题,就请咨询google吧。通常来说我们作为初学者会提出的问题,早就已经有许多的先辈们在网络上提过同样的问题了,看看别人的回答就可以。 
LaTeX在国内的普及率并不高,因此许多时候如果搜英文关键词,会获得更好的效果。


=============================== 
附录,有关我认为不是新手急需,但是的确比较有用的信息

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一篇实用的Latex的入门教程 的相关文章

  • ZipInputStream解压远程文件报错,java.lang.IllegalArgumentException: MALFORMED[1]

    我遇到的问题是报的这个错java lang IllegalArgumentException MALFORMED 1 at java util zip ZipCoder toString ZipCoder java 65 不是 java l
  • OAuth2.0接百度平台进行授权

    百度开发文档 xff1a https openauth baidu com doc regdevelopers html 1 注册开发者账号并创建一个应用 2 创建应用后 xff0c 获取API Key和Secret Key 3 创建一个S
  • Spring 中最常用的 11 个扩展点

    1 自定义拦截器 spring mvc拦截器根spring拦截器相比 xff0c 它里面能够获取HttpServletRequest和HttpServletResponse等web对象实例 spring mvc拦截器的顶层接口是 xff1a
  • 经典排序算法

    https juejin cn post 7198840786766102589
  • SpringBoot项目启动加载时排除某一个类

    在Application启动类上 xff0c 用这个注解就可以指定某个类不加载进容器 64 ComponentScan
  • 手写一个生产者/消费者模式(三种方式实现)

    这种设计模式需要满足以下三点要求 xff1a xff08 1 xff09 生产者生产数据到缓冲区中 xff0c 消费者从缓冲区中取数据 xff08 2 xff09 如果缓冲区已经满了 xff0c 则生产者线程阻塞 xff1b xff08 3
  • Android中Okhttp,Volley,Retrofit网络框架优缺点及对比

    Okhttp xff1a Square 公司开源的 OkHttp 是一个专注于连接效率的 HTTP 客户端 OkHttp 提供了对 HTTP 2 和 SPDY 的支持 xff0c 并提供了连接池 xff0c GZIP 压缩和 HTTP 响应
  • Google身份验证服务端实现

    import org apache commons codec binary Base32 import org apache commons codec binary Base64 import javax crypto Mac impo
  • 下载jdk8登录账号

    目前在官网下载低于jdk1 8的java jdk的时候需要登陆 xff0c 这边分享一个账号 xff0c 方便下载 2696671285 64 qq com 密码 xff1a Oracle123
  • idea中maven项目 jar包下载不完整解决办法

    有时从git上clone项目 xff0c maven工程 xff0c 有时候pom xml在project标签处报错 xff1a Failed to read artifact descriptor for xxx jar 这种有时候时ja
  • 【RoboMaster】舵机驱动&蓝牙模块教程

    本文是为参加2021赛季北京理工大学机器人队校内赛所写的简单教程 xff0c 意在帮助参赛选手快速了解校内赛所需模块的使用方法 xff0c 以及其与薪火培训知识的联系 舵机驱动 硬件接线 舵机是由直流电机 减速齿轮组 传感器和控制电路组成的
  • vs编译程序加快速度的方法

    在使用VS2013编译C 43 43 程序的时候 xff0c 修改某个文件 xff0c 会使整个工程都重新编译一遍 xff0c 为了使编译速度加快 xff0c 可以修改C 43 43 配置属性 xff1a 第一因时间引起的 xff1a 1
  • Visual Studio中gets报错解决方法

    方法如下 xff1a 1 这是敲出gets后报的错 2 经过查找资料 xff0c 知道vs2015之后就不支持gets了 xff0c 变成了gets s xff0c 并且后面的括号中也不能单独写一个数组名 xff0c 还需加上数组内的个数
  • 利用RCLCPP实现话题的发布与订阅

    目录 1 创建节点2 编写发布与订阅节点2 1 发布节点 xff08 topic publisher 01 cpp xff09 2 2 订阅节点 xff08 topic subscribe 01 cpp xff09 2 3 修改CmakeL
  • ROS2实现虚拟串口通信

    目录 1 下载demo文件1 1安装python3 serial 2 下载虚拟串口模拟器socat3 串口通信测试3 1代码修改3 2开启uart example py3 3开启发送端口dev pts 23 4进入demo文件夹 xff0c
  • ubuntu编译卡死解决

    添加交换空间 一 xff0c 查看当前系统的swap大小 span class token function free span span class token parameter variable m span 二 xff0c 创建一个
  • 运行LIO-SAM,[lio_sam_imuPreintegration-2] process has died,[lio_sam_mapOptmization-5] process has died

    报错图例 解决办法 span class token builtin class name cd span usr local lib span class token function sudo span span class token
  • 运行LeGO-LOAM

    参考 链接 xff1a https blog csdn net weixin 39754100 article details 112186264 https blog csdn net NEU Ocean article details
  • PELCO-D协议校验位

    PELCO D的功能是用于矩阵和其它设备之间的通信协议 PELCO D控制命令格式如下 字节1字节2字节3字节4字节5字节6字节7起始字节云台地址命令字1命令字2数据1数据2结束字节FFaddresscommand1command2data
  • 【Arduino 无刷电机控制教程】

    Arduino 无刷电机控制教程 1 概述 2 试验准备 3 实验原理 4 Arduino 无刷电机控制 电路图 4 1 实验组件 4 2 用于 BLDC 电机控制的 Arduino 代码 5 实验验证 5 1 电位计控制无刷电机速度 5

随机推荐