pdflatex говорит: «Не-PDF специальные игнорируются!» пытается нарисовать \circle в среде изображения

pdflatex говорит: «Не-PDF специальные игнорируются!» пытается нарисовать \circle в среде изображения

У меня есть несколько \circle{}изображений в среде изображений, которые отлично прорисовываются при запуске файла .tex с помощью latex, а полученный файл .dvi прогоняется через dvipdfфайл .pdf.

Но запуск файла .tex напрямую с помощьюpdflatex дает общую картину,кромедля \circle{}'s, которые вообще не отображаются. Вместо этого, в точке, где они должны быть нарисованы во время обработки,pdflatex выдает четыреСпециальные не-PDF-файлы игнорируются!для каждого. Вот первые два набора из четырех (заметьте, я понятия не имею, что все это значит:)...

Non-PDF special ignored!
<special> pn 5
Non-PDF special ignored!
<special> pa 0 0
Non-PDF special ignored!
<special> pa 107 -142
Non-PDF special ignored!
<special> fp
] [12] [13] [14
Non-PDF special ignored!
<special> pn 5
Non-PDF special ignored!
<special> ar 0 0 750 750 0 6.2832
Non-PDF special ignored!
<special> pn 5
Non-PDF special ignored!
<special> ar 0 0 625 625 0 6.2832

Есть ли способ нарисовать круги при непосредственном запуске файла .tex с помощью pdflatex?

    Правка
--------------
По просьбе @SchrodingersCat, вот небольшой рабочий пример (т. е. работающий при запуске с latexи затем dvipdf, но не работающий при запуске с pdflatex)...

\documentclass[12pt]{article}
\usepackage{eepic}
\begin{document}
Hello, world.
  \begin{center}
    \setlength{\unitlength}{1.0in}
    \begin{picture}(3,2)
      \put(0,0){\framebox(3,2){ }}
      \put(1.125,1){\circle{1.5}}
      \put(1.875,1){\circle{1.25}}
    \end{picture}
  \end{center}
Goodbye, world.
\end{document}

Проще некуда, правда? Но просто не работает, если напрямую запустить с pdflatex. И, кстати, прежде чем вы спросите, мой pdflatex --versionговорит...

bash-5.0$ pdflatex --version
pdfTeX 3.14159265-2.6-1.40.19 (TeX Live 2018 on Slackware)
kpathsea version 6.3.0
Copyright 2018 Han The Thanh (pdfTeX) et al.
There is NO warranty.  Redistribution of this software is
covered by the terms of both the pdfTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the pdfTeX source.
Primary author of pdfTeX: Han The Thanh (pdfTeX) et al.
Compiled with libpng 1.6.35; using libpng 1.6.36
Compiled with zlib 1.2.11; using zlib 1.2.11
Compiled with poppler version 0.68.0

решение1

Короткий ответ: используйте pict2eпакет вместо eepic. Последний поддерживает только выход DVI, тогда как pict2eподдерживает ряд (большинство?) форматов вывода.


Немного более длинный ответ, чтобы прояснить «обратите внимание, что я понятия не имею, что все это значит» :-)

TeX сам по себе не имеет знаний о цвете, рисовании или включении внешней графики. Способ реализации этих функций зависит от формата вывода (PDF, DVI, PS и т. д.), и они реализованы в пакетах с использованием \special. A \specialпозволяет вам записывать данные напрямую в выходной файл без вмешательства TeX. Однако это отсутствие проверки синтаксиса позволяет вам записывать потенциально недопустимый код в выходной файл.

Пакет eepic(и его предшественник epic) поддерживает только выход DVI, поскольку они содержат DVI \specialв своем коде, но поскольку они были написаны еще тогда, когда не былотолькоDVI-вывод, не выполняется никакой проверки, чтобы увидеть, запущен ли пакет на допустимом движке. Когда вы запускаете этот пакет с pdfTeX, сам движок жалуется, что \specialбыл использован недопустимый, например pn 5, который изменяет ширину линии:

Non-PDF special ignored!
<special> pn 5

Относительно более новый pict2eпакет поддерживает несколько форматов вывода, поэтому вы можете использовать его с или pdflatex+ latex. Например, dvipdfдля вывода PDF следует заменить указанную выше инструкцию эквивалентной инструкцией PDF .pict2epnw

Связанный контент