
下面的測試程式碼
\documentclass[11pt,a4paper]{article}
\begin{document}
\section{Introduction}
[DWP (1981), Heim \& Kratzer (1990)] \\ [[`vi is mortal']]g= 1 iff [[`mortal']] g([[vi]]g) \\ [[`mortal'] ]g([[vi]]g) iff $\lambda$x.mortal(x)(g(vi))
\end{document}
產生此錯誤訊息:
! Missing number, treated as zero.
<to be read again>
[
l.6 ... Heim \& Kratzer (1990)] \\ [[`vi is mortal']
]g= 1 iff [[`mortal']] g([...
?
我不知道為什麼。有人有主意嗎?
答案1
該問題是由輸入模式引起的\\ [...]
,該模式與 的用法相符\\[<dimen>]
。由於歷史原因,在語法中\\[<dimen>]
, 之前允許(也稱為忽略)空格[
。
您可以將\\\relax
其用作解決方法。
\documentclass[11pt,a4paper]{article}
\begin{document}
\section{Introduction}
[DWP (1981), Heim \& Kratzer (1990)] \\\relax
[[`vi is mortal']]g= 1 iff [[`mortal']] g([[vi]]g) \\\relax
[[`mortal'] ]g([[vi]]g) iff $\lambda$x.mortal(x)(g(vi))
\end{document}
PS:您可能需要一些逐字環境或演算法包來排版偽代碼。