Company
Interactive Demos
This demo allows the user to convert LaTeX
(pronounced "Lah-tek" or "Lej-tek") documents into a PNG-image. LaTeX goes back to
Donald E. Knuth's
TeX (pronounced "Tek"). LaTeX is very well suited for scientific and technical documents.
LaTeX translates the input source text into the DVI-format (DeVice-Independent) -
which is converted into the EPS-format Encapsulated PostScript) by means of the tool dvips (DVI-to-PostScript).
Then, Ghostscript is used to convert the corresponding EPS-file into the
PNG-format (Portable Network Graphics) which is fit for the world wide web.
As alternative PDF and various other graphic formats are possible. Installed software: TexLive 2008 (scheme-full) and Ghostscript 8.63
This demo is also available as an Adobe Flash-Applet.
Hint: Please use \usepackage[utf8]{inputenc} instead of encodings like \usepackage[latin1]{inputenc}, or disable explicitly the UTF-8 checkbox! New: File upload with optional PNG/JPG to EPS conversion!
Alternativ kann diese Demo direkt über eine CGI-Schnittstelle angesprochen werden.
eines GET-Requests ausgwertet:
utf8:
http://sciencesoft.at/image/latexurl/img.png?template=textutf8&src=Test:%20%C3%B6
latin1:
http://sciencesoft.at/image/latexurl/img.png?template=textutf8&urlencoding=latin1&src=Test:%20%F6
Wichtiger Hinweis: Diese Schnittstelle steht nur für nicht kommerzielle
Zwecke zur Verfügung.
Bei kommerzieller Nutzung wenden Sie sich bitte an office@sciencesoft.at. Weiters bitten wir
Sie, uns auch bei nicht-kommerzieller Nutzung dieser Schnittstelle über obige E-Mail-Adresse
zu benachrichtigen, damit wir Sie bei Änderung der Schnittstelle gegebenfalls informieren zu können.
Beispiel:
Bei kommerzieller Nutzung wenden Sie sich bitte an office@sciencesoft.at. Weiters bitten wir
Sie, uns auch bei nicht-kommerzieller Nutzung dieser Schnittstelle über obige E-Mail-Adresse
zu benachrichtigen, damit wir Sie bei Änderung der Schnittstelle gegebenfalls informieren zu können.
http://sciencesoft.at/image/latexurl/image.png?src=\sum_{n=1}^{+\infty}\frac{1}{n^2}=\frac{\pi^2}{6}
liefert als Ergebnis folgende Grafik zurück:
CGI-Parameter:
URL
http://sciencesoft.at/image/latexurl/?...
oder mit einem optionalen Dateinamen
http://sciencesoft.at/image/latexurl/image.png?...
Der POST-Request wird im Format UTF-8 erwartet.
oder mit einem optionalen Dateinamen
http://sciencesoft.at/image/latexurl/image.png?...
Der POST-Request wird im Format UTF-8 erwartet.
src
LaTeX Quelltext - maximale Länge 131072 Bytes
dev
Dieser Parameter legt das Ausgabeformat fest und kann folgende Werte annehmen:
der Parameter papersize mit folgenden Werten zulässig:
png16m|pngalpha|png256|png16|pngmono|pdfwrite|bmp16|bmp256|bmp16m|jpeg|
jpeggray|pnm|tiffgray|tiff12nc|tiff24nc|tiff32nc|tiffg3|tiffg4|psdrgb|swf
Der Default-Wert für diesen Parameter ist png16m.
Im Kontext mit dem Wert pdfwrite istjpeggray|pnm|tiffgray|tiff12nc|tiff24nc|tiff32nc|tiffg3|tiffg4|psdrgb|swf
der Parameter papersize mit folgenden Werten zulässig:
a4|letter|legal|tabloid|a6|a5|a3|a1|a0|b6|b5|b4|b3
pngalpha hat den optionale Parmetern bgcolor (=Hintergrundfarbe) im
6-stelligen HEX-Format.
dpi
Auflösung im Bereich von 60 - 600 dpi. Default-Wert ist 120 dpi.
ochem
Hat dieser optionale Parameter den Wert true, dann steht das
OCHEM-Paket zur Verfügung.
error
Hat dieser optionale Parameter den Wert true, dann wird im Falle
eines Fehlers die LaTeX-Fehlermeldung
zurückgegeben.
zurückgegeben.
result
Hat dieser optionale Parameter den Wert true, dann wird das Ergebnis
im Textformat
zurückgegeben: Status-Code OK & URL auf die generiere Grapfik
zurückgegeben: Status-Code OK & URL auf die generiere Grapfik
OK
http://sciencesoft.at/image/latexurl/latex.png?hash=2129519513&ext=png
http://sciencesoft.at/image/latexurl/latex.png?hash=2129519513&ext=png
Im Falle eines Fehlers: ERROR & mehrzeilige LaTeX Fehlermeldung
ERROR
This is pdfeTeXk, Version 3.141592-1.30.3-2.2 (Web2c 7.5.5) (format=latex 2006.1.3) 23 SEP 2008 07:18
...
This is pdfeTeXk, Version 3.141592-1.30.3-2.2 (Web2c 7.5.5) (format=latex 2006.1.3) 23 SEP 2008 07:18
...
urlencoding
latin1|utf8
Dieser optionale Parameter hat den Standardwert utf8. Achtung, dieser Wert wird nur im Falleseines GET-Requests ausgwertet:
utf8:
http://sciencesoft.at/image/latexurl/img.png?template=textutf8&src=Test:%20%C3%B6
latin1:
http://sciencesoft.at/image/latexurl/img.png?template=textutf8&urlencoding=latin1&src=Test:%20%F6
template
Dieser Paramter bewirkt, dass der per src übergebene LaTeX Quelltext in eine
bestehende Vorlage eingefügt wird. Der Default-Wert für diesen Parameter ist inlinemath
bestehende Vorlage eingefügt wird. Der Default-Wert für diesen Parameter ist inlinemath
no - keine Vorlage
inlinemath
\documentclass[12pt]{article} \pagestyle{empty} \begin{document}\\begin{math} ... \end{math}\\end{document}
text
\documentclass[12pt]{article} \pagestyle{empty} \begin{document} ... \end{document}
textutf8
\documentclass[12pt]{article} \pagestyle{empty} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \begin{document} ... \end{document}
math
\documentclass[12pt]{article} \pagestyle{empty} \begin{document} \begin{displaymath} ... \end{displaymath} \end{document}
ams
\documentclass[12pt]{article} \usepackage{amssymb,amsmath} \pagestyle{empty} \begin{document} \begin{displaymath} ... \end{displaymath} \end{document}
ochem
\documentclass{article} \pagestyle{empty} \usepackage{ochem} \begin{document} \begin{chemspecial} include(`utils.inc') include(`natur.inc') require("bicyclib") \end{chemspecial} \begin{chemistry} ... \end{chemistry} \end{document}
Beispiel
Dieses Beispiel generiert über die CGI-Schnittstelle eine PDF-Datei im Papierformat A4
mit
der Schrödingergleichung als Inhalt.
Sie können dieses Beispiel inklusive aller notwendigen Libraries über
folgenden
Link herunterladen.
/* * LaTeXClient.java - LaTeX CGI access example * Author: Peter Sauer (peter.sauer@sciencesoft.at) * Date of last modification: 2008-09-25 * HTTPClient: http://hc.apache.org/httpclient-3.x/userguide.html */ package at.sciencesoft.test; import org.apache.commons.httpclient.*; import org.apache.commons.httpclient.methods.*; import java.io.*; public class LaTeXClient { private static String url = "http://sciencesoft.at/image/latexurl"; private static String schroedinger = "\\documentclass[12pt]{article}\n" + "\\pagestyle{empty}\n" + "\\begin{document}\n"+ "\\begin{displaymath}\n" + "\\bf\n" + "\\int H(x,x')\\psi(x')dx' = -\\frac{\\hbar^2}{2m}\\frac{d^2}{dx^2}\n" + "\\psi(x)+V(x)\\psi(x)\n" + "\\end{displaymath}\n" + "\\end{document}\n"; public static void main(String[] args) throws Exception { // Prepare HTTP post PostMethod post = new PostMethod(url); // Request content will be retrieved directly from the input stream NameValuePair[] postdata = { new NameValuePair("src", schroedinger), new NameValuePair("dev", "pdfwrite"), new NameValuePair("papersize", "a4"), new NameValuePair("template", "no") }; // Set charset to UTF-8 post.setRequestHeader("Content-Type", PostMethod.FORM_URL_ENCODED_CONTENT_TYPE + ";charset=utf-8"); post.setRequestBody(postdata); // Get HTTP client HttpClient httpclient = new HttpClient(); // Execute request try { int result = httpclient.executeMethod(post); // Display status code System.out.println("Response status code: " + result); if (result == 200) { FileOutputStream test = new FileOutputStream("test.pdf"); test.write(post.getResponseBody()); test.close(); System.out.println("Success!"); } } finally { // Release current connection to the connection pool once you are done post.releaseConnection(); } } }
Handling
- The Start LaTeX button converts the source text in the input field into a graphical representation.
- The DPI(Dots Per Inch) input field indicates the resolution that is used to calculate the graphic representation (valid range: 60-600 DPI).
- This checkbox UTF-8 sets the encoding of the LaTeX source file. UTF-8 vs. Latin-1
- The Reset button clears the entire input field
- Templates or examples can be copied into the input field via the Load button and the pull-down-menu.
- The selection list Format enables the specification of the output format. In addition to the various image formats a PDF document can be produced with pdfwrite.