hehe-minecraft - Source 代码指南
NOTE Source 代码对缩进敏感。
NOTE 请尽量不要在一行开头或方括号里面输入除已支持关键字外的全大写字母单词,它们可能作为将来版本的关键字。
你可能要先认识基本的 HTML 语言语法。
#块级元素
每个块级元素占据一行或多行空间。
##正文
正文是最基础的块级元素。正文的前后都可以没有修饰。
正文对应[CODE <p>]。
正文前面可以加入三种前缀:[CODE NOTE]、[CODE WARN]和[CODE DEF],分别代表注意、警告和定义,它们的显示效果如下:
NOTE 注意-[CODE NOTE]
WARN 警告-[CODE WARN]
DEF 定义-[CODE DEF]
##标题
要创建一个标题,你需要在正文之前加上若干[CODE #]号,[CODE #]号越多,标题层级越靠内,如:
```
#一级标题
###三级标题
########八级标题
```
上述代码的作用效果等同于以下 HTML 代码:
```HTML
<h2>一级标题</h2>
<h4>三级标题</h4>
<h6>八级标题</h6>
```
NOTE 程序为页面的大标题预留了[CODE <h1>],所以一级标题从[CODE <h2>]开始。对于过小的(超过五级的)标题,在 HTML 中无法直接表示,因此会在正文中被显示为[CODE <h6>]的大小,但在目录中显示层级不变。
标题的层级可以不连续。
每个标题都自带一个 HTML 的[CODE id],其值满足:将标题层级从低到高依次排列,每一层级都是标题的内容,层级之间都用连字符连接,若有跳过的层级,则被跳过的层级内容默认为被跳过的层级向高最近一级的内容,例如:
```
# A
## B
#### D
##### E
## F
```
会得到的[CODE id]分别为:
```
A
A-B
A-B-D-D
A-B-D-D-E
A-F
```
##分隔线
要创建一根分隔线,请在独立的一行中输入[CODE ===]。
其等同于以下 HTML 代码:
```HTML
<hr/>
```
##列表
NOTE 只可以创建有序列表。
每个列表项前面都需要添加一个连字符([CODE -]),连字符与列表项之间需要一个空格分开。连字符前空格数量代表有序列表的层级,如:
```
- 章节 1
- 章节 2
- 章节 2.1
- 章节 2.2
- 章节 3
```
上述代码可以创建以下列表:
- 章节 1
- 章节 2
- 章节 2.1
- 章节 2.2
- 章节 3
列表的层级在增加时需要是连续的,需要尽量避免以下代码:
```
- 章节 1
- 章节 1.1.1
- 章节 1.1.2
- 章节 1.1.3
- 章节 2
```
它会创建以下列表:
- 章节 1
- 章节 1.1.1
- 章节 1.1.2
- 章节 1.1.3
- 章节 2
NOTE 程序会将不连续增加的列表层级自动修改为依次递增。
##注释
注释格式与 HTML 中一样,但只允许单行的注释,即[CODE <!-- 注释 -->]。
NOTE 特别地,空行会被视作注释。
注释不会显示在正式的文档中。
##代码段
将一段代码的前后各插入两行,在其中填入[CODE ```]来创建代码段。
代码段会被解析成[CODE <pre>]元素,会标记行号。
##图象
在一行中使用[CODE FIGURE id]来展示一个图象。其中,[CODE id]是图象在 HTML 文档中的[CODE id]属性,程序会根据该[CODE id]来找到展示的图象;找到的图象需要是 HTML 中的[CODE <figure>]元素。如果找不到图象或者图象并非[CODE <figure>]元素,程序会跳过这一行。
图象会被显示在右侧,顶端对齐插入位置。图象会从右向左依次排列。
你可以在一个 Source 代码中反复展示一个图象。反复展示的图象编号不会改变。
图象最好存储在[CODE data-source]元素中,其中的元素不会直接显示在平面上。
以下是展示图像的案例:
```
<!-- Source 代码 -->
FIGURE picture
```
```HTML
<!-- HTML 代码 -->
<data-source>
<figure id="picture">
<svg width="30" height="30">
<circle cx="15" cy="15" r="10" stroke="#AAAAAA" stroke-width="3" fill="none"/>
</svg>
<figcaption>
一个圆圈
</figcaption>
</figure>
</data-source>
```
FIGURE picture
显示效果如右图所示。
###自动编号
程序将[CODE parse_source.environment.figure]值视作图象自动编号的格式。不设定该值就不会自动编号。自动编号会插入在图象中[CODE <figcaption>]元素内容之前。就算图象中不存在[CODE <figcaption>]元素,自动编号也存在,只是不会显示在图象中而已。
[CODE parse_source.environment.figure]是一个字符串,其中的[CODE $]字符被视作自动编号的数字占位符。编号从 1 开始。
在以上示例中加入以下 JavaScript 代码,即可为图象添加编号:
```JavaScript
import {parse_source} from "ts/all.js"; // ts 文件夹在根目录
parse_source.environment.figure = "图 $ ";
```
FIGURE picture_count
显示效果如右图所示。
##公式块
要创建一个公式块,需要在行前输入[CODE MATH]。
###公式语法
数字、大小写字母、加减运算符以及下文列出的转义字符都可以直接用文本输入:
```
MATH 0.3a+0.5a=0.8a
```
MATH 0.3a+0.5a=0.8a
一部分符号难以在键盘上打出,可以通过转义字符(将在下文说明)进行表述:
```
MATH \lnot(p\land q)=\lnot p\lor\lnot q
```
MATH \lnot(p\land q)=\lnot p\lor\lnot q
直接输入[CODE *]号会自动转化为[CODE ×](叉乘)形式。要使用点乘,请使用[CODE \cdot]:
```
MATH \bolda\cdot\boldb={|\bolda|}*{|\boldb|}*\cos\langle\bolda,\boldb\rangle
```
MATH \bolda\cdot\boldb={|\bolda|}*{|\boldb|}*\cos\langle\bolda,\boldb\rangle
分数的书写需要使用“[CODE /]”(除号,不可使用[CODE ÷]):
```
MATH 1/2+1/3=5/6
```
MATH 1/2+1/3=5/6
对于一个式,你可以用[CODE {}]将它们包起来,成为一个整体:
```
MATH x={-b\pm\sqrt{b^2-4ac}}/{2a}
```
MATH x={-b\pm\sqrt{b^2-4ac}}/{2a}
要输入[CODE {}]或者[CODE \]本身,你需要将其转义(在前面加上[CODE \]):
```
MATH \boardN=\{0,1,2,\cdots\}
```
MATH \boardN=\{0,1,2,\cdots\}
幂(上标)和底数(下标)可以分别用[CODE ^]和[CODE _]表示:
```
MATH E_\normalk=1/2m\boldv^2
```
MATH E_\normalk=1/2m\boldv^2
如果需要把上标和下标记在正上或正下方,可以分别用[CODE ^^]和[CODE __]表示:
```
MATH \sum__{i=1}^^{\infty}1/{2^i}=1
```
MATH \sum__{i=1}^^{\infty}1/{2^i}=1
二次根号或者其他次根号可以分别用[CODE \sqrt]和[CODE \root]表示:
```
MATH \sqrt 2=4\root 4
```
MATH \sqrt 2=4\root 4
三角函数、对数、[CODE exp]函数等多字母函数需要转义来显示成正体:
```
MATH \log_ab={\ln a}/{\ln b}
```
MATH \log_ab={\ln a}/{\ln b}
可以使用的三角函数如下:
TABLE
|::三角函数::|::反三角函数::|::双曲函数::|::反双曲函数::|
|:[CODE \sin]:|:[CODE \arcsin]:|:[CODE \sinh]:|:[CODE \arsinh]:|
|:[CODE \cos]:|:[CODE \arccos]:|:[CODE \cosh]:|:[CODE \arcosh]:|
|:[CODE \tan]:|:[CODE \arctan]:|:[CODE \tanh]:|:[CODE \artanh]:|
|:[CODE \cot]:|:[CODE \arccot]:|:[CODE \coth]:|:[CODE \arcoth]:|
|:[CODE \sec]:|:[CODE \arcsec]:|:[CODE \sech]:|:[CODE \arsech]:|
|:[CODE \csc]:|:[CODE \arccsc]:|:[CODE \csch]:|:[CODE \arcsch]:|
END
转义字符之后如果是字母或者数字,需要在它们之间添加空格。空格不会参与解析。
矩阵可以通过[CODE \matrix]创建。矩阵本身要用花括号括起来,第二层花括号代表矩阵中的每一行,第三层花括号代表矩阵的矩阵元:
```
MATH {[\matrix{{{1}{2}{3}}{{4}{5}{6}}}]}^\normalT=[\matrix{{{1}{4}}{{2}{5}}{{3}{6}}}]
```
MATH {[\matrix{{{1}{2}{3}}{{4}{5}{6}}}]}^\normalT=[\matrix{{{1}{4}}{{2}{5}}{{3}{6}}}]
####简写
我们还支持很多简写,包括:
TABLE
|::简写::|::实际内容::|::显示效果::|
|:[CODE <=]:|:[CODE \leq]:|:[MATH \leq]:|
|:[CODE <<]:|:[CODE \ll]:|:[MATH \ll]:|
|:[CODE <<<]:|:[CODE \lll]:|:[MATH \lll]:|
|:[CODE >=]:|:[CODE \geq]:|:[MATH \geq]:|
|:[CODE >>]:|:[CODE \gg]:|:[MATH \gg]:|
|:[CODE >>>]:|:[CODE \ggg]:|:[MATH \ggg]:|
|:[CODE ->]:|:[CODE \rightarrow]:|:[MATH \rightarrow]:|
|:[CODE =>]:|:[CODE \Rightarrow]:|:[MATH \Rightarrow]:|
END
如果不想使用简写,可以在简写中插入空格破坏简写语法。
####转义字符(符号)
TABLE
|::代码::|::显示效果::|
|:[CODE \lfloor]:|:[MATH \lfloor]:|
|:[CODE \rfloor]:|:[MATH \rfloor]:|
|:[CODE \lceil]:|:[MATH \lceil]:|
|:[CODE \rceil]:|:[MATH \rceil]:|
|:[CODE \langle]:|:[MATH \langle]:|
|:[CODE \rangle]:|:[MATH \rangle]:|
|:[CODE \|]:|:[MATH \|]:|
|:[CODE \mid]:|:[MATH \mid]:|
|:[CODE \nmid]:|:[MATH \nmid]:|
|:[CODE \pm]:|:[MATH \pm]:|
|:[CODE \mp]:|:[MATH \mp]:|
|:[CODE \cdot]:|:[MATH \cdot]:|
|:[CODE \times]:|:[MATH \times]:|
|:[CODE \div]:|:[MATH \div]:|
|:[CODE \circ]:|:[MATH \circ]:|
|:[CODE \bullet]:|:[MATH \bullet]:|
|:[CODE \oplus]:|:[MATH \oplus]:|
|:[CODE \ominus]:|:[MATH \ominus]:|
|:[CODE \otimes]:|:[MATH \otimes]:|
|:[CODE \oslash]:|:[MATH \oslash]:|
|:[CODE \neq]:|:[MATH \neq]:|
|:[CODE \leq]:|:[MATH \leq]:|
|:[CODE \geq]:|:[MATH \geq]:|
|:[CODE \gg]:|:[MATH \gg]:|
|:[CODE \ll]:|:[MATH \ll]:|
|:[CODE \ggg]:|:[MATH \ggg]:|
|:[CODE \lll]:|:[MATH \lll]:|
|:[CODE \approx]:|:[MATH \approx]:|
|:[CODE \propto]:|:[MATH \propto]:|
|:[CODE \sim]:|:[MATH \sim]:|
|:[CODE \equiv]:|:[MATH \equiv]:|
|:[CODE \cong]:|:[MATH \cong]:|
|:[CODE \perp]:|:[MATH \perp]:|
|:[CODE \parallel]:|:[MATH \parallel]:|
|:[CODE \in]:|:[MATH \in]:|
|:[CODE \notin]:|:[MATH \notin]:|
|:[CODE \cap]:|:[MATH \cap]:|
|:[CODE \intersection]:|:[MATH \intersection]:|
|:[CODE \cup]:|:[MATH \cup]:|
|:[CODE \union]:|:[MATH \union]:|
|:[CODE \subset]:|:[MATH \subset]:|
|:[CODE \supset]:|:[MATH \supset]:|
|:[CODE \subseteq]:|:[MATH \subseteq]:|
|:[CODE \supseteq]:|:[MATH \supseteq]:|
|:[CODE \subsetneqq]:|:[MATH \subsetneqq]:|
|:[CODE \supsetneqq]:|:[MATH \supsetneqq]:|
|:[CODE \land]:|:[MATH \land]:|
|:[CODE \lor]:|:[MATH \lor]:|
|:[CODE \lnot]:|:[MATH \lnot]:|
|:[CODE \sum]:|:[MATH \sum]:|
|:[CODE \prod]:|:[MATH \prod]:|
|:[CODE \coprod]:|:[MATH \coprod]:|
|:[CODE \int]:|:[MATH \int]:|
|:[CODE \oint]:|:[MATH \oint]:|
|:[CODE \iint]:|:[MATH \iint]:|
|:[CODE \oiint]:|:[MATH \oiint]:|
|:[CODE \iiint]:|:[MATH \iiint]:|
|:[CODE \oiiint]:|:[MATH \oiiint]:|
|:[CODE \bigcap]:|:[MATH \bigcap]:|
|:[CODE \bigintersection]:|:[MATH \bigintersection]:|
|:[CODE \bigcup]:|:[MATH \bigcup]:|
|:[CODE \bigunion]:|:[MATH \bigunion]:|
|:[CODE \bigwedge]:|:[MATH \bigwedge]:|
|:[CODE \bigand]:|:[MATH \bigand]:|
|:[CODE \bigvee]:|:[MATH \bigvee]:|
|:[CODE \bigor]:|:[MATH \bigor]:|
|:[CODE \bigodot]:|:[MATH \bigodot]:|
|:[CODE \leftarrow]:|:[MATH \leftarrow]:|
|:[CODE \rightarrow]:|:[MATH \rightarrow]:|
|:[CODE \leftrightarrow]:|:[MATH \leftrightarrow]:|
|:[CODE \uparrow]:|:[MATH \uparrow]:|
|:[CODE \downarrow]:|:[MATH \downarrow]:|
|:[CODE \updownarrow]:|:[MATH \updownarrow]:|
|:[CODE \Leftarrow]:|:[MATH \Leftarrow]:|
|:[CODE \Rightarrow]:|:[MATH \Rightarrow]:|
|:[CODE \Leftrightarrow]:|:[MATH \Leftrightarrow]:|
|:[CODE \Uparrow]:|:[MATH \Uparrow]:|
|:[CODE \Downarrow]:|:[MATH \Downarrow]:|
|:[CODE \Updownarrow]:|:[MATH \Updownarrow]:|
|:[CODE \vdots]:|:[MATH \vdots]:|
|:[CODE \cdots]:|:[MATH \cdots]:|
|:[CODE \ddots]:|:[MATH \ddots]:|
|:[CODE \dagger]:|:[MATH \dagger]:|
|:[CODE \ddagger]:|:[MATH \ddagger]:|
END
####转义字符(字母)
TABLE
|::代码::|::显示效果::|::代码::|::显示效果::|
|:[CODE \beta]:|:[MATH \beta]:|:[CODE \Theta]:|:[MATH \Theta]:|
|:[CODE \alpha]:|:[MATH \alpha]:|:[CODE \Iota]:|:[MATH \Iota]:|
|:[CODE \gamma]:|:[MATH \gamma]:|:[CODE \Kappa]:|:[MATH \Kappa]:|
|:[CODE \delta]:|:[MATH \delta]:|:[CODE \Lambda]:|:[MATH \Lambda]:|
|:[CODE \epsilon]:|:[MATH \epsilon]:|:[CODE \Mu]:|:[MATH \Mu]:|
|:[CODE \zeta]:|:[MATH \zeta]:|:[CODE \Nu]:|:[MATH \Nu]:|
|:[CODE \eta]:|:[MATH \eta]:|:[CODE \Xi]:|:[MATH \Xi]:|
|:[CODE \theta]:|:[MATH \theta]:|:[CODE \Omicron]:|:[MATH \Omicron]:|
|:[CODE \iota]:|:[MATH \iota]:|:[CODE \Pi]:|:[MATH \Pi]:|
|:[CODE \kappa]:|:[MATH \kappa]:|:[CODE \Rho]:|:[MATH \Rho]:|
|:[CODE \lambda]:|:[MATH \lambda]:|:[CODE \Sigma]:|:[MATH \Sigma]:|
|:[CODE \mu]:|:[MATH \mu]:|:[CODE \Tau]:|:[MATH \Tau]:|
|:[CODE \nu]:|:[MATH \nu]:|:[CODE \Upsilon]:|:[MATH \Upsilon]:|
|:[CODE \xi]:|:[MATH \xi]:|:[CODE \Phi]:|:[MATH \Phi]:|
|:[CODE \omicron]:|:[MATH \omicron]:|:[CODE \Chi]:|:[MATH \Chi]:|
|:[CODE \pi]:|:[MATH \pi]:|:[CODE \Psi]:|:[MATH \Psi]:|
|:[CODE \rho]:|:[MATH \rho]:|:[CODE \Omega]:|:[MATH \Omega]:|
|:[CODE \sigma]:|:[MATH \sigma]:|:[CODE \digamma]:|:[MATH \digamma]:|
|:[CODE \tau]:|:[MATH \tau]:|:[CODE \varepsilon]:|:[MATH \varepsilon]:|
|:[CODE \upsilon]:|:[MATH \upsilon]:|:[CODE \vartheta]:|:[MATH \vartheta]:|
|:[CODE \phi]:|:[MATH \phi]:|:[CODE \varkappa]:|:[MATH \varkappa]:|
|:[CODE \chi]:|:[MATH \chi]:|:[CODE \varpi]:|:[MATH \varpi]:|
|:[CODE \psi]:|:[MATH \psi]:|:[CODE \varrho]:|:[MATH \varrho]:|
|:[CODE \omega]:|:[MATH \omega]:|:[CODE \varsigma]:|:[MATH \varsigma]:|
|:[CODE \Alpha]:|:[MATH \Alpha]:|:[CODE \varphi]:|:[MATH \varphi]:|
|:[CODE \Beta]:|:[MATH \Beta]:|:[CODE \infty]:|:[MATH \infty]:|
|:[CODE \Gamma]:|:[MATH \Gamma]:|:[CODE \forall]:|:[MATH \forall]:|
|:[CODE \Delta]:|:[MATH \Delta]:|:[CODE \exists]:|:[MATH \exists]:|
|:[CODE \Epsilon]:|:[MATH \Epsilon]:|:[CODE \nabla]:|:[MATH \nabla]:|
|:[CODE \Zeta]:|:[MATH \Zeta]:|:[CODE \emptyset]:|:[MATH \emptyset]:|
|:[CODE \Eta]:|:[MATH \Eta]:|:[CODE \o]:|:[MATH \o]:|
|:[CODE \partial]:|:[MATH \partial]:|:[CODE \diff]:|:[MATH \diff]:|
END
####字体
以下字体是可以通过转义字符输入的:
TABLE
|::字体前缀::|::[CODE calli]::|::[CODE frak]::|::[CODE bold]::|::[CODE board]::|
|:[MATH A]:|:[MATH \calliA]:|:[MATH \frakA]:|:[MATH \boldA]:|:[MATH \boardA]:|
|:[MATH B]:|:[MATH \calliB]:|:[MATH \frakB]:|:[MATH \boldB]:|:[MATH \boardB]:|
|:[MATH C]:|:[MATH \calliC]:|:[MATH \frakC]:|:[MATH \boldC]:|:[MATH \boardC]:|
|:[MATH D]:|:[MATH \calliD]:|:[MATH \frakD]:|:[MATH \boldD]:|:[MATH \boardD]:|
|:[MATH E]:|:[MATH \calliE]:|:[MATH \frakE]:|:[MATH \boldE]:|:[MATH \boardE]:|
|:[MATH F]:|:[MATH \calliF]:|:[MATH \frakF]:|:[MATH \boldF]:|:[MATH \boardF]:|
|:[MATH G]:|:[MATH \calliG]:|:[MATH \frakG]:|:[MATH \boldG]:|:[MATH \boardG]:|
|:[MATH H]:|:[MATH \calliH]:|:[MATH \frakH]:|:[MATH \boldH]:|:[MATH \boardH]:|
|:[MATH I]:|:[MATH \calliI]:|:[MATH \frakI]:|:[MATH \boldI]:|:[MATH \boardI]:|
|:[MATH J]:|:[MATH \calliJ]:|:[MATH \frakJ]:|:[MATH \boldJ]:|:[MATH \boardJ]:|
|:[MATH K]:|:[MATH \calliK]:|:[MATH \frakK]:|:[MATH \boldK]:|:[MATH \boardK]:|
|:[MATH L]:|:[MATH \calliL]:|:[MATH \frakL]:|:[MATH \boldL]:|:[MATH \boardL]:|
|:[MATH M]:|:[MATH \calliM]:|:[MATH \frakM]:|:[MATH \boldM]:|:[MATH \boardM]:|
|:[MATH N]:|:[MATH \calliN]:|:[MATH \frakN]:|:[MATH \boldN]:|:[MATH \boardN]:|
|:[MATH O]:|:[MATH \calliO]:|:[MATH \frakO]:|:[MATH \boldO]:|:[MATH \boardO]:|
|:[MATH P]:|:[MATH \calliP]:|:[MATH \frakP]:|:[MATH \boldP]:|:[MATH \boardP]:|
|:[MATH Q]:|:[MATH \calliQ]:|:[MATH \frakQ]:|:[MATH \boldQ]:|:[MATH \boardQ]:|
|:[MATH R]:|:[MATH \calliR]:|:[MATH \frakR]:|:[MATH \boldR]:|:[MATH \boardR]:|
|:[MATH S]:|:[MATH \calliS]:|:[MATH \frakS]:|:[MATH \boldS]:|:[MATH \boardS]:|
|:[MATH T]:|:[MATH \calliT]:|:[MATH \frakT]:|:[MATH \boldT]:|:[MATH \boardT]:|
|:[MATH U]:|:[MATH \calliU]:|:[MATH \frakU]:|:[MATH \boldU]:|:[MATH \boardU]:|
|:[MATH V]:|:[MATH \calliV]:|:[MATH \frakV]:|:[MATH \boldV]:|:[MATH \boardV]:|
|:[MATH W]:|:[MATH \calliW]:|:[MATH \frakW]:|:[MATH \boldW]:|:[MATH \boardW]:|
|:[MATH X]:|:[MATH \calliX]:|:[MATH \frakX]:|:[MATH \boldX]:|:[MATH \boardX]:|
|:[MATH Y]:|:[MATH \calliY]:|:[MATH \frakY]:|:[MATH \boldY]:|:[MATH \boardY]:|
|:[MATH Z]:|:[MATH \calliZ]:|:[MATH \frakZ]:|:[MATH \boldZ]:|:[MATH \boardZ]:|
|:[MATH a]:|:[MATH \callia]:|:[MATH \fraka]:|:[MATH \bolda]:|:[MATH \boarda]:|
|:[MATH b]:|:[MATH \callib]:|:[MATH \frakb]:|:[MATH \boldb]:|:[MATH \boardb]:|
|:[MATH c]:|:[MATH \callic]:|:[MATH \frakc]:|:[MATH \boldc]:|:[MATH \boardc]:|
|:[MATH d]:|:[MATH \callid]:|:[MATH \frakd]:|:[MATH \boldd]:|:[MATH \boardd]:|
|:[MATH e]:|:[MATH \callie]:|:[MATH \frake]:|:[MATH \bolde]:|:[MATH \boarde]:|
|:[MATH f]:|:[MATH \callif]:|:[MATH \frakf]:|:[MATH \boldf]:|:[MATH \boardf]:|
|:[MATH g]:|:[MATH \callig]:|:[MATH \frakg]:|:[MATH \boldg]:|:[MATH \boardg]:|
|:[MATH h]:|:[MATH \callih]:|:[MATH \frakh]:|:[MATH \boldh]:|:[MATH \boardh]:|
|:[MATH i]:|:[MATH \callii]:|:[MATH \fraki]:|:[MATH \boldi]:|:[MATH \boardi]:|
|:[MATH j]:|:[MATH \callij]:|:[MATH \frakj]:|:[MATH \boldj]:|:[MATH \boardj]:|
|:[MATH k]:|:[MATH \callik]:|:[MATH \frakk]:|:[MATH \boldk]:|:[MATH \boardk]:|
|:[MATH l]:|:[MATH \callil]:|:[MATH \frakl]:|:[MATH \boldl]:|:[MATH \boardl]:|
|:[MATH m]:|:[MATH \callim]:|:[MATH \frakm]:|:[MATH \boldm]:|:[MATH \boardm]:|
|:[MATH n]:|:[MATH \callin]:|:[MATH \frakn]:|:[MATH \boldn]:|:[MATH \boardn]:|
|:[MATH o]:|:[MATH \callio]:|:[MATH \frako]:|:[MATH \boldo]:|:[MATH \boardo]:|
|:[MATH p]:|:[MATH \callip]:|:[MATH \frakp]:|:[MATH \boldp]:|:[MATH \boardp]:|
|:[MATH q]:|:[MATH \calliq]:|:[MATH \frakq]:|:[MATH \boldq]:|:[MATH \boardq]:|
|:[MATH r]:|:[MATH \callir]:|:[MATH \frakr]:|:[MATH \boldr]:|:[MATH \boardr]:|
|:[MATH s]:|:[MATH \callis]:|:[MATH \fraks]:|:[MATH \bolds]:|:[MATH \boards]:|
|:[MATH t]:|:[MATH \callit]:|:[MATH \frakt]:|:[MATH \boldt]:|:[MATH \boardt]:|
|:[MATH u]:|:[MATH \calliu]:|:[MATH \fraku]:|:[MATH \boldu]:|:[MATH \boardu]:|
|:[MATH v]:|:[MATH \calliv]:|:[MATH \frakv]:|:[MATH \boldv]:|:[MATH \boardv]:|
|:[MATH w]:|:[MATH \calliw]:|:[MATH \frakw]:|:[MATH \boldw]:|:[MATH \boardw]:|
|:[MATH x]:|:[MATH \callix]:|:[MATH \frakx]:|:[MATH \boldx]:|:[MATH \boardx]:|
|:[MATH y]:|:[MATH \calliy]:|:[MATH \fraky]:|:[MATH \boldy]:|:[MATH \boardy]:|
|:[MATH z]:|:[MATH \calliz]:|:[MATH \frakz]:|:[MATH \boldz]:|:[MATH \boardz]:|
|:[MATH 0]:|:没有对应字体:>1v9|:[MATH \bold0]:|:[MATH \board0]:|
|:[MATH 1]:|:[MATH \bold1]:|:[MATH \board1]:|
|:[MATH 2]:|:[MATH \bold2]:|:[MATH \board2]:|
|:[MATH 3]:|:[MATH \bold3]:|:[MATH \board3]:|
|:[MATH 4]:|:[MATH \bold4]:|:[MATH \board4]:|
|:[MATH 5]:|:[MATH \bold5]:|:[MATH \board5]:|
|:[MATH 6]:|:[MATH \bold6]:|:[MATH \board6]:|
|:[MATH 7]:|:[MATH \bold7]:|:[MATH \board7]:|
|:[MATH 8]:|:[MATH \bold8]:|:[MATH \board8]:|
|:[MATH 9]:|:[MATH \bold9]:|:[MATH \board9]:|
END
除了以上这些前缀,还有[CODE normal]前缀,它会将字母转化为正体形式。
输入方式是先输入字体前缀,再输入想要更改的字符:
```
MATH \bolda=\lim__{\Delta t->0}{\Delta\boldv}/{\Delta t}
```
MATH \bolda=\lim__{\Delta t->0}{\Delta\boldv}/{\Delta t}
##表格
表格前面一行需要以[CODE TABLE]标识,后一行需要以[CODE END]标识。
表格的每一个单元格都需要使用[CODE |: :|]包裹。如果要使单元格成为标题单元格,则需要使用[CODE |:: ::|]包裹。单元格之间的[CODE |]可以共用。非单元格区域内输入任何东西都不会显示。
在单元格末尾的[CODE :]和[CODE |]之间,可以添加单元格跨行或跨列的信息。可以使用[CODE >]来表示向右再横跨若干列,使用[CODE v]来表示向下再扩展若干行,扩展的列数和行数要写在[CODE >]和[CODE v]之后。如果要同时扩展行和列,应该先扩展列([CODE >]),再扩展行([CODE v])。如[CODE |:content:>1v2|]表示这个单元格向右扩展一列,向下扩展两行,因此它总共占有的列数是二,行数是三。扩展的列数和行数如果为零,则其占有的列数和行数不会改变。扩展的列数和行数如果为负或不是整数,则单元格无效。
```
TABLE
|::标题一::|::标题二::|::标题三::|
|:单元格一:|:单元格二:>0v0|:向下扩展:v1|
|:向右扩展:>1|
|:同时扩展:>1v1| |:单元格三:|
|:单元格四:|
END
```
以上代码会产生如下效果:
TABLE
|::标题一::|::标题二::|::标题三::|
|:单元格一:|:单元格二:>0v0|:向下扩展:v1|
|:向右扩展:>1|
|:同时扩展:>1v1| |:单元格三:|
|:单元格四:|
END
##函数输入输出集
函数的输入输出集之前一行要以[CODE FUNCTIONIO]标识,之后一行用[CODE END]标识。如果有任意一行非空且不符合输入或输出的格式,则自动在此行标识[CODE END]。
NOTE 强烈建议在函数输入输出集后一行添加[CODE END]标识,这样不仅可以增强可读性,也可以减少异常的产生。
如果一行的以[CODE I ](有空格)开头,则该行被标记为函数输入之一,会显示在左侧;如果以[CODE O ](有空格)开头,则该行被标记为函数输出之一,会显示在右侧。输入和输出可以混合,不改变显示效果,如:
```
FUNCTIONIO
I 输入一
I 输入二
O 输出一
I 输入三
O 输出二
END
```
等同于:
```
FUNCTIONIO
I 输入一
I 输入二
I 输入三
O 输出一
O 输出二
END
```
都被显示为:
FUNCTIONIO
I 输入一
I 输入二
O 输出一
I 输入三
O 输出二
END
#行内元素
行内元素不会占据一行以上的空间,大部分可以嵌套,如:
```
[[CODE GitHub] TO github.com]
```
每一个行内元素都需要使用方括号([CODE []])围绕,因此方括号是保留字,不建议使用。行内元素的关键字是完全用大写字母组成的单词。除案例外,下文会省略方括号。
##超链接
超链接的格式是[CODE name TO target],其中[CODE name]指超链接的显示形式,[CODE target]指超链接的目标。
WARN [CODE target]部分不可嵌套其他行内元素,嵌套会导致未定义行为。
例如:
```
[GitHub TO github.com]
```
上述代码的作用效果等同于以下 HTML 代码:
```
<a href="github.com">GitHub</a>
```
会被展示为:[Github TO github.com]。
##术语
术语的格式是[CODE NOUN name]或者[CODE NOUN name AS definition],其中[CODE name]指术语的名称,[CODE definition]表示术语的定义。如果术语有定义,则鼠标悬停在术语会显示该定义。
WARN [CODE definition]部分不可嵌套其他行内元素,嵌套会导致未定义行为。
例如:
```
[NOUN GitHub AS 一个程序托管平台]
```
上述代码的作用效果等同于以下 HTML 代码:
```
<dfn title="一个程序托管平台">GitHub</dfn>
```
会被展示为:[NOUN GitHub AS 一个程序托管平台]。
##代码片段
代码片段的格式是[CODE CODE content],其中[CODE content]指代码片段的内容。
例如:
```
[CODE function(){}]
```
上述代码的作用效果等同于以下 HTML 代码:
```
<code>function(){}</code>
```
会被展示为:[CODE function(){}]。
##键盘输入
与代码片段类似,键盘输入的格式是[CODE KEY key],其中[CODE key]指键盘按键,整体等同于 HTML 中的[CODE <kbd>]元素,显示成[KEY Shift]。
##图象引用
图象引用需要启动[自动编号 TO #块级元素-图象-自动编号],它会按照自动编号的格式进行显示。
图象引用的格式是[CODE FIGURE id],其中,[CODE id]是图象在 HTML 文档中的[CODE id]属性,拥有该属性的元素如果在上文被显示,即会复制其编号到文档中,并替换这个行内元素;反之,编号为 0 。
例如,将之前[“图 1 一个圆圈” TO #块级元素-图象-自动编号]案例中的 Source 代码改为:
```
FIGURE picture
如[FIGURE picture],屏幕上有一个圆圈。
```
根据[CODE picture]的编号,程序会将[CODE FIGURE picture]替换为“图 1 ”,即:
```
FIGURE picture
如图 1 ,屏幕上有一个圆圈。
```
显示效果如下:
FIGURE picture_count
如图 1 ,屏幕上有一个圆圈。
##公式片段
公式片段的格式是[CODE MATH content],其中[CODE content]指公式片段的内容。公式语法请见[此处 TO #块级元素-公式块-公式语法]。
例如:
```
[MATH \int 2x\diff x=x^2+C]
```
会被展示为:[MATH \int 2x\diff x=x^2+C]。
一个圆圈
图 1 一个圆圈