diff --git a/Doc/ref/ref2.tex b/Doc/ref/ref2.tex
index 11dea96..74aaae4 100644
--- a/Doc/ref/ref2.tex
+++ b/Doc/ref/ref2.tex
@@ -195,13 +195,13 @@
 The following example shows various indentation errors:
 
 \begin{verbatim}
-     def perm(l):                       # error: first line indented
-    for i in range(len(l)):             # error: not indented
-        s = l[:i] + l[i+1:]
-            p = perm(l[:i] + l[i+1:])   # error: unexpected indent
-            for x in p:
-                    r.append(l[i:i+1] + x)
-                return r                # error: inconsistent dedent
+ def perm(l):                       # error: first line indented
+for i in range(len(l)):             # error: not indented
+    s = l[:i] + l[i+1:]
+        p = perm(l[:i] + l[i+1:])   # error: unexpected indent
+        for x in p:
+                r.append(l[i:i+1] + x)
+            return r                # error: inconsistent dedent
 \end{verbatim}
 
 (Actually, the first three errors are detected by the parser; only the
@@ -327,7 +327,7 @@
   \production{shortstringchar}
              {<any ASCII character except "\e" or newline or the quote>}
   \production{longstringchar}
-             {<any ASCII characteru except "\e">}
+             {<any ASCII character except "\e">}
   \production{escapeseq}
              {"\e" <any ASCII character>}
 \end{productionlist}
