Skip to content

Python会话插件

在 Liii STEM 中,您也可以通过插入Python会话的方式运行想要的Python代码。

进入Python会话

使用该功能首先需要在您的计算机上安装 Python。之后点击模式工具栏上的 插入会话 -> Python 进入可执行代码块环境。

插入操作示意图

首次进入后,页面上会出现如下图所示的变化。

代码排版效果

运行代码

将代码输入到代码块中,即可运行。

Liii STEM cbinsert 10

Liii STEM 支持导入所有 conda 的代码环境。

Python 插件的使用说明

您可以在 帮助 -> 插件 -> Python 中查看 Python 插件的详细使用指南。

Python 插件的使用说明示意图

以下是对于插件使用的简单介绍。

语句输入

使用 Shift + Return/Enter 键分隔语句。

语句输入示意图

当您准备好让 Python 评估您输入的程序时,请点击 Enter 键或 Return 键。

Liii STEM cbinsert 13

如果想要一次性输入多行内容,请选择 焦点 -> 输入选项 -> 多行输入 ,之后可直接点击 Enter 键或 Return 键进行换行。需要运行时,再次点击 多行输入 关闭该选项,点击 Enter 键或 Return 键。

语句输入示意图

语句输入示意图

出现上图的情况说明 多行输入 已开启。

命令自动补全

您可以键入内置命令或先前定义的命令的第一个字母,然后按 Tab 键,直到找到您想要的补全选项。

Liii STEM cbinsert 16

PostScript 输出和 matplotlib 支持

使用函数 ps_out(data)将 PostScript 数据直接输出到 TeXmacs:

  • 如果 data 是字符串并且有多个行,则它将作为原始 PostScript 数据进行处理。
  • 如果 data 是一个简单的字符串,则假定它包含将被读取的 PostScript 文件的文件名(如果文件没有扩展名,则默认值将按该顺序尝试.eps 和.ps)。
  • 如果 datamatplotlib.pyplot.Figure 的实例,并且仅当另外使用支持输出到(封装的)PostScript 的后端时,插件将调用 data.savefig() 将绘图保存为字符串并将其复制到 TeXmacs 文档中。
  • 如果 data 是提供"读取"方法的文件或其他对象,则将通过调用该方法获取 PostScript 数据。

帮助窗口

如果一个对象的源代码可通过 inspect.getsource() 获得,那么您可以键入该对象并附带一个问号 ? 来得到一个内容为相关的 help() 和代码的弹出窗口。

用作脚本语言

在菜单栏中点击 插入 -> 折叠 -> 可运行 -> Python,将生成以下输出:

插入操作示意图

用作脚本语言示意图

您可以在黄色框中输入任何 Python 表达式或语句,例如:

用作脚本语言示意图

在框内按 Return 键或 Enter 键将在未评估的输入和评估的输出之间切换。

Liii STEM cbinsert 22

同样地,对于更复杂的代码,您可以使用 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 间切换。

Liii STEM cbinsert 25

对于具有关联的标识符,可以通过使用 \ + ?插入 -> 链接 -> Field reference 插入字段引用来在其他字段中引用这些标识符。也可以通过 \ + \插入 -> 链接 -> Input field 使用纯输入字段。这允许动态文档在更改引用字段后自动运行脚本。有关此主题的更多信息,请参阅 TeXmacs 文档中的"插件作为脚本语言"。