以下示例是视觉上相同的代码。唯一的区别是缩进方式不同。第一个示例使用了四个空格,第二个示例使用了一个制表符。
1.
\documentclass{article}
\usepackage{sagetex}
\begin{document}
\begin{sageblock}
def f(x):
return x
\end{sageblock}
f(x) returns itself.
For example, $f(2)=\sage{f(2)}$.
\end{document}
输出:
def f(x):
return x
f(x) returns itself. For example, f(2) = 2.
\documentclass{article}
\usepackage{sagetex}
\begin{document}
\begin{sageblock}
def f(x):
return x
\end{sageblock}
f(x) returns itself.
For example, $f(2)=\sage{f(2)}$.
\end{document}
输出:
def f(x):
return x
f(x) returns itself. For example, f(2) = ??.
错误:
File "./example.sagetex.sage.py", line 14
return x
^
IndentationError: expected an indented block
LaTeX Warning: Reference @sageinline0 on page 1 undefined on input line 11.
通过观察错误以及代码逐字打印的方式可以清楚地看出,sagetex 忽略了制表符中的缩进。如何才能使制表符也被识别为缩进?