笔记:LaTeX不快速入门

笔记:LaTeX不快速入门

2021年7月15日

刘海洋 · LaTeX 不快速的入门 - 跟着大神学习最纯正的 LaTeX 知识_哔哩哔哩_bilibili

真的只是入门,想速成建议查找其他示例多的教程,想仔细学建议买本书从头学

0.谈谈LaTeX

0.1 历史

  • Donald Knuth 编制了TEX排版系统
  • Leslie Lamport 编写了一组基于TEX的宏,即LaTeX

0.2 LaTeX印象

  • 写毕业论文,据说很方便
  • 论文投稿要用,别的格式不要
  • 写书的工具,有的老师用它
  • 可以写作业、记笔记,输出PDF

0.3 LaTeX/TEX是什么?

  • TEX来自于technology的希腊词根
  • LATEX = Lamport TEX
  • TEX是一种专业排版软件
  • TEX是一种计算机宏语言。同为宏语言的有C语言预处理宏、Linux下的M4;但功能和形式更相近的是HTML+PHP
  • LATEX是定义再TEX语言上的一大组宏命令。LATEX之于TEX类似HTML+CSS之于基本的HTML
  • LATEX使格式化的代码转换为排版好的文档

0.4 安装并更新TEX发行版

  • TEXLive,macOS,MiKTeX
  • 网页在线版:https://www.overleaf.com/
  • 各个大学的把你也论文模板可能需要更新TEX发行版本后才能使用。如果不要求更新,Linux环境下也可以使用软件源里的版本(APT大法)
  • Index of /CTAN/systems/texlive/Images/ (ustc.edu.cn)下载名为texlive2021.iso的文件然后安装即可
  • 注意预留硬盘空间,不建议装在C盘,并且安装路径不能有英文。

0.5 准备一些靠谱的教程

  • 《LATEX入门》
  • 《LaTeX实用教程》
  • LATEX Tutorials: A Primer
  • B站视频(本文开头),知乎、CSDN等社区

1.组织文档结构

1.1 编写结构化文档

  • 文档组成:标题、前言、摘要、目录、正文(篇 章 节 段)、列表、公式、引用、代码、画图……文献、索引、词汇表
  • LATEX支持结构化的文档编写方式,也只有具有良好结构的文档才适合实用LATEX来编写。
  • 步骤:拟定主题,列出提纲,填写内容,调整格式(平时可不要在意格式)

1.2 Markdown

  • 最简单的结构标记语言
  • 工具:Typora
  • 记笔记比较方便

1.3 LYX

  • 结构化的文档写作系统
  • 所见即所得
  • 可以模仿LATEX大部分功能,也可以生产LATEX代码

1.4 LATEX

  • 结构化文档语言
  • 可以使用任意文本编辑器编写
  • 推荐VScode,安装latex workshop插件

