
Tengo varios \circle{}
en un entorno de imagen que se dibujan perfectamente cuando se ejecuta el archivo .tex latex
y el .dvi resultante se ejecuta dvipdf
para producir un .pdf.
Pero ejecutar el archivo .tex directamente pdflatex
produce una imagen general correcta,exceptopara los \circle{}
's que no aparecen en absoluto. En cambio, en el punto donde deberían dibujarse durante el procesamiento,pdflatex
emite cuatro¡Se ignora el especial que no es PDF!para cada. Aquí están los dos primeros conjuntos de cuatro (tenga en cuenta que no tengo idea de lo que significa :)...
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
¿De alguna manera puedo dibujar los círculos cuando ejecuto directamente el archivo .tex pdflatex
?
E dit
--------------
Según la solicitud de @SchrodingersCat, aquí hay un pequeño ejemplo funcional (es decir, funciona cuando se ejecuta con latex
y luego dvipdf
, pero no funciona cuando se ejecuta con 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}
No podría ser más sencillo, ¿verdad? Pero simplemente no funciona cuando se ejecuta directamente con pdflatex
. Y por cierto, antes de que preguntes, mi pdflatex --version
dice...
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
Respuesta1
Respuesta corta: use el pict2e
paquete en lugar de eepic
. Este último solo admite salida DVI, mientras que pict2e
admite una variedad (¿la mayoría?) de formatos de salida.
Respuesta un poco más larga, para aclarar la "nota de que no tengo idea de lo que significa" :-)
TeX en sí no tiene conocimiento sobre el color, el dibujo o la inclusión de gráficos externos. La forma en que se implementan estas funciones depende del formato de salida (PDF, DVI, PS, etc.) y se implementan en paquetes utilizando un archivo \special
. A \special
le permite escribir cosas directamente en el archivo de salida sin la intervención de TeX. Sin embargo, esta falta de verificación de sintaxis le permite escribir código posiblemente no válido en la salida.
El paquete eepic
(y su predecesor epic
) solo admite salida DVI porque contienen DVI \special
en su código, pero como se reescribieron cuando habíasoloSalida DVI, no se realiza ninguna verificación para ver si el paquete se está ejecutando en un motor válido. Cuando ejecuta ese paquete con pdfTeX, el propio motor se queja de que \special
se utilizó un no válido, por ejemplo pn 5
, que cambia el ancho de la línea:
Non-PDF special ignored!
<special> pn 5
El paquete relativamente más reciente pict2e
permite múltiples formatos de salida, por lo que puedes usarlo con pdflatex
o latex
+ dvipdf
. Para la salida en PDF pict2e
, por ejemplo, se reemplazaría la pn
instrucción anterior por la instrucción PDF equivalente w
.