夜空日和 [出張版]

星を見上げながら、今日を語ってみようか

 

スポンサーサイト


Category: スポンサー広告   Tags: ---
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[tex] vim-quickrunで指定ファイルからコンパイル


Category: 技術   Tags: ---
EmEditor/M's TeX Helper 2 では、ファイルの先頭に
%%%Root main.tex
と記述すれば、どんなtexファイルでも同じディレクトリの main.tex からコンパイルしてくれます。
(記憶が正しければ・・・)

vim-quickrunでも同様のことがしたかったので、そんなスクリプトを書いてみました。
( というか、vim-quickrun/autoload/quickrun/hook/shebang.vim を少し書き換えた程度です)



""" after/ftplugin/tex.vim

scriptencoding utf-8

let s:save_cpo = &cpo
set cpo&vim

let s:hook = { 
\   "name": "latex",
\   "kind": "hook",
\   "config": {
\     "enable": 0,
\   },  
\ }

function! s:hook.on_module_loaded(session, context)
  let line = get(readfile(a:session.config.srcfile, 0, 1), 0, '') 
  if line =~ '^%%%Root'
    let srcname = substitute(line[7:], ' ', '', 'g')
    let dirname = getcwd()
    let a:session.config.srcfile = resolve(dirname . '/' . srcname)
  endif
endfunction

call quickrun#module#register(s:hook, 1)
unlet s:hook

let &cpo = s:save_cpo
unlet s:save_cpo

""" ここまで
""" 以下は、quickrunのコンパイルルール

""" quickrun
let g:quickrun_config.tex = { 
\   'hook/latex/enable': 1,
\   'command': 'platex' ,
\   'exec': ['%c -output-directory %s:h %s', 'dvipdfmx -o %s:r.pdf %s:r.dvi']
\ }

実はまだ、階層が違うファイルの場合は出来るのか確認していません。 (^_^;)
出来ない場合は、 resolve 辺りを書き換えれば出来るはずです。

それにしても、vimscriptのsyntax-highlightが出来てない・・・

スポンサーサイト


Comments

Leave a Comment



08 2017
SUN MON TUE WED THU FRI SAT
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -

07

09


 
プロフィール

ひでたそ

Author:ひでたそ
Comment:
現役大学生で天文好き。
今日もどこかで、上を見ながら歩いています。

 
 
 
最新トラックバック
 
 
検索フォーム
 
 
 
ブロとも申請フォーム
 
QRコード
QRコード
 

Archive   RSS   Login

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。