典型的なエラー

このページでは SATySFi を使っているときに出るエラーをいくつかピックアップし、その解決法を解説します。

必要なレコード要素不足

間違ったコード例

@require: stdjabook

document (|
  title = {渡す要素が足りない例};
  author = {\@nekketsuuu};
|) '<
>

コード例を組版しようとしたときのエラー例 (SATySFi version 0.0.3)

! [Type Error] at "must-error.saty", line 3, character 9 to line 6, character 2:
    this expression has type
      (|author : inline-text; title : inline-text|),
    but is expected of type
      ('a <: (|author : inline-text; show-title : bool; show-toc : bool; title : inline-text|)).

「stdjabook.satyh の document に渡すレコードには show-toc, show-title という要素も必須だが、それらが足りない」ために起こっているエラーです。次のように書くと上手くいきます。

コード例

@require: stdjabook

document (|
  title = {渡す要素が足りている例};
  author = {\@nekketsuuu};
  show-toc = false;
  show-title = true;
|) '<
>

末尾のセミコロン

インラインテキストでの例

間違ったコード例

+p {
  \SATySFi
}

コード例を組版しようとしたときのエラー例 (SATySFi version 0.0.3)

! [Syntax Error at Lexer] at "must-error.saty", line 8, characters 0-1:
    unexpected token '}' in an active area

引数を取らないインライン・コマンドの末尾にはセミコロンが必要です。

コード例

+p {
  \SATySFi;
}

式引数の例

間違ったコード例

+math (${
  ...
})

コード例を組版しようとしたときのエラー例 (SATySFi version 0.0.3)

! [Syntax Error at Lexer] at "must-error.saty", line 10, characters 0-1:
    unexpected token '>' in an active area

+math に渡す式引数の末尾にはセミコロンが必要です。

コード例

+math (${
  ...
});