Kênh 360 Công Nghệ Kênh 360 Công Nghệ

Trang chủ - Thiết kế web - Thiết kế web - mimeTeX - Hiển thị toán học trên website

mimeTeX - Hiển thị toán học trên website

Chỉ mục bài viết
mimeTeX - Hiển thị toán học trên website
mimeTeX page 2
mimeTeX page 3
mimeTeX page 4
Tất cả các trang
Sử dụng mimeTeX để hiển thị công thức toán học trên website.
Click for: LaTeX tutorial
mimeTeX QuickStart
download mimeTeX
more_examples...
(See Writing Math on the Web for a more general discussion.)

Copyright © 2002-2009, John Forkosh Associates, Inc.

Table of Contents


C o n t e n t s

- - - T u t o r i a l - - -
Introduction
a. Quick Start
b. Examples
c. GPL License
(II) Building mimeTeX
a. Compile
b. Install
c. Compile Options
d. Command Line
(III) Syntax Reference
a. Math & White Space
b. Symbols, Sizes, Modes
c. Delimiters
d. Accents, Arrows, etc.
e. \begin{array}
f. \picture( ){ }
g. Other Commands
h. Other Exceptions
i. Errors and Messages
(IV) Appendices
a. Fonts
b. make_raster()
c. gifsave.c
Remarks

This page contains more information than you'll probably need to read. If you follow the Installation and Usage Summary below, try installing mimeTeX immediately. Or continue reading until you feel comfortable trying to install mimeTeX. Prerequisites are: some knowledge of your OS's shell, of installing cgi's, of LaTeX.
"Computers are like Old Testament gods: lots of rules and no mercy."
–– Joseph Campbell, The Power of Myth (Doubleday 1988, page 18)

- - - - - - I n s t a l l a t i o n a n d U s a g e S u m m a r y - - - - - -
Installation: Download mimetex.zip and then type
unzip mimetex.zip
cc -DAA mimetex.c gifsave.c -lm -o mimetex.cgi
Now just mv mimetex.cgi to your cgi-bin/ directory,
set permissions as necessary, and you're all done.
Usage: To see the image

just write the tag
<img src="/cgi-bin/mimetex.cgi?
x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}">

(I) Introduction

MimeTeX, licensed under the gpl, lets you easily embed LaTeX math in your html pages. It parses a LaTeX math expression and immediately emits the corresponding gif image, rather than the usual TeX dvi. And mimeTeX is an entirely separate little program that doesn't use TeX or its fonts in any way. It's just one cgi that you put in your site's cgi-bin/ directory, with no other dependencies. So mimeTeX is very easy to install. And it's equally easy to use. Just place an html <img> tag in your document wherever you want to see the corresponding LaTeX expression. For example,

  <img src="/cntt/../cgi-bin/mimetex.cgi?f(x)=\int_{-\infty}^xe^{-t^2}dt"
alt="" border=0 align=middle>

