usepackage("hyperref"); texpreamble("\hypersetup{"+settings.hyperrefOptions+"}"); // Embed object to be run in an external window. An image file name can be // specified; if not given one will be automatically generated. string embed(string name, string text="", string options="", real width=0, real height=0, string image="") { string options; // Ignore passed options. if(image == "") { image=stripdirectory(stripextension(name))+"."+nativeformat(); convert(name+"[0]",image,nativeformat()); if(!settings.keep) { exitfcn currentexitfunction=atexit(); void exitfunction() { if(currentexitfunction != null) currentexitfunction(); delete(image); } atexit(exitfunction); } } if(width != 0) options += ", width="+(string) (width/pt)+"pt"; if(height != 0) options +=", height="+(string) (height/pt)+"pt"; return "\href{run:"+name+"}{"+graphic(image,options)+"}"; } string hyperlink(string url, string text) { return "\href{"+url+"}{"+text+"}"; } string link(string label, string text="Play") { return hyperlink("run:"+label,text); }