function LaTexScriptObject ($pagename, $fname, $isfile, $preamble, $packages, $openEnv, $closeEnv, $remove) {
		ScriptObject::ScriptObject($pagename, $fname, $isfile);
		if ($preamble != '')
			$this->preamble = $preamble;
		else 
			$this->preamble = '\documentclass[12pt]{article}\pagestyle{empty}';
		$packages = explode(';', $packages);
		foreach ($packages as $p) 
			$this->packages .= preg_replace('/^\s*(.+?)(\[(.+?)\])?\s*$/', "\\usepackage\$2{\\1}\n", $p);
		$this->openEnv  = $openEnv;
		$this->closeEnv = $closeEnv;
		$this->remove = $remove;
	}
	function PECScriptObject ($pagename, $script, $isfile) {
		ScriptObject::ScriptObject($pagename, $script, $isfile);
	}
	function GnuplotScriptObject ($pagename, $script, $isfile) {
		ScriptObject::ScriptObject ($pagename, $script, $isfile);
		if ($isfile)
			$this->linkUploadedFile($script);
	}