Matemáticas SVG/otros símbolos en htlatex: usar algo que no sea pstoedit

Matemáticas SVG/otros símbolos en htlatex: usar algo que no sea pstoedit

Tengo un archivo y quiero generar alternativamente archivos PDF imprimibles xelatexy páginas HTML mediante htlatex. De forma predeterminada, htlatexproduce ecuaciones PNG realmente feas y de baja resolución. Quiero SVG en su lugar.

noQuiero usar MathJaX. Quiero que mi archivo funcione sin JavaScript y no quiero que los usuarios tengan que renderizar el complejo TeX cada vez.

Siguiendo los consejos online, puse esto en c.cfg...

\Preamble{ext=htm,charset="utf-8",p-width,pic-align}
  \Configure{Picture}{.svg}  
  \makeatletter
  \Configure{graphics*}
  {svg}
  {
    {\Configure{Needs}{File: \[email protected]}\Needs{}}
    \Picture[\csname a:GraphicsAlt\endcsname]{\csname Gin@base\endcsname.svg
            \csname a:Gin-dim\endcsname}
  }
  \begin{document}
\EndPreamble

Corrí htlatexa través de htlatex myfile "c"... y obtuve esto: pstoedit: Unsupported output format svg.

Mmmm, ¿qué pasó aquí?¿Mi sistema está mal configurado, como pensó este reportero de errores de Debian?? No. Quizás en algún momento pstoeditla conversión a SVG fue software gratuito, peroya no.

SVG es un "complemento" shareware de pstoedit, y no hay ningún binario para mi sistema operativo, FreeBSD.

¿Cómo puedo tener matemáticas SVG y realmente SVG cualquier otra cosa marcada entre algún comando y htlatexsin pstoedit?

He determinado que htlatexfunciona internamente generando primero un archivo EPS, por ejemplo zztest.eps. Luego lo intenta pstoedit -f svg zztest.eps test0x.svg. Así que pensé en probar con otro convertidor, pero otros convertidores, como uniconvertory inkscape -z, no reconocen adecuadamente la magia de LaTeX y colocan el EPS en un lienzo enorme (ver más abajo). Además, es engorroso tener que ejecutar el otro convertidor cada vez; debería haber una manera de especificar qué convertidor usar.

ingrese la descripción de la imagen aquí

La imagen debería verse como la salida de default htlatex, solo como un SVG.

ingrese la descripción de la imagen aquí

Respuesta1

Realmente deberíamos reemplazarlo pstoeditcon algo mejor. En realidad, el proceso en el que convertimos DVIa PostScripty luego a SVGno es realmente necesario hoy en día, ya que hoy en día existe un convertidor DVIdirecto .SVG

Puedes cambiar los comandos para la conversión de imágenes en tex4ht.envun archivo, pero este proceso no es realmente fácil. En su lugar, usaría make4ht, que es un reemplazo moderno htlatexcon soporte para archivos de compilación. Puede especificar comandos personalizados para la conversión de imágenes en estos archivos de compilación.

Guarde el siguiente código como test.mk4:

Make:image("svg$","dvisvgm -n -p ${page} -c 1.4,1.4 -s ${source} > ${output}")

El archivo de compilación es un script Lua, Make:imageel comando proporciona un comando para la conversión de imágenes. Este comando tiene dos argumentos, el primero es el formato de imagen configurado (es una expresión regular, por lo tanto $al final), el segundo es la plantilla para el comando de conversión. Hay tres parámetros importantes: ${source}el nombre del DVIarchivo, ${page}el número de página de la imagen convertida y ${output}el nombre de la imagen generada.

Puede compilar su documento usando el comando

make4ht -c c.cfg test.tex

El archivo de compilación se usa automáticamente cuando se le asigna el nombre de archivo TeX de entrada con .mk4extensión.

Último comentario sobre la calidad matemática: sería mejor usar mathmlel formato, porque las imágenes también tienen otros problemas además de la resolución (accesibilidad, falta de coincidencia entre los tamaños de fuente, no se alinean con la línea de base y probablemente muchos más). El problema mathmles la escasa compatibilidad con el navegador, que es prácticamente inexistente aparte de Firefox. Mathjax agrega un buen soporte para todos los navegadores, pero entiendo perfectamente que eso no te guste. Existe la posibilidad de utilizar Mathjax en el momento de la compilación. Este método se reemplaza mathmlcon portable HTML, que luego se puede mostrar sin Javascript. VerNodo Mathjax. La próxima versión de Make4ht brindará opciones para este proyecto.

información relacionada