Ich erhalte die Fehlermeldung „Fehlende Zahl, wird als Null behandelt“ ohne ersichtlichen Grund

Ich erhalte die Fehlermeldung „Fehlende Zahl, wird als Null behandelt“ ohne ersichtlichen Grund

Der folgende Testcode

\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}

generiert diese Fehlermeldung:

! Missing number, treated as zero.
<to be read again> 
[
l.6 ... Heim \& Kratzer (1990)] \\ [[`vi is mortal']
                                                  ]g= 1 iff [[`mortal']] g([...

? 

Ich habe keine Ahnung, warum. Hat jemand eine Idee?

Antwort1

Das Problem wird durch das Eingabemuster verursacht \\ [...], das der Verwendung von entspricht \\[<dimen>]. Aus historischen Gründen \\[<dimen>]sind in der Syntax Leerzeichen vor zulässig (d. h. sie werden ignoriert) [.

Sie können es \\\relaxals Workaround verwenden.

\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: Sie benötigen möglicherweise einige Verbatim-Umgebungen oder Algorithmenpakete, um den Pseudocode zu setzen.

verwandte Informationen