手册

live-math 的全部功能,逐行、逐个按键说明。每个示例左侧是输入的内容, 右侧是学生看到的效果。

1它是什么

live-math 是一块用键盘书写的数学白板。你在编辑器中 一行一行地用 AsciiMath 书写;观看的人会同步看到排版好的文稿,包括图像 和符号表。它的目的是讲解:画出有助于学生发现规律的内容,而从不 替你解题。

它由三部分组成:

  • 编辑器(/editor):你书写的地方。只有你能看到它,以及你的私人备注。
  • 观看页:只显示排版好的文稿,没有任何按钮。它在编辑器旁边的标签页中打开(Alt+V),可用于视频通话共享。
  • 直播:学生通过链接(Alt+L)在自己的设备上看到同一个观看页。面向获授权的教师。

你需要一台装有较新 Chrome、Edge、Firefox 或 Safari 的电脑。学生只需要一个浏览器,手机上的也可以, 无需账号。

编辑器、观看页和导出功能免费,且无需账号。直播、云端文稿和已发布 文稿需要教师账号,账号同样免费:申请一个。

2最初的几步

2.1文稿保存在哪里

第一次使用时,编辑器会询问文稿的保存位置。每份文稿都是一个文本文件, name.math;可选的位置取决于浏览器:

  • 电脑上的文件夹(Chrome、Edge):“选择文稿文件夹”。 浏览器会请求权限;下次打开时,编辑器会自动重新打开该文件夹和上次的 文稿,或者只需点一下即可重新打开。“选择其他文件夹”可以选择其他文件夹。
  • 此浏览器的存储空间(Firefox、Safari):“开始”, 或者用“导入文稿……”从已有文稿开始。清除网站数据或使用无痕浏览都会 让文稿丢失:请保留备份(8.5)。Firefox 的无痕窗口中 完全没有存储空间。
  • 云端,面向获授权的教师:“登录并使用云端”,使用 Google 账号或邮箱验证码。同一批文稿可在任意电脑和浏览器上使用。

本地位置和云端可以同时使用:每份文稿只存在其中一处,但同一个列表会 同时显示两者(8.4)。第一次启动时,编辑器会写一份 演示文稿 demo,里面各类内容都有一些。

2.2界面

编辑器就是一页纯文本,除了底部的一条状态栏,周围什么都没有。其他功能 都在命令面板(Ctrl+K)和帮助(F1)中。

底部状态栏从左到右依次显示:

  • 文稿名称,在云端时后面带有“(云端)”;
  • 文稿已保存时不显示内容;否则显示“已修改”“保存中…”,或未能保存的原因(“未保存:无法连接云端”“冲突”……);
  • 打开观看页标签页时,显示带绿点的“观看页”;
  • 直播期间,显示带圆点的“直播中”(已连接时为绿色)以及正在观看的人数;
  • 有隐藏步骤时,显示还剩多少步可以显示(“隐藏 · 3”);
  • 右侧是用强调色显示的简短提示:刚刚发生了什么,或者接下来该做什么。

有时文稿上方会出现一条横栏,带有按钮:

  • “磁盘上的文件被修改了。”(也可能是云端或另一个标签页):选择“重新加载”采用另一个版本,选择“保留我的”用你的版本覆盖它。
  • “发现未保存的版本。”:上次未能保存的文本(浏览器先关闭了)。可选择“恢复”或“丢弃”。
  • 在打开云端文稿时,需要重新打开文件夹才能看到电脑上的文稿:选择“重新打开”或“不再提示”。

Ctrl+\ 会打开侧边预览:观看页显示在编辑器 右侧。拖动两者之间的分隔线,可以给某一侧更多空间;双击可恢复到一半。

2.3命令面板与帮助

Ctrl+K 打开命令面板:所有命令,右侧标有快捷键。输入几个 字母即可筛选(不必连续:黑板 能搜到“观看页:黑板主题”), 用方向键移动(或 Ctrl+N、Ctrl+P),Enter 执行,Esc 或点击外部关闭。同一个框也会用来输入名称或请求确认 (“是”或“否”)。完整列表见 §11。

F1 在一页中显示语法、快捷键和片段,并附有指南和本手册的 链接;F1 或 Esc 关闭。

3书写文稿

3.1行与块

每一行都是一个公式,用 AsciiMath 书写(§4)。 行首的几个字符会让它变成别的内容:

行首这一行是
x^2 + 1公式:其他任何内容
# Title标题(# 后加一个空格)
## Subtitle副标题
" text `x^2` **bold**文本,反引号之间可写公式,双星号之间为粗体
! x = 2结果,放在方框中
% note私人备注:永远不会离开编辑器,哪怕只写了一半
%> = 4隐藏步骤,这里是整行:在你按 Alt+R 之前,任何观看页都看不到。在行中间,%> 会从该处开始隐藏,直到 <% 为止(6.5)
---分隔线;在 PDF 中表示分页(三个或更多短横线,且没有其他内容)
plot: gon: sign: system:图形(§5)
= x + 1上一行公式的下一步(3.3)

空行会留出一些间距;多个空行留出的间距相同。行首的空格对公式没有影响, 但对前缀有影响: # 标题 会被当作公式。