1.5 LATEX文档基本结构

  • 以document环境为界,之前是导言部分,内部为正文部分,之后的部分被忽略。

  • 在导言区进行格式设置,正文部分套用格式

    %%% 简单文档
    % 导言:格式设置
    \documentclass{ctexart}
    \usepackage[b5paper]{geometry}
    % 正文:填写内容
    \begin{document}
    使用 \LaTeX
    \end{docement}
    
  • 文档部件:

    • 标题:\title,\auther,\date-\maketitle
    • 摘要、前言:abstract 环境/\chapter*
    • 目录:\tableofcontents
    • 章节:\chapter,\section,...
    • 附录:\appendix+\chapter或\section...
    • 文献:\bibliography
    • 索引:\printindex
  • 文档划分:

    • 大型文档:\frontmatter、\mainmatter、\backmatter

      页码、标题等会随着命令变化

    • 一般文档:\appendix

    • 层次 名称 命令 说明
      -1 part \part 可选最高层
      0 chapter \chapter report、book类最高层
      1 section \section article类最高层(一般的论文)
      2 subsection \subsection
      3 subsubsection \subsubsection report,book类 默认不编号、不编目录
      4 paragraph \paragraph 默认不编号、不编目录
      5 subparagraph \subparagraph 默认不编号、不编目录
  • 磁盘文件组织

    • 小文档将所有内容写在同一个目录中。比较大的文档,可以将文档分成多个文件,并划分文件目录结构:

      • 主文档,给出文档框架结构
      • 按内容章节划分不同的文件
      • 使用单独的类文件和格式文件设置格式
      • 用小文件隔离复杂的图表
    • 相关命令:

      • \documentclass:读入文档类文件(.cls)
      • \usepackage:读入一个格式文件——宏包(.sty)
      • \include:分页,并读入章节文件(.tex)
      • \input:读入任意的文件
    • 文档结构示例:

      % language-main.tex
      % 写的是一本书
      \documentclass{book}
      % 调用索引表功能
      \usepackage{makeidx}
      \makeidx
      \title{Languages} \auther{someone}
      \begin{document}
      \frontmatter
      \maketitle
      \tableofcontents
      \mainmatter
      \include{intro}
      \include{class}
      \backmatter
      \include{appendix}
      % 参考文献,使用一些工具管理
      \bibliography{foo}
      \printindex
      \end{document}
      
      % intro.tex
      \part{Introduction}
       \chapter{Background}
      
      % class.tex
      \part{Classification}
       \chapter{Natural Language}
       \chapter{Computer Languages}
        \section{Machine Languages}
        \section{High Level Languages}
         \subsection{Compiled Language}
         \subsection{Interpretative Language}
         \subsubsection{Lisp}
          \paragraph{Common Lisp}
          \paragraph{Scheme}
         \subsection{Perl}
      
      % appendix.tex
      \chapter{Appendix}
      
      

2.填写文档内容

建议同时参考其他完整教程

2.1 LATEX基础

\documentclass[UTF8]{article}
\begin{document}
Hello world!
\end{documents}
  • 英文a文档rticle,中文文档ctexart

  • 中文.tex文件 -->xelatex --> .pdf文件

    英文.tex文件 -->pdflatex --> .pdf文件

    为了生成目录、引用信息,往往需要若干次编译

2.1.1 语法结构

  • 相比原始TEX语言,LATEX语法结构相对固定

  • 命令:参数总在后面用花括号表示,用中括号表示可选参数

  • 环境:\begin{env} ... \end{env}

  • 注释:以%开头

2.1.2 LATEX宏:命令与环境

  • 命令:以反斜线开通,可以带有零到多个参数
  • 环境:\begin{env} ... \end{env}

2.2 正文文本

  • 直接输入正文文本

  • 用空格分开单词,换行相当于空格

  • 换行敲两个回车(空一行)

  • 一些符号被宏语言占用,需要转义:

    \# \$ % \& \{ \} \textbackslash

    键盘上没有的符号用命令输入

2.3 公式

  • 数学模式下字体、符号、间距与正文不同,一切数学公式都要在数学模式下输入

  • $n=5$
    
  • 行内公式:用一对$标示

  • 显示公式:

    • 简单的不编号公式用命令\[和\]标示
    • 基本的编号公式用equation环境
    • 更复杂的结构使用amsmath宏包提供的专门数学环境。(不要使用eqnarray环境)
  • 数学结构:

    • 上标:^
    • 下标:_
    • 上下画线与花括号:\overline,\underline,\overbrace,\underbrace
    • 分式:\frac{分子}{分母}
    • 根式:\sqrt[次数]{根号下}
    • 矩阵:使用amsmath宏包提供的专门矩阵环境matrix,pmatrix,bmatrix等。特别复杂的矩阵使用array环境作为表格画出
    • 其他查阅相关资料
  • 数学符号:

    • 数学字母a,b,数学字体\mathbb,\mathcal等
    • 普通符号:如\infty(无限),\angle(角)
    • 二元运算符:+,-等
    • 二元关系符:=,<等
    • 括号:<a,b>,使用\left,\right放大
    • 标点:逗号、分号(\colon)
  • amsmath与mathtools

    • amsmath是基本数学工具包,mathtools是对amsmath的补充和增强
  • 科技功能

    • siunitx:数字单位的一揽子解决方案(siunitx的代码有整个latex内核那么长,不要重复造轮子)
    • chemformula:编写化学式

