其他章节目录:
https://www.cnblogs.com/dansz/p/12819112.html

中间一些没必要记录的信息就不写了,如为什么LaTeX更牛?


1.1 What is LaTeX?

  • 发展历史

    1977:TeX(Donald E. Knuth),主要用于打数学公式。

    1985:LaTeX 2.09(Leslie Lamport),基于TeX,更注重文档整体结构而不是细节。

    1994:LaTeX 2ϵ\epsilonϵ(Frank Mittelbach的团队),进一步提高。
  • 描述

    LaTeX是一个基于编程语言写文档的宏包,可以写信,申请,文章,报告,出版物,论文,书籍等等. 其输入输出文件格式如下表。

    输入 输出
    ∗∗.tex**.tex∗∗.tex ∗∗.dvi,∗∗.ps或者∗∗.pdf**.dvi, **.ps 或者**.pdf∗∗.dvi,∗∗.ps或者∗∗.pdf
    类似于C语言的∗∗.c**.c∗∗.c或者∗∗.cpp**.cpp∗∗.cpp 类似于C语言的∗∗.exe**.exe∗∗.exe

1.2 Why LaTeX Over Other Word Processors

略…


1.3 How to Prepare a LaTeX Input File?

LaTeX 输入文件主要分为两个部分:Preamble(序文)和Body(主体)。

  • 序言部分(Preamble)

    包含内容:全局参数,LaTeX扩展包,新指令的定义(这一个翻译有点奇怪,原文是definitions of new instructions)。

    例子:\documentclass[a4paper,11pt]{article}

    在A4纸上以11pt的字号打印一篇文章。
    1. [参数]

      默认参数:纸张为信纸大小,字体大小:10pt

      若多个参数应以逗号隔开。

    2. {文档类型}

      letter,article,report,or book。
  • 主体部分(Body)

    以"\ begin{document}“开始,以”\ end{document}结束。另外\end{document}之后的内容被忽略。

  • 输入文件扩展名为.tex.

1.4 How to Compile a LaTeX Input File?

(好想直接复制粘贴…,另外发现一个问题,csdn这个编辑器似乎没有多级列表啊,将就着看吧,强迫症的忍一忍)

  • 编译软件
    1. TeXLive:http://www.tug.org/texlive/ - 全平台
    2. MiKTeX:https://​miktex.​org - 全平台
    3. MacTeX:http://www.tug.org/mactex/index.html - Mac专用
  • 编译方法
    1. 图形界面

      用鼠标点

    2. 命令行

      $ latex ***

      例如myarticle.tex,用 $ latex myarticle 编译,会产生三个文件,分别是myarticle.aux,myarticle.log和 myarticle.dvi。

      1. myarticle.dvi

        最终的输出文件,可用xdvi或evince查看。

        命令如下:

          $ dvips -o   myarticle.ps   myarticle.dvi		//生成.ps
        $ dvipdf myarticle.dvi //生成.pdf文件
        $ pdflatex myarticle.tex //直接生成pdf
      2. aux和log,略…


1.5 LaTeX Syntax

1.5.1 Commands

LaTeX Commands(LaTeX 命令)可生成新的东西,也可以对已有的东西进行修饰,如修改字体。

下面是几个常用的LaTeX控制符。

  1. 反斜杠 - Backslash

    一个command通常以反斜杠(\)开头,后面紧跟其他关键字。

    例子:\LaTeX

    结果:LaTeX\LaTeXLATE​X

    例子:\copyright

    结果:\copyrightc◯

  2. 非字母符号 - Non-alphabetic Characters

    非字母符号通常不出现在LaTeX的命令中。 一些LaTeX的内部命令可能以@开头,这些命令都放在序言部分,并以\makeatletter和\makeatother区分。

  3. 必要参数 - Mandatory Arguments

    参数最多九个,用花括号{ }分开,花括号之间没有空格。

    例子:\textcolor{blue}{ this is blue colored }

    结果:this is blue colored\textcolor{blue}{ this\ is\ blue\ colored }this is blue colored

    分析:修改第二个参数的颜色为蓝色。

  4. 可选指令

    很多命令有可选参数,写在中括号[ ]中,并以逗号分开。 这种有可选参数的命令至少有一个必要参数。

    例子:\documentclass[a4paper,11pt,twoside]{article}

    分析:纸张大小为A4,字号为11pt,双面打印。

  5. 以字母结尾的命令

    以字母结尾的命令(即,没有任何参数的命令)将忽略后面紧跟的空格。因此,如果后面跟有单词或数字,则该命令应以\结尾把前面的空格显示出来。

    例子:\copyright 2007

    结果:2007

    例子:\copyright\ 2007

    结果: 2007

    但是,如果在此命令后加上任何标点符号,则该命令不必以\结尾,因为标点符号之前不应带有\加空格。

