Appearance
代码块插入
Liii STEM 提供了使用代码块排版计算机程序源代码的功能。本指南将帮助您实现下图所示的程序代码规范排版。
如图所示,这是一段在 Python code 环境中的 Python 代码。Liii STEM 会自动处理代码排版中的字体、颜色和缩进。
静态代码块
进入静态代码块环境
您可以通过以下方式进入静态代码块环境
- 在模式工具栏中点击
</>(插入计算机程序)
->代码块
,可以选择纯文本
进入名为 verbatim code 的环境。如果需要排版的是 C++、Scheme 或 Shell 代码,也可以直接选择对应的选项进入相应的 cpp code、scm code 和 shell code 环境。
下图中的环境工具栏和光标表明我们正处在 verbatim code 环境中。
- 在添加了 Python、Scala 或 Goldfish 宏包后,也可以点击如下图所示的
代码块
选项直接进入对应的 python code、scala code 和 goldfish code 环境。
如果没有添加对应的宏包,会出现下图中显示的情况。此时也可以点击
激活
来直接添加对应的宏包。
调整代码块环境
进入代码块环境后,可以点击环境工具栏中的 结构变体
选项切换不同语言对应的代码块环境。若代码块中已经输入了内容,排版会有所变化。
排版代码
将代码块环境设置好后,您可以在代码块中对代码内容进行排版。Liii STEM 会自动处理代码排版中的字体、颜色和缩进。
可执行代码块 (Python)
在 Liii STEM 中,您也可以通过插入可执行代码块的方式运行想要的代码。下面以 Python 为例介绍该功能。
进入可执行代码块环境
使用该功能首先需要在您的计算机上安装 python。之后点击模式工具栏上的 插入会话
-> Python
进入可执行代码块环境。
首次进入后,页面上会出现如下图所示的变化。
运行代码
将代码输入到代码块中,即可运行。
Liii STEM 支持导入所有 conda 的代码环境。
Python 插件的使用说明
您可以在 帮助
-> 插件
-> Python
中查看 Python 插件的详细使用指南。
以下是对于插件使用的简单介绍。
语句输入
使用 shift
+ Return/Enter
键分隔语句。
当您准备好让 Python 评估您输入的程序时,请点击 Enter
键或 Return
键。
如果想要一次性输入多行内容,请选择 焦点
-> 输入选项
-> 多行输入
,之后可直接点击 Enter
键或 Return
键进行换行。需要运行时,再次点击 多行输入
关闭该选项,点击 Enter
键或 Return
键。
出现上图的情况说明
多行输入
已开启。
命令自动补全
您可以键入内置命令或先前定义的命令的第一个字母,然后按 Tab
键,直到找到您想要的补全选项。
为代码行编号
想要为代码行编号,首先需要使用命令 \numbered
进入编号环境。
之后可在编号环境下插入静态代码块,实现代码行的自动编号
PostScript 输出和 matplotlib 支持
使用函数 ps_out(data)将 PostScript 数据直接输出到 TeXmacs:
- 如果 data 是字符串并且有多个行,则它将作为原始 PostScript 数据进行处理。
- 如果 data 是一个简单的字符串,则假定它包含将被读取的 PostScript 文件的文件名(如果文件没有扩展名,则默认值将按该顺序尝试.eps 和.ps)。
- 如果 data 是
matplotlib.pyplot.Figure
的实例,并且仅当另外使用支持输出到(封装的)PostScript 的后端时,插件将调用data.savefig()
将绘图保存为字符串并将其复制到 TeXmacs 文档中。 - 如果 data 是提供“读取”方法的文件或其他对象,则将通过调用该方法获取 PostScript 数据。
帮助窗口
如果一个对象的源代码可通过 inspect.getsource()
获得,那么您可以键入该对象并附带一个问号 ?
来得到一个内容为相关的 help()
和代码的弹出窗口。
用作脚本语言
在菜单栏中点击 插入
-> 折叠
-> 可运行
-> Python
,将生成以下输出:
您可以在黄色框中输入任何 Python 表达式或语句,例如:
在框内按 Return
键或 Enter
键将在未评估的输入和评估的输出之间切换。
同样地,对于更复杂的代码,您可以使用 Shift
+Return\Enter
启用多行输入。
但请注意,表达式(例如 1+2
)使用 eval()
进行计算,并将结果值发送到 TeXmacs,而语句(例如 print "hi there"
,或 a=1;a=a+2
) 被发送到 compile()
,在此过程中,最后一个语句的返回值丢失。因此,如果您有多个表达式,则需要写入 os.sys.stdout
才能查看内联输出。
此限制将来可能会得到修复
此外,选择 文档
-> 脚本
-> Python
后,您还可以使用 \
+ !
或 插入
-> 链接
-> Evaluable field
。
同样,按下 Return/Enter
键可在已计算和未计算的输入之间切换。如下图所示,注意到此时的环境在 calc input 和 calc output 间切换。
对于具有关联的标识符,可以通过使用 \
+ ?
或 插入
-> 链接
-> Field reference
插入字段引用来在其他字段中引用这些标识符。也可以通过 \
+ \
或 插入
-> 链接
-> Input field
使用纯输入字段。这允许动态文档在更改引用字段后自动运行脚本。有关此主题的更多信息,请参阅 TeXmacs 文档中的“插件作为脚本语言”。