为什么编译器说 itemize 没有结束?

为什么编译器说 itemize 没有结束?

我在文件中有这个嵌套的 itemize Chapters/Implementation

\begin{itemize}
\item \texttt{resizeDim N} resize each processed image so the largest size is at most \texttt{N}. The user shoudl set it 0 he/she wish to use the original image size (default 0).
\item \texttt{DESCRIPTOR} define the used image descriptor (default \texttt{SIFTOpenCV 0 3 0.04 10 1.6}):
\begin{itemize}
\item \texttt{PHA} (no options are needed)
\item \texttt{SIFTOpenCV nfeatures nOctaveLayers contrastThreshold edgeThreshold sigma} where the first argument is the keyword and the rest are the parameters described in OpenCV documentation about the SIFT descriptor.
\item \texttt{SURFOpenCv hessianThreshold nOctaves nOctaveLayers extended upright} where the first argument is the keyword and the rest are the parameters described in OpenCV documentation about the SURF descriptor.
\end{itemize}
\item \texttt{OMP v} enables parallel descriptor computation (as described in \ref{sect:trainingWorkflow}) if $v$ is set to 1 (default 1).
\item \texttt{ENCODER} is the used image encoder (default \texttt{VLAD  16 128  "NORMALIZE_COMPONENTS"):
\begin{itemize}
\item \texttt{VLAD k descDim flag} where \texttt{k} is the number of descriptors, \texttt{descDim} is the size of the used descriptor and \texttt{flag} is used when the VLFeat implementation of this encoder is used (to use it instead of our implmenetation, set \texttt{LCS=-DVLFEAT} in the makefile). This parameter is useless (but mandatory) when using our implementation (set it to \texttt{VL\_VLAD\_FLAG\_SQUARE\_ROOT \textbar \- VL\_VLAD\_FLAG\_\-NORMALIZE\_COMPONENTS} in that case).
\item \texttt{FisherVector k descDim flag} same as above, but using dedicated FV \texttt{flag} described in VLFeat C documentation.
\item \texttt{nQueriesFraction N} use only \texttt{N}\% of the setup images to initialize the cache. This is used for evaluation in \ref{sect:setupSizeTest}.
\end{itemize}
\item \texttt{dataset DATSETNAME} decides which dataset to use. The three possible values for \texttt{DATASETNAME} are:
\begin{itemize}
\item \texttt{oxford}
\item \texttt{painting}
\item \texttt{posters}
\end{itemize}
\end{itemize}

返回此错误:

! File ended while scanning use of \texttt .<inserted text>\par \include{Chapters/Implementation}
! LaTeX Error: \begin{itemize} on input line 569 ended by \end{document}.See the LaTeX manual or LaTeX Companion for explanation.Type H <return> for immediate help.... \end{document}

但在我看来它看起来很好(特别是因为我认为所有的 \begin{itemize}...\end{itemize} 都正确嵌套了),错误在哪里?

如果我删除它,文档就会正确生成。

答案1

第 11 行(default \texttt{VLAD 16 128 "NORMALIZE_COMPONENTS"):缺少右括号。也许还有更多……

如何发现此类错误?

只需注释掉代码块,直到错误消失。你可以从较大的行开始,然后缩小到发生错误的行。

相关内容