1.5.2 Environments

LaTeX上下文环境由一对命令组成,在该环境下可执行某些特定的工作,例如,编写方程式或插入图形。 LaTeX环境的不同属性如下:

  1. 创建环境

    创建环境的一对命令是\ begin{ename}和\ end{ename},其中ename是环境的名称。

    例子:\ begin{document}和\ end{document}

    结果:在LaTeX输入文件中创建文档环境或者说主体

  2. 嵌套

    可在环境中使用命令,也嵌套两个或多个环境。

    例子:在\document中可以输入\copyright, 也可以插入图片。
  3. 必要参数

    许多环境都需要一些强制性参数,这些强制性参数放在\begin{}之后。

    例子:\begin{spacing}{1.3}

    分析:在间距环境中创建1.3 pt的行间距

    例子:\begin{tabularx}{10cm}{XXX}

    分析:在Tabularx环境中创建三个等宽, 长10厘米的列表。
  4. 可选参数

    像命令一样,许多环境也接受一对[]的可选指令。

    例子:\begin{table}[t]

    分析:[t]表示将表格放在页面顶部。

1.5.3 Packages

文档类型可通过\documentclass{́}的强制参数进行设定。包括文档的基本信息,如页面布局和分节。用户如果想自定义文档,可添加外部扩展包调用其中命令和环境。

  1. 加载包

    在序言部分的\documentclass{}和\degin{document}中, 通过\usepackage{pname}命令加载外部扩展包,其中pname是软件包的名称。

    例子:\usepackage{color}

    分析:加载用于生成彩色文字的包

    例子:\usepackage{amssymb,amsmath}

    分析:加载用于生成AMS类型的数学符号和表达式。
  2. 可选参数

    像命令和环境一样,许多软件包还接受可选指令。

    例子:\usepackage[tight]{subfigure}

    分析:减少图片之间的间距。
  3. 不同

    与\documentclass[]{}的可选参数不同,\documentclass这类参数是全局参数, 对整个文档起作用。而\usepackage[]{}的可选参数仅对使用扩展包的部分起作用。

1.6 Keyboard Characters in LaTeX

打数学公式用$$, 可能需要加载amssymb这个包。打特殊字符用”\verb“, 或者”\verb!“

  • 键盘上能直接打出来的字符

  • 要加反斜杠的字符

1.7 How to Read This Book?

略…

