# Difference between revisions of "API:EPrints/Latex"

Jump to: navigation, search

Latest Source Code (3.4, 3.3) | Revision Log | Before editing this page please read Pod2Wiki

## NAME

EPrints::Latex - Module for handling rendering latex equations in metadata as images.

## DESCRIPTION

Some repositories may want to spot latex style equations in titles and abstracts and render these as images instead. This module provides that functionality.

## METHODS

### render_string

$xhtml = EPrints::Latex::render_string($session, $field,$value )


This function is intended to be passed by reference to the render_single_value property of a metadata field. It returns just an XHTML DOM string unless it spots anything which looks like a latex style equation, if so the equation is replaced with and img element, the URL of which is a CGI script which will render the equation as an image.

For example the equation

$x = \frac{-b_+_^-^\root{b^2^-4ac}}{2a}$



is the quadratic equation. If you're not a physics academic then that probably dosn't mean much to you, but that's how the physics community like to write their equations!

### texstring_to_png

$imgfile = EPrints::Latex::texstring_to_png($session, $texstring )  Returns the location of a PNG image file containing the latex fragment$texstring.

This uses a directory to generate and cache the images. So the system only has to go to the effort of rendering any equation once. The directory is latexcache in the htdocs directory of the repository.

The filename of the cached png is the md5 of the latex equation as a string of hex characters.

The images always have a white background.

This uses the rather obvious system of creating a LaTeX file with \$texstring in, running latex on it, running dvips on the resulting DVI file to get a postscript file of a page with the equation in the corner. Then uses GNU convert to crop the PostScript file and turn it into a PNG.

## COPYRIGHT

© Copyright 2022 University of Southampton.

EPrints 3.4 is supplied by EPrints Services.

### LICENSE

This file is part of EPrints 3.4 http://www.eprints.org/.

EPrints 3.4 and this file are released under the terms of the GNU Lesser General Public License version 3 as published by the Free Software Foundation unless otherwise stated.

EPrints 3.4 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with EPrints 3.4. If not, see http://www.gnu.org/licenses/.