2.4 列表与文本块:

  • 列表环境

    • enumerate编号列表
    • itemize不带编号
    • description有标题
  • 定理类环境

    • \newtheorem定义定理类环境,如\newtheorem{thm}{定理}[section]

    • 使用定理类环境,如:

      \begin{thm}
      一个定理
      \end{thm}
      

2.5 诗歌和引文

  • verse
  • quote
  • quotation

2.6 抄录代码

  • \verb命令,如:

    \verb|#include <stdio.h>|
    
  • verbatim

    \begin{verbatim}
    #include<stdio.h>
    int main() {
      puts("Hello world.");
    }
    \end{verbatim}
    
  • 高级代码:语法高亮

    • 使用listings宏包
    • minted宏包(调用Pygment)
  • 算法结构

    • clrscode宏包(算法导论使用)
    • algorithm2e宏包
    • algorithmicx宏包的aigpseudocode格式

2.7 图表

  • 画表格:

    • 使用tabular环境

      \begin{tabular}{|rr|}
      \hline
      输入& 输出\\ \hline
      $-2$ & 4 \\
      0 & 0 \\
      2 & 4 \\ \hline
      \end{tabular}
      
    • 使用其他工具

    • 其他多种宏包:

      • 单元格处理:multirow、makecell
      • 长表格:longtable、xtab
      • 定宽表格:xtabular
      • 表线控制:booktabs、diagbox、arydshln
      • 表列格式:array
      • 综合应用:tabu

2.8 插图

  • 数据集用graphicx宏包提供的\includegraphics命令

    \includegraphics[width=2cm]{pkulogo.pdf}
    
  • 代码画图:

    • 优先使用外部工具画图,存储为pdf格式使用latex插入

2.9 浮动体

  • figure环境
  • table环境
  • 使用float宏包
  • 浮动体标题用\caption命令得到,自动编号

2.10 自动化工具

  • 目录
    • 需要多次编译
  • pdf链接与书签
    • hyperref产生链接与书签
  • bibtex参考文献
    • 一般文献都能查到bibtex格式
    • 设置文件格式:
      • 使用合适的.bst格式
      • natbib与作者-年格式
      • 利用custom-bib产生定制格式
      • biblatex+Biber:文献处理新方式

3.设计文档格式

3.1 基本原则

  • 格式与内容分离(不要太在意细节)
  • 使用内容相关的命令与环境

3.2 使用宏包

  • 作用:宏包可以将可重用的代码提取出来,相当于library
  • 使用forest包生成树
  • 问题:可能出现兼容性问题
  • 和编程使用库的原则几乎相同

3.3 格式

  • 字体字号:

    • \rmfamily,\textrm{}
    • \sffamily,\texsf{}
    • \ttfamily,\textt{}
    • 字号:\Huge,\LARGE,\large,\normalsize,\small,\footnotesize,\scriptsize,\tiny
    • 中文字号:\zihao{5}\zihao{-3}
  • 对齐:\centering,\raggedleft,\raggedright

  • 空白间距:\hspace{2cm},\vspace{3cm}

  • 版面布局:geometry宏包,fancyhdr宏包(页眉页脚)

  • 分页断行:\linebreak(少用),\\

                  \pagebreak(少用),\newpage,\clearpage,\cleardoublepage
    
  • 盒子:\mbox{},\parbox{4em}{内容}、minipage

3.4 格式应用于文档

  • 使用在导言区单独设置格式

    • 直接设置相关参数。如\parindent,\parskip,\linespread,\pagestyle
    • 修改部分命令定义。如\tehsection,\labelenumi,\descriptionlabel,\figurename
    • 利用工具宏包完成设置。如ctex设置中文格式,tocloft设置目录格式
  • 利用自定义命令和环境

    \newcommand\prg[1]{\textsf{#1}}
    
  • 章节标题

    • ctex及文档类,中文用\ctexset,西文用titlesec
  • 浮动标题

  • 列表环境

    • enumitem宏包

4.个人感受

该视频仅仅大体上介绍了LaTeX怎么使用,让我们对LaTeX有一个宏观上的了解,为我们以后学好LaTeX打下了良好的基础。然而,如果我们想短时间内学会用LaTeX写论文,则不是这个视频解决的问题。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容