3.2标题、文本、结果、备注

# 极限
## 一个重要极限
" 对**每个** `epsilon > 0`,都存在 `delta > 0`
% 提醒他们 x -> 0^- 的情形
lim_(x->0) sin x / x = 1
! e^(i pi) + 1 = 0
---
极限
一个重要极限

对每个 ,都存在


在文本行中,公式以反引号(`)开始和结束;只写了一个 反引号时,输入过程中也会按公式显示。**粗体** 只在文本行中 有效。备注不会出现在观看页,也不会出现在任何导出文件中。

3.3推导的步骤

以关系符开头的行会续写上一行的公式,并与它的第一个关系符对齐:这就是 计算过程的各个步骤,每行一步。

f(x) = x^2 e^x
f'(x) = 2x e^x + x^2 e^x
= x e^x (2 + x)
>= 0 " 若 " x >= 0

可以作为步骤开头的关系符:= != < > <= >= ~~ ~= ~ -= => <=> -> :=。第一行会对齐到括号、绝对值和引号文本之外的第一个关系符。 行与行之间的备注不会打断推导。

3.4小数逗号

开启小数逗号时(命令面板中的“小数逗号:开启”和 “小数逗号:关闭”可开启和关闭),两个数字之间的逗号就是小数逗号:3,14 显示为 。如果逗号后跟空格,它就是分隔符: (1, 2) 是一个数对。不加空格的一串数字 {1,2,3} 仍然是列表,矩阵的单元格也是如此。关闭小数逗号时,3.14 就是小数点。

pi ~~ 3,14
(1, 2) " 是一个数对," {1,2,3} " 是一个集合"

3.5当某一行出错时

无法排版的行在编辑器中会有红色波浪下划线;把鼠标移上去会显示原因 (例如“tangent(f, a):需要函数和切点”)。观看页永远不会看到错误:它们会继续显示 该行上次正常时的样子,所以共享屏幕上不会出现半截公式闪烁。

3.6片段与输入辅助

输入下列单词之一,然后按 Tab:它会变成右侧的模板,用 Tab / Shift+Tab 在各个字段之间移动。在其他地方, Tab 用于缩进。

单词 + Tab变成
lim Tablim_(x->0)
int Tabint_(a)^(b) f(x) dx
sum Tabsum_(n=1)^(oo)
der Tab(d)/(dx)
pd Tab(del f)/(del x)
sys Tab{(),():}
cas Tab{(, "若 " ),(, "若 " ):}
mat Tab[[a,b],[c,d]]
det Tab|(a,b),(c,d)|
vec Tab((x),(y),(z))
sq Tabsqrt()
rt Tabroot(n)()
abs Tab|x|
fr Tab()/()

括号 ( [ { 会自动闭合,匹配的括号会高亮;引号不会, 因为 " 用于开始文本行。编辑器会对语法着色:函数、希腊字母、 数字、前缀。Ctrl+Z 撤销,Alt+↑/Alt+↓ 上下移动一行。

4AsciiMath,逐个符号说明

AsciiMath 是一种简短的公式写法,接近你在聊天框里输入数学的方式。下面是 它支持的全部内容(此处所用的版本):左侧是输入(并列的别名效果相同), 右侧是显示效果。

所有符号都列在一页中,每个都附有 LaTeX,还有可以试用的输入框:AsciiMath 速查表。

4.1分数、上下标与根式

/ 会把紧邻它前后的内容变成分数:一个符号、一个数字, 或括号中的一组内容。^ 和 _ 分别用于指数和下标, 作用相同。分子、分母、指数或下标外面的括号不会显示: (a+1)/(b+1) 显示为 ,x^(n+1) 显示为 。要保留括号,就写两重: ((a+b))/2 显示为 。在其他位置,括号会保留: (a+b)^2 显示为 。

空格只起分隔作用:sinx 和 sin x 相同,都是 。相邻的字母表示乘积:ab 是 。 注意由字母组成的名称:xx 是 ,in 是 ,oo 是 ;加一个空格就能把字母分开: x x。

x^2
x_1
x_1^2
x^(n+1)
a/b
(a+1)/(b+1)
frac(a)(b)
sqrt x Sqrt x
sqrt(x+1)
root(3)(x)
stackrel(def)(=)
overset(*)(=)
underset(x->0)(=)
cancel(x)
color(red)(x^2)

color 只给它的参数上色;颜色可以用名称指定(red、blue、green、orange、purple……)。

4.2希腊字母

alpha
beta
gamma
Gamma
delta
Delta
epsilon epsi
varepsilon
zeta
eta
theta
Theta
vartheta
iota
kappa
lambda lamda
Lambda Lamda
mu
nu
xi
Xi
pi
Pi
rho
sigma
Sigma
tau
upsilon
phi
Phi
varphi
chi
psi
Psi
omega
Omega

4.3运算

a + b
a - b
a * b a cdot b
a ** b a ast b
a *** b a star b
a xx b a times b
a -: b a div b a divide b
a // b
A \\ B A backslash B
A setminus B
a +- b a pm b
f @ g f circ g
a o+ b a oplus b
a ox b a otimes b
a o. b a odot b
p ^^ q p wedge q
p vv q p vee q
A nn B A cap B
A uu B A cup B
A |>< B A ltimes B
A ><| B A rtimes B
A |><| B A bowtie B
a mod n

4.4大型运算符、极限、积分

上下限写在 _ 和 ^ 之后;不止一个符号时要用括号。 单独成行时,它们会排在运算符的上下方。

sum_(n=1)^oo a_n
prod_(i=1)^n x_i
int_a^b f(x) dx
oint_gamma f(z) dz
lim_(x->0) f(x)
Lim_(n->oo) a_n
limsup_(n->oo) a_n
liminf_(n->oo) a_n
max_(x in A) f(x)
min_(x in A) f(x)
sup A
inf A
lub A
glb A
dim V
^^^_(i in I) p_i bigwedge_(i in I) p_i
vvv_(i in I) p_i bigvee_(i in I) p_i
nnn_(i in I) A_i bigcap_(i in I) A_i
uuu_(i in I) A_i bigcup_(i in I) A_i

4.5关系符

a = b
a != b a ne b
a < b a lt b
a > b a gt b
a <= b a le b
a lt= b a leq b
a >= b a ge b
a gt= b a geq b
a -< b a -lt b a prec b
a -<= b a preceq b
a >- b a succ b
a >-= b a succeq b
x in A
x !in A x notin A
A sub B A subset B
A sube B A subseteq B
A supset B
A supe B A supseteq B
a -= b a equiv b
a ~= b a cong b
a ~~ b a approx b
a prop b a propto b
a := b
a :|: b

4.6逻辑

p and q
p or q
not p neg p
p => q
p implies q
p <=> q
p iff q
y = 1 if x > 0
AA x forall x
EE x exists x
_|_ bot
TT top
p |-- q p vdash q
p |== q p models q
:. therefore
:' because

4.7括号

括号会随内容自动变大。{: x :} 是一对不可见的括号, 适合用来分组;(: :) 是尖括号。|x| 表示绝对值: 竖线在括号内成对匹配,所以 |x - a| < delta 会按字面意思 正确排版。

(x)
[x]
{x}
|x|
(: x :) << x >> langle x rangle
|: x :|
{: x :}
lbrace x rbrace
abs(x) Abs(x)
norm(x)
floor(x) |__ x __| lfloor x rfloor
ceil(x) |~ x ~| lceil x rceil lceiling x rceiling

4.8箭头

uarr uparrow
darr downarrow
rarr rightarrow
-> to
>-> rightarrowtail
->> twoheadrightarrow
>->> twoheadrightarrowtail
x |-> y x mapsto y
larr leftarrow
harr leftrightarrow
rArr Rightarrow
lArr Leftarrow
hArr Leftrightarrow

4.9函数

函数名用正体排版,后面跟参数,可以带括号也可以不带:sin x、 sin(x)、sin^2 x。f 和 g 只有出现在括号前才是函数:f(x),而 f g 仍是乘积。

sin x
cos x
tan x
cot x
sec x
csc x
arcsin x
arccos x
arctan x
sinh x
cosh x
tanh x
coth x
sech x
csch x
exp x
log x
ln x
det A
gcd(a, b)
lcm(a, b)
f(x)
g(x)

首字母大写的名称

Sin x
Cos x
Tan x
Cot x
Sec x
Csc x
Arcsin x
Arccos x
Arctan x
Sinh x
Cosh x
Tanh x
Log x
Ln x

意大利语函数名与线性代数

意大利教材中使用的函数名,以及线性代数的运算符。 Im 只有出现在括号前才表示像: Im(f),而 Im z 仍是乘积。

sen x
arcsen x
tg x
arctg x
cotg x
arccotg x
sh x
ch x
th x
settsh x
settch x
rg A
rank A
Ker f
Im(f)
tr A
span(v, w)

4.10重音符号

hat x
bar x overline(x)
vec v
tilde x
dot x
ddot x
ul(x) underline(x)
ubrace(1+2)_3 underbrace(1+2)_3
obrace(1+2)^3 overbrace(1+2)^3

字体

bb(A) mathbf(A)
bbb(R) mathbb(R)
cc(F) mathcal(F)
tt(x) mathtt(x)
fr(g) mathfrak(g)
sf(x) mathsf(x)

4.11公式中的文本

双引号之间的文字保持为文字:x = 1 " 若 " y > 0。 文字紧贴符号时会自动加一个细空格,所以 "对所有"x 不会挤在一起。 and、or、if 作为单词时本身已有间距。

x = 1 "and" y = 2
text(text) mbox(text)

4.12矩阵、向量、方程组

矩阵就是一串行,每行放在括号中,用逗号分隔: [[1,2],[3,4]] 用方括号,((1,2),(3,4)) 用圆括号, |(a,b),(c,d)| 表示行列式。列向量就是只有一列的矩阵。方程组 是左侧带 {、右侧为空 :} 的矩阵:

A = [[1,2],[3,4]]
det A = |(1,2),(3,4)| = -2
vec v = ((x),(y),(z))
{(x + y = 1),(x - y = 2):}
|x| = {(x, " 若 " x >= 0),(-x, " 若 " x < 0):}

4.13其他符号

del partial
grad nabla
oo infty
O/ emptyset
aleph
/_ angle
/_\ triangle
diamond
square boxempty
frown
... ldots
cdots
vdots
ddots
a quad b
a qquad b
a \ b
50%
NN
ZZ
QQ
RR
CC
f'(x) f prime(x)
f''(x)
f'''(x)
x^2 dx
dy
dz
dt

4.14有特殊含义的字符

&、#、$ 和 % 按原样显示;单独的 ~ 是 。'、 ''、''' 分别表示一、二、三撇。一个 \ 后跟空格是细空格;\\ 是反斜杠。dx、dy、 dz、dt 是微分,前面会自动加一点空隙: int x^2 dx。

5图形

以 plot:、gon:、sign: 或 system: 开头的行会被绘制成图形。各部分用分号分隔,顺序无关。 图形使用观看页的配色,任意大小都清晰,标注与文稿其余部分一样排版。

5.1图形中的表达式

图形中的表达式会被计算,因此使用的语言比 AsciiMath 小:

  • 变量是 x(在复平面中是 z,i 为虚数单位);常量:pi、e;
  • 运算:+ - * / ^,遵循通常的优先级(-x^2 是 );乘法可以省略:2x、x sin x、2pi;|x| 表示绝对值;
  • 函数:sin cos tan cot(以及 sen tg cotg)、arcsin arccos arctan(以及 arcsen arctg)、sinh cosh tanh(以及 sh ch th)、ln、log(自然对数,同 ln)、exp、sqrt、root(n)(x)、abs、floor、ceil、sgn;
  • 函数的参数写在括号里,或者取到下一个函数之前的内容:sin 2x 是 ;sin^2 x 是 ;负数的奇次根是实数(root(3)(-8) 为 −2);
  • 数字:0.5,开启小数逗号时为 0,5;小数逗号后不加空格。

5.2图像:plot:

最多四个关于 x 的函数,各有颜色和图例。y = f 与 f 相同。点是括号中的数对;x = a 是竖直线。

plot: sin x; x - x^3/6; x in [-2pi, 2pi]; y in [-2, 2]
-1.5-1-0.50.511.5
plot: x^2; (1, 1); (-2, 4); x = 2
-4-3-2-11345101520

窗口。x in [a, b] 和 y in [c, d] 决定显示的范围。不写时,x 从 −5 到 5(如果有函数或点在外面, 范围会扩大),y 则跟随函数,并略去渐近线附近发散的部分。 如果 x 的区间用 pi 书写,刻度就是 π 的倍数。 5.11 可以用键盘移动窗口。

函数和竖直线合计最多四个;同一个函数即使出现在多个部分中,也只绘制一次。

5.3定义域与分段函数

在逗号加一个空格之后,函数可以带定义域,只在定义域内 绘制:x in [a, b](开区间端点用圆括号,无界时用 oo: [0, +oo)),或者用关于 x 的不等式: a <= x < b、x > a。实心点表示端点属于定义域, 空心点表示不属于;函数趋于无穷的地方不画点。

plot: x^2, x in [-2, 2]; 3 - x, 1 < x <= 4
-2-11234-11234

分段函数的写法与 AsciiMath 中相同(4.12): 每一段一行,写出函数及其定义域,定义域可以写在 if 之后,也可 写成引号中的文字。定义域可以是单独一个点,x = a。它仍然是一个 函数、一种颜色:跳跃处或单独定义处画点,各段相接处不画。

plot: {(x^2, " 若 " x < 1), (3 - x, " 若 " x >= 1):}; x in [-2, 4]
-1.5-1-0.50.511.522.533.5-1-0.50.511.522.53

当每个函数都有有界定义域时,窗口会适配这些定义域和原点;用 pi 书写的定义域,其刻度为 π 的倍数。逗号后不加空格时,它就是 小数逗号:0,5 < x 仍然是一个不等式。

5.4零点、方程、不等式

roots(f) 绘制 f 及其零点,并标出取值。 方程会画出两边及其交点;不等式会在 x 轴上标出成立的范围,端点用实心点 和空心点。双重不等式 -1 < f(x) <= 2 也可以。取值是特殊值时, 标注为精确值(5.10)。

plot: roots(sin x); x in [-2pi, 2pi]
-1-0.50.51
plot: x^2 = 2x + 1
-4-3-2134-55101520
plot: x^2 - 1 > 0; x in [-3, 3]
-2.5-2-0.50.522.5-11234567

无解的条件会在图例中说明。在窗口内有无穷多个零点的函数(如 0 附近的 sin(1/x))会提示缩小窗口。

5.5切线、导数、面积

tangent(f, a) 绘制 f、在 x = a 处的切线及其方程(导数为无穷时是竖直线)。derivative(f) 绘制 f' 的曲线。area(f, a, b) 填充 f 与坐标轴 之间从 a 到 b 的区域,并标出积分;f 变号时 也会标出面积。

plot: x^2; tangent(x^2, 1)
-4-3-2-112345101520
plot: sin x; derivative(sin x); x in [-2pi, 2pi]
-1-0.50.51
plot: area(x^2 - 1, 0, 2)
-4-3-2-11345101520

它们的参数之间用逗号加一个空格分隔,这样参数内部的小数 逗号仍然有效:area(x^2, 0,5, 2)。如果完全不写空格,每个逗号都是 分隔符。这些词只有作为完整单词时才会被识别:tan(1) 仍然是 正切函数。

5.6复平面

出现 i 或 z 时,图像会变成复平面,两轴使用相同 的比例。一个数是一个点,并画出从原点出发的射线。对整个表达式取根, w^(1/n)、root(n)(w) 或 sqrt(w),会显示 全部取值,画在同一个圆上,并命名为 。关于 z 的方程必须是多项式:它的根 会被画出来。

plot: (3+4i)^(1/8)
-1-0.50.51-1.5-1-0.50.51
plot: z^2 + 2z + 5 = 0; 2e^(i pi/3)
-2-112-2-112

一张图像要么是实数,要么是复数:x 和 z 不能混用。最多四个元素;不能画不等式。

5.7单位圆:gon:

gon: 绘制三角圆。一个角(pi/3) 是一条半径及其在坐标轴上的投影,是特殊角时会标注。一段弧是 一个角度区间:[a, b]、(a, b)、[a, b)、 (a, b],两端可开可闭。关于 x 的方程或 不等式会显示它的解:点或弧。

gon: sin x >= 1/2
1−11−1
gon: cos x > -sqrt2/2; tan x > 1
1−1
gon: pi/3; [pi, 3pi/2)

与数值比较时,sin x、cos x、tan x 和 cot x 还会画出对应的线:水平线、竖直线、在 或 处的切线。非特殊角会按其弧来命名: ,然后是 。 x in [a, b] 限定求解范围,最多一圈(圆上其余部分用虚线表示); 不写时为一整圈,跨过 0 的弧从负角开始。条件和弧合计最多四个。

5.8符号表:sign:

sign: 接受一个乘积或商,可以单独书写,也可以写成一侧为 0 的不等式;它会按你写的形式为每个因式画一行(正的部分为实线, 负的部分为虚线),再画出乘积的一行及其符号,如果是不等式,还会给出解。

sign: (x - 1)(x + 2)/(x - 3) >= 0

它不会替你因式分解:这些步骤要由你展示。分母的零点是空心点,乘积行在该处 显示 ∄。负常数单独占一行。临界点等距排列,如同在黑板上,并用特殊值或 在图例中定义的 标注。最多六行、十二个点;如果有 无穷多个(如 sin x),可用 x in [a, b] 缩小范围。

5.9不等式组:system:

每部分一个不等式,左右形式随意,双重不等式也可以:每个不等式一行,成立处为实线,最后一行是它们同时成立的范围。

system: x^2 - 1 > 0; x < 3; 2x + 1 >= 0

5.10精确标注

零点、交点、角度和面积的端点,如果是特殊值,会标注精确值:分数、 及其分数、 和其他根式、 、、。否则给出近似值, 。会互相重叠的标注会被省略。

5.11移动图像窗口:Alt+G

把光标放在 plot: 行上,按 Alt+G 会高亮该行, 按键可以移动显示范围:方向键按一个刻度移动窗口, Shift+方向键向该侧扩展,+ 和 - 缩放 (步长为 1、2、5、10……,当 x 以 π 为单位时则为 π 的倍数), 0 回到自动窗口。Esc、Enter、Alt+G、 点击或其他按键都会结束。

每次按键都会直接改写行中的 x in [...]; y in [...],所以 学生能看到图像移动,而这一行始终是唯一的依据。一次 Ctrl+Z 就能 撤销整个调整。复平面始终保持正方形;单位圆没有窗口。

6展示

6.1观看页

Alt+V 在新标签页中打开观看页:只有文稿,没有你的备注, 每次按键都会更新。在视频通话中共享这个标签页(打开期间,编辑器中的 “观看页”会变绿)。最好用两块屏幕:一块放编辑器,另一块 共享观看页。

Chrome 和 Edge 可以只共享一个标签页。Firefox 和 Safari 共享窗口或整个 屏幕:把观看页的标签页拖出成独立窗口,再共享那个窗口。

观看页会跟随你所在的行:这一块左侧会显示一条横条(当前块), 文稿会滚动以保持它在视野中。超出栏宽的公式会稍微缩小。

6.2显示效果

以下设置会同时改变所有观看页,包括学生的设备:

  • Alt+= / Alt+-:放大或缩小(70% 到 200%);
  • Alt+T:纸张(浅色)或黑板(深色);
  • Alt+S:当前块的横条和正在书写步骤的颜色,开启或关闭;
  • 小数逗号(命令面板),它也会改变图形中数字的写法。

6.3选区与当前步骤

在编辑器中用鼠标或键盘选中一些内容,它会在每个观看页上发光:正是那些 符号,就在公式中的原位置。要指向分数里的根号,就选中 sqrt(Delta):

x = (-b +- sqrt(Delta))/(2a)
  • 选区一碰到某个符号,整个符号就会发光(选中 123 的一半,整个 123 都会亮);函数按名称连同参数一起(sqrt、sin、frac);字母连同它的指数、重音或撇号(x^2 中的 x、vec u 中的 u、f' 中的 f)。任何东西都不会移动,绘图也始终留在所属符号上。
  • 跨多行也可以:选区内的每个公式和文本行都会在相应位置发光。图形、备注和隐藏步骤从不发光,整份文稿全选(Ctrl+A)也不会。

没有选区时,你正在书写的步骤会用强调色显示:从上一个关系符 (=、<=、=>……)到下一个关系符 之间的部分。在行尾书写时,它就是刚写下的内容;修改前面的内容时,它就是 你正在修改的那一步。文本行或标题算一步;图形没有步骤,有横条就够了。

Delta = b^2 - 4ac = 25 - 24

Alt+S 会连同横条一起关闭步骤显示;选区始终会发光。 导出文件和已发布文稿不带有这些标记。

6.4指点与标记

在观看页标签页或侧边预览中,鼠标会变成所有观看者都能看到的指针。 拖动即可绘图:圈出一个项、在某一步下画线、划掉一个因式。 Shift+拖动可以高亮一个方框。Esc(在编辑器或观看页中) 清除绘图。

标记会在每个观看页上留在所属符号处,手机也一样,不论屏幕大小如何; 在上方插入行时,它们会随所属块一起移动。输入时指针会隐藏。最多 32 个 标记,超出后最早的会被移除。Alt+P 开启或关闭指针和绘图。 想不用鼠标指点某个符号,就选中它(6.3)。

6.5隐藏步骤

趁学生思考时写下后续步骤,或者课前写好整份解答,到时机再显示。 %> 会把后面的内容对所有观看页隐藏,直到 <% 或行尾,直到你显示它;Alt+H 会替你写入这些标记。同一份文稿, 在你的侧边预览中和学生看到的样子:

lim_(x->oo) e^-x %>= lim_(x->oo) 1/(e^x) %>= 0
f(x) = x^2 e^x
%>= x e^x (2 + x)
(a+b)^2 = a^2 + %>2ab<% + b^2

你的侧边预览

你的学生

  • Alt+H 的作用就像文字处理软件里的粗体:按一下,接下来输入的内容会被隐藏;再按一下,后面的内容就会显示。在行中间闭合的隐藏部分会给学生留下一个空白,可以一起填写;一直延伸到行尾的隐藏部分则什么也不留,没人知道你在提前写。在隐藏部分中间按 Alt+H 会在该处开始一个新步骤(在其末尾连按两次也一样);刚按过眼睛图标、还没输入任何内容时,它会收回这个标记。有选区时,它只隐藏你选中的内容:选中事先准备好的解答,按 Alt+H,就完成了。
  • 在隐藏部分中按 Enter,下一行也会隐藏,即使中间隔了一个空行。Backspace 和 Delete 会穿过标记,删除标记之后的字符;在隐藏行的行首按 Backspace,它会与上一行合并,并保持隐藏。行首的眼睛图标位于页边距中:该行从它之后开始。连续的多个标记就是多个步骤:a %>= b %>= c 会先显示 a,然后显示 = b,再显示 = c。
  • Alt+R 会显示光标所在的步骤,连同同一隐藏部分中它之前的步骤(这些步骤会遮住它显示的内容)。有选区时,会一次显示选区涉及的所有步骤。在其他位置,则显示光标之后的下一步,并把光标移过去,这样再按一次 Alt+R 就会显示再下一步:预演准备好的解答时就是这样操作。按下 Alt+R 后会被显示的步骤,其眼睛图标会亮起;双击某个眼睛图标也能显示对应的步骤。在你学生的屏幕上,你显示的内容会亮一下,除非它正是你当前所在的步骤——那种情况已经用强调色画出来了。命令面板中的“显示全部”会先询问确认。
  • 只有“显示”操作才会让内容出现。移动光标、跨标记删除、粘贴多行、在隐藏部分中间输入 <%:原本隐藏的内容仍然隐藏(“仍处于隐藏状态:只有 Alt+R 能显示它”),而在隐藏步骤中输入的内容完全不会发送给观看页。只有 Ctrl+Z 才能回到他们已经看过的文本。
  • 编辑器中,眼睛图标标出隐藏部分或步骤的起点,小帽形标记标出隐藏部分的闭合处;隐藏文本显示在色带上,底部状态栏会说明还剩多少步(“隐藏 · 3”)。侧边预览会以淡色显示它们,位置正是它们将要出现的地方,页边距中还有眼睛图标;整块隐藏的内容还会加上边框。在图形中,隐藏的项以淡色显示:一条曲线、一个点、一行,连同它们在图例中的条目。
  • 隐藏步骤只出现在你的侧边预览中:观看页标签页、直播、导出文件和已发布文稿都不会包含它们,只会保留闭合隐藏部分的空白(带空白的 PDF 就是一份练习纸)。它们和备注一样会保存在文稿中,所以在家里备好的课,在任何电脑上都能直接使用。
  • 隐藏部分永远不会越过所在行的行尾。由于 %> 在任何位置都会开始隐藏,百分号后跟“大于”时需要加空格:20% > 10%;在隐藏部分中,“小于”后跟百分号也一样。空白的大小始终相同,不会泄露任何信息;在图形中,闭合的隐藏部分会被直接略去。

7直播

直播会把文稿发送到学生自己的设备上:比共享屏幕更清晰,每个人都能按 自己的节奏往回翻。你需要教师账号,学生不需要。

开始直播。按 Alt+L。第一次会打开一个窗口登录, 可以使用 Google 或邮箱验证码(验证码由 Cloudflare 发出:如果没收到,请 检查垃圾邮件文件夹)。学生的链接会自动复制。对你这个账号来说,它 始终不变,在任何电脑上都一样,所以只需发送一次。 “复制直播链接”可以再次复制。

直播期间。状态栏会显示“直播中”、一个绿点以及 正在观看的人数。切换文稿(Ctrl+P)会对所有观看者一起切换。

对学生而言。链接打开的文稿会随着你的书写而更新。如果他们往回翻, 文稿就不再跟随你,直到他们点击“↓ 直播”(或按 End)。 开始之前,他们会看到“等待中…”;连接中断时会显示 “正在重新连接…”,之后会自动恢复。

结束直播。再按一次 Alt+L:仍在连接的人会保留最后 一个版本,之后打开链接的人则要等你下一次直播。如果你没有结束就关闭了 编辑器,重新打开后会立即恢复直播,哪怕过了几天:要私下工作,请先结束直播。

登录有效期为 30 天。过期时编辑器会显示 “登录已过期:按 Alt+L 重新登录”。命令面板中的“退出登录”会立即结束登录。

8文稿

8.1打开、命名、删除

Ctrl+P 列出你的文稿,最近的在前:输入即可筛选, Enter 打开。Alt+N 新建一份,与当前文稿在同一位置。 名称可以带子文件夹,最多两级:analysis1/limits;名称不能以 点开头,也不能包含 \ : * ? " < > |。“重命名文稿” 和“删除文稿”在命令面板中;删除无法撤销。

8.2保存

无需手动保存:停止输入片刻后,编辑器会自动保存;只有未能保存时, 状态栏才会显示提示。Ctrl+S 会立即保存。每隔几次击键,文本还会 被保存在浏览器中作为保险:如果浏览器在保存前关闭,下次会有一条横栏提示 恢复它。每份文稿重新打开时,光标和滚动位置都保持原样。

8.3来自别处的修改

如果文稿在此窗口之外被修改(另一个标签页、另一台电脑、文本编辑器), 而你没有未保存的内容,编辑器会静默地重新加载(“已从磁盘重新加载”); 否则会用一条横栏询问你要保留哪个版本(2.2)。

8.4云端

对于获授权的教师,“登录并使用云端”会把云端文稿加入同一个列表: 两者都存在时,Ctrl+P 会显示每份文稿的位置,云端文稿的名称后 会显示“(云端)”。“移到云端”和“移到电脑” (或“移到此浏览器”)移动当前文稿;“把所有文稿移到云端”移动全部。 移动永远不会覆盖:另一位置已有同名文稿时,操作会中止。

没有网络时,当前云端文稿仍可继续使用,状态栏会显示 “未保存:无法连接云端”:网络恢复后会自动保存,离开页面前会先询问。 服务器不备份文稿:重要文稿请另存一份。最多 2000 份文稿,每份 512 KB。

8.5备份与导入

“下载所有文稿”会下载一个 .zip,包含某一位置的全部文稿 (两者都有时,各有一个命令)。如果文稿在浏览器存储中,一周没有备份, 编辑器会提醒你。“导入文稿或备份”接受 .math 文件或 .zip 备份,“导入文件夹”接受整个文件夹;两者都会 写入当前文稿所在的位置,并对已存在的文稿询问一次。在不同浏览器之间迁移 文稿也是用这个方法。

“更换文稿文件夹”切换到另一个文件夹; “同时把文稿保存在此浏览器”在云端之外再加上浏览器存储。

8.6退出登录

“退出登录”(后面带你的邮箱)会保存当前云端文稿,结束直播, 并从该浏览器中清除云端的所有痕迹:在共用电脑上,下一个人找不到你的任何 文稿。

9课后

9.1导出

Alt+E 按学生看到的样子导出文稿,不含备注和隐藏步骤 (先执行“显示全部”可将其包含在内):PDF (会打开打印对话框:选择“另存为 PDF”;每个 --- 开始新的一页)、 HTML(单个文件,可在任何浏览器中打开)、TeX (可编译的 LaTeX 文档)。“复制当前行的 LaTeX”复制光标所在行的 LaTeX, 包含隐藏步骤。

9.2已发布文稿

直播链接显示的文稿会随着你的书写而变化。要发一份固定不变的文稿, “发布文稿”会保存它此刻的定格副本(也就是学生现在看到的样子), 并复制其链接:之后的修改不会影响它。再次发布会生成另一份副本和另一个 链接。“已发布文稿”会列出它们,当前文稿的副本排在最前:可以复制链接、 打开副本或撤回(撤回后链接立即失效)。任何拿到链接的人都能打开,所以只发给 应该看到的人。

10全部快捷键

在 Mac 上,Cmd 相当于 Ctrl,Option 相当于 Alt。如果浏览器用 Alt 加字母打开菜单,请加上 Shift:Alt+Shift+V 与 Alt+V 作用相同。 字母按物理按键识别,与键盘布局无关。

按键作用
Ctrl+K命令面板
Ctrl+P切换文稿
Ctrl+S立即保存
Alt+N新建文稿
Alt+V打开观看页
Alt+L开始或结束直播(首次使用需用 Google 或邮箱验证码登录,同时解锁云端;会复制链接)
Ctrl+\侧边预览
Alt+= Alt+-观看页缩放
Alt+T纸张/黑板主题
Alt+S观看页上当前块的横条和正在书写的步骤
Shift+← Shift+→…在编辑器中选中的内容会在观看页上发光:选中一个符号即可指向它
Alt+P观看页上的指针和绘图
Esc清除绘图
Alt+E导出(PDF、HTML、TeX)
Alt+H开始或停止隐藏接下来输入的内容,就像文字处理软件里的粗体;有选区时则隐藏选区
Alt+R显示光标所在的步骤、选中的步骤,或下一步(其眼睛图标会亮起);双击眼睛图标也可以
Alt+G在图像上:方向键移动窗口,Shift+方向键扩展,+ − 缩放,0 自动,Esc 完成
Tab片段 / 下一个字段
Ctrl+Z Ctrl+Shift+Z撤销、重做
Alt+↑ Alt+↓上下移动当前行
F1此帮助
Alt+Shift+…如果浏览器用 Alt+字母打开菜单,可加按 Shift;在 Mac 上 Cmd 相当于 Ctrl

11全部命令

全部命令都在命令面板(Ctrl+K)中;有些只在可用时出现(登录后才有云端命令,有隐藏内容时才有显示命令)。

命令作用
切换文稿 Ctrl+P打开另一份文稿
新建文稿 Alt+N新建文稿,与当前文稿在同一位置
重命名文稿重命名当前文稿,包括子文件夹
删除文稿删除文稿,会先询问
保存 Ctrl+S立即保存
打开观看页 Alt+V在新标签页中打开观看页,用于共享
开始直播 · 结束直播 Alt+L开始或结束直播(首次使用会要求登录)
复制直播链接复制学生的链接
开始或停止隐藏 Alt+H开始或停止隐藏接下来输入的内容,或隐藏选区(6.5)
显示下一步 Alt+R显示光标所在的步骤、选中的步骤,或下一步:名称会说明是哪一个
显示全部一次显示所有隐藏步骤,会先询问
图像:移动窗口 Alt+G移动光标所在图像的窗口
发布文稿文稿的定格副本,附一个链接
已发布文稿已发布文稿:复制链接、打开或撤回
侧边预览 Ctrl+\编辑器右侧的观看页
观看页:放大 · 观看页:缩小 Alt+= Alt+-放大或缩小所有观看页
观看页:黑板主题 · 观看页:纸张主题 Alt+T纸张或黑板主题,作用于所有观看页
观看页:隐藏当前块和步骤 · 观看页:显示当前块和步骤 Alt+S当前块的横条和当前步骤
观看页:关闭指针和绘图 · 观看页:开启指针和绘图 Alt+P指针和绘图
清除绘图 Esc清除绘图
小数逗号:开启 · 小数逗号:关闭小数逗号
语言:English界面的另一种语言
导出 PDF(打印) · 导出 HTML · 导出 TeX Alt+EPDF、HTML、TeX
复制当前行的 LaTeX光标所在行的 LaTeX,可粘贴到别处
登录并使用云端云端文稿,使用 Google 账号或验证码
移到云端 · 移到电脑 · 移到此浏览器把当前文稿移到另一位置
把所有文稿移到云端把所有本地文稿移到云端
下载所有文稿 · 下载电脑上的所有文稿 · 下载此浏览器的所有文稿 · 下载云端的全部文稿包含某一位置全部文稿的 .zip
导入文稿或备份.math 文件或 .zip 备份
导入文件夹文件夹中的所有文稿
更换文稿文件夹 · 为文稿选择一个文件夹另一个文件夹中的文稿
同时把文稿保存在此浏览器浏览器存储,与云端并存
退出登录结束登录,并清除此浏览器中的云端痕迹
帮助 F1帮助

12语言

界面提供八种语言:English、Italiano、Español、Deutsch、Français、简体中文、 हिन्दी 和 Русский。它会跟随浏览器语言,也可以用命令面板中的“语言:……” 切换。语言还会决定新浏览器的默认小数逗号,以及 TeX 导出的 babel 设置。 这些页面有自己的语言菜单,位于顶部。

13访问与隐私

直播和云端面向拥有账号的教师和辅导老师,账号免费:请在 首页申请。使用你提供的邮箱地址登录,可以通过 Google 账号或邮箱一次性验证码。学生永远不需要账号,也不会收到 cookie。

你的文稿保存在自己的电脑上,除非你选择保存在云端;每项数据的处理方式见 隐私页面。