[[gPad]] > マクロ

&color(White,#5F2F2F){  ''◆目次◆''  };&br;

#contents

*マクロ [#w9b67570]
マクロを使うと LaTeX 環境を簡単に作ることができます.

**Typeset.js [#b88feabd]
----
 (function () {
     menu = CreatePopupMenu();
     menu.Add("pLaTeX (ptex2pdf)", 1, 0);
     menu.Add("pLaTeX (dvips + ps2pdf)", 2, 0);
     menu.Add("upLaTeX (ptex2pdf)", 3, 0);
     menu.Add("upLaTeX (dvips + ps2pdf)", 4, 0);
     menu.Add("pdfLaTeX", 5, 0);
     menu.Add("LuaLaTeX", 6, 0);
     menu.Add("LuaJITLaTeX", 7, 0);
     menu.Add("XeLaTeX", 8, 0);
     menu.Add("", 0, meMenuSeparator);
     menu.Add("pLaTeX (ptex2pdf) [Adobe Reader]", 11, 0);
     menu.Add("pLaTeX (dvips + ps2pdf) [Adobe Reader]", 12, 0);
     menu.Add("upLaTeX (ptex2pdf) [Adobe Reader]", 13, 0);
     menu.Add("upLaTeX (dvips + ps2pdf) [Adobe Reader]", 14, 0);
     menu.Add("pdfLaTeX [Adobe Reader]", 15, 0);
     menu.Add("LuaLaTeX [Adobe Reader]", 16, 0);
     menu.Add("LuaJITLaTeX [Adobe Reader]", 17, 0);
     menu.Add("XeLaTeX [Adobe Reader]", 18, 0);
     menu.Add("", 0, meMenuSeparator);
     menu.Add("pBibTeX", 51, 0);
     menu.Add("upBibTeX", 52, 0);
     menu.Add("BibTeX", 53, 0);
     menu.Add("BibTeXu", 54, 0);
     menu.Add("", 0, meMenuSeparator);
     menu.Add("Mendex", 61, 0);
     menu.Add("MakeIndex", 62, 0);
     menu.Add("TeXindy", 63, 0);
     menu.Add("", 0, meMenuSeparator);
     menu.Add("TeXworks", 71, 0);
     menu.Add("SumatraPDF", 72, 0);
     menu.Add("fwdsumatrapdf", 73, 0);
     menu.Add("pdfopen", 74, 0);
     menu.Add("", 0, meMenuSeparator);
     menu.Add("Quit", 99, 0);
 
     var menuItem = menu.Track(0);
     switch (menuItem) {
     case 1:
         var c = document.Path;
         var b = new ActiveXObject("Scripting.FileSystemObject").GetBaseName(document.Name);
         var cd = "cd /d " + ["\"", c, "\""].join("");
         var ptex2pdf = "ptex2pdf -l -ot \"-synctex=1 -guess-input-enc -sjis-terminal\"" + " " + ["\"", b, "\""].join("");
         var cmd = "cmd /c " + cd + " && " + ptex2pdf;
         execute(cmd);
         break;
     case 2:
         var c = document.Path;
         var b = new ActiveXObject("Scripting.FileSystemObject").GetBaseName(document.Name);
         var cd = "cd /d " + ["\"", c, "\""].join("");
         var latex = "platex -synctex=1 -guess-input-enc -sjis-terminal" + " " + ["\"", b, "\""].join("");
         var dvips = "dvips -Ppdf -z -f" + " " + ["\"", b, ".dvi", "\""].join("") + " | convbkmk -g > " + ["\"", b, ".ps", "\""].join("");
         var ps2pdf = "ps2pdf.bat" + " " + ["\"", b, ".ps", "\""].join("");
         var cmd = "cmd /c " + cd + " && " + latex + " && " + dvips + " && " + ps2pdf;
         execute(cmd);
         break;
     case 3:
         var c = document.Path;
         var b = new ActiveXObject("Scripting.FileSystemObject").GetBaseName(document.Name);
         var cd = "cd /d " + ["\"", c, "\""].join("");
         var ptex2pdf = "ptex2pdf -l -u -ot \"-synctex=1 -no-guess-input-enc -kanji=utf8 -sjis-terminal\"" + " " + ["\"", b, "\""].join("");
         var cmd = "cmd /c " + cd + " && " + ptex2pdf;
         execute(cmd);
         break;
     case 4:
         var c = document.Path;
         var b = new ActiveXObject("Scripting.FileSystemObject").GetBaseName(document.Name);
         var cd = "cd /d " + ["\"", c, "\""].join("");
         var latex = "uplatex -synctex=1 -no-guess-input-enc -kanji=utf8 -sjis-terminal" + " " + ["\"", b, "\""].join("");
         var dvips = "dvips -Ppdf -z -f" + " " + ["\"", b, ".dvi", "\""].join("") + " | convbkmk -u > " + ["\"", b, ".ps", "\""].join("");
         var ps2pdf = "ps2pdf.bat" + " " + ["\"", b, ".ps", "\""].join("");
         var cmd = "cmd /c " + cd + " && " + latex + " && " + dvips + " && " + ps2pdf;
         execute(cmd);
         break;
     case 5:
         var c = document.Path;
         var b = new ActiveXObject("Scripting.FileSystemObject").GetBaseName(document.Name);
         var cd = "cd /d " + ["\"", c, "\""].join("");
         var pdflatex = "pdflatex -synctex=1" + " " + ["\"", b, "\""].join("");
         var cmd = "cmd /c " + cd + " && " + pdflatex;
         execute(cmd);
         break;
     case 6:
         var c = document.Path;
         var b = new ActiveXObject("Scripting.FileSystemObject").GetBaseName(document.Name);
         var cd = "cd /d " + ["\"", c, "\""].join("");
         var lualatex = "lualatex -synctex=1" + " " + ["\"", b, "\""].join("");
         var cmd = "cmd /c " + cd + " && " + lualatex;
         execute(cmd);
         break;
     case 7:
         var c = document.Path;
         var b = new ActiveXObject("Scripting.FileSystemObject").GetBaseName(document.Name);
         var cd = "cd /d " + ["\"", c, "\""].join("");
         var luajitlatex = "luajitlatex -synctex=1" + " " + ["\"", b, "\""].join("");
         var cmd = "cmd /c " + cd + " && " + luajitlatex;
         execute(cmd);
         break;
     case 8:
         var c = document.Path;
         var b = new ActiveXObject("Scripting.FileSystemObject").GetBaseName(document.Name);
         var cd = "cd /d " + ["\"", c, "\""].join("");
         var xelatex = "xelatex -synctex=1" + " " + ["\"", b, "\""].join("");
         var cmd = "cmd /c " + cd + " && " + xelatex;
         execute(cmd);
         break;
     case 11:
         var c = document.Path;
         var b = new ActiveXObject("Scripting.FileSystemObject").GetBaseName(document.Name);
         var cd = "cd /d " + ["\"", c, "\""].join("");
         var ptex2pdf = "ptex2pdf -l -ot \"-guess-input-enc -sjis-terminal\"" + " " + ["\"", b, "\""].join("");
         var pdf = ["\"", b, ".pdf", "\""].join("");
         var pdfopen = "powershell -Command \"& {$pdf = \"\"" + pdf + "\"\"; $pages = (pdfinfo $pdf | Select-String \"^Pages:\"); $page = (-split $pages)[1]; pdfopen --rxi --file $pdf --page $page}\"";
         var pdfclose = "tasklist /fi \"IMAGENAME eq AcroRd32.exe\" /nh | findstr \"AcroRd32.exe\" > nul && pdfopen --rxi --file " + pdf + " && pdfclose --rxi --file " + pdf;
         var cmd = "cmd /c " + cd + " && " + pdfclose + " & " + ptex2pdf + " && " + pdfopen;
         execute(cmd);
         break;
     case 12:
         var c = document.Path;
         var b = new ActiveXObject("Scripting.FileSystemObject").GetBaseName(document.Name);
         var cd = "cd /d " + ["\"", c, "\""].join("");
         var latex = "platex -guess-input-enc -sjis-terminal" + " " + ["\"", b, "\""].join("");
         var dvips = "dvips -Ppdf -z -f" + " " + ["\"", b, ".dvi", "\""].join("") + " | convbkmk -g > " + ["\"", b, ".ps", "\""].join("");
         var ps2pdf = "ps2pdf.bat" + " " + ["\"", b, ".ps", "\""].join("");
         var pdf = ["\"", b, ".pdf", "\""].join("");
         var pdfopen = "powershell -Command \"& {$pdf = \"\"" + pdf + "\"\"; $pages = (pdfinfo $pdf | Select-String \"^Pages:\"); $page = (-split $pages)[1]; pdfopen --rxi --file $pdf --page $page}\"";
         var pdfclose = "tasklist /fi \"IMAGENAME eq AcroRd32.exe\" /nh | findstr \"AcroRd32.exe\" > nul && pdfopen --rxi --file " + pdf + " && pdfclose --rxi --file " + pdf;
         var cmd = "cmd /c " + cd + " && " + pdfclose + " & " + latex + " && " + dvips + " && " + ps2pdf + " && " + pdfopen;
         execute(cmd);
         break;
     case 13:
         var c = document.Path;
         var b = new ActiveXObject("Scripting.FileSystemObject").GetBaseName(document.Name);
         var cd = "cd /d " + ["\"", c, "\""].join("");
         var ptex2pdf = "ptex2pdf -l -u -ot \"-no-guess-input-enc -kanji=utf8 -sjis-terminal\"" + " " + ["\"", b, "\""].join("");
         var pdf = ["\"", b, ".pdf", "\""].join("");
         var pdfopen = "powershell -Command \"& {$pdf = \"\"" + pdf + "\"\"; $pages = (pdfinfo $pdf | Select-String \"^Pages:\"); $page = (-split $pages)[1]; pdfopen --rxi --file $pdf --page $page}\"";
         var pdfclose = "tasklist /fi \"IMAGENAME eq AcroRd32.exe\" /nh | findstr \"AcroRd32.exe\" > nul && pdfopen --rxi --file " + pdf + " && pdfclose --rxi --file " + pdf;
         var cmd = "cmd /c " + cd + " && " + pdfclose + " & " + ptex2pdf + " && " + pdfopen;
         execute(cmd);
         break;
     case 14:
         var c = document.Path;
         var b = new ActiveXObject("Scripting.FileSystemObject").GetBaseName(document.Name);
         var cd = "cd /d " + ["\"", c, "\""].join("");
         var latex = "uplatex -no-guess-input-enc -kanji=utf8 -sjis-terminal" + " " + ["\"", b, "\""].join("");
         var dvips = "dvips -Ppdf -z -f" + " " + ["\"", b, ".dvi", "\""].join("") + " | convbkmk -u > " + ["\"", b, ".ps", "\""].join("");
         var ps2pdf = "ps2pdf.bat" + " " + ["\"", b, ".ps", "\""].join("");
         var pdf = ["\"", b, ".pdf", "\""].join("");
         var pdfopen = "powershell -Command \"& {$pdf = \"\"" + pdf + "\"\"; $pages = (pdfinfo $pdf | Select-String \"^Pages:\"); $page = (-split $pages)[1]; pdfopen --rxi --file $pdf --page $page}\"";
         var pdfclose = "tasklist /fi \"IMAGENAME eq AcroRd32.exe\" /nh | findstr \"AcroRd32.exe\" > nul && pdfopen --rxi --file " + pdf + " && pdfclose --rxi --file " + pdf;
         var cmd = "cmd /c " + cd + " && " + pdfclose + " & " + latex + " && " + dvips + " && " + ps2pdf + " && " + pdfopen;
         execute(cmd);
         break;
     case 15:
         var c = document.Path;
         var b = new ActiveXObject("Scripting.FileSystemObject").GetBaseName(document.Name);
         var cd = "cd /d " + ["\"", c, "\""].join("");
         var pdflatex = "pdflatex" + " " + ["\"", b, "\""].join("");
         var pdf = ["\"", b, ".pdf", "\""].join("");
         var pdfopen = "powershell -Command \"& {$pdf = \"\"" + pdf + "\"\"; $pages = (pdfinfo $pdf | Select-String \"^Pages:\"); $page = (-split $pages)[1]; pdfopen --rxi --file $pdf --page $page}\"";
         var pdfclose = "tasklist /fi \"IMAGENAME eq AcroRd32.exe\" /nh | findstr \"AcroRd32.exe\" > nul && pdfopen --rxi --file " + pdf + " && pdfclose --rxi --file " + pdf;
         var cmd = "cmd /c " + cd + " && " + pdfclose + " & " + pdflatex + " && " + pdfopen;
         execute(cmd);
         break;
     case 16:
         var c = document.Path;
         var b = new ActiveXObject("Scripting.FileSystemObject").GetBaseName(document.Name);
         var cd = "cd /d " + ["\"", c, "\""].join("");
         var lualatex = "lualatex" + " " + ["\"", b, "\""].join("");
         var pdf = ["\"", b, ".pdf", "\""].join("");
         var pdfopen = "powershell -Command \"& {$pdf = \"\"" + pdf + "\"\"; $pages = (pdfinfo $pdf | Select-String \"^Pages:\"); $page = (-split $pages)[1]; pdfopen --rxi --file $pdf --page $page}\"";
         var pdfclose = "tasklist /fi \"IMAGENAME eq AcroRd32.exe\" /nh | findstr \"AcroRd32.exe\" > nul && pdfopen --rxi --file " + pdf + " && pdfclose --rxi --file " + pdf;
         var cmd = "cmd /c " + cd + " && " + pdfclose + " & " + lualatex + " && " + pdfopen;
         execute(cmd);
         break;
     case 17:
         var c = document.Path;
         var b = new ActiveXObject("Scripting.FileSystemObject").GetBaseName(document.Name);
         var cd = "cd /d " + ["\"", c, "\""].join("");
         var luajitlatex = "luajitlatex" + " " + ["\"", b, "\""].join("");
         var pdf = ["\"", b, ".pdf", "\""].join("");
         var pdfopen = "powershell -Command \"& {$pdf = \"\"" + pdf + "\"\"; $pages = (pdfinfo $pdf | Select-String \"^Pages:\"); $page = (-split $pages)[1]; pdfopen --rxi --file $pdf --page $page}\"";
         var pdfclose = "tasklist /fi \"IMAGENAME eq AcroRd32.exe\" /nh | findstr \"AcroRd32.exe\" > nul && pdfopen --rxi --file " + pdf + " && pdfclose --rxi --file " + pdf;
         var cmd = "cmd /c " + cd + " && " + pdfclose + " & " + luajitlatex + " && " + pdfopen;
         execute(cmd);
         break;
     case 18:
         var c = document.Path;
         var b = new ActiveXObject("Scripting.FileSystemObject").GetBaseName(document.Name);
         var cd = "cd /d " + ["\"", c, "\""].join("");
         var xelatex = "xelatex" + " " + ["\"", b, "\""].join("");
         var pdf = ["\"", b, ".pdf", "\""].join("");
         var pdfopen = "powershell -Command \"& {$pdf = \"\"" + pdf + "\"\"; $pages = (pdfinfo $pdf | Select-String \"^Pages:\"); $page = (-split $pages)[1]; pdfopen --rxi --file $pdf --page $page}\"";
         var pdfclose = "tasklist /fi \"IMAGENAME eq AcroRd32.exe\" /nh | findstr \"AcroRd32.exe\" > nul && pdfopen --rxi --file " + pdf + " && pdfclose --rxi --file " + pdf;
         var cmd = "cmd /c " + cd + " && " + pdfclose + " & " + xelatex + " && " + pdfopen;
         execute(cmd);
         break;
     case 51:
         var c = document.Path;
         var b = new ActiveXObject("Scripting.FileSystemObject").GetBaseName(document.Name);
         var cd = "cd /d " + ["\"", c, "\""].join("");
         var bibtex = "pbibtex -kanji=utf8 -sjis-terminal" + " " + ["\"", b, "\""].join("");
         var cmd = "cmd /c " + cd + " && " + bibtex;
         execute(cmd);
         break;
     case 52:
         var c = document.Path;
         var b = new ActiveXObject("Scripting.FileSystemObject").GetBaseName(document.Name);
         var cd = "cd /d " + ["\"", c, "\""].join("");
         var bibtex = "upbibtex" + " " + ["\"", b, "\""].join("");
         var cmd = "cmd /c " + cd + " && " + bibtex;
         execute(cmd);
         break;
     case 53:
         var c = document.Path;
         var b = new ActiveXObject("Scripting.FileSystemObject").GetBaseName(document.Name);
         var cd = "cd /d " + ["\"", c, "\""].join("");
         var bibtex = "bibtex" + " " + ["\"", b, "\""].join("");
         var cmd = "cmd /c " + cd + " && " + bibtex;
         execute(cmd);
         break;
     case 54:
         var c = document.Path;
         var b = new ActiveXObject("Scripting.FileSystemObject").GetBaseName(document.Name);
         var cd = "cd /d " + ["\"", c, "\""].join("");
         var bibtex = "bibtexu" + " " + ["\"", b, "\""].join("");
         var cmd = "cmd /c " + cd + " && " + bibtex;
         execute(cmd);
         break;
     case 61:
         var c = document.Path;
         var b = new ActiveXObject("Scripting.FileSystemObject").GetBaseName(document.Name);
         var cd = "cd /d " + ["\"", c, "\""].join("");
         var makeindex = "mendex -U -T" + " " + ["\"", b, "\""].join("");
         var cmd = "cmd /c " + cd + " && " + makeindex;
         execute(cmd);
         break;
     case 62:
         var c = document.Path;
         var b = new ActiveXObject("Scripting.FileSystemObject").GetBaseName(document.Name);
         var cd = "cd /d " + ["\"", c, "\""].join("");
         var makeindex = "makeindex" + " " + ["\"", b, "\""].join("");
         var cmd = "cmd /c " + cd + " && " + makeindex;
         execute(cmd);
         break;
     case 63:
         var c = document.Path;
         var b = new ActiveXObject("Scripting.FileSystemObject").GetBaseName(document.Name);
         var cd = "cd /d " + ["\"", c, "\""].join("");
         var makeindex = "texindy" + " " + ["\"", b, "\""].join("");
         var cmd = "cmd /c " + cd + " && " + makeindex;
         execute(cmd);
         break;
     case 71:
         var fso = new ActiveXObject("Scripting.FileSystemObject");
         var currentTeXFile = document.FullName;
         var pdfFile = currentTeXFile.replace(new RegExp(/\.[^.]*$/), ".pdf");
         var suffix = /\.[^.]*$/;
         var pdfFile = currentTeXFile.replace(suffix, ".pdf");
         var texworks = "texworks";
 
         if (!fso.FileExists(pdfFile)) {
             var mainTeXFile = prompt("Input the path to main TeX file.", pdfFile.replace(new RegExp(/\.[^.]*$/), ".tex"));
             var mainTeXFile = prompt("Input the path to main TeX file.", pdfFile.replace(suffix, ".tex"));
             if (mainTeXFile != "") {
                 pdfFile = mainTeXFile.replace(new RegExp(/\.[^.]*$/), ".pdf");
                 pdfFile = mainTeXFile.replace(suffix, ".pdf");
             }
         }
 
         var mainTeXDir = fso.GetParentFolderName(pdfFile);
         var cd = "cd /d " + ["\"", mainTeXDir, "\""].join("");
         pdfFile = ["\"", pdfFile, "\""].join("");
 
         var args = pdfFile;
         new ActiveXObject("Shell.Application").ShellExecute(texworks, args, "", "open", 1);
         break;
     case 72:
         var fso = new ActiveXObject("Scripting.FileSystemObject");
         var wshShell = new ActiveXObject("WScript.Shell");
         var gpad = editor.FullName;
         var currentTeXFile = document.FullName;
         var pdfFile = currentTeXFile.replace(new RegExp(/\.[^.]*$/), ".pdf");
         var suffix = /\.[^.]*$/;
         var pdfFile = currentTeXFile.replace(suffix, ".pdf");
         var line = document.selection.GetActivePointY(ePosLogical);
         var sumatraPDF = "C:\\Program Files\\SumatraPDF\\SumatraPDF.exe";
         var existSumatraPDF = true;
 
         try {
             sumatraPDF = wshShell.RegRead("HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\SumatraPDF.exe\\");
         } catch (e) {
             if (!fso.FileExists(sumatraPDF)) {
                 sumatraPDF = prompt("Input the path to SumatraPDF.exe.", "SumatraPDF.exe");
                 if (!fso.FileExists(sumatraPDF)) {
                     sumatraPDF = "SumatraPDF.exe";
                     existSumatraPDF = false;
                 }
             }
         }
 
         if (existSumatraPDF) {
             sumatraPDF = ["\"", sumatraPDF, "\""].join("");
         }
 
         if (!fso.FileExists(pdfFile)) {
             var mainTeXFile = prompt("Input the path to main TeX file.", pdfFile.replace(new RegExp(/\.[^.]*$/), ".tex"));
             var mainTeXFile = prompt("Input the path to main TeX file.", pdfFile.replace(suffix, ".tex"));
             if (mainTeXFile != "") {
                 pdfFile = mainTeXFile.replace(new RegExp(/\.[^.]*$/), ".pdf");
                 pdfFile = mainTeXFile.replace(suffix, ".pdf");
             }
         }
 
         var mainTeXDir = fso.GetParentFolderName(pdfFile);
         var cd = "cd /d " + ["\"", mainTeXDir, "\""].join("");
         currentTeXFile = ["\"", currentTeXFile, "\""].join("");
         pdfFile = ["\"", pdfFile, "\""].join("");
 
         var args = "-reuse-instance " + pdfFile + " -inverse-search \"\\\"" + gpad + "\\\" -NoMultipleBoot -Y=%l \\\"%f\\\"\"" + " -forward-search " + currentTeXFile + " " + line;
         new ActiveXObject("Shell.Application").ShellExecute(sumatraPDF, args, "", "open", 1);
         break;
     case 73:
         var fso = new ActiveXObject("Scripting.FileSystemObject");
         var currentTeXFile = document.FullName;
         var pdfFile = currentTeXFile.replace(new RegExp(/\.[^.]*$/), ".pdf");
         var suffix = /\.[^.]*$/;
         var pdfFile = currentTeXFile.replace(suffix, ".pdf");
         var line = document.selection.GetActivePointY(mePosLogical);
         var fwdsumatrapdf = "fwdsumatrapdf.exe";
 
         if (!fso.FileExists(pdfFile)) {
             var mainTeXFile = prompt("Input the path to main TeX file.", pdfFile.replace(new RegExp(/\.[^.]*$/), ".tex"));
             var mainTeXFile = prompt("Input the path to main TeX file.", pdfFile.replace(suffix, ".tex"));
             if (mainTeXFile != "") {
                 pdfFile = mainTeXFile.replace(new RegExp(/\.[^.]*$/), ".pdf");
                 pdfFile = mainTeXFile.replace(suffix, ".pdf");
             }
         }
 
         var mainTeXDir = fso.GetParentFolderName(pdfFile);
         var cd = "cd /d " + ["\"", mainTeXDir, "\""].join("");
         currentTeXFile = ["\"", currentTeXFile, "\""].join("");
         pdfFile = ["\"", pdfFile, "\""].join("");
 
         var args = pdfFile + " " + currentTeXFile + " " + line;
         new ActiveXObject("Shell.Application").ShellExecute(fwdsumatrapdf, args, "", "open", 1);
         break;
     case 74:
         var fso = new ActiveXObject("Scripting.FileSystemObject");
         var currentTeXFile = document.FullName;
         var pdfFile = currentTeXFile.replace(new RegExp(/\.[^.]*$/), ".pdf");
         var suffix = /\.[^.]*$/;
         var pdfFile = currentTeXFile.replace(suffix, ".pdf");
         var pdfopen = "pdfopen";
 
         if (!fso.FileExists(pdfFile)) {
             var mainTeXFile = prompt("Input the path to main TeX file.", pdfFile.replace(new RegExp(/\.[^.]*$/), ".tex"));
             var mainTeXFile = prompt("Input the path to main TeX file.", pdfFile.replace(suffix, ".tex"));
             if (mainTeXFile != "") {
                 pdfFile = mainTeXFile.replace(new RegExp(/\.[^.]*$/), ".pdf");
                 pdfFile = mainTeXFile.replace(suffix, ".pdf");
             }
         }
 
         var mainTeXDir = fso.GetParentFolderName(pdfFile);
         var cd = "cd /d " + ["\"", mainTeXDir, "\""].join("");
         pdfFile = ["\"", pdfFile, "\""].join("");
 
         var args = "--rxi --file " + pdfFile;
         new ActiveXObject("Shell.Application").ShellExecute(pdfopen, args, "", "open", 1);
         break;
     case 99:
         break;
     default:
         break;
     }
 
     function execute(commandLine) {
         var ok = confirm(commandLine);
         if (ok) {
             document.Save();
             new ActiveXObject("WScript.Shell").Run(commandLine, 1, true);
         }
     }
 }.call(this));
----

:ショートカット|Ctrl+T

*SumatraPDF との連携 [#vb348fe8]

**forward and inverse search (SumatraPDF を前面に表示したい場合) [#l2061012]

Typeset.js を実行して

-pLaTeX (ptex2pdf)
-pLaTeX (dvips + ps2pdf)
-upLaTeX (ptex2pdf)
-upLaTeX (dvips + ps2pdf)
-pdfLaTeX
-LuaLaTeX
-LuaJITLaTeX
-XeLaTeX

を選択します.

再び Typeset.js を実行して SumatraPDF を選択します.~

**forward search (SumatraPDF を前面に表示したくない場合) [#q6af99da]

[[SumatraPDF/fwdsumatrapdf]] の fwdsumatrapdf.exe を使用します.~

Typeset.js を実行して

-pLaTeX (ptex2pdf)
-pLaTeX (dvips + ps2pdf)
-upLaTeX (ptex2pdf)
-upLaTeX (dvips + ps2pdf)
-pdfLaTeX
-LuaLaTeX
-LuaJITLaTeX
-XeLaTeX

を選択します.

再び Typeset.js を実行して fwdsumatrapdf を選択します.~

**inverse search [#dae36579]

 "C:\gPad\gPad.exe" -NoMultipleBoot -Y=%l "%f"

*Adobe Reader との連携 [#k7e32b43]

Typeset.js を実行して

-pLaTeX (ptex2pdf) [Adobe Reader]
-pLaTeX (dvips + ps2pdf) [Adobe Reader]
-upLaTeX (ptex2pdf) [Adobe Reader]
-upLaTeX (dvips + ps2pdf) [Adobe Reader]
-pdfLaTeX [Adobe Reader]
-LuaLaTeX [Adobe Reader]
-LuaJITLaTeX [Adobe Reader]
-XeLaTeX [Adobe Reader]

を選択します.