1

現在の *.tex ファイルをコンパイルし、pdf ビューアーに表示する新しいコマンドを作成したいと思います (これにより、プレビューを使用するために OSX を使用しています)。これが私の試みです:

autocmd BufReadPost,BufWritePost *.tex nmap <Leader>b :!TEMP=% && PDF=${TEMP:0: ${#TEMP}-4 } && echo $TEMP && "/usr/texbin/pdflatex" -synctex=1 -interaction=nonstopmode % && open $PDF && unset TEMP PDF<CR>

TEMP は mit *.tex ファイルのファイル名です。

PDF は私の *.pdf のファイル名です。

ただし、これを実行すると、次のエラー メッセージが表示されます。

499: Empty file name for '%' or '#', only works with ":p:h"

「#」を使用せずに文字列を短縮する別の方法はありますか?

解決:

autocmd BufReadPost,BufWritePost *.tex nmap <Leader>b :!PDF="%<.pdf" && "/usr/texbin/pdflatex" -synctex=1 -interaction=nonstopmode "%" && open "$PDF" && unset PDF<CR>
4

1 に答える 1