LaTeX in 24 Hours - 1. Introduction的更多相关文章

  1. LaTeX技巧24:LaTeX常用命令集锦

    \hyphenation{word list} %断字命令:\showthe\topmargin %显示某个参数的数值或者内容: 在tex编译过程中出现行溢出(overflow hbox)是由于断字程 ...

  2. 【转】An introduction to using and visualizing channels in Go

    An introduction to using and visualizing channels in Go 原文:https://www.sohamkamani.com/blog/2017/08/ ...

  3. <转载>国外程序员推荐的免费编程书籍资源

    一.George Stocker 提供了一大串,分类如下: How to Design Programs: An Introduction to Computing and Programming 2 ...

  4. Github上的1000多本免费电子书重磅来袭!

    Github上的1000多本免费电子书重磅来袭!   以前 StackOverFlow 也给出了一个免费电子书列表,现在在Github上可以看到时刻保持更新的列表了. 瞥一眼下面的书籍分类目录,你就能 ...

  5. Github 的一个免费编程书籍列表

    Index Ada Agda Alef Android APL Arduino ASP.NET MVC Assembly Language Non-X86 AutoHotkey Autotools A ...

  6. [No0000129]WPF(1/7)开始教程[译]

    概要 在我使用了半年多 WPF 后,是时候写点关于 WPF 基础方面的东西了.我发表了一系列针对具体问题的文章.现在是到了让大家明白为什么说WPF是一款在界面开发上带来革命的产品了. 本文针对初级-中 ...

  7. Go 2 Draft Designs

    Go 2 Draft Designs 28 August 2018 Yesterday, at our annual Go contributor summit, attendees got a sn ...

  8. 22 Gobs of data 设计和使用采集数据的包

    Gobs of data 24 March 2011 Introduction To transmit a data structure across a network or to store it ...

  9. Cheatsheet: 2018 01.01 ~ 02.28

    JAVA How to Improve the Performance of a Java Application Java Memory Management Writing Java Micros ...

  10. <2013 08 13> TeX and LaTeX, some introduction

    1.  TeX是Donald E. Knuth教授的精心杰作,它是个功能非常强大的幕后排版系统,含有弹性很大,而且很低阶的排版语言.含有九百多条指令,用Pascal语言(的一个子集)写成. 2.  T ...

随机推荐

  1. es6数组去重、数组中的对象去重 && 删除数组(按条件或指定具体元素 如:id)&& 筛选去掉没有子组件的父组件

    // 数组去重 { const arr = [1,2,3,4,1,23,5,2,3,5,6,7,8,undefined,null,null,undefined,true,false,true,'中文' ...

  2. DDD(三)DDD实战、贫血模型与充血模型

    DDD(三)DDD实战.贫血模型与充血模型 如果觉得样式不好:跳转即可 http://www.lifengying.site/(md文件复制过来有些样式会不一样) 贫血模型与充血模型 1.贫血模型:一 ...

  3. 2022-04-25内部群每日三题-清辉PMP

    1.项目章程批准之后,项目经理开始使用储备分析进行预算工作.哪些文件支持这项工作? A.项目资金需求.成本基准和项目储备计划 B.范围基准.风险登记册和项目进度计划 C.质量管理计划.项目资金需求和风 ...

  4. 2022-4-6内部群每日三题-清辉PMP

    1.产品负责人一直听取一个项目干系人的意见,远远超过其他项目干系人.敏捷管理专业人士应该怎么做? A.允许这名干系人和产品负责人自己解决问题. B.与这名干系人安排一次私人会议,以澄清他们的需求. C ...

  5. eclipse 提示错误The method of type must override a superclass method 的解决办法

    java1.5中继承接口是不需要@Override的,而在1.6以上版本中是需要添加@Override注解的,如果项目的编译器是1.5版本的就可能报错The method *** of type mu ...

  6. Flask的介绍、安装和使用

    Flask的介绍 Flask其实就是Python-web中的一个框架,也就是说Flask是一个工具,提供了库和技术来让你建立一个web的应用程序.这个程序可以使一些web页面.博客.基于web的日历应 ...

  7. 攻防世界Web进阶篇——NewsCenter

    题目有一个搜索框,下面是搜索结果,最先考虑是sql注入 遇到sql注入,一般先用单引号,1,2尝试.先尝试构造输入为:sd' union select 1,2 #和sd' union select 1 ...

  8. 使用jquery+layui 做一个输入搜索下拉 类似lay-search

    效  果: 因为需要做一个搜索出现下拉然后点击 自动填装input 内容的 东西. 一开始使用lay-search 的控件去弄. 但是无法控制里面的内容.所以用了一些笨方法去弄 废话不说了, html ...

  9. Java Collection体系

    Collection 接口 宏观图 快速使用 import java.util.*; public class Demo { public static void main(String[] args ...

  10. grafana配置邮箱告警

    [root@localhost grafana]# cd /etc/grafana/ [root@localhost grafana]# vim grafana.ini 注意:发件邮件要开启smtp服 ...