swi-prolog协议输出文件中的垃圾字符

Jia*_*ang 5 prolog swi-prolog

当我使用protocol('execution.txt'). 并输入一些查询时,我在输出文件中得到了一些乱码.有没有办法避免这些角色?

11 ?- beside(block2, X).
X = block3  [1m;[0m
[1;31mfalse.[0m

12 ?- beside(block4, X).
X = block7  [1m;[0m
X = block3  [1m;[0m
[1;31mfalse.[0m

13 ?- beside(block5, X).
[1;31mfalse.[0m

14 ?- above(block1,X).
X = block2  [1m;[0m
[1;31mfalse.[0m

15 ?- above(block2,X).
[1;31mfalse.[0m

16 ?- above(block6,X).
X = block5  [1m;[0m
X = block4  [1m;[0m
[1;31mfalse.[0m

17 ?- noprotocol.
Run Code Online (Sandbox Code Playgroud)

Cap*_*liC 5

这些字符是ANSI终端控制序列,用于突出显示错误等.要禁用它,请输入

?- set_prolog_flag(color_term, false).
Run Code Online (Sandbox Code Playgroud)

在开始协议会话之前.要永久禁用,请将其作为指令放在首选项文件中.即在Unix中,放在〜/ .plrc中

:- set_prolog_flag(color_term, false).
Run Code Online (Sandbox Code Playgroud)

如果您使用XPCE EMACS,则可以从菜单编辑首选项

Edit\Prolog preferences
Run Code Online (Sandbox Code Playgroud)