我设立了一个github 仓库工作环境不是那么简陋(对此深表歉意)。
正如 github 上的 README 所说,取消注释以下愚蠢的行可以解决问题并使diplomadolgozat.tex
文件可编译。
%\begin{figure}[h]\end{figure}
删除其他行后,编译器会很顺利,但这一切都是不可预测的。到目前为止,一切都很好,但这个错误让我的整个写作过程变得不稳定:我再也不知道它什么时候会再次中断,什么时候中断,为什么会中断。
如果您有时间,请克隆 github repo,亲自查看。
答案1
几乎任何改变分页符的修改都会使错误消失,所以在我看来,如果分页符出现在列表内部,并且存在待定的浮动环境,则会出现问题。(我能够将您的文档精简为一个更小的示例文档,但仍然显示错误,见下文。)
但问题的主要原因似乎是magyar.ldf
你文档文件夹中的 1.5b 版本。当我使用 TeXlive 2011 提供的 v1.4j 版本时,错误也会消失,而且我无法通过更改文档内容来恢复错误。
因此,看起来 magyar.ldf 的 1.5b 版本至少有一个错误。下面是一个示例文档,在使用 magyar.ldf 的 v1.5b 版本时仍然显示错误:
\begin{filecontents}{compiler.clj}
;;{antIfStar}
(defn ant-if* [kond true-branch false-branch]
{:pre [(every? node? [kond true-branch false-branch])
(binary-node? kond)]
:post [(node? %)]}
(let [[t-node f-node] (mark-branches true-branch
false-branch)
ztrue (to-ztree t-node)
zkond (to-ztree kond)]
(->> f-node
(insert-at-the-bottom ztrue ,,,)
(insert-under-a-jump-to-true-label zkond ,,,))))
;;{end}
\end{filecontents}
\documentclass[12pt,a4paper,oneside]{report}
\usepackage[utf8]{inputenc}
\def\magyarOptions{defaults=hu-min}
\usepackage[magyar]{babel}
\usepackage{anysize}
\marginsize{2.5cm}{2cm}{1.5cm}{1.5cm}
\usepackage[demo]{graphicx}
\linespread{1.3}
\usepackage{listings}
\begin{document}
\begin{verbatim}
(ant-if (sense :ahead :foe) ; feltétel
(turn :left) ; igaz ág
(turn :right)) ; hamis ág
\end{verbatim}
\begin{figure}
\centering
\includegraphics[bb=0 0 227 345,scale=0.85]{a.png}
\caption{\texttt{(turn :right)}}
\label{antSenseAFoe}
\end{figure}
A \verb|Sense Ahead| csúcsnak két \verb|"jump" UnaryNode| gyermeke van. Ha a \verb|Sense Ahead| feltétele igaz, tehát ha előttem egy ellenséges hangya áll, akkor a baloldali \verb|"jump" :next| értelmében a következő utasításon kell folytatnom, ami a [T1] címkével jelölt \emph{Turn Left}. Ha a feltétel nem igaz, tehát ha nincs előttem ellenség, akkor jobboldali \verb|"jump" F1| -- aminek a \verb|:target| mezőjében F1 szerepel -- az [F1] címkéjű \emph{Turn Right} utasításra irányít.
A \verb|Sense Ahead| csúcsnak két \verb|"jump" UnaryNode| gyermeke van. Ha a \verb|Sense Ahead| feltétele igaz, tehát ha előttem egy ellenséges hangya áll, akkor a baloldali \verb|"jump" :next| értelmében a következő utasításon kell folytatnom, ami a [T1] címkével jelölt \emph{Turn Left}. Ha a feltétel nem igaz, tehát ha nincs előttem ellenség, akkor jobboldali \verb|"jump" F1| -- aminek a \verb|:target| mezőjében F1 szerepel -- az [F1] címkéjű \emph{Turn Right} utasításra irányít.
A \verb|Sense Ahead| csúcsnak két \verb|"jump" UnaryNode| gyermeke van. Ha a \verb|Sense Ahead| feltétele igaz, tehát ha előttem egy ellenséges hangya áll, akkor a baloldali \verb|"jump" :next| értelmében a következő utasításon kell folytatnom, ami a [T1] címkével jelölt \emph{Turn Left}. Ha a feltétel nem igaz, tehát ha nincs előttem ellenség, akkor jobboldali \verb|"jump" F1| -- aminek a \verb|:target| mezőjében F1 szerepel -- az [F1] címkéjű \emph{Turn Right} utasításra irányít.
A \verb|Sense Ahead| csúcsnak két \verb|"jump" UnaryNode| gyermeke van. Ha a \verb|Sense Ahead| feltétele igaz, tehát ha előttem egy ellenséges hangya áll, akkor a baloldali \verb|"jump" :next| értelmében a következő utasításon kell folytatnom, ami a [T1] címkével jelölt \emph{Turn Left}. Ha a feltétel nem igaz, tehát ha nincs előttem ellenség, akkor jobboldali \verb|"jump" F1| -- aminek a \verb|:target| mezőjében F1 szerepel -- az [F1] címkéjű \emph{Turn Right} utasításra irányít.
Az \verb|ant-if| csak annyit csinál, hogy
\lstinputlisting[linerange=antIfStar-end]{compiler.clj}
\end{document}
答案2
杰克和安德烈,你们完全正确。
睡了一觉,头脑清醒了些之后,我尝试缩小主文档。注释掉该\def\magyarOptions{defaults=hu-min}
行解决了问题。
我希望这是真正的问题,也希望我彻底解决了这个问题。如果不是,我将继续最小化它,直到达到 MWE。