2009-04-30 20 views
15

Quiero obtener una vista previa de las fórmulas de TeX en mi interfaz de usuario. Después de un minucioso desde hace mucho tiempo, me parece que no hay otra posibilidad que¿Hay una API de TeX para C++?

  • escribir la fórmula en un archivo .tex
  • tex llamada con el sistema() y escribir un archivo DVI
  • llamada, por ejemplo, dvipng con sistema() y escriba un archivo png
  • cargue este archivo en la GUI
  • limpieza (borre todos estos archivos).

Creo que el rendimiento de esta manera no es un problema, ya que solo hay fórmulas para representar y no documentos completos. Pero configurar el entorno automáticamente para el sistema TeX parece ser un problema mayor. Entonces, ¿existe la posibilidad de incluir TeX como API en mi programa? ¡Muchas gracias!

+2

Solo un poco de nitpicking aquí, pero debe escribirlo como TeX, no como TEX. No es gran cosa, pero los verdaderos "TeXperts" fruncirían el ceño;) – dreamlax

+0

Gracias, tienes razón :) – nobbi

+0

Tu pregunta es muy buena. Yo también quiero ese dll. Quiero llamar a alguna función (texto TeX) y obtener un mapa de bits como resultado. –

Respuesta

2

¿No pudo encapsular esos pasos en un solo script de shell (es decir, que toma la fórmula y el nombre del archivo png como argumentos)? La secuencia de comandos también podría manejar la configuración del entorno para TeX. Su programa solo llama al script con la llamada al sistema().

0

LyX es un procesador de documentos basado en TeX. Como la aplicación es de código abierto, puedes inspeccionar el código C++ para ver cómo se enfrentan con el problema que describes.

1

No estoy seguro, pero creo que el Componente de MathType se sobrepasará.

También eche un vistazo a sideshare y vea el video en flash para obtener más información sobre sitmo, MathMagig, Edoboard y sus herramientas de API.

buena suerte.

2

Hay una API de C para TeX llamada MimeTeX pero la imagen resultante es ... no es tan bonita como podría ser.

Si estás bien con Java, no es JLatexMath

Y si desea una versión de WPF, uno está bajo desarrollo en WPFMath

+0

WPF-Math se ha mudado oficialmente a GitHub: https://github.com/ForNeVeR/wpf-math (descargo de responsabilidad: soy su 'mantenedor). – ForNeVeR

0

Para Edoboard y Tutorsbox.com hacemos lo siguiente:

Mantener una lista negra de látex para evitar comandos:

TEX_BLACKLIST = ["\\def", "\\let", "\\futurelet", 
    "\\newcommand", "\\renewcommand", "\\else", "\\fi", "\\write", 
    "\\input", "\\include", "\\chardef", "\\catcode", "\\makeatletter", 
    "\\noexpand", "\\toksdef", "\\every", "\\errhelp", "\\errorstopmode", 
    "\\scrollmode", "\\nonstopmode", "\\batchmode", "\\read", "\\csname", 
    "\\newhelp", "\\relax", "\\afterground", "\\afterassignment", 
    "\\expandafter", "\\noexpand", "\\special", "\\command", "\\loop", 
    "\\repeat", "\\toks", "\\output", "\\line", "\\mathcode", "\\name", 
    "\\item", "\\section", "\\mbox", "\\DeclareRobustCommand", "\\[", "\\]"]; 

a continuación, hacer la llamada al sistema "látex y textopng".

Que como un API REST más algo de caché y aquí va :) Como una actualización, pronto convertiremos esas imágenes LaTeX como SVG.

Cuestiones relacionadas