我是 LaTeX 新手。基本上我在 sharetex 中收到以下消息:
main.tex: File ended while scanning use of \\definition.
<inserted text> \par <*> main.tex I suspect you have forgotten a `}', causing me to read past where you wanted me to stop. I'll try to recover; but if the error is serious, you'd better type `E' or `X' now and fix your file. ! Emergency stop. <*> main.tex *** (job aborted, no legal \end found).
我认为我已经确定了出现错误信息的区域,因为当我将其放在\end{document}
该区域之前时,它可以编译,但当我将其放在该区域之后时,它却不能编译。请问您能看看是否有任何错误吗?
\begin{definition}{1.08}
Suppose $f : X\longrightarrow Y$ is a function, and $A\subseteqX$, $B\subseteqY$.
\\*\item[(i)] We define the image set of f, denoted im(f), by im(f)=$\{f(x) \vert x\inX\}$.
\item[(ii)] We define the image set of A under f, denoted f(A), by f(A)=$\{f(x) \vert x\in A\}$.
\item[(iii)] We define the inverse image set of B under f, denoted $f^{-1}(B)$, by $f^{-1}(B)=\{x\inX \vert f(x)\in B\}$.
\end{definition}.
答案1
您收到的错误的直接原因似乎是\\*
代码片段;我不知道它是做什么用的。LaTeX 还会阻塞\inX
、\subseteqX
和\subseteqY
;控制序列和后续材料之间需要有一个间隙。在不在环境中的情况下使用\item
语句list
(例如itemize
或enumerate
)也会引发错误。
我强烈建议在表达诸如“条件”、“假设”和“受制于”等想法时使用\mid
而不是。宏在竖线周围添加一些水平间距,而没有。顺便说一句,Knuth 还建议在条件语句中的左花括号后和右花括号前插入(“细空格”)。\vert
\mid
\vert
\,
由于您发布的是代码片段而不是整个 MWE(最小工作示例),所以我不得不猜测环境definition
是如何定义的。
\documentclass{article}
\usepackage{amsmath,amsthm}
\theoremstyle{definition} % adjust this setup to your needs
\newtheorem{definition}{Definition}
\newcommand{\image}{\mathit{im}} % better to define a macro to define the appearance of "image"
\begin{document}\pagestyle{empty}
\begin{definition}[1.08]
Suppose $f : X\longrightarrow Y$ is a function, and $A\subseteq X$, $B\subseteq Y$.
\begin{itemize}
\item[(i)] We define the image set of $f$, denoted $\image(f)$, by $\image(f)=\{\,f(x) \mid x\in X\,\}$.
\item[(ii)] We define the image set of $A$ under $f$, denoted $f(A)$, by $f(A)=\{\,f(x) \mid x\in A\,\}$.
\item[(iii)] We define the inverse image set of $B$ under $f$, denoted $f^{-1}(B)$, by $f^{-1}(B)=\{\,x\in X \mid f(x)\in B\,\}$.
\end{itemize}
\end{definition}
\end{document}
答案2
您的代码片段未提及所用包,因此definition
进行了注释。这只是一个建议,但一般的错误类型是:省略宏名称和下一个X
或之间的空格Y
。请注意和f
是$f$
不同的对象。可能也im
应该像那样\sin
,即直立,并留有一定间距。
\documentclass{article}
\begin{document}
%\begin{definition}{1.08}
Suppose $f : X\longrightarrow Y$ is a function, and
$A\subseteq X$, $B\subseteq Y$.
\begin{itemize}
\item[(i)] We define the image set of $ f$, denoted $im(f)$, by $ im(f)={f(x) \vert x\in X}$.
\item[(ii)] We define the image set of $A$ under$ f$, denoted $f(A)$, by$ f(A)={f(x) \vert x\in A}$.
\item[(iii)] We define the inverse image set of $B$ under $f$, denoted $f^{-1}(B)$, by $f^{-1}(B)={x\in X \vert f(x)\in B}$.
\end{itemize}
%\end{definition}.
\end{document}
答案3
对于任何可能正在阅读此文的人来说:可能你只需要删除.aux
临时文件 etc 并重新构建。我刚刚才发现这很困难,当时 MiKTeX 服务器响应非常慢,软件包安装弹出窗口直到几分钟后才出现,而我正抓狂不已,试图找出为什么一个在同事的机器上编译得很好的文件突然在我的机器上停止编译。当我正试图运行更新时,下载对话框弹出了。
然后,在一切都更新并且看起来很好之后,PDFLatex 一直抛出相同的错误,the file ended scanning for the definition of LT@i
直到我删除所有临时文件,然后它才编译成功。