摘要
本课是课程第四单元的开篇,这一单元讲的是数学与逻辑。本课说明这一单元的用途:用公式、方程、命题和演绎来充实上一单元搭建的架构,并以构思它们时的同等精确来排版它们;介绍单元的五节课以及贯穿其中的线索,从数学模式一直到演绎树;说明本单元假定已从前面各单元掌握的内容;回顾数学记号和逻辑记号是怎样诞生的,以及为什么几百年来它们的排版一直是印刷业中最昂贵的工作;提出本单元要解决的问题,即当作文本敲出来的公式看似正确,实则不然;并说明同一套记号同样服务于物理学、经济学、计算机科学和哲学。
学习目标
- 描述本单元内容的先后顺序,并说明每节课为下一节课提供了什么。
- 认清本单元假定已从前面各单元掌握的内容,必要时加以复习。
- 举例区分在数学模式中排版的公式和当作文本敲出来的公式。
- 在自己的学科中认出本单元教人排版的命题、公式和演绎。
入门测验
在学习本单元之前,先测一测自己的起点是有益的。这项测验是自我测评:不计分,唯一的目的是为学习指引方向。前两道题复习本单元假定已从前面各单元掌握的内容;后面十道题按顺序每两道对应本单元的一节课。从未在 LaTeX 中写过公式的人不必指望答对:每个答案,无论对错,都会解释要点,并指出讲解这一要点的那节课。同样的技能会在单元末尾的总结课中再次测量。
开始本单元之前,先测一测你的起点。这是一次简短的自我测评:不计分,结果只保存在你的浏览器中。
第 1 题来自前面的单元一篇文章的第 2 节中,第一个编号公式的编号是 3;作者在
\begin{equation}的前一行写了\label{eq:ohm}。\eqref{eq:ohm}印出什么?挨得近还不够:起作用的是先后顺序,写在前面的标签看不到公式的编号。标签存在并被记录下来;第二遍编译之后会印出一个编号,只是不是应有的那个。\label可以写在正文的任何位置;正因如此,这个缺陷才会毫无提示地溜过去。标签记录的是它之前最后分配的编号,而在公式之前,最后分配的是节号。若标签放在环境内部,就会记录 3;\eqref只是加上括号。复习: 交叉引用
第 2 题来自前面的单元为了把向量排成粗体,导言区中写了
\newcommand{\vec}[1]{\mathbf{#1}}。结果如何?那是\renewcommand的效果;\newcommand拒绝重新定义。一个名字只指一条命令。自定义命令在公式内部同样有效;只是这一条被拒绝了。\newcommand不会重新定义已有的命令。要么另选一个名字,例如\vect;要么明知其后果而用\renewcommand重新定义,放弃箭头。复习: 宏与自己的导言区
第 3 题在一份用 luatexja 排中文、没有其他处理数字的设置的文档中,
$12,345$印出什么?luatexja 不改变数学模式中的点和逗号:逗号仍然是标点。写下的逗号会印出来;出问题的是它后面的空格。逗号是允许的;只是它的间距变了。在数学模式中,逗号是标点,后面跟一个细空格。当逗号属于数字时,要把它放进花括号:$12{,}345$,这在任何导言区中都正确。复习: 行内公式与行间公式
第 4 题一个句子以一个行间公式结尾。句末的句点放在哪里?
句点会孤零零地留在一行的开头。行间公式和行内公式一样要加标点。空行会开始一个新段落,句点会带着段首缩进。行间公式是句子的一部分;写在\]之后的句点会跑到下一行的开头。复习: 行内公式与行间公式
第 5 题
$x^10$印出什么?需要写x^{10}:没有花括号,升上去的只有 1。这个错误出现在同一个底数上有两个^时,而不是指数有两位数时。0 留在基线上,但 1 确实升成了指数。符号^只作用于一个元素;要分组就写花括号:x^{10}。复习: 符号与记号
第 6 题在一份加载了西班牙语 babel 和 amsmath 的文档中,
$\sin x$印出什么?babel 不重新定义\sin;它另外提供\sen。不加反斜杠写sin x时才会这样。\sin仍然由 LaTeX 内核定义。西班牙语的 babel 把\sen定义为一条新命令,并给\lim、\max、\min和\inf加上重音符,但不碰\sin。复习: 符号与记号
第 7 题一个
align有两个公式,第二个以\\结尾。页边能看到哪些编号?在\[…\]中才会忽略;在对齐环境中,它会开始新的一行。这个错误是由对齐环境之外的&引起的,而不是双反斜杠。那是align*的情形,它不编号;align连空行也编号。\\开始新的一行;写在最后一行末尾,就造出一个空行,而align会毫无提示地给它编号。复习: 多行公式
第 8 题一段四行的推导,在等号处对齐,需要作为一个整体引用,只有一个编号。应该怎么写?
gather不对齐,而且每行都编号。它们不对齐,也没有编号。multline用于一个过长的公式,而不是一串对齐的式子。split对齐各行,只留给equation一个编号,相对于整体居中。复习: 多行公式
第 9 题一篇文章声明了
\newtheorem{thm}{定理}和\newtheorem{lem}[thm]{引理},正文依次含有一个引理、一个定理和另一个引理。最后一个的标题是什么?用各自独立的计数器时才是这样;参数[thm]使引理与定理共用计数器。按节编号需要在定理声明的末尾加上[section]。这里没有任何计数器归零:没有[section],序列是连续的。引理使用定理的计数器:三个命题构成同一个序列,编号表示位置,而不是标题。复习: 定理与证明
第 10 题一个证明以行间公式
\[…\]结束,结尾的方块却单独出现在下方的一个空行里。怎样改正?环境在关闭时会放上自己的方块,结果会出现两个。编号占据右边距,方块仍然会掉到单独的一行。这改变的是符号的形状,而不是它的位置。环境关闭时,公式已经排好;\qedhere把方块放在它所写的确切位置。复习: 定理与证明
第 11 题一本逻辑教材想把 p 和 q 的条件式作为所研究语言中的公式写出来。哪种源代码合适?
双箭头属于元语言:它断言由一件事可以推出另一件事。这是 amsmath 中用来连接断言的箭头,间距很宽;它也不是联结词。它断言语义后承,而不是写出一个公式。单箭头是对象语言的联结词。复习: 逻辑与演绎
第 12 题在 bussproofs 中依次写下
\AxiomC{$p$}、\AxiomC{$q$}、\AxiomC{$r$}和\BinaryInfC{$s$},然后写\DisplayProof。结果如何?二元推理只取最后两棵树。这个错误出现在树不够的时候,而不是树多出来的时候。\DisplayProof要求栈中只有一棵树。二元推理消耗最后两棵树 q 和 r;p 那棵树留在一边,而\DisplayProof要求只有一棵。复习: 逻辑与演绎
正在加载内容…
已完成
登录账户以保存您的进度