immediately generates the corresponding gif image on-the-fly, displaying wherever you put that <img> tag. MimeTeX doesn't need intermediate dvi-to-gif conversion, and it doesn't create separate gif files for each converted expression. (But you can enable image caching with mimeTeX's -DCACHEPATH=\"path/\" compile option.)

mimeTeX plugins...

There's no inherent need to repeatedly write the cumbersome <img> tag illustrated above. You can write your own custom tags, or write a wrapper script around mimeTeX to simplify the notation.

For example, the following javascript snippet (based on mathtran's mathtran_img.js) lets you just write <img alt="mimetex:c=\sqrt{a^2+b^2}"> wherever you want to see

   <script type="text/javascript">
<!--
// Create a namespace to hold variables and functions
mimetex = new Object();
// Change this to use your server
mimetex.imgSrc = "http://www.yourdomain.com/cgi-bin/mimetex.cgi?";
// Transform the whole document: add src to each img with
// alt text starting with "mimetex:", unless img already has a src.
mimetex.init = function () {
if (! document.getElementsByTagName) return;
var objs = document.getElementsByTagName("img");
var len = objs.length;
for (i=0; i<len; i++) {
var img = objs[i];
if (img.alt.substring(0,8) == 'mimetex:')
if (!img.src) {
var tex_src = img.alt.substring(8);
img.src = mimetex.imgSrc + encodeURIComponent(tex_src);
// Append TEX to the class of the IMG.
img.className +=' tex'; }
}
mimetex.hideElementById("mimetex.error"); }
// Utility function
mimetex.hideElementById = function (id) {
var obj = document.getElementById(id);
if (obj) obj.style.display = 'none'; }
// resolve a cross-browser issue (see CBS events)
mimetex.addEvent = function (obj, evType, fn, useCapture) {
if (obj.addEventListener) { //For Mozilla.
obj.addEventListener(evType, fn, useCapture);
return true; }
else if (obj.attachEvent) { //For Internet Explorer.
var r = obj.attachEvent("on"+evType, fn);
return r; }
}
// Initialize after entire document is loaded
mimetex.addEvent(window, 'load', mimetex.init, false);
-->
</script>

Bulletin boards, wikis, etc, can also incorporate mimeTeX images with short scripts. For example, if you're using phpBB2, then Jameson contributed the following typical one-line mod that lets you write [tex] c=\sqrt{a^2+b^2} [/tex] to obtain the same image illustrated above

   #--------[open]-----------------------------------------------------
/includes/bbcode.php
#--------[find]-----------------------------------------------------
// Remove our padding from the string..
#--------[before, add]----------------------------------------------
$text = preg_replace('/\[tex\](.*?)\[\/tex\]/ie',
"'<img src=\"/cgi-bin/mimetex.cgi?'.rawurlencode('$1').'\" align=\"middle\" />'",
$text);

If you're using phpBB3, then no mod is even needed. Just click Postings from the Administrator Control Panel, and add the custom BBCode [tex]{TEXT}[/tex] with the HTML replacement <img src="/cgi-bin/mimetex.cgi?{TEXT}" align=middle>

Similarly, PmWiki also has a mimeTeX plugin that lets you just write {$ f(x)=\int_{-\infty}^xe^{-t^2}dt $} to obtain that same image. Several other packages also have similar mimeTeX plugins:

Package Plugin
PmWiki mimeTeX plugin
MediaWiki "mimeTeX alternative"
PunBB mimeTeX plugin
Movable Type mimeTeX plugin
WordPress mimeTeX plugin
Joomla mimeTeX plugin
Mambo "mimeTeX bot"

Please note: If you're writing your own plugin for mimeTeX, please don't write php code using system( ), or any other shell escape mechanism, just to cache images. Use mimeTeX's -DCACHEPATH=\"path/\" compile option instead. system( ) raises security issues, either real ones if used carelessly, or just in the minds of system administrators. Either way, I've received many emails from people unable to use mimeTeX because of unnecessary system( ) calls prohibited by security-conscious sysadmins. MimeTeX itself poses minimal risk when used as illustrated above, but you're responsible for any plugin/wrapper script you write around it.

Vertical alignment...

An image like doesn't look as good as the same image that's vertically aligned with your surrounding text. Along with several standard HTTP header fields, mimeTeX also emits a special Vertical-Align: –nn header, where nn is the number of pixels (usually negative as illustrated) needed for a style="Vertical-Align: –nn px" attribute in the <img> tag used to render your expression.

But mimeTeX's special Vertical-Align: header is unrecognized and ignored by your browser. You have to get the header, interpret it, and write the corresponding <img> tag. The only feasible way to do all this is using a scripting language, as illustrated by the following, rather naive, php code

   <?php
$mimetexurl = "http://www.yourdomain.com/cgi-bin/mimetex.cgi?";
function verticalalign( $expression ) {
global $mimetexurl;
// note: curl_init() stops at the first whitespace char in $url argument
$expression = ereg_replace(" ","~",$expression); // so remove whitespace
$url = $mimetexurl . $expression;
$valign = "0";
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_HEADER, true );
$gif = curl_exec( $ch );
$errno = curl_errno( $ch );
curl_close( $ch );
if ( $errno == 0 ) {
$fields = explode("Vertical-Align:",$gif);
$vfield = trim($fields[1]);
$fldlen = strspn($vfield,"+-0123456789");
$valign = substr($vfield,0,$fldlen); }
return $valign;
}
function mimetextag( $expression ) {
global $mimetexurl;
$valign = verticalalign($expression);
$url = $mimetexurl . $expression;
echo ' <img src="',$url,'" ';
echo ' style="Vertical-Align:',$valign,'px" ';
echo ' alt="" border=0>', "\n";
}
?>

Now you can write <?php mimetextag('\frac12\left(a^2+b^2\right)'); ?> wherever you want to see correctly aligned. This code calls mimeTeX twice to render each expression, once to get the Vertical-Align: header and build an <img> tag, and then again to render that tag. If you're a good php programmer and write better code, please email me a copy.

If you're using mimeTeX's -DCACHEPATH=\"path/\" compile option, prefix your path/ with a leading % and write -DCACHEPATH=\"%path/\" instead. That leading % won't become part of your cache directory's path/, but it will signal mimeTeX to cache headers along with each image. Otherwise, the Vertical-Align: information is lost, and attempts to align cached images will fail.

Alternative solutions...

MimeTeX's benefit over similar math-on-the-web solutions is, as mentioned above, its easy installation. But if that's not a problem for you, and if your site's server already has a LaTeX distribution installed, and suitable image conversion utilities like ImageMagick, then you may prefer to look at a math rendering script like latexrender which uses LaTeX to create higher quality images than mimeTeX produces. For comparison, , with arbitrary mean and standard deviation , and at mimeTeX's next larger font size, looks like

latexrender mimeTeX

Similar LaTeX-based solutions that you may want to look at are mathtran, textogif and gladTeX. Additional discussion and several more links are at www.tug.org/interest.html and in the tex-faq.

For example, mathtran is a public LaTeX web service that's particularly easy to use by following these simple instructions. In the <head> of your html page, place the tag
<script type="text/javascript"
src="http://www.mathtran.org/js/mathtran_img.js"></script>
and in the <body>, wherever you want to see latex images, place tags like
<img alt="tex:any latex math expression">
For comparison,
<img alt="tex: f(x) = \frac1{\sigma\sqrt{2\pi}}
\int_{-\infty}^x e^{-\frac{(t-\mu)^2}{2\sigma^2}}dt">
looks like

mathtran mimeTeX
tex:\displaystyle f(x) = \frac1{\sigma\sqrt{2\pi}}          \int_{-\infty}^x e^{-\frac{(t-\mu)^2}{2\sigma^2}}dt

You may now want to browse the additional Examples below before proceeding, to make sure mimeTeX suits your needs before you spend more time learning to use it.

(Ia) Quick Start

MimeTeX is as TeX-like as possible (though not 100% compliant), and you must already be familiar with LaTeX math markup to use it. If you're not, many online LaTeX turorials are readily available. You may also want to browse Andrew Roberts' Latex Math I and Latex Math II, or my own LaTeX math tutorial. Then, instead of continuing to read this page, you can just Submit any LaTeX math expression you like in the Query Box below. I've started you out with a little example already in the box, or you can Click any of the Examples below to place that corresponding expression in the Query Box.

Meanwhile, here are just a few quickstart tips for Submitting your own mimeTeX expressions in the Query Box below:

  • MimeTeX currently has eight font sizes selected by one of the usual directives \tiny or \small or \normalsize , or \large (default) or \Large or \LARGE , or \huge or \Huge . Unlike standard LaTeX, font size directives may appear within math mode expressions. They affect everything to their right, except that their scope will be limited to any { }-enclosed subexpression in which they occur. For example, "a+\small b+c" renders , whereas "\small a+{\Large b+}c" renders .
  • By default, mimeTeX renders limits textstyle at sizes \normalsize and smaller, and renders them displaystyle at sizes \large and larger. The LaTeX directives \displaystyle or \textstyle, and \limits or \nolimits, override mimeTeX's default in the usual way. Or see the -DDISPLAYSIZE=n compile option below to change the default.

Now enter your own LaTeX expression, use the sample provided, or Click any of the Examples. Then press the Submit button, and mimeTeX's rendering should be displayed in the little window immediately below it.

First enter your own LaTeX expression, or Click any example...

Now click Submit to see it rendered below...
&amp;amp;lt;p&amp;amp;gt;iframe's not supported if you see this.&amp;amp;lt;/p&amp;amp;gt;

You should see if you submit the sample expression already in the box. Or see error messages whenever an unexpected image is displayed instead.

The <img> tag to embed this same integral anywhere in your own document is

 <img src="/cntt/../cgi-bin/mimetex.cgi?\large f(x)=\int_{-\infty}^xe^{-t^2}dt"
alt="" border=0 align=middle>

And recall that the typical mimeTeX <img> tag has the form

 <img src="/cntt/../cgi-bin/mimetex.cgi?any valid LaTeX/mimeTeX expression"
alt="" border=0 align=middle>

where ../cgi-bin/mimetex.cgi is the relative path from your html page containing these tags to your compiled mimetex.cgi program, and where any valid LaTeX/mimeTeX expression is pretty much any valid LaTeX math expression:

  • There are occasional exceptions where I couldn't program mimeTeX to recognize valid LaTeX syntax. One particular "gotcha" is that mimeTeX bindings are pretty much left-to-right. Thus, for example, although mimeTeX correctly interprets \frac12 as well as \frac1{x^2}, etc, the legal LaTeX expression x^\frac12 must be written x^{\frac12}. Otherwise, mimeTeX interprets it as {x^\frac}12, i.e., the same way x^\alpha12 would be interpreted, which is nonsense for \frac. The same "gotcha" also applies to other combinations of commands, e.g., you must write \sqrt{\frac\alpha\beta}, or \frac\alpha{\sqrt\beta}, etc. The Syntax Reference section contains much additional information.
  • And there are various additional syntactic and cosmetic differences between LaTeX and mimeTeX. For example, bounding boxes for mimeTeX's character bitmaps don't accommodate italic corrections. Therefore, an expression like \int\nolimits_a^b renders rather than . To render the latter image you have to write the somewhat cumbersome expression {\smashmargin2{\int\nolimits_a}^b} instead (see smash below).
  • Besides such exceptions, mimeTeX also provides various LaTeX extensions. For example, font size directives like \Large are permitted within mimeTeX math mode expressions, but flagged as errors by LaTeX.

(Ib) Examples

Here are various additional random examples further illustrating mimeTeX's features and usage. To see how they're done, Click any one of them to place its corresponding expression in the Query Box above. Then press Submit to re-render it, or you can edit the expression first to suit your own purposes.

(1)
(2)
(3)
(4)
solution for quadratic

definition of derivative
(5) illustrating \frac{}{} for continued fraction
(6) illustrating \left\{...\right.
and note the accents
(7) \overbrace{}^{} and \underbrace{}_{}
(TeXbook page 181, Exercise 18.41)
(8)

demonstrating \begin{array}'s dashed lines
(9) Block diagonal form using nested \begin{array}'s.
Also, note rows aligned across all three arrays.
(10) using \begin{eqnarray} to align equations
(11) commutative diagram using \begin{array}
(12) mimeTeX \picture(size){pic_elems} "environment", illustrating the image charge - q for a grounded conducting sphere of radius a with a charge q at distance r > a outside it.
(13) \picture "environment" illustrating the surface polarization charge induced by a uniform electric field. Inside the slab of material, the volume polarization charge clearly vanishes.

The little dipole image is drawn only once, then multiput across two columns, and then that result is further multiput down the rows. MimeTeX \picture's can be used as picture elements in other pictures, nested to any level. The image at left is picture-in-picture-in-picture.



Some font examples ...

Finally, illustrated below are some examples of fonts and symbols available with mimeTeX. All symbols and sizes from cmr, cmmi, cmmib (use \mathbf{ }), cmsy, cmex, bbold (use \mathbb{ }), rsfs (use \mathscr{ }), stmary and cyrillic wncyr (use {\cyr } or \cyr{ }) should be available, but they're not all shown. And also not shown are various "constructed symbols" like \sqrt, accents, etc. The illustrated font sizes are numbered 4=\Large, 3=\large and 2=\normalsize (not shown are 7=\Huge, 6=\huge, 5=\LARGE, 1=\small and 0=\tiny).

cmmi latin uppercase, and lowercase

calligraphic, and rsfs (\cal{A}, \scr{B}, etc)

cmmi greek uppercase, and \var lowercase

cmmi greek lowercase

cmsy symbols at mimeTeX font size 3
(operators shown large are automatically "promoted"
to the larger size in \displaystyle mode)

a few other cmmi, cmr, stmary and wncyr symbols at mimeTeX font size 4

(Ic) GPL License

"My grandfather once told me there are two kinds of people:
Those who do the work and those who take the credit.
He told me to try to be in the first group; there was much less competition.
"
Indira Gandhi, the late Prime Minister of India

MimeTeX's copyright is registered by me with the US Copyright Office, and I hereby license it to you under the terms and conditions of the GPL. There is no official support of any kind whatsoever, and you use mimeTeX entirely at your own risk, with no guarantee of any kind, in particular with no warranty of merchantability.

By using mimeTeX, you warrant that you have read, understood and agreed to these terms and conditions, and that you possess the legal right and ability to enter into this agreement and to use mimeTeX in accordance with it.

Hopefully, the law and ethics regarding computer programs will evolve to make this kind of obnoxious banter unnecessary. In the meantime, please forgive me my paranoia.

To protect your own intellectual property, I recommend Copyright Basics from The Library of Congress, in particular Circular 61, Copyright Registration for Computer Programs. Very briefly, download Form TX and follow the included instructions. In principle, you automatically own the copyright to anything you write the moment it's on paper. In practice, if the matter comes under dispute, the courts look _very_ favorably on you for demonstrating your intent by registering the copyright.

(II) Building mimeTeX


Very quickly --- download mimetex.zip and then type
unzip mimetex.zip
cc -DAA mimetex.c gifsave.c -lm -o mimetex.cgi
Now mv mimetex.cgi to your cgi-bin/ directory, and you're all done.
Read the rest of this section for more detailed information.

I've built and run mimeTeX under Linux and NetBSD using gcc. The source code is ansi-standard C, and should compile and run under all environments without change. Instructions below are for Unix. Modify them as necessary for your particular situation (note the -DWINDOWS switch if applicable).

(IIa) Download and Compile

The steps needed to download and compile mimeTeX are

  • Download and unzip mimetex.zip in any convenient working directory. Your working directory should now contain
    README mimeTeX release notes
    COPYING GPL license, under which you may use mimeTeX
    mimetex.c mimeTeX source program and all required functions
    mimetex.h header file for mimetex.c (and for gfuntype.c)
    gfuntype.c parses output from gftype -i and writes bitmap data
    texfonts.h output from several gfuntype runs, needed by mimetex.c
    gifsave.c gif library by Sverre H. Huseby http://shh.thathost.com
    mimetex.html this file, the mimeTeX user's manual
    Note: all files use Unix line termination, i.e., linefeeds (without carriage returns) signal line endings. Conversion for Windows PC's, Macs, VMS, etc, can usually be accomplished by unzip's -a option, i.e., unzip -a mimetex.zip

  • To compile an executable that emits anti-aliased gif images (which is recommended for most uses), just type the following command from the Unix shell
    cc -DAA mimetex.c gifsave.c -lm -o mimetex.cgi
  • Or, to compile an executable that emit gif images without anti-aliasing
    cc -DGIF mimetex.c gifsave.c -lm -o mimetex.cgi
  • Alternatively, to compile an executable that emits mime xbitmaps
    cc -DXBITMAP mimetex.c -lm -o mimetex.cgi
  • Compile Notes:
    • If (and only if) you're compiling a Windows executable with the -DAA or -DGIF option (but not -DXBITMAP), then add -DWINDOWS . For example,
      gcc -DAA -DWINDOWS mimetex.c gifsave.c -lm -o mimetex.exe
      The above Unix-like syntax works with MinGW and djgpp Windows compilers, but probably not with most others, where it's only intended as a "template".
      Explanation: mimeTeX writes gif bytes directly to stdout, as usual for cgi's. But Windows treats stdout as a character stream, interpreting any hex 0A byte as an <lf>, and automatically preceding it with a spurious hex 0D <cr> byte. The -DWINDOWS switch compiles in a non-portable, Windows-specific _setmode() call that sets stdout to binary mode.
    • If you're compiling for Windows and would prefer to install mimeTeX as a Win32 DLL, see the Code Project developed by Shital Shah, and download eq2img_all.zip containing Shital's latest code.
    • If you install mimeTeX on one server and try to use it from another, you may instead see messages like

      In this case, compile mimetex.cgi with the -DNOREFCHECK switch, e.g.,
      cc -DAA -DNOREFCHECK mimetex.c gifsave.c -lm -o mimetex.cgi
      and read the -DREFLEVELS=n discussion under compile options below.
  • The gfuntype program is only needed if you plan to change the font information in texfonts.h, as explained in Appendix IVa below. In that case, compile gfuntype with the command
    cc gfuntype.c mimetex.c -lm -o gfuntype

That's all there is to compiling mimeTeX. Several other optional compile-line options available for mimetex.c are discussed below.

Immediately after compiling mimeTeX, test your new executable by typing ./mimetex.cgi "x^2+y^2" from the Unix shell (or mimetex "x^2+y^2" from the Windows Command Prompt), which should emit two "ascii rasters" something like the following

Ascii dump of bitmap image...           Hex dump of colormap indexes...
...........**....................**... ..........1**1...................1**1..
..........*..*......*...........*..*.. ..........*23*......*............*23*..
.............*......*..............*.. .............*......*...............*..
....****.....*......*.....*..*.....*.. ...1****....2*......*.....2*..*....2*..
...*.*.*....*.......*....**..*....*... ...*.*.*...1*.......*.....**..*...1*...
.....*.....*.*..********..*..*...*.*.. ....1*1...2*.*..********..3*..*..2*.*..
.....*....****......*.....*..*..****.. ....2*2...****......*......*12*..****..
..*.*.*.............*.....*.*......... ..*.*.*.............*......*.*2........
...****.............*.....***......... ..1****.............*......***.........
....................*.......*......... ....................*........*.........
.........................*.*.......... ..........................*.*1.........
.........................**........... ..........................**1..........
The 5 colormap indexes denote rgb vals...
.-->255 1-->196 2-->186 3-->177 *-->0

(The right-hand illustration shows asterisks in the same positions as the left-hand one, along with anti-aliased grayscale colormap indexes assigned to neighboring pixels, and with the rgb value for each index.) Just typing ./mimetex.cgi without an argument should produce ascii rasters for the default expression f(x)=x^2. If you see these two ascii rasters then your binary's good. Otherwise, you must find and fix the problem before proceeding.

(IIb) Install

Once you've successfully tested mimetex.cgi from the Unix shell (or mimetex.exe from the Windows Command Prompt), the steps needed to install mimeTeX are

  • mv mimetex.cgi (or move mimetex.exe) to your server's cgi-bin/ directory, wherever cgi programs are expected.
  • Now you may need to chmod 755 mimetex.cgi and/or chown it, too, depending on your server's requirements. Contact your system administrator or ISP if you're not already familiar with this information.
  • Once mimetex.cgi is moved to your server's cgi-bin/ directory, with permissions and owner set as necessary, you're all done.

Immediately after installing mimeTeX, test your new mimetex.cgi by typing a url into your browser's locator window something like
http://www.yourdomain.com/cgi-bin/mimetex.cgi?x^2+y^2
which should display in the upper-left corner of your window, just like clicking this link does, which tests my mimetex.cgi,
http://www.imathas.com/cgi-bin/mimetex.cgi?x^2+y^2
If you see the same image from the yourdomain link, then you've completed a successful mimeTeX installation.

If you don't see the image, then your installation failed. If your earlier post-compilation "ascii raster" test succeeeded, then the problem is probably some server-specific installation requirement. First make sure you installed mimetex.cgi in the correct cgi-bin/ directory, set the correct chmod permissions, and typed the correct url into your browser's locator window. Then contact your system administrator or ISP, and ask how to install cgi programs on your server.

After you've successfully installed mimeTeX, and both preceeding tests have succeeded, you can optionally "regression test" all mimeTeX features as follows:

  • mv mimetex.html (this file) to your server's htdocs/ directory
  • Paths to cgi-bin/ and htdocs/ directories are typically path/www/cgi-bin/ and path/www/htdocs/, so I set up mimtex.html to access mimetex.cgi from the relative path ../cgi-bin/. If your directories are non-conforming, you may have to edit the few dozen occurrences of ../cgi-bin/mimetex.cgi in your mimetex.html page. Sometimes a suitable symlink works; if not, you'll have to edit. Globally changing ../cgi-bin/mimetex.cgi usually works.
  • Now visit your page http://www.yourdomain.com/mimetex.html
  • Once your mimetex.html displays properly, you can assume everything is working, and can begin authoring html documents using mimetex.cgi to render your own math.

That's all there is to installing mimeTeX.



Lần cập nhật cuối ( Thứ bảy, 10 Tháng 9 2011 09:18 )  

Kênh 360 công nghệ

  • Nổi bật
  • Tin mới
  • Game mới
  • PrestaShop Guide
  • PrestaShop

Có thể bạn quan tâm

Download nhiều nhất

11/12
Download PES 2011 - FIFA 11
181
18/12
binkw32 dll
117
18/12
TeamViewerQS
38

Quảng cáo

English French German Japanese Korean