《一份不太简短的LaTeX介绍》读书笔记
首先,学习LaTeX步骤的安排参照了知乎上各位大神的建议,同时根据LaTeX开源小屋内学习资料的安排,我首先拜读了Liam Huang老师的名为《一份其实很短的 LaTeX 入门文档》的博客,对LaTeX有了最初的理解。
接着就是阅读《一份不太简短的LaTeX介绍1》 。实话说,《介绍》所宣传的'93分钟(有的亦为110分钟)学会LaTeX 2e'
并不真实。这本书精炼的同时覆盖了足够多的LaTeX知识,也导致许多内容和引例并不易于理解——至少对我来说是这样的——可以说,一分钟读一页不可能。书中大部分对命令和环境的解释一语带过,下面的引例有部分缺少标准输出图片,鄙人一个一个敲了一遍去检查最终输出情况。
整个入门过程非常坎坷。中间尝试过将自己的暑假实习报告以.tex
撸好,但是对报告封面几个信息的对齐产生了很多问题,加上LaTeX本身的入门性质和众多宏包、环境。emmm,真的不容易,我想念MS Word了但还是希望自己坚持下去。
因为《介绍》的部分内容不够详细,所以我同时也在拜读刘海洋教授的《LaTeX入门》和雷太赫先生的《LaTeX Note》。但是今天花了一个下午的时间读完了《介绍》,于是写一篇《介绍》的读书笔记,算是对自己浮光掠影看了一遍的复习。
基本知识
- LaTeX的目的就是使作者能够利用专业模板高质量地排版和打印作品。我更倾向于将LaTeX理解为一个免费的排版工具,由于LaTeX运用不同于所见即所得的方式,因而我们可以将文字的编写交予Word,将作品的排版交予LaTeX。
- LaTex将空格和制表符等空白字符视为相同的空白距离,并且多个连续的空白字符等同于一个空白字符,每行开始的空白字符将会被忽略,同时一个回车符也被视为一个空格。
- LaTeX使用空行来结束段落(两行文本中的空行标志上一段落的结束和新段落的开始),多个空行的作用和一个空行的作用相同。注意我此处高亮出来的结束段落,它和断行是两码事,段落结束一定另起一行,但是断行不代表段落结束。我在排版我的报告的时候犯了一个错误,将断行符
\\
理解为结束段落,后来使用首行缩进的相关命令的时候LaTeX并不能识别出段落导致出现问题。 - 特殊字符为
# $ % ^ & _ { } ~
,文本中使用时需要加入反斜线\
才能使用,特殊字符的记忆很简单,只要记住对应英文输入模式下shift+3~7,剩下三个单独记忆即可。特别的,\
需用命令$\backslash$
表示。 - 命令以
\
开始,一般包含字母字符,命令后的空格符、数字或者其他非字母字符标志着该命令的结束。 - 命令后的空格会被忽略,如果希望命令后面得到一个空格,可以在命令后面加上
{}
和一个空格,{}
将阻止LaTeX吞噬掉命令后面的空格。 %
用来分割不允许有空格或者分行的较长输入文本的时候较为方便,同时对于comment
环境的注释是不能用在数学环境等一些复杂的环境中的.- 选择项options中若有多个选项,可以使用逗号隔开。
- LaTeX中宏包文件格式为
.dtx
,.log
文件则记录上次编译运行时的详细信息。 - 使用
\include{filename}
于正文中时会将filename.tex
文件的内容以新的一页包括进来
字体与间隔
- LaTeX 2e中字体的各种属性是相互独立的,我们可以在改变字体大小的同时保留字体斜体或者粗体的特性。
- 学会使用组来限制字体命令的范围。
- 数学模式中的字体变换是另外一套命令。
- 根据LaTeX的设计理念,当文本中出现一定量的需要用特殊字体标出的特定文本信息时,就应该通过创建新的命令,使用新命令进行字体修改,这样对后期的相关文本字体修改是有好处的。
- 文章中不要排斥使用多字体,字体越多,文章看起来越美观。
- 对于盒子,注意区分
width
和textwidth
,高度同理。
文档排版
- 使用盒子能够将单词组成一个整体,从而保证在同一行上显示,当然,存在的问题就是可能会发生行溢出的情况。
- 在LATeX中,用两个
'
产生左引号,右引号同理,单引号类似。 - 一个
-
为连字号,两个为短破折号一般用来连接数字,三个为长破折号即为中文中的破折号。 - 注意波浪号有两种,第一种为
\~
,表现为 ~ ;第二种为$\sim$
,表现为∼ \sim </span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.36687em; vertical-align: 0em;"></span><span class="mrel">∼</span></span></span></span></span>。</li><li>波浪符号<code>~</code>能产生一个不能伸长同时禁止断行的空格;句号前面的命令<code>\@</code>说明这个句号是句子的末尾,即使它紧跟着一个大写字母(LaTeX假定句子以句号、问号或者惊叹号结尾)。</li><li><code>verbatim</code>环境和<code>\verb</code>命令不能在其他命令参数中使用。</li><li>表列分隔符可由<code>@{...}</code>构造,这个命令去掉表列之间的间隔,代之为两个花括号间的<strong>任何</strong>输入。</li></ol>
数学公式
- 在数学模式中:
- 空格和分行都将被忽略,所有的空格或是由数学表达式逻辑的衍生,或者是由特殊的命令如
\,
,\quad
或者\qquad
来得到。 - 不允许有空行,每个公式中只能有一个段落
- 每个字符都将被看作是一个变量名并以此来排版。如果希望在公式中出现普通的文本(使用正体字且可以有空格),那么你必须使用命令
\textrm{...}
来输入这些文本。
- 空格和分行都将被忽略,所有的空格或是由数学表达式逻辑的衍生,或者是由特殊的命令如
- 数学空格:
\,
对应3 18 q u a d \frac{3}{18}quad </span><span class="katex-html"><span class="base"><span class="strut" style="height: 1.19011em; vertical-align: -0.345em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.845108em;"><span class="" style="top: -2.655em;"><span class="pstrut" style="height: 3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span><span class="mord mtight">8</span></span></span></span><span class="" style="top: -3.23em;"><span class="pstrut" style="height: 3em;"></span><span class="frac-line" style="border-bottom-width: 0.04em;"></span></span><span class="" style="top: -3.394em;"><span class="pstrut" style="height: 3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">3</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.345em;"><span class=""></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mord mathit" style="margin-right: 0.03588em;">q</span><span class="mord mathit">u</span><span class="mord mathit">a</span><span class="mord mathit">d</span></span></span></span></span>,<code>\:</code>对应<span class="katex--inline"><span class="katex"><span class="katex-mathml"> 4 18 q u a d \frac{4}{18}quad </span><span class="katex-html"><span class="base"><span class="strut" style="height: 1.19011em; vertical-align: -0.345em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.845108em;"><span class="" style="top: -2.655em;"><span class="pstrut" style="height: 3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span><span class="mord mtight">8</span></span></span></span><span class="" style="top: -3.23em;"><span class="pstrut" style="height: 3em;"></span><span class="frac-line" style="border-bottom-width: 0.04em;"></span></span><span class="" style="top: -3.394em;"><span class="pstrut" style="height: 3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">4</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.345em;"><span class=""></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mord mathit" style="margin-right: 0.03588em;">q</span><span class="mord mathit">u</span><span class="mord mathit">a</span><span class="mord mathit">d</span></span></span></span></span>,<code>\;</code>对应<span class="katex--inline"><span class="katex"><span class="katex-mathml"> 5 18 q u a d \frac{5}{18}quad </span><span class="katex-html"><span class="base"><span class="strut" style="height: 1.19011em; vertical-align: -0.345em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.845108em;"><span class="" style="top: -2.655em;"><span class="pstrut" style="height: 3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span><span class="mord mtight">8</span></span></span></span><span class="" style="top: -3.23em;"><span class="pstrut" style="height: 3em;"></span><span class="frac-line" style="border-bottom-width: 0.04em;"></span></span><span class="" style="top: -3.394em;"><span class="pstrut" style="height: 3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">5</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.345em;"><span class=""></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mord mathit" style="margin-right: 0.03588em;">q</span><span class="mord mathit">u</span><span class="mord mathit">a</span><span class="mord mathit">d</span></span></span></span></span>。<code>\quad</code>的大小对应于目前字体中字符<code>M</code>的宽度。<code>\!</code>命令产生负空格<span class="katex--inline"><span class="katex"><span class="katex-mathml"> − 3 18 q u a d -\frac{3}{18}quad </span><span class="katex-html"><span class="base"><span class="strut" style="height: 1.19011em; vertical-align: -0.345em;"></span><span class="mord">−</span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.845108em;"><span class="" style="top: -2.655em;"><span class="pstrut" style="height: 3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span><span class="mord mtight">8</span></span></span></span><span class="" style="top: -3.23em;"><span class="pstrut" style="height: 3em;"></span><span class="frac-line" style="border-bottom-width: 0.04em;"></span></span><span class="" style="top: -3.394em;"><span class="pstrut" style="height: 3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">3</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.345em;"><span class=""></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mord mathit" style="margin-right: 0.03588em;">q</span><span class="mord mathit">u</span><span class="mord mathit">a</span><span class="mord mathit">d</span></span></span></span></span>。</li></ol>
总结
所有的笔记内容均是依照书本内容进行记录的,所以对LaTeX一无所知和概念不清的人阅读可能会存在问题,我将书本的链接放在此处,希望大家能够共同进步。
我按照自己读书的顺序,也就是先文档的编排,然后是文字处理,最后是数学公式为顺序进行归纳,并没有按照原书的章节顺序。笔记中未涉及“建立新的命令、环境和包“、”包含EPS图形“、”浮动体“等内容。一来是书中涉及较少,只是略微提及;二来是这些知识更加的高级,在基础还没有掌握的情况下追求高度未免太过浮躁,预计会放在以后学习;三来是目前使用不到。
我学习知识向来是任务驱动型,需要哪些,我会选择先学习那些,其他的有空再自行补充。目前的需求是数模国赛的预备,能掌握LaTeX的技能毕竟是一件好事(虽然老师要求我们用MS Word),因此目前学习的目标就是能够最终熟练地排版出一篇好看的数模论文。
下一步我将对图形的相关处理进行学习,同时将会开始用LaTeX编排论文。下阶段将把刘海洋教授的《LaTeX入门》和雷太赫先生的《LaTeX Note》读完,届时会再写笔记分享,希望阅读我这篇文章的人能够和我一起有所收获,对于文章中出现的问题也希望各位大佬不吝赐教。
谢谢!
以下均简称为《介绍》 ↩︎