# Rendering TeX formulas as equation objects in XLSX

6 messages
Open this post in threaded view
|

## Rendering TeX formulas as equation objects in XLSX

 Hi, I'm trying to render LaTeX equations like:     \sigma=\frac{\sqrt{3}}{2} into Excel equation objects. The JLatexMath package allows one to render a latex equation into a PNG image. I tried that, but it seems that the SXSSF streaming interface doesn't allow me to add images to the workbook. I'm considering an alternative solution, streaming or not, to render latex equations directly into equation objects (the ... drawingml objects IIUC). What I have available from JLatexMath is a Graphics2D interface, so the equations can be painted onto a Graphics2D context. The closest match I found in POI is the EscherGraphics2D class. Is there any existing way with POI to convert latex into an xml equation/math drawing object? I found https://github.com/jgm/texmath that is doing exactly that, but it's Haskell. Haven't found anything equivalent in Java. Any ideas? Thanks, -- Cosimo --------------------------------------------------------------------- To unsubscribe, e-mail: [hidden email] For additional commands, e-mail: [hidden email]
Open this post in threaded view
|

## Re: Rendering TeX formulas as equation objects in XLSX

 Cosimo, assuming you will need "streaming/SXSSF" solely for large data, but not because of many formulas, maybe you can: 1) first create a XSSF workbook and add your formula objects/pictures and save it and 2) then create a SXSSF from that XSSF template with the formula objects/pictures and fill it with your large data Good luck and cheers. Andreas On Fri, 2020-10-23 at 10:44 +0200, Cosimo wrote: > Hi, > > I'm trying to render LaTeX equations like: > >     \sigma=\frac{\sqrt{3}}{2} > > into Excel equation objects. The JLatexMath package allows one to > render a latex equation into a PNG image. I tried that, but it seems > that the SXSSF streaming interface doesn't allow me to add images to > the workbook. > > I'm considering an alternative solution, streaming or not, to render > latex equations directly into equation objects (the > ... drawingml objects IIUC). > > What I have available from JLatexMath is a Graphics2D interface, so > the equations can be painted onto a Graphics2D context. The closest > match I found in POI is the EscherGraphics2D class. > Is there any existing way with POI to convert latex into an xml > equation/math drawing object? > > I found https://github.com/jgm/texmath that is doing exactly that, > but it's Haskell. > Haven't found anything equivalent in Java. > > Any ideas? > > Thanks, >
Open this post in threaded view
|

## Re: Rendering TeX formulas as equation objects in XLSX

 In reply to this post by Cosimo Btw, there seems to be a stylesheet that translates MathML into OMML: https://github.com/python-openxml/python-docx/files/1453769/MML2OMML.zipAnd this shows how to use it: https://stackoverflow.com/questions/46623554/add-latex-type-equation-in-word-docx-using-apache-poiGood luck! On Fri, 2020-10-23 at 10:44 +0200, Cosimo wrote: > Hi, > > I'm trying to render LaTeX equations like: > >     \sigma=\frac{\sqrt{3}}{2} > > into Excel equation objects. The JLatexMath package allows one to > render a latex equation into a PNG image. I tried that, but it seems > that the SXSSF streaming interface doesn't allow me to add images to > the workbook. > > I'm considering an alternative solution, streaming or not, to render > latex equations directly into equation objects (the > ... drawingml objects IIUC). > > What I have available from JLatexMath is a Graphics2D interface, so > the equations can be painted onto a Graphics2D context. The closest > match I found in POI is the EscherGraphics2D class. > Is there any existing way with POI to convert latex into an xml > equation/math drawing object? > > I found https://github.com/jgm/texmath that is doing exactly that, > but it's Haskell. > Haven't found anything equivalent in Java. > > Any ideas? > > Thanks, >
Open this post in threaded view
|

## Re: Rendering TeX formulas as equation objects in XLSX

 On Fri, Oct 23, 2020, at 12:11, Andreas Reichel wrote: > And this shows how to use > it: https://stackoverflow.com/questions/46623554/add-latex-type-equation-in-word-docx-using-apache-poiSeems to be a good approach, thanks! -- Cosimo --------------------------------------------------------------------- To unsubscribe, e-mail: [hidden email] For additional commands, e-mail: [hidden email]
 On Fri, Oct 23, 2020, at 14:09, Cosimo wrote: > On Fri, Oct 23, 2020, at 12:11, Andreas Reichel wrote: > > > And this shows how to use > > it: https://stackoverflow.com/questions/46623554/add-latex-type-equation-in-word-docx-using-apache-poi> > Seems to be a good approach, thanks! I am not familiar with poi, but I can't see any way to add a "omath object", whatever these things are called, to an XSSFWorkbook. Based on that SO post, for Word, the path is doc.createParagraph() and then paragraph.getCTP().addNewOMath(). For an XSSFWorkbook, how would one get there? Sheet -> Drawing -> CTDrawing -> ?? -- Cosimo --------------------------------------------------------------------- To unsubscribe, e-mail: [hidden email] For additional commands, e-mail: [hidden email]
 Cosima, unfortunately it looks like you would need to go via XSSFSheet -->  getCTWorkbook() https://poi.apache.org/apidocs/dev/org/apache/poi/xssf/usermodel/XSSFWorkbook.html#getCTWorkbookGood luck. Andreas On Fri, 2020-10-23 at 17:43 +0200, Cosimo wrote: > On Fri, Oct 23, 2020, at 14:09, Cosimo wrote: > > On Fri, Oct 23, 2020, at 12:11, Andreas Reichel wrote: > > > > > And this shows how to use > > > it: https://stackoverflow.com/questions/46623554/add-latex-type-equation-in-word-docx-using-apache-poi> > > > Seems to be a good approach, thanks! > > I am not familiar with poi, but I can't see any way to add a "omath > object", > whatever these things are called, to an XSSFWorkbook. > > Based on that SO post, for Word, the path is doc.createParagraph() > and > then paragraph.getCTP().addNewOMath(). > For an XSSFWorkbook, how would one get there? > > Sheet -> Drawing -> CTDrawing -> ?? >