*[[Mery:http://www.haijin-boys.com/]] [#l6f5ffa3] #ref(http://www.haijin-boys.com/weblog/uploads/330379294ff046ba56137.png,right,around,nolink,Mery) //#ref(http://www.haijin-boys.com/wiki/skins/common/images/wiki.png,right,around,nolink,Mery) &color(White,#5F2F2F){ ''◆目次◆'' };&br; #contents #img(,clear) *Mery とは [#acb30ba1] Mery は Windows 7, Vista, XP で動作する国産でフリーのシンプルなテキストエディタです. Mery は -TeX の色分け -辞書ファイルによる入力補完 -アウトライン解析 に対応しています. -[[Haijin Boys Online:http://www.haijin-boys.com/]] 公式サイト --[[kuro (haijinboys) on Twitter:http://twitter.com/haijinboys]] --[[Beta, Build: 2.0.9.3936とマクロ:http://www.haijin-boys.com/index.php?fuseaction=weblog.entryInquire&entry_id=50546e5d130fe0.87291176#comment]] TeX Wiki のマクロは Windows XP SP3 の W32TeX では動作しないといった報告があります.Windows 7 SP1 の W32TeX [2012/10/15] では動作します. --[[Texが色分けされ:http://www.haijin-boys.com/index.php?fuseaction=discussions.replies&discussion_id=4fd8dc286a4a65.60345084]] --[[TEXのtemplate:http://www.haijin-boys.com/index.php?fuseaction=discussions.replies&discussion_id=4a49a6b7d97bb8.45052497]] -[[MeryWiki:http://www.haijin-boys.com/wiki/]] --[[マクロリファレンス:http://www.haijin-boys.com/wiki/%E3%83%9E%E3%82%AF%E3%83%AD%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9]] -[[窓の杜 - Mery:http://www.forest.impress.co.jp/lib/offc/document/txteditor/mery.html]] -[[Vector - Mery:http://www.vector.co.jp/soft/winnt/writing/se476839.html]] -[[まるエミュ for Mery:http://homepage3.nifty.com/kinzoku/editor/]] *既定のエンコード [#ccaf57fb] LaTeX 文書で使用するエンコードを指定します. -Unicode (UTF-8, BOM無し) -Unicode (UTF-8, BOM付き) -日本語 (シフト JIS) -日本語 (EUC) -日本語 (JIS) ---- &color(Black,#5F9EA0){%%% &color(White){''オプション''}; &color(Black,#CC3333){%%%[ ''&color(White){✕};'' ]%%%}; %%%};&br; ''[ 基本 ]''&color(Black,#EEEEEE){%%%[ 表示 ][ 記号 ][ キーボード ][ 履歴 ][ 整形 ]%%%};&br; 折り返し方法(%%%W%%%): ☑行番号を表示(N)&br; &color(Black,#EEEEEE){[ウィンドウの右端で折り返し ▼]}; ☑ルーラを表示(R)&br; 行の表示方法(%%%D%%%): ☑ルーラで文字数を指定する(F)&br; &color(Black,#EEEEEE){[論理座標 ▼]}; ☑折り返し線を表示(A)&br; 文字数(%%%M%%%): %%%80 [◆]%%% ☑カーソルのある行に下線を表示(U)&br; 引用マーク(%%%Q%%%): %%%> %%% ☑対応する括弧を強調する(H)&br; タブの桁数(%%%T%%%): &color(Black,#EEEEEE){[2 ▼]}; ☑自動インデントを有効にする(T)&br; 行間隔(%%%S%%%): %%%0 [◆]%%% ☐タブの代わりに空白を挿入(I)&br; 既定のエンコード(%%%E%%%): ☐かな漢字変換を起動(P)&br; &color(Black,#EEEEEE){[Unicode (UTF-8, BOM無し) ▼]}; ☑URLをダブルクリックで開く(K)&br; 既定の改行コード(%%%L%%%): ☑カーソル位置とブックマークを保存する(V)&br; &color(Black,#EEEEEE){[CR+LF (Windows) ▼]}; ☐ウィンドウ位置とサイズを復元(O)&br; 閉じるボタン(%%%C%%%): ☑タブを複数行にする(B)&br; &color(Black,#EEEEEE){[アクティブなタブの上 ▼]}; ☐タブの幅を調節する(J)&br; ☐トレイアイコンを表示(Y)&br; カスタムファイルフィルタ(F):&br; %%%*.txt;*.htm;*.html;*.xml;*.css;*.js%%%&br; ---- *マクロ [#oa5f5cea] マクロを使うと [[サクラエディタ]], [[gPad]] と同様に,LaTeX 環境を簡単に作ることができます. マクロは,メニューの [マクロ(M)] から選択することで実行できます. TeX Wiki のマクロは Windows 7 SP1 の W32TeX [2012/10/15] で動作します. Windows XP SP3 の W32TeX [2012/10/15] で動作しない場合は [[Beta, Build: 2.0.9.3936とマクロ:http://www.haijin-boys.com/index.php?fuseaction=weblog.entryInquire&entry_id=50546e5d130fe0.87291176#comment]] に投稿されているマクロを使用してください. TeX Wiki のマクロが困難で長すぎると感じる方は分割して短くして使用してください. **pdfpLaTeX.js [#w4e337a9] ---- function main() { var fso = new ActiveXObject("Scripting.FileSystemObject"); var c = document.Path; var b = fso.GetBaseName(document.Name); var cd = "cd /d " + ["\"", c, "\""].join(""); var latex = "platex -synctex=1 -guess-input-enc -sjis-terminal"; var encoding = document.Encoding; if (parseInt(editor.Version) < 2) { if (encoding == meEncodingUTF8N || encoding == meEncodingUTF8) { latex = "platex -synctex=1 -no-guess-input-enc -kanji=utf8 -sjis-terminal"; } else if (encoding == meEncodingSJIS) { latex = "platex -synctex=1 -no-guess-input-enc -kanji=sjis -sjis-terminal"; } else if (encoding == meEncodingEUC) { latex = "platex -synctex=1 -no-guess-input-enc -kanji=euc -sjis-terminal"; } else if (encoding == meEncodingJIS) { latex = "platex -synctex=1 -no-guess-input-enc -kanji=jis -sjis-terminal"; } } else { if (encoding == meEncodingUTF8WithoutSignature || encoding == meEncodingUTF8WithSignature || encoding == meEncodingUTF8) { latex = "platex -synctex=1 -no-guess-input-enc -kanji=utf8 -sjis-terminal"; } else if (encoding == meEncodingShiftJIS) { latex = "platex -synctex=1 -no-guess-input-enc -kanji=sjis -sjis-terminal"; } else if (encoding == meEncodingEUC) { latex = "platex -synctex=1 -no-guess-input-enc -kanji=euc -sjis-terminal"; } else if (encoding == meEncodingJIS) { latex = "platex -synctex=1 -no-guess-input-enc -kanji=jis -sjis-terminal"; } } latex += " " + "-jobname=" + ["\"", b, "\""].join("") + " " + ["\"", b, "\""].join(""); var dvipdfm = "dvipdfmx" + " " + ["\"", b, "\""].join(""); var cmd = "cmd /c " + cd + " && " + latex + " && " + dvipdfm; var ok = window.Confirm(cmd); if (ok) { document.Save(); new ActiveXObject("WScript.Shell").Run(cmd, 1, true); } } main(); ---- [マクロ(M)]-[カスタマイズ(C)...]-[新規作成(N)] で pdfpLaTeX.js を選択します. [ツール(T)]-[オプション(O)...]-[キーボード] でショートカットキーを追加して割り当てます. ---- &color(Black,#5F9EA0){%%% &color(White){''オプション''}; &color(Black,#CC3333){%%%[ ''&color(White){✕};'' ]%%%}; %%%};&br; &color(Black,#EEEEEE){%%%[ 基本 ][ 表示 ][ 記号 ]%%%};''[ キーボード ]''&color(Black,#EEEEEE){%%%[ 履歴 ][ 整形 ]%%%};&br; &br; カテゴリ(%%%C%%%): 新しいキー(%%%N%%%):&br; &color(Black,#EEEEEE){[マクロ ▼]}; %%%Ctrl+Alt+J%%%&br; &br; コマンド(%%%O%%%): 現在のキー(%%%U%%%):&br; 記録/停止&br; 実行&br; 名前を付けて保存&br; 編集&br; これを選択&br; マクロのカスタマイズ&br; &color(White,#1188FF){pdfpLaTeX.js };&br; &br; ---- **pdfpLaTeX2.js [#ia1c6201] ---- function main() { var fso = new ActiveXObject("Scripting.FileSystemObject"); var c = document.Path; var b = fso.GetBaseName(document.Name); var cd = "cd /d " + ["\"", c, "\""].join(""); var latex = "platex -synctex=1 -guess-input-enc -sjis-terminal"; var encoding = document.Encoding; if (parseInt(editor.Version) < 2) { if (encoding == meEncodingUTF8N || encoding == meEncodingUTF8) { latex = "platex -synctex=1 -no-guess-input-enc -kanji=utf8 -sjis-terminal"; } else if (encoding == meEncodingSJIS) { latex = "platex -synctex=1 -no-guess-input-enc -kanji=sjis -sjis-terminal"; } else if (encoding == meEncodingEUC) { latex = "platex -synctex=1 -no-guess-input-enc -kanji=euc -sjis-terminal"; } else if (encoding == meEncodingJIS) { latex = "platex -synctex=1 -no-guess-input-enc -kanji=jis -sjis-terminal"; } } else { if (encoding == meEncodingUTF8WithoutSignature || encoding == meEncodingUTF8WithSignature || encoding == meEncodingUTF8) { latex = "platex -synctex=1 -no-guess-input-enc -kanji=utf8 -sjis-terminal"; } else if (encoding == meEncodingShiftJIS) { latex = "platex -synctex=1 -no-guess-input-enc -kanji=sjis -sjis-terminal"; } else if (encoding == meEncodingEUC) { latex = "platex -synctex=1 -no-guess-input-enc -kanji=euc -sjis-terminal"; } else if (encoding == meEncodingJIS) { latex = "platex -synctex=1 -no-guess-input-enc -kanji=jis -sjis-terminal"; } } latex += " " + "-jobname=" + ["\"", b, "\""].join("") + " " + ["\"", 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; var ok = window.Confirm(cmd); if (ok) { document.Save(); new ActiveXObject("WScript.Shell").Run(cmd, 1, true); } } main(); ---- [マクロ(M)]-[カスタマイズ(C)...]-[新規作成(N)] で pdfpLaTeX2.js を選択します. [ツール(T)]-[オプション(O)...]-[キーボード] でショートカットキーを追加して割り当てます. ---- &color(Black,#5F9EA0){%%% &color(White){''オプション''}; &color(Black,#CC3333){%%%[ ''&color(White){✕};'' ]%%%}; %%%};&br; &color(Black,#EEEEEE){%%%[ 基本 ][ 表示 ][ 記号 ]%%%};''[ キーボード ]''&color(Black,#EEEEEE){%%%[ 履歴 ][ 整形 ]%%%};&br; &br; カテゴリ(%%%C%%%): 新しいキー(%%%N%%%):&br; &color(Black,#EEEEEE){[マクロ ▼]}; %%%Ctrl+Alt+K%%%&br; &br; コマンド(%%%O%%%): 現在のキー(%%%U%%%):&br; 記録/停止&br; 実行&br; 名前を付けて保存&br; 編集&br; これを選択&br; マクロのカスタマイズ&br; pdfpLaTeX.js&br; &color(White,#1188FF){pdfpLaTeX2.js };&br; &br; ---- **pdfupLaTeX.js [#cca95ce9] ---- function main() { var fso = new ActiveXObject("Scripting.FileSystemObject"); var c = document.Path; var b = fso.GetBaseName(document.Name); var cd = "cd /d " + ["\"", c, "\""].join(""); var latex = "uplatex -synctex=1 -no-guess-input-enc -kanji=utf8" + " " + ["\"", b, "\""].join(""); var dvipdfm = "dvipdfmx" + " " + ["\"", b, "\""].join(""); var cmd = "cmd /c " + cd + " && " + latex + " && " + dvipdfm; var ok = window.Confirm(cmd); if (ok) { document.Save(); new ActiveXObject("WScript.Shell").Run(cmd, 1, true); } } main(); ---- [マクロ(M)]-[カスタマイズ(C)...]-[新規作成(N)] で pdfupLaTeX.js を選択します. [ツール(T)]-[オプション(O)...]-[キーボード] でショートカットキーを追加して割り当てます. ---- &color(Black,#5F9EA0){%%% &color(White){''オプション''}; &color(Black,#CC3333){%%%[ ''&color(White){✕};'' ]%%%}; %%%};&br; &color(Black,#EEEEEE){%%%[ 基本 ][ 表示 ][ 記号 ]%%%};''[ キーボード ]''&color(Black,#EEEEEE){%%%[ 履歴 ][ 整形 ]%%%};&br; &br; カテゴリ(%%%C%%%): 新しいキー(%%%N%%%):&br; &color(Black,#EEEEEE){[マクロ ▼]}; %%%Shift+Alt+J%%%&br; &br; コマンド(%%%O%%%): 現在のキー(%%%U%%%):&br; 記録/停止&br; 実行&br; 名前を付けて保存&br; 編集&br; これを選択&br; マクロのカスタマイズ&br; pdfpLaTeX.js&br; pdfpLaTeX2.js&br; &color(White,#1188FF){pdfupLaTeX.js };&br; &br; ---- **pdfupLaTeX2.js [#s6641f74] ---- function main() { var fso = new ActiveXObject("Scripting.FileSystemObject"); var c = document.Path; var b = fso.GetBaseName(document.Name); var cd = "cd /d " + ["\"", c, "\""].join(""); var latex = "uplatex -synctex=1 -no-guess-input-enc -kanji=utf8" + " " + ["\"", 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; var ok = window.Confirm(cmd); if (ok) { document.Save(); new ActiveXObject("WScript.Shell").Run(cmd, 1, true); } } main(); ---- [マクロ(M)]-[カスタマイズ(C)...]-[新規作成(N)] で pdfupLaTeX2.js を選択します. [ツール(T)]-[オプション(O)...]-[キーボード] でショートカットキーを追加して割り当てます. ---- &color(Black,#5F9EA0){%%% &color(White){''オプション''}; &color(Black,#CC3333){%%%[ ''&color(White){✕};'' ]%%%}; %%%};&br; &color(Black,#EEEEEE){%%%[ 基本 ][ 表示 ][ 記号 ]%%%};''[ キーボード ]''&color(Black,#EEEEEE){%%%[ 履歴 ][ 整形 ]%%%};&br; &br; カテゴリ(%%%C%%%): 新しいキー(%%%N%%%):&br; &color(Black,#EEEEEE){[マクロ ▼]}; %%%Shift+Alt+K%%%&br; &br; コマンド(%%%O%%%): 現在のキー(%%%U%%%):&br; 記録/停止&br; 実行&br; 名前を付けて保存&br; 編集&br; これを選択&br; マクロのカスタマイズ&br; pdfpLaTeX.js&br; pdfpLaTeX2.js&br; pdfupLaTeX.js&br; &color(White,#1188FF){pdfupLaTeX2.js };&br; &br; ---- **pdfLaTeX.js [#a177f996] ---- function main() { var fso = new ActiveXObject("Scripting.FileSystemObject"); var c = document.Path; var b = fso.GetBaseName(document.Name); var cd = "cd /d " + ["\"", c, "\""].join(""); var pdflatex = "pdflatex -synctex=1" + " " + ["\"", b, "\""].join(""); var cmd = "cmd /c " + cd + " && " + pdflatex; var ok = window.Confirm(cmd); if (ok) { document.Save(); new ActiveXObject("WScript.Shell").Run(cmd, 1, true); } } main(); ---- [マクロ(M)]-[カスタマイズ(C)...]-[新規作成(N)] で pdfLaTeX.js を選択します. [ツール(T)]-[オプション(O)...]-[キーボード] でショートカットキーを追加して割り当てます. ---- &color(Black,#5F9EA0){%%% &color(White){''オプション''}; &color(Black,#CC3333){%%%[ ''&color(White){✕};'' ]%%%}; %%%};&br; &color(Black,#EEEEEE){%%%[ 基本 ][ 表示 ][ 記号 ]%%%};''[ キーボード ]''&color(Black,#EEEEEE){%%%[ 履歴 ][ 整形 ]%%%};&br; &br; カテゴリ(%%%C%%%): 新しいキー(%%%N%%%):&br; &color(Black,#EEEEEE){[マクロ ▼]}; %%%Shift+Alt+H%%%&br; &br; コマンド(%%%O%%%): 現在のキー(%%%U%%%):&br; 記録/停止&br; 実行&br; 名前を付けて保存&br; 編集&br; これを選択&br; マクロのカスタマイズ&br; pdfpLaTeX.js&br; pdfpLaTeX2.js&br; pdfupLaTeX.js&br; pdfupLaTeX2.js&br; &color(White,#1188FF){pdfLaTeX.js };&br; &br; ---- **LuaLaTeX.js [#a56da2a2] ---- function main() { var fso = new ActiveXObject("Scripting.FileSystemObject"); var c = document.Path; var b = fso.GetBaseName(document.Name); var cd = "cd /d " + ["\"", c, "\""].join(""); var lualatex = "lualatex -synctex=1" + " " + ["\"", b, "\""].join(""); var cmd = "cmd /c " + cd + " && " + lualatex; var ok = window.Confirm(cmd); if (ok) { document.Save(); new ActiveXObject("WScript.Shell").Run(cmd, 1, true); } } main(); ---- [マクロ(M)]-[カスタマイズ(C)...]-[新規作成(N)] で LuaLaTeX.js を選択します. [ツール(T)]-[オプション(O)...]-[キーボード] でショートカットキーを追加して割り当てます. ---- &color(Black,#5F9EA0){%%% &color(White){''オプション''}; &color(Black,#CC3333){%%%[ ''&color(White){✕};'' ]%%%}; %%%};&br; &color(Black,#EEEEEE){%%%[ 基本 ][ 表示 ][ 記号 ]%%%};''[ キーボード ]''&color(Black,#EEEEEE){%%%[ 履歴 ][ 整形 ]%%%};&br; &br; カテゴリ(%%%C%%%): 新しいキー(%%%N%%%):&br; &color(Black,#EEEEEE){[マクロ ▼]}; %%%Shift+Alt+U%%%&br; &br; コマンド(%%%O%%%): 現在のキー(%%%U%%%):&br; 記録/停止&br; 実行&br; 名前を付けて保存&br; 編集&br; これを選択&br; マクロのカスタマイズ&br; pdfpLaTeX.js&br; pdfpLaTeX2.js&br; pdfupLaTeX.js&br; pdfupLaTeX2.js&br; pdfLaTeX.js&br; &color(White,#1188FF){LuaLaTeX.js };&br; &br; ---- **XeLaTeX.js [#x3721d4b] ---- function main() { var fso = new ActiveXObject("Scripting.FileSystemObject"); var c = document.Path; var b = fso.GetBaseName(document.Name); var cd = "cd /d " + ["\"", c, "\""].join(""); var xelatex = "xelatex -synctex=1" + " " + ["\"", b, "\""].join(""); var cmd = "cmd /c " + cd + " && " + xelatex; var ok = window.Confirm(cmd); if (ok) { document.Save(); new ActiveXObject("WScript.Shell").Run(cmd, 1, true); } } main(); ---- [マクロ(M)]-[カスタマイズ(C)...]-[新規作成(N)] で XeLaTeX.js を選択します. [ツール(T)]-[オプション(O)...]-[キーボード] でショートカットキーを追加して割り当てます. ---- &color(Black,#5F9EA0){%%% &color(White){''オプション''}; &color(Black,#CC3333){%%%[ ''&color(White){✕};'' ]%%%}; %%%};&br; &color(Black,#EEEEEE){%%%[ 基本 ][ 表示 ][ 記号 ]%%%};''[ キーボード ]''&color(Black,#EEEEEE){%%%[ 履歴 ][ 整形 ]%%%};&br; &br; カテゴリ(%%%C%%%): 新しいキー(%%%N%%%):&br; &color(Black,#EEEEEE){[マクロ ▼]}; %%%Shift+Alt+I%%%&br; &br; コマンド(%%%O%%%): 現在のキー(%%%U%%%):&br; 記録/停止&br; 実行&br; 名前を付けて保存&br; 編集&br; これを選択&br; マクロのカスタマイズ&br; pdfpLaTeX.js&br; pdfpLaTeX2.js&br; pdfupLaTeX.js&br; pdfupLaTeX2.js&br; pdfLaTeX.js&br; LuaLaTeX.js&br; &color(White,#1188FF){XeLaTeX.js };&br; &br; ---- **pBibTeX.js [#qbbeae1b] ---- function main() { var fso = new ActiveXObject("Scripting.FileSystemObject"); var c = document.Path; var b = fso.GetBaseName(document.Name); var cd = "cd /d " + ["\"", c, "\""].join(""); var bibtex = "pbibtex -sjis-terminal"; var encoding = document.Encoding; if (parseInt(editor.Version) < 2) { if (encoding == meEncodingUTF8N || encoding == meEncodingUTF8) { bibtex = "pbibtex -kanji=utf8 -sjis-terminal"; } else if (encoding == meEncodingSJIS) { bibtex = "pbibtex -kanji=sjis -sjis-terminal"; } else if (encoding == meEncodingEUC) { bibtex = "pbibtex -kanji=euc -sjis-terminal"; } else if (encoding == meEncodingJIS) { bibtex = "pbibtex -kanji=jis -sjis-terminal"; } } else { if (encoding == meEncodingUTF8WithoutSignature || encoding == meEncodingUTF8WithSignature || encoding == meEncodingUTF8) { bibtex = "pbibtex -kanji=utf8 -sjis-terminal"; } else if (encoding == meEncodingShiftJIS) { bibtex = "pbibtex -kanji=sjis -sjis-terminal"; } else if (encoding == meEncodingEUC) { bibtex = "pbibtex -kanji=euc -sjis-terminal"; } else if (encoding == meEncodingJIS) { bibtex = "pbibtex -kanji=jis -sjis-terminal"; } } bibtex += " " + ["\"", b, "\""].join(""); var cmd = "cmd /c " + cd + " && " + bibtex; var ok = window.Confirm(cmd); if (ok) { document.Save(); new ActiveXObject("WScript.Shell").Run(cmd, 1, true); } } main(); ---- [マクロ(M)]-[カスタマイズ(C)...]-[新規作成(N)] で pBibTeX.js を選択します. [ツール(T)]-[オプション(O)...]-[キーボード] でショートカットキーを追加して割り当てます. ---- &color(Black,#5F9EA0){%%% &color(White){''オプション''}; &color(Black,#CC3333){%%%[ ''&color(White){✕};'' ]%%%}; %%%};&br; &color(Black,#EEEEEE){%%%[ 基本 ][ 表示 ][ 記号 ]%%%};''[ キーボード ]''&color(Black,#EEEEEE){%%%[ 履歴 ][ 整形 ]%%%};&br; &br; カテゴリ(%%%C%%%): 新しいキー(%%%N%%%):&br; &color(Black,#EEEEEE){[マクロ ▼]}; %%%Ctrl+Alt+N%%%&br; &br; コマンド(%%%O%%%): 現在のキー(%%%U%%%):&br; 記録/停止&br; 実行&br; 名前を付けて保存&br; 編集&br; これを選択&br; マクロのカスタマイズ&br; pdfpLaTeX.js&br; pdfpLaTeX2.js&br; pdfupLaTeX.js&br; pdfupLaTeX2.js&br; pdfLaTeX.js&br; LuaLaTeX.js&br; XeLaTeX.js&br; &color(White,#1188FF){pBibTeX.js };&br; &br; ---- **upBibTeX.js [#v9f70ec9] ---- function main() { var fso = new ActiveXObject("Scripting.FileSystemObject"); var c = document.Path; var b = fso.GetBaseName(document.Name); var cd = "cd /d " + ["\"", c, "\""].join(""); var bibtex = "upbibtex" + " " + ["\"", b, "\""].join(""); var cmd = "cmd /c " + cd + " && " + bibtex; var ok = window.Confirm(cmd); if (ok) { document.Save(); new ActiveXObject("WScript.Shell").Run(cmd, 1, true); } } main(); ---- [マクロ(M)]-[カスタマイズ(C)...]-[新規作成(N)] で upBibTeX.js を選択します. [ツール(T)]-[オプション(O)...]-[キーボード] でショートカットキーを追加して割り当てます. ---- &color(Black,#5F9EA0){%%% &color(White){''オプション''}; &color(Black,#CC3333){%%%[ ''&color(White){✕};'' ]%%%}; %%%};&br; &color(Black,#EEEEEE){%%%[ 基本 ][ 表示 ][ 記号 ]%%%};''[ キーボード ]''&color(Black,#EEEEEE){%%%[ 履歴 ][ 整形 ]%%%};&br; &br; カテゴリ(%%%C%%%): 新しいキー(%%%N%%%):&br; &color(Black,#EEEEEE){[マクロ ▼]}; %%%Shift+Alt+N%%%&br; &br; コマンド(%%%O%%%): 現在のキー(%%%U%%%):&br; 記録/停止&br; 実行&br; 名前を付けて保存&br; 編集&br; これを選択&br; マクロのカスタマイズ&br; pdfpLaTeX.js&br; pdfpLaTeX2.js&br; pdfupLaTeX.js&br; pdfupLaTeX2.js&br; pdfLaTeX.js&br; LuaLaTeX.js&br; XeLaTeX.js&br; pBibTeX.js&br; &color(White,#1188FF){upBibTeX.js };&br; &br; ---- **Mendex.js [#ff7fca42] ---- function main() { var fso = new ActiveXObject("Scripting.FileSystemObject"); var c = document.Path; var b = fso.GetBaseName(document.Name); var cd = "cd /d " + ["\"", c, "\""].join(""); var makeindex = "mendex -T"; var encoding = document.Encoding; if (parseInt(editor.Version) < 2) { if (encoding == meEncodingUTF8N || encoding == meEncodingUTF8) { makeindex = "mendex -U -T"; } else if (encoding == meEncodingSJIS) { makeindex = "mendex -S -T"; } else if (encoding == meEncodingEUC) { makeindex = "mendex -E -T"; } else if (encoding == meEncodingJIS) { makeindex = "mendex -J -T"; } } else { if (encoding == meEncodingUTF8WithoutSignature || encoding == meEncodingUTF8WithSignature || encoding == meEncodingUTF8) { makeindex = "mendex -U -T"; } else if (encoding == meEncodingShiftJIS) { makeindex = "mendex -S -T"; } else if (encoding == meEncodingEUC) { makeindex = "mendex -E -T"; } else if (encoding == meEncodingJIS) { makeindex = "mendex -J -T"; } } makeindex += " " + ["\"", b, "\""].join(""); var cmd = "cmd /c " + cd + " && " + makeindex; var ok = window.Confirm(cmd); if (ok) { document.Save(); new ActiveXObject("WScript.Shell").Run(cmd, 1, true); } } main(); ---- [マクロ(M)]-[カスタマイズ(C)...]-[新規作成(N)] で Mendex.js を選択します. [ツール(T)]-[オプション(O)...]-[キーボード] でショートカットキーを追加して割り当てます. ---- &color(Black,#5F9EA0){%%% &color(White){''オプション''}; &color(Black,#CC3333){%%%[ ''&color(White){✕};'' ]%%%}; %%%};&br; &color(Black,#EEEEEE){%%%[ 基本 ][ 表示 ][ 記号 ]%%%};''[ キーボード ]''&color(Black,#EEEEEE){%%%[ 履歴 ][ 整形 ]%%%};&br; &br; カテゴリ(%%%C%%%): 新しいキー(%%%N%%%):&br; &color(Black,#EEEEEE){[マクロ ▼]}; %%%Ctrl+Alt+M%%%&br; &br; コマンド(%%%O%%%): 現在のキー(%%%U%%%):&br; 記録/停止&br; 実行&br; 名前を付けて保存&br; 編集&br; これを選択&br; マクロのカスタマイズ&br; pdfpLaTeX.js&br; pdfpLaTeX2.js&br; pdfupLaTeX.js&br; pdfupLaTeX2.js&br; pdfLaTeX.js&br; LuaLaTeX.js&br; XeLaTeX.js&br; pBibTeX.js&br; upBibTeX.js&br; &color(White,#1188FF){Mendex.js };&br; &br; ---- **TeXworks.js [#a5baaf50] [[TeXworks#組み込みの PDF ビューアに日本語を表示させる>TeXworks#t5313ebc]] を参照してフォントの埋め込みの設定を行います. ---- function main() { var fso = new ActiveXObject("Scripting.FileSystemObject"); var currentTeXFile = document.FullName; var pdfFile = currentTeXFile.replace(new RegExp(/\.[^.]*$/), ".pdf"); var texworks = "C:/w32tex/share/texworks/TeXworks.exe"; var mainTeXDir; var cd; var cmd; var args; if (!fso.FileExists(texworks)) { texworks = window.Prompt("Input the path to TeXworks.exe.", "TeXworks.exe"); if (!fso.FileExists(texworks)) { texworks = "TeXworks.exe"; } } texworks = ["\"", texworks, "\""].join(""); if (!fso.FileExists(pdfFile)) { var mainTeXFile = window.Prompt("Input the path to main TeX file.", pdfFile.replace(new RegExp(/\.[^.]*$/), ".tex")); if (mainTeXFile != "") { pdfFile = mainTeXFile.replace(new RegExp(/\.[^.]*$/), ".pdf"); } } mainTeXDir = fso.GetParentFolderName(pdfFile); cd = "cd /d " + ["\"", mainTeXDir, "\""].join(""); pdfFile = ["\"", pdfFile, "\""].join(""); args = texworks + " " + pdfFile; cmd = "cmd /c " + cd + " && echo " + args + " | cmd"; new ActiveXObject("WScript.Shell").Run(cmd, 1, true); } main(); ---- [マクロ(M)]-[カスタマイズ(C)...]-[新規作成(N)] で TeXworks.js を選択します. [ツール(T)]-[オプション(O)...]-[キーボード] でショートカットキーを追加して割り当てます. ---- &color(Black,#5F9EA0){%%% &color(White){''オプション''}; &color(Black,#CC3333){%%%[ ''&color(White){✕};'' ]%%%}; %%%};&br; &color(Black,#EEEEEE){%%%[ 基本 ][ 表示 ][ 記号 ]%%%};''[ キーボード ]''&color(Black,#EEEEEE){%%%[ 履歴 ][ 整形 ]%%%};&br; &br; カテゴリ(%%%C%%%): 新しいキー(%%%N%%%):&br; &color(Black,#EEEEEE){[マクロ ▼]}; %%%Ctrl+Alt+O%%%&br; &br; コマンド(%%%O%%%): 現在のキー(%%%U%%%):&br; 記録/停止&br; 実行&br; 名前を付けて保存&br; 編集&br; これを選択&br; マクロのカスタマイズ&br; pdfpLaTeX.js&br; pdfpLaTeX2.js&br; pdfupLaTeX.js&br; pdfupLaTeX2.js&br; pdfLaTeX.js&br; LuaLaTeX.js&br; XeLaTeX.js&br; pBibTeX.js&br; upBibTeX.js&br; Mendex.js&br; &color(White,#1188FF){TeXworks.js };&br; &br; ---- *その他の便利な TeX 用マクロ [#w4fa8cd3] **[[Beta, Build: 2.0.9.3936とマクロ:http://www.haijin-boys.com/index.php?fuseaction=weblog.entryInquire&entry_id=50546e5d130fe0.87291176#comment]] [#ebdddd03] **[[テキストエディタMery用LaTeXコンパイルマクロ:http://blog.kassyi.com/2011/10/merylatex.html]] [#ffd665b4] **MeryからTeXのコンパイル&PDF生成ができるようにする (LaTeXMacro.js + makepdf.ps1) [#n2ac0dc8] -[[TexをWindowsで使う:http://blog.kassyi.com/2011/05/texwindows_05.html]] -[[TeXをWindowsで使う(まとめ):http://blog.kassyi.com/2011/05/texwindows.html]] *スクリプト [#jd5ec718] **Happy [#dad3b2d6] -[[Happy:http://www.u-gakugei.ac.jp/~takizawa/Happy/]] --HappyInput (TeX 入力支援スクリプト) --HappyTeX (TeX タイプセット&プレビュー支援スクリプト) *入力補完 [#p98d874e] Mery には TeX の入力補完機能があります. Mery.exe と同じフォルダー内に Ext フォルダーがあります. Ext フォルダーの中に tex.txt という名前の辞書ファイルが存在します. Ctrl+Space を入力すると辞書ファイルの候補が補完されます. //辞書ファイルを作成するのが面倒な場合は,辞書ファイルを作成しなくても編集中のファイルから候補を探して補完してくれます. *アウトライン [#c4b6fe35] Mery にはアウトラインのプラグインが標準添付されています. [ツール(T)]-[プラグイン(I)]-[プラグインの設定(C)...] :プラグイン|Outline の [プロパティ(P)] で設定できます. デフォルトでは -開始 (\begin) -終了 (\end) が設定されています. ---- &color(Black,#5F9EA0){%%% &color(White){''アウトライン''}; &color(Black,#CC3333){%%%[ ''&color(White){✕};'' ]%%%}; %%%};&br; バーの位置(%%%P%%%): 検索/正規表現 置換&br; &color(Black,#EEEEEE){[左 ▼]}; %%%1%%%: %%%\begin%%%&br; 編集モード(%%%M%%%): %%%2%%%: %%%\end%%%&br; &color(Black,#EEEEEE){[TeX ▼]}; %%%3%%%: &color(Black,#EEEEEE){%%%...%%%};&br; タイプ(%%%T%%%): %%%4%%%: &color(Black,#EEEEEE){%%%....%%%};&br; &color(Black,#EEEEEE){[カスタム (開始と終了) ▼]}; %%%5%%%: &color(Black,#EEEEEE){%%%.....%%%};&br; 最大レベル(%%%A%%%) %%%6%%%: &color(Black,#EEEEEE){%%%......%%%};&br; &color(Black,#EEEEEE){[8 ▼]}; %%%7%%%: &color(Black,#EEEEEE){%%%.......%%%};&br; %%%8%%%: &color(Black,#EEEEEE){%%%........%%%};&br; ---- LaTeX の見出しの -部 (\part) -章 (\chapter) -節 (\section) -小節 (\subsection) -小々節 (\subsubsection) -段落 (\paragraph) -小段落 (\subparagraph) にジャンプできるようにカスタマイズすることも可能です. ---- &color(Black,#5F9EA0){%%% &color(White){''アウトライン''}; &color(Black,#CC3333){%%%[ ''&color(White){✕};'' ]%%%}; %%%};&br; バーの位置(%%%P%%%): 検索/正規表現 置換&br; &color(Black,#EEEEEE){[左 ▼]}; %%%1%%%: %%%\part%%%&br; 編集モード(%%%M%%%): %%%2%%%: %%%\chapter%%%&br; &color(Black,#EEEEEE){[TeX ▼]}; %%%3%%%: %%%\section%%%&br; タイプ(%%%T%%%): %%%4%%%: %%%\subsection%%%&br; &color(Black,#EEEEEE){[カスタム ▼]}; %%%5%%%: %%%\subsubsection%%%&br; 最大レベル(%%%A%%%) %%%6%%%: %%%\paragraph%%%&br; &color(Black,#EEEEEE){[7 ▼]}; %%%7%%%: %%%\subparagraph%%%&br; %%%8%%%: %%%........%%%&br; ---- *コマンドライン引数 [#uf77c708] [[Mery のコマンドラインスイッチ:http://dirtysexyquery.blogspot.jp/2012/07/mery-commandline-switch.html]] を参照. -「/l 行番号 "ファイル名"」でそのファイルの指定行で開く。 -「/fd」でファイルから検索ダイアログ表示。 -「/ti」でタスクトレイアイコンで起動(スタートアップとかにショートカット作るため) -「/mf "マクロのパス"」で起動時にマクロを実行 *SumatraPDF との連携 [#ra6f502f] **forward and inverse search (SumatraPDF を前面に表示したい場合) [#deefc535] ***SumatraPDF.js [#r19c8de4] ---- function main() { var fso = new ActiveXObject("Scripting.FileSystemObject"); var mery = editor.FullName; var currentTeXFile = document.FullName; var pdfFile = currentTeXFile.replace(new RegExp(/\.[^.]*$/), ".pdf"); var line = document.selection.GetActivePointY(mePosLogical); var sumatraPDF = "C:/Program Files/SumatraPDF/SumatraPDF.exe"; var mainTeXDir; var cd; var cmd; var args; if (!fso.FileExists(sumatraPDF)) { sumatraPDF = "C:/Program Files (x86)/SumatraPDF/SumatraPDF.exe"; if (!fso.FileExists(sumatraPDF)) { sumatraPDF = window.Prompt("Input the path to SumatraPDF.exe.", "SumatraPDF.exe"); if (!fso.FileExists(sumatraPDF)) { sumatraPDF = "SumatraPDF.exe"; } } } sumatraPDF = ["\"", sumatraPDF, "\""].join(""); if (!fso.FileExists(pdfFile)) { var mainTeXFile = window.Prompt("Input the path to main TeX file.", pdfFile.replace(new RegExp(/\.[^.]*$/), ".tex")); if (mainTeXFile != "") { pdfFile = mainTeXFile.replace(new RegExp(/\.[^.]*$/), ".pdf"); } } mainTeXDir = fso.GetParentFolderName(pdfFile); cd = "cd /d " + ["\"", mainTeXDir, "\""].join(""); currentTeXFile = ["\"", currentTeXFile, "\""].join(""); pdfFile = ["\"", pdfFile, "\""].join(""); args = sumatraPDF + " -reuse-instance " + pdfFile + " -inverse-search \"\\\"" + mery + "\\\" /l %l \\\"%f\\\"\"" + " -forward-search " + currentTeXFile + " " + line; cmd = "cmd /c " + cd + " && echo " + args + " | cmd"; new ActiveXObject("WScript.Shell").Run(cmd, 1, true); } main(); ---- **forward search (SumatraPDF を前面に表示したくない場合) [#t56d91ba] [[SumatraPDF#fwdsumatrapdf.exe>SumatraPDF#n8da77e2]] の fwdsumatrapdf.exe を使用します.~ ***fwdsumatrapdf.js [#a81d6b86] ---- function main() { var fso = new ActiveXObject("Scripting.FileSystemObject"); var currentTeXFile = document.FullName; var pdfFile = currentTeXFile.replace(new RegExp(/\.[^.]*$/), ".pdf"); var line = document.selection.GetActivePointY(mePosLogical); var fwdsumatrapdf = "C:/w32tex/NDde/Binary/fwdsumatrapdf.exe"; var mainTeXDir; var cd; var cmd; var args; if (!fso.FileExists(fwdsumatrapdf)) { fwdsumatrapdf = window.Prompt("Input the path to fwdsumatrapdf.exe.", "fwdsumatrapdf.exe"); if (!fso.FileExists(fwdsumatrapdf)) { fwdsumatrapdf = "fwdsumatrapdf.exe"; } } fwdsumatrapdf = ["\"", fwdsumatrapdf, "\""].join(""); if (!fso.FileExists(pdfFile)) { var mainTeXFile = window.Prompt("Input the path to main TeX file.", pdfFile.replace(new RegExp(/\.[^.]*$/), ".tex")); if (mainTeXFile != "") { pdfFile = mainTeXFile.replace(new RegExp(/\.[^.]*$/), ".pdf"); } } mainTeXDir = fso.GetParentFolderName(pdfFile); cd = "cd /d " + ["\"", mainTeXDir, "\""].join(""); currentTeXFile = ["\"", currentTeXFile, "\""].join(""); pdfFile = ["\"", pdfFile, "\""].join(""); args = fwdsumatrapdf + " " + pdfFile + " " + currentTeXFile + " " + line; cmd = "cmd /c " + cd + " && " + args; new ActiveXObject("WScript.Shell").Run(cmd, 1, true); } main(); ---- **inverse search [#d4cfb140] C:\Mery\Mery.exe /l %l "%f" *Adobe Reader との連携 [#efc77172] **pdfpLaTeXA.js [#h14da8ca] ---- function main() { var fso = new ActiveXObject("Scripting.FileSystemObject"); var c = document.Path; var b = fso.GetBaseName(document.Name); var cd = "cd /d " + ["\"", c, "\""].join(""); var latex = "platex -guess-input-enc -sjis-terminal"; var encoding = document.Encoding; if (parseInt(editor.Version) < 2) { if (encoding == meEncodingUTF8N || encoding == meEncodingUTF8) { latex = "platex -no-guess-input-enc -kanji=utf8 -sjis-terminal"; } else if (encoding == meEncodingSJIS) { latex = "platex -no-guess-input-enc -kanji=sjis -sjis-terminal"; } else if (encoding == meEncodingEUC) { latex = "platex -no-guess-input-enc -kanji=euc -sjis-terminal"; } else if (encoding == meEncodingJIS) { latex = "platex -no-guess-input-enc -kanji=jis -sjis-terminal"; } } else { if (encoding == meEncodingUTF8WithoutSignature || encoding == meEncodingUTF8WithSignature || encoding == meEncodingUTF8) { latex = "platex -no-guess-input-enc -kanji=utf8 -sjis-terminal"; } else if (encoding == meEncodingShiftJIS) { latex = "platex -no-guess-input-enc -kanji=sjis -sjis-terminal"; } else if (encoding == meEncodingEUC) { latex = "platex -no-guess-input-enc -kanji=euc -sjis-terminal"; } else if (encoding == meEncodingJIS) { latex = "platex -no-guess-input-enc -kanji=jis -sjis-terminal"; } } latex += " " + "-jobname=" + ["\"", b, "\""].join("") + " " + ["\"", b, "\""].join(""); var dvipdfm = "dvipdfmx" + " " + ["\"", b, "\""].join(""); var pdf = ["\"", b, ".pdf", "\""].join(""); var pdfopen = "pdfopen --rxi --file " + pdf; 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 + " && " + dvipdfm + " && " + pdfopen; var ok = window.Confirm(cmd); if (ok) { document.Save(); new ActiveXObject("WScript.Shell").Run(cmd, 1, true); } } main(); ---- **pdfpLaTeX2A.js [#gd894185] ---- function main() { var fso = new ActiveXObject("Scripting.FileSystemObject"); var c = document.Path; var b = fso.GetBaseName(document.Name); var cd = "cd /d " + ["\"", c, "\""].join(""); var latex = "platex -guess-input-enc -sjis-terminal"; var encoding = document.Encoding; if (parseInt(editor.Version) < 2) { if (encoding == meEncodingUTF8N || encoding == meEncodingUTF8) { latex = "platex -no-guess-input-enc -kanji=utf8 -sjis-terminal"; } else if (encoding == meEncodingSJIS) { latex = "platex -no-guess-input-enc -kanji=sjis -sjis-terminal"; } else if (encoding == meEncodingEUC) { latex = "platex -no-guess-input-enc -kanji=euc -sjis-terminal"; } else if (encoding == meEncodingJIS) { latex = "platex -no-guess-input-enc -kanji=jis -sjis-terminal"; } } else { if (encoding == meEncodingUTF8WithoutSignature || encoding == meEncodingUTF8WithSignature || encoding == meEncodingUTF8) { latex = "platex -no-guess-input-enc -kanji=utf8 -sjis-terminal"; } else if (encoding == meEncodingShiftJIS) { latex = "platex -no-guess-input-enc -kanji=sjis -sjis-terminal"; } else if (encoding == meEncodingEUC) { latex = "platex -no-guess-input-enc -kanji=euc -sjis-terminal"; } else if (encoding == meEncodingJIS) { latex = "platex -no-guess-input-enc -kanji=jis -sjis-terminal"; } } latex += " " + "-jobname=" + ["\"", b, "\""].join("") + " " + ["\"", 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 = "pdfopen --rxi --file " + pdf; 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; var ok = window.Confirm(cmd); if (ok) { document.Save(); new ActiveXObject("WScript.Shell").Run(cmd, 1, true); } } main(); ---- **pdfupLaTeXA.js [#hdc45060] ---- function main() { var fso = new ActiveXObject("Scripting.FileSystemObject"); var c = document.Path; var b = fso.GetBaseName(document.Name); var cd = "cd /d " + ["\"", c, "\""].join(""); var latex = "uplatex -no-guess-input-enc -kanji=utf8" + " " + ["\"", b, "\""].join(""); var dvipdfm = "dvipdfmx" + " " + ["\"", b, "\""].join(""); var pdf = ["\"", b, ".pdf", "\""].join(""); var pdfopen = "pdfopen --rxi --file " + pdf; 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 + " && " + dvipdfm + " && " + pdfopen; var ok = window.Confirm(cmd); if (ok) { document.Save(); new ActiveXObject("WScript.Shell").Run(cmd, 1, true); } } main(); ---- **pdfupLaTeX2A.js [#r820202a] ---- function main() { var fso = new ActiveXObject("Scripting.FileSystemObject"); var c = document.Path; var b = fso.GetBaseName(document.Name); var cd = "cd /d " + ["\"", c, "\""].join(""); var latex = "uplatex -no-guess-input-enc -kanji=utf8" + " " + ["\"", 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 = "pdfopen --rxi --file " + pdf; 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; var ok = window.Confirm(cmd); if (ok) { document.Save(); new ActiveXObject("WScript.Shell").Run(cmd, 1, true); } } main(); ---- **pdfLaTeXA.js [#u17bbe76] ---- function main() { var fso = new ActiveXObject("Scripting.FileSystemObject"); var c = document.Path; var b = fso.GetBaseName(document.Name); var cd = "cd /d " + ["\"", c, "\""].join(""); var pdflatex = "pdflatex" + " " + ["\"", b, "\""].join(""); var pdf = ["\"", b, ".pdf", "\""].join(""); var pdfopen = "pdfopen --rxi --file " + pdf; 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; var ok = window.Confirm(cmd); if (ok) { document.Save(); new ActiveXObject("WScript.Shell").Run(cmd, 1, true); } } main(); ---- **LuaLaTeXA.js [#k5350e5c] ---- function main() { var fso = new ActiveXObject("Scripting.FileSystemObject"); var c = document.Path; var b = fso.GetBaseName(document.Name); var cd = "cd /d " + ["\"", c, "\""].join(""); var lualatex = "lualatex" + " " + ["\"", b, "\""].join(""); var pdf = ["\"", b, ".pdf", "\""].join(""); var pdfopen = "pdfopen --rxi --file " + pdf; 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; var ok = window.Confirm(cmd); if (ok) { document.Save(); new ActiveXObject("WScript.Shell").Run(cmd, 1, true); } } main(); ---- **XeLaTeXA.js [#hbb42785] ---- function main() { var fso = new ActiveXObject("Scripting.FileSystemObject"); var c = document.Path; var b = fso.GetBaseName(document.Name); var cd = "cd /d " + ["\"", c, "\""].join(""); var xelatex = "xelatex" + " " + ["\"", b, "\""].join(""); var pdf = ["\"", b, ".pdf", "\""].join(""); var pdfopen = "pdfopen --rxi --file " + pdf; 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; var ok = window.Confirm(cmd); if (ok) { document.Save(); new ActiveXObject("WScript.Shell").Run(cmd, 1, true); } } main(); ---- *dviout との連携 (非推奨) [#fee7abf9] [[dviout#forward and inverse search>dviout#ycc841a2]] を参照. **pLaTeX.js [#jc3b9e8f] ---- function main() { var fso = new ActiveXObject("Scripting.FileSystemObject"); var c = document.Path; var b = fso.GetBaseName(document.Name); var cd = "cd /d " + ["\"", c, "\""].join(""); var latex = "platex -src-specials -guess-input-enc -sjis-terminal"; var encoding = document.Encoding; if (parseInt(editor.Version) < 2) { if (encoding == meEncodingUTF8N || encoding == meEncodingUTF8) { latex = "platex -src-specials -no-guess-input-enc -kanji=utf8 -sjis-terminal"; } else if (encoding == meEncodingSJIS) { latex = "platex -src-specials -no-guess-input-enc -kanji=sjis -sjis-terminal"; } else if (encoding == meEncodingEUC) { latex = "platex -src-specials -no-guess-input-enc -kanji=euc -sjis-terminal"; } else if (encoding == meEncodingJIS) { latex = "platex -src-specials -no-guess-input-enc -kanji=jis -sjis-terminal"; } } else { if (encoding == meEncodingUTF8WithoutSignature || encoding == meEncodingUTF8WithSignature || encoding == meEncodingUTF8) { latex = "platex -src-specials -no-guess-input-enc -kanji=utf8 -sjis-terminal"; } else if (encoding == meEncodingShiftJIS) { latex = "platex -src-specials -no-guess-input-enc -kanji=sjis -sjis-terminal"; } else if (encoding == meEncodingEUC) { latex = "platex -src-specials -no-guess-input-enc -kanji=euc -sjis-terminal"; } else if (encoding == meEncodingJIS) { latex = "platex -src-specials -no-guess-input-enc -kanji=jis -sjis-terminal"; } } latex += " " + "-jobname=" + ["\"", b, "\""].join("") + " " + ["\"", b, "\""].join(""); var cmd = "cmd /c " + cd + " && " + latex; var ok = window.Confirm(cmd); if (ok) { document.Save(); new ActiveXObject("WScript.Shell").Run(cmd, 1, true); } } main(); ---- **upLaTeX.js [#i30bcc08] ---- function main() { var fso = new ActiveXObject("Scripting.FileSystemObject"); var c = document.Path; var b = fso.GetBaseName(document.Name); var cd = "cd /d " + ["\"", c, "\""].join(""); var latex = "uplatex -src-specials -no-guess-input-enc -kanji=utf8" + " " + ["\"", b, "\""].join(""); var cmd = "cmd /c " + cd + " && " + latex; var ok = window.Confirm(cmd); if (ok) { document.Save(); new ActiveXObject("WScript.Shell").Run(cmd, 1, true); } } main(); ---- **forward search [#x84b65ee] ***dviout.js [#q13fb76b] ---- function main() { var fso = new ActiveXObject("Scripting.FileSystemObject"); var currentTeXFile = document.FullName; var dviFile = currentTeXFile.replace(new RegExp(/\.[^.]*$/), ".dvi"); var line = document.selection.GetActivePointY(mePosLogical); var dviout = "C:/w32tex/dviout/dviout.exe" var mainTeXDir; var cd; var cmd; var args; if (!fso.FileExists(dviout)) { dviout = window.Prompt("Input the path to dviout.exe.", "dviout.exe"); if (!fso.FileExists(dviout)) { dviout = "dviout.exe"; } } dviout = ["\"", dviout, "\""].join(""); if (!fso.FileExists(dviFile)) { var mainTeXFile = window.Prompt("Input the path to main TeX file.", dviFile.replace(new RegExp(/\.[^.]*$/), ".tex")); if (mainTeXFile != "") { dviFile = mainTeXFile.replace(new RegExp(/\.[^.]*$/), ".dvi"); } } mainTeXDir = fso.GetParentFolderName(dviFile); cd = "cd /d " + ["\"", mainTeXDir, "\""].join(""); currentTeXFile = ["'", fso.GetFileName(currentTeXFile), "'"].join(""); dviFile = ["\"", dviFile, "\""].join(""); args = dviout + " -1 " + dviFile + " \"# " + line + " " + currentTeXFile + "\""; cmd = "cmd /c " + cd + " && echo " + args + " | cmd"; new ActiveXObject("WScript.Shell").Run(cmd, 1, true); } main(); ---- **inverse search [#b5409d96] C:\Mery\Mery.exe^s /l %d "%s"