pdflatex зависает после большого числа фигур - PullRequest
0 голосов
/ 19 декабря 2018

У меня есть скрипт, который генерирует несколько цифр и помещает их в приложение к отчету, например,

Appendix
********

.. figure:: images/generated/image_1.png
.. figure:: images/generated/image_2.png
.. figure:: images/generated/image_3.png
... etc

Похоже, что после большого количества (~ 50) изображений мой pdflatex команда будет зависать и указывать на одну из графиков в моем файле .tex здесь

...
\begin(figure)[htbp]
\centering
\noindent\sphinxincludegraphics{{image_49}.png}
\end{figure}

\begin(figure)[htbp]
\centering
\noindent\sphinxincludegraphics{{image_50}.png} <--- here
\end{figure}

\begin(figure)[htbp]
\centering
\noindent\sphinxincludegraphics{{image_51}.png}
\end{figure}
...

Когда pdflatex не удается, я не могу понять, что делать из вывода консоли, яполучите ряд этих строк, которые кажутся хорошими новостями

<image_48.png, id=451, 411.939pt x 327.3831pt>
File: image_48.png Graphic file (type png)
<use image_48.png>
Package pdftex.def Info: image_48.png  used on input line 1251.
(pdftex.def)             Requested size: 411.93797pt x 327.3823pt.

<image_49.png, id=452, 411.939pt x 327.3831pt>
File: image_49.png Graphic file (type png)     
<use image_49.png>
Package pdftex.def Info: image_49.png  used on input line 1257.
(pdftex.def)             Requested size: 411.93797pt x 327.3823pt.

Затем, после последнего успешного изображения (~ 50), он начинает выводить

! Output loop---100 consecutive dead cycles.
\end@float ...loatpenalty <-\@Mii \penalty -\@Miv
                                                  \@tempdima \prevdepth \vbo...
l.1258 \end{figure}

I've concluded that your \output is awry; it never does a
\shipout, so I'm shipping \box255 out myself. Next time
increase \maxdeadcycles if you want me to be more patient!

[9
! Undefined control sequence.
\reserved@a ->\@nil

l.1258 \end{figure}

The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

Если все, что я делаю, это уменьшаюКоличество цифр, он будет работать и производить PDF без проблем.Существует ли жесткое ограничение на количество изображений в разделе?Где-нибудь еще я могу посмотреть в журнале сборки, чтобы выяснить, почему это происходит?

Ответы [ 2 ]

0 голосов
/ 30 мая 2019

У меня была эта проблема, и вышеупомянутые предложения не работали.Однако я смог заставить его работать нормально, вставив подразделы, которые могут или не могут быть совместимы с вашими целями.Сценарий генерирует код следующим образом, который затем вводится в другой фрагмент кода для предварительного просмотра сгенерированных изображений (я создаю графики svg из c ++, преобразую в png и предварительно просматриваю необработанные данные для выбора в более поздние графики, которые переходят в реальный документне просто коллекция изображений)

\subsection{svghappy2.tyrosine.png}
\begin{figure}[htbp]
\testplot{svghappy2_tyrosine.png}
\caption{svghappy2.tyrosine.png}
\end{figure}

\subsection{svghappy2.valine.png}
\begin{figure}[htbp]
\testplot{svghappy2_valine.png}
\caption{svghappy2.valine.png}
\end{figure}
0 голосов
/ 19 декабря 2018

Казалось, что это комбинация пары вещей.

Первым признаком была ошибка, вызванная слишком большим количеством необработанных операций с плавающей запятой .Исправление для этого состояло в том, чтобы добавить следующее к babel элементу latex_elements

\usepackage[maxfloats=256]{morefloats}

Вторым симптомом была жалоба на Output loop---100 consecutive dead cycles., поэтому исправлением было просто увеличить количество циклов

\maxdeadcycles=1000

После этих двух настроек команда pdflatex теперь успешно завершится, даже с большим количеством цифр.

...