• 【转】latex起步


    对于真心渴望迅速上手LaTeX的人,前言部分可以跳过不看或只看粗体,直接跳到正文。

    这是一篇面向对LaTeX完全无认知无基础的新人的入门教程。
    这一篇文章中,我追求的是极致的简短和实用。
    我希望能够帮助新人能够用最简单快捷的方式,轻松入门,能够迅速使用LaTeX完成基本的文本编辑。
    在我初学LaTeX时,我自己有着很强烈的感受,对于新人来说,LaTeX其实不缺少长篇的系统论述的manual,但是缺少简短的step by step的一个example接一个example的有操作价值的tutorial。
    我想大多数人接触LaTeX的原因都和我一样,只是论文需要,并不是有多么想去当一个杂志编辑。

    因此这一篇tutorial的起点为零,终点到满足写一个proposal就为止了。

    同时这一篇tutorial的内容只涉及信息的撰写和录入,不涉及排版美化。

    我提倡的是新人们先开始跟着这个教程用LaTeX来写起来,在把内容放进去之后,遇到怎么让版面更加规范美观的问题的时候,可以从容地去翻manual或者问google。

    这篇教程中涉及的以及被我有意过滤掉的LaTeX的功能,都是我仔细斟酌过的,我确保文章的内容对于新人来说完全够用。
    从proposal到paper当然还有一点距离,最重要的台阶是模板的应用,其次是做参考文献。
    不过有了这篇文章垫底,至少能用LaTeX编辑点东西了,也就不怕了,单独去google需要的部分的教材就可以了。

    那么我个人对于即将接触LaTeX的新人的教材建议是,先从这一篇出发,掌握这一篇里的内容之后,就可以开始着手撰写和编辑自己的LaTeX文本了,比如自己的proposal或者论文的提纲,一边写一边可以去看一下我学LaTeX的时候觉得最简短有指导意义有操作价值的《一份不太短的LaTeX介绍》,那一篇教材里基本就涵盖了以写paper为目的全部LaTeX功能需求了。

    另外感谢朋友留言提醒了我另外一篇当初在我入门时对我帮助非常大的教程,它名字很简单朴素叫做《LaTeX notes》。 这个note和《不太短的》都是内容合理实用,没有多余的废话,没有职业编辑才可能用到的高端内容,而且充满了清爽的examples的教程。我也要强烈推荐出来。它可以通过搜索“latex notes 包老师”获得。我写的这一篇教程,从一定意义上说,可以算是那两个简短教程的再简短的节选。因为这篇文章中的内容,就是当我在初学LaTeX的第一天,看着这两篇教程学会的,当时认为我最需要的技能。因此我将这些技能拿出来,带上我安排和精简过的例子,单独架构成精简再精简的入门教程,用来帮助新人打破在接触一个新事物最初始的“动手壁垒”。

    而对于其他一些manual或厚的教材,如果只是为了写paper的话,是没有必要专门去读的,拿来当百科全书或字典,需要的时候查阅就好了。


    先用三句话来介绍什么是LaTeX,以下三点基于我个人写assignment report和写论文的主观经验的总结。
    1.LaTeX是一类用于编辑和排版的软件,用于生成PDF文档。
    2.LaTeX编辑和排版的核心思想在于,通过\section和\paragraph等语句,规定了每一句话在文章中所从属的层次,从而极大方便了对各个层次批量处理。
    3.LaTeX在使用体验方面,最不易被Word替代的有四个方面:方便美观的数学公式编辑、不会乱动的退格对齐、非所见即所得因此可以在编辑的时候用退格和换行整理思路但生成PDF出来不影响美观、部分导师和刊物不接受Word排版的文章。

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

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

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

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

    新人不必纠结软件问题,随便什么软件随便什么版本只要下载下来能编译出pdf来就可以,先下载了装上来试试再说。在真正开始跑步之前没有必要纠结该买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.

      New York is

      the capital

      of America.

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

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


    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的数学符号表或别人给的例子。

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

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

    有一些网站可以通过画图的方式来生成公式,有的编辑器集成了各种数学功能按钮。这对于公式需求少的人来说很方便,具体信息可以自己去搜索。但是如果你的文章中要出现大段的证明过程,就会发觉还是老老实实地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中是只支持eps图片格式的,现在的LaTeX对jpg、bmp、png等等常见图片都可以支持。



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


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

    1.中文支持

     很多朋友给我留言希望我把中文支持部分加进这个基本入门的教程里。因为没有被人要求过,所以我自己没有用LaTeX写过中文的paper,只是偶尔拿来写写小说大纲。因此对于中文方面我知道的很少,也只能最简单地提一下。

    曾经的LaTeX的中文支持是比较麻烦的一件事,但是现在使用MikTeX+WinEdt的中文支持非常容易。
    只需要把开头的\documentclass{atricle}换成\documentclass{ctexart}就可以了。
    如果是第一次使用ctexart的话,会自动下载和安装宏包和模板,之后就不会再下载了。
    例子参考如下:
    打开WinEdt,建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8。

    \documentclass[UTF8]{ctexart}
    \begin{document}
    你好,世界
    \end{document}

    有同学和我反映说直接copy这些代码生成的中文是乱码,的确这样的问题偶有发生。如果这样的话,不妨在windows左下角的开始菜单的程序列表里找到MikTeX的文件夹,用maintenance里面的package manager搜索和手动安装名为CJK的package,然后再试试能否成功编译出中文。


    2.宏包
    \package{}就是在调用宏包,对计算机实在外行的同学姑且可以理解为工具箱。
    每一个宏包里都定义了一些专门的命令,通过这些命令可以实现对于一类对象(如数学公式等)的统一排版(如字号字形),或用来实现一些功能(如插入图片或制作复杂表格)。
    通常在\documentclass之后,在\begin{document}之前,将文章所需要涉及的宏包都罗列上。
    对于新人而言比较常用的宏包有

    编辑数学公式的宏包:\usepackage{amsmath}和 \usepackage{amssymb}
    编辑数学定理和证明过程的宏包:\usepackage{amsthm}
    插入图片的宏包:\usepackage{graphicx}
    复杂表格的宏包:\usepackage{multirow}

    差不多了,对于新人来说,这五个宏包已经基本够用了。如果有其他的特殊需求,就通过google去寻找吧。
    补充说明一下,ctexart模板里已集成了CJK宏包。 


    3.模板
    模板就是在\documentclass{}后面的大括号里的内容。
    在这一份教程中,我们使用的是LaTeX默认自带的模板article,以及中文模板ctexart。
    模板就是实现我之前所介绍的LaTeX的经验总结的第二点的实现方式。
    一篇文章,我们定义了section,定义了paragraph,就是没有定义字体字号,因为字体字号这一部分通常来说是在模板中实现的。
    一个模板可以规定,section这个层级都用什么字体什么字号怎么对齐,subsection这个层级用什么字体什么字号怎么对齐,paragraph又用什么字体什么字号怎么对齐。
    当然模板里还可以包含一些自定义的口令,以及页眉页脚页边距一类的页面设置。
    由于模板的使用,在我的使用经验里来看,绝对不可能算是基本入门级的内容,所以在正文里当然不会提及。
    如果有人实在想学,如果LaTeX已经接触到这个程度上了,那么再去翻其他厚一些的教材,也不亏了。



    4.参考文献和制作幻灯片

    做参考文献的时候,文章也已经快写到尾声了。这一部分内容有点复杂,一言难尽。对这个功能有需求的LaTeX user,使用LaTeX也已经相当熟练了,自己去google一下或查阅其他厚教程是很理所当然的,一点也不冤枉。

    在此我就只提供两个搜索关键词,参考文献可以搜bibtex,制作幻灯片可以搜beamer。

    不过说到有关用LaTeX做幻灯片,我和几个精通LaTeX的朋友聊到最后共识趋于一点,就是除非真的对LaTeX实在太有爱,除非内容涉及到太多太多的数学公式,否则还是用powerpoint吧。毕竟有导师要求论文必须用LaTeX做,但是没导师要求presentation也必须用LaTeX做。选择LaTeX做幻灯片,对比一下其学习和使用成本,和能做出的超出powerpoint的美观程度,性价比不是很高。

  • 相关阅读:
    C# Assembly 反射
    C# Assembly 反射
    为C#自定义控件添加自定义事件
    为C#自定义控件添加自定义事件
    redis5.0的槽点迁移,随意玩(单机迁移集群)
    redis5.0的槽点迁移,随意玩(单机迁移集群)
    []MongoDB优化的几点原则
    []MongoDB优化的几点原则
    当MongoDB遇见Spark
    当MongoDB遇见Spark
  • 原文地址:https://www.cnblogs.com/weilin1216/p/2941421.html
Copyright © 2020-2023  润新知