arara 中的错误:无法解析的属性或标识符:文件

arara 中的错误:无法解析的属性或标识符:文件

免责声明:由于 arara 5.1 现已在 TeX Live 上线,并且我们在规则格式上进行了一些重大更改,因此我预见到了不可避免的事情并亲自提出了这个问题。希望它能有所帮助!:)

所以我最近更新了我的 TeX 发行版,发现arara它已经从版本 4 更新到了 5。在我写这篇文章的时候,上述软件的版本是5.1CTAN。

foo我有一个名为以下内​​容的自定义规则:

!config
identifier: foo
name: Foo
commands:
- name: The Foo program
  command: >
    @{
        return getCommand('foo', file);
    }
arguments: []

非常简单,它只是foo在我当前的文件上运行。此规则在 4.0 中有效arara,但现在新版本引发了以下错误:

DETAILS ---------------------------------------------------------
[Error: unresolvable property or identifier: file]
[Near : {...
return getCommand('foo', file); ....}]

           ^
[Line: 2, Column: 30]

我知道它之前是可以工作的!发生了什么事?你能帮我吗?

答案1

正如项目所述,这种行为是可以预料到的变更日志以及当前用户手册(尝试texdoc arara在您的终端中打开相应的 PDF 文件)。根据后者:

arara以前规则上下文中的变量是文件名字符串file。从版本 5.0 开始,不再支持此变量。用户应该改用变量reference,因为它将文件名的绝对、规范表示作为正确File对象。

所以,file不再是了。只需将file规则中的出现内容替换为reference,就可以了:

!config
identifier: foo
name: Foo
commands:
- name: The Foo program
  command: >
    @{
        return getCommand('foo', reference);
    }
arguments: []

一个简单的测试:

Processing 'mydoc.tex' (size: 23 B, last modified: 04/11/2020
12:44:24), please wait.

[DR] (Foo) The Foo program
-----------------------------------------------------------------
Authors: No authors provided
About to run: [ foo, /home/paulo/mydoc.tex ] @ 

Total: 0.25 seconds

就是这样!希望它能有所帮助!:)

相关内容