[[math.inc.php]]
 
 AMS LaTeXとカラーのパッケージを読み込めるように、LaTeX 2ε形式(documentclass)に変更してあります.また色の定義やよく使う\newcommandが加えてあります.これらは別ファイルから読み込んだ方がよいと思うのですが、やってません(^^;
 AMS LaTeXとカラーのパッケージを読み込めるように、LaTeX 2ε形式(documentclass)に変更してあります.Safariの\や¥が?に変わってしまう問題も修正してあります.また色の定義やよく使う\newcommandが加えてあります.これらは別ファイルから読み込んだ方がよいと思うのですが、やってません(^^;
 
 ps2epsi(が呼び出すgs?)がうまくBoundingBoxを設定できない場合(式の周囲にに大きな余白がついたままになってしまう場合)は,[[ps2eps:http://www.tm.uka.de/~bless/ps2eps]]を使うとよいです.
 
  <?php
  //math mode
  //image repository
  define("IMG_DIR", "./mathimg/");
  //image type
  define("IMG_EXT", ".gif");
  
  function make_math_img($aryargs){
  	$math = join($aryargs,",");
  	//remove extra comma at the end.
  	$math = rtrim($math, ",");
  	$math = preg_replace("/\?/", "\\", $math);
  	$imgfile = encode($math).IMG_EXT;
  	if(!file_exists(IMG_DIR.$imgfile)){
  		$tmpfile=IMG_DIR."tmp.tex";
  		$tmp=fopen($tmpfile,"w");
  		fputs($tmp,'\documentclass[12pt]{article}'."\n");
  		fputs($tmp,'\oddsidemargin=0in'."\n");
  		fputs($tmp,'\textwidth=6.5in'."\n");
  		fputs($tmp,'\topmargin=0in'."\n");
  		fputs($tmp,'\textheight=609pt'."\n");
  		fputs($tmp,'\parskip=14pt'."\n");
  		fputs($tmp,'\setlength{\unitlength}{0.5cm}'."\n");
  		fputs($tmp,'\usepackage[dvips]{color}'."\n"); 
  		fputs($tmp,'\usepackage{amsbsy}'."\n");
  		fputs($tmp,'\usepackage{amsmath}'."\n");
  		fputs($tmp,'\usepackage{amssymb}'."\n");
  		fputs($tmp,'\definecolor{orange}{rgb}{1,0.6,0}'."\n");
  		fputs($tmp,'\definecolor{dorange}{rgb}{0.5,0.3,0}'."\n"); 
  		fputs($tmp,'\definecolor{navy}{rgb}{0,0,0.5}'."\n"); 
  		fputs($tmp,'\definecolor{gold}{rgb}{0.85,0.64,0.13}'."\n"); 
  		fputs($tmp,'\definecolor{tomato}{rgb}{1,0.4,0.28}'."\n"); 
  		fputs($tmp,'\definecolor{brown}{rgb}{0.45,0.32,0.065}'."\n"); 
  		fputs($tmp,'\newcommand{\dd}{{\rm d}}'."\n");
  		fputs($tmp,'\newcommand{\eexp}{{\rm e}}'."\n");
  		fputs($tmp,'\newcommand{\bm}[1]{{\boldsymbol{#1}}}'."\n");
  		fputs($tmp,'\pagestyle{empty}'."\n");
  		fputs($tmp,'\begin{document}'."\n");
  		fputs($tmp,'\Large\['.$math.'\]'."\n");
  		fputs($tmp,'\end{document}'."\n");
  		fclose($tmp);
  		$oldDir=getcwd();
  		chdir(IMG_DIR);
  		exec("latex tmp.tex");
  		exec("dvips -N -n 1 -o tmp.ps tmp");
  		exec("ps2epsi tmp.ps tmp.eps");
  		exec("convert tmp.eps tmp_".IMG_EXT);
  		exec("convert -transparent white tmp_".IMG_EXT." tmp".IMG_EXT);
  		exec("mv tmp".IMG_EXT." ".$imgfile);
  	
    exec("rm tmp*");
  		chdir($oldDir);
  	}
  	return "<IMG SRC=".IMG_DIR.$imgfile.">";
  }
  
  function plugin_math_convert()
  {
  	$aryargs = func_get_args();
  	return make_math_img($aryargs);
  }
  
  function plugin_math_inline()
  {
  	$aryargs = func_get_args();
  	return make_math_img($aryargs);
  }
  ?>

  リロード   新規 編集 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS