Appearance
代码块
Liii STEM 中与代码相关的内容分为三种环境,分别适用于不同的场景:代码块用于展示程序源码,算法环境用于排版伪代码,会话用于在文档内直接执行代码。
代码块
输入 \code 后回车插入纯文本代码块,或点击 插入 → 程序 → 代码块 选择具体语言。插入后在焦点工具栏可切换编程语言,支持 Python、Gnuplot、Maxima、C/C++、Java、Shell/Bash、JavaScript、Julia、SQL、Scheme 等。代码块会自动保留语法高亮与缩进。
如需在段落中插入行内代码,点击 插入 → 程序 → 行内代码 即可。
如果需要显示行号,在 \listing 环境内插入代码块即可。
算法环境
输入 \algorithm 后回车,或点击 插入 → 程序 → 算法 即可插入算法环境。在算法环境中,通过以下命令构建伪代码结构:
| 结构 | 命令 | 说明 |
|---|---|---|
| 语句 | \algo-state | 普通算法步骤 |
| 输入条件 | \algo-require | Require |
| 输出条件 | \algo-ensure | Ensure |
| 返回 | \algo-return | Return |
| 打印 | \algo-print | |
| 注释 | \algo-comment | 注释(斜体) |
| 条件判断 | \algo-if | If 条件 |
| 否则如果 | \algo-else-if | Else If |
| 否则 | \algo-else | Else |
| While 循环 | \algo-while | While 循环 |
| For 循环 | \algo-for | For 循环 |
| 重复直到 | \algo-repeat | Repeat-Until |
| 过程 | \algo-procedure | Procedure |
| 函数 | \algo-function | Function |
| 调用 | \algo-call | 函数调用 |
| 逻辑与/或/非 | \algo-and / \algo-or / \algo-not | 逻辑运算符 |
此外还支持 \algo-for-all、\algo-for-each、\algo-loop、\algo-begin、\algo-inputs、\algo-outputs、\algo-data、\algo-result、\algo-xor、\algo-to、\algo-true、\algo-false、\algo-globals 等命令。
焦点工具栏可选择居中排版、是否编号,以及修改算法标题。
会话
点击 插入 → 会话 选择语言即可插入可执行会话。在会话中输入内容后,按 Enter 或点击工具栏的运行按钮即可执行,结果会自动嵌入文档。其交互方式与 Jupyter Notebook 类似。
Liii STEM 支持 Python、Gnuplot、Maxima、Scheme、Elvish、Goldfish Scheme 等会话。其中 Python 会话支持 Matplotlib 2D/3D 图渲染、SymPy 公式输出和 Pandas 表格渲染。
选读:与 LaTeX 的对比
代码块在 Liii STEM 中通过 \code 后回车或菜单插入,焦点工具栏可切换语言。LaTeX 中使用 \begin{verbatim}...\end{verbatim} 或 listings/minted 宏包。算法环境在 Liii STEM 中通过 \algorithm 后回车插入,内置伪代码命令。LaTeX 中需要 algorithmicx 或 algorithm2e 宏包。可执行会话是 Liii STEM 的特色功能,LaTeX 不支持在文档中直接执行代码。