样式文件的否定函数

样式文件的否定函数

我正在尝试阅读.bst来自驯服野兽第 38 页有一个否定函数的示例:

FUNCTION {not}
{   { #0 }
    { #1 }
  if$
}

我不明白#0#1是什么。另外,在第 33 页的定义中if,它需要三个参数I F1 F2,但在代码中为什么只有两个?

答案1

{#0}{#1}相当于F1F2。 和I是调用 ( 之前堆栈的顶部notI是要取反的值)。 如果I为真,if$则执行F1(此处为 #0,即错误的)。如果I为假,if$则执行F2(此处为#1,即真的)。

相关内容