summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-errmissitem.html
blob: b893df4e7227e37657e0b7ce9e991d0ea994d204 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<head>
<title>UK TeX FAQ -- question label errmissitem</title>
</head><body>
<h3>Perhaps a missing <code>\</code><code>item</code>?</h3>
<p/>Sometimes, the error
<blockquote>
<pre>
Something's wrong--perhaps a missing \item
</pre>
</blockquote><p>
actually means what it says:
<blockquote>
<pre>
\begin{itemize}
  boo!
\end{itemize}
</pre>
</blockquote><p>
produces the error, and is plainly in need of an <code>\</code><code>item</code> command.
<p/>You can also have the error appear when at first sight things are
correct:
<blockquote>
<pre>
\begin{tabular}{l}
  \begin{enumerate}
  \item foo\\
  \item bar
  \end{enumerate}
\end{tabular}
</pre>
</blockquote><p>
produces the error at the <code>\\</code>.  This usage is just wrong; if you
want to number the cells in a table, you have to do it &ldquo;by hand&rdquo;:
<blockquote>
<pre>
\newcounter{tablecell}
\begin{tabular}{l}
  \stepcounter{tablecell}
  \thetablecell. foo\\
  \stepcounter{tablecell}
  \thetablecell. bar
  \end{enumerate}
\end{tabular}
</pre>
</blockquote><p>
This is obviously untidy; a command <code>\</code><code>numbercell</code> defined as:
<blockquote>
<pre>
\newcounter{tablecell}
\newcommand*{\numbercell}{%
  \stepcounter{tablecell}%
  \thetablecell. % **
}
</pre>
</blockquote><p>
could make life easier:
<blockquote>
<pre>
\begin{tabular}{l}
  \numbercell foo\\
  \numbercell bar
  \end{enumerate}
\end{tabular}
</pre>
</blockquote><p>
(Note the deliberate introduction of a space as part of the command,
marked with asterisks.)
<p/>However, the error regularly appears when you would never have thought
that a <code>\</code><code>item</code> command  might be appropriate.  For example, the
seemingly innocent:
<blockquote>
<pre>
\fbox{%
  \begin{alltt}
    boo!
  \end{alltt}%
}
</pre>
</blockquote><p>
produces the error (the same happens with <code>\</code><code>mbox</code> in place of
<code>\</code><code>fbox</code>, or with either of their &ldquo;big brothers&rdquo;, <code>\</code><code>framebox</code> and
<code>\</code><code>makebox</code>).  This is because the <code>alltt</code> environment
uses a &ldquo;trivial&rdquo; list, hidden inside their definition.  (The
<code>itemize</code> environment also has this construct inside
itself, in fact, so <code>\</code><code>begin{itemize}</code> won&rsquo;t work inside an
<code>\</code><code>fbox</code>, either.)  The list construct wants to happen between
paragraphs, so it makes a new paragraph of its own.  Inside the
<code>\</code><code>fbox</code> command, that doesn&rsquo;t work, and subsequent macros convince
themselves that there&rsquo;s a missing <code>\</code><code>item</code> command.
<p/>To solve this rather cryptic error, one must put the
<code>alltt</code> inside a paragraph-style box.  The following
modification of the above <em>does</em> work:
<blockquote>
<pre>
\fbox{%
  \begin{minipage}{0.75\textwidth}
    \begin{alltt}
      hi, there!
    \end{alltt}
  \end{minipage}
}
</pre>
</blockquote><p>
The code above produces a box that&rsquo;s far too wide for the text.  One
may want to use something that allows 
<a href="FAQ-varwidth.html">variable size boxes</a> in place of the
<code>minipage</code> environment.
<p/>Oddly, although the <code>verbatim</code> environment wouldn&rsquo;t work
inside a <code>\</code><code>fbox</code> command argument (see 
<a href="FAQ-verbwithin.html">verbatim in command arguments</a>), you
get an error that complains about <code>\</code><code>item</code>: the environment&rsquo;s
internal list bites you before <code>verbatim</code> has even had a
chance to create its own sort of chaos.
<p/>Another (seemingly) obvious use of <code>\</code><code>fbox</code> also falls foul of this
error:
<blockquote>
<pre>
\fbox{\section{Boxy section}}
</pre>
</blockquote><p>
This is a case where you&rsquo;ve simply got to be more subtle; you should
either write your own macros to replace the insides of LaTeX&rsquo;s
sectioning macros, or  look for some alternative in the packages
discussed in 
&ldquo;<a href="FAQ-secthead.html">The style of section headings</a>&rdquo;.
<p/><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=errmissitem">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=errmissitem</a>
</body>