Vim + latex-suite - 修改输出文件名
Vim + latex-suite - modify output file name
我想创建一个接受 foo.tex 并输出 foo_bar.pdf
的自定义编译规则
我在我的 texrc 中使用了以下配置,但我还没有找到从输出名称中排除 .tex 扩展名的方法。
TexLet g:Tex_CompileRule_bar = 'pdflatex -interaction=nonstopmode -file-line-error-style -halt-on-error -jobname=%_bar $*'
结果:foo.tex_bar.pdf
TexLet g:Tex_CompileRule_bar = 'pdflatex -interaction=nonstopmode -file-line-error-style -halt-on-error -jobname=$*_bar $*'
结果:foo.tex_bar.pdf
TexLet g:Tex_CompileRule_bar = 'pdflatex -interaction=nonstopmode -file-line-error-style -halt-on-error -jobname=bar_$ $*'
结果:bar_$.tex
您可以在 %
之后使用 :r
文件名修饰符删除其扩展名,然后再添加新的后缀。文件名修饰符通常在支持 %
的上下文中工作(例如使用 :!
到 运行 外部 shell 命令。)
在您的情况下,-jobname=%:r_bar
应该可以胜任。
有关修饰符的完整列表及其工作原理,请参阅 :help filename-modifiers
。
我想创建一个接受 foo.tex 并输出 foo_bar.pdf
的自定义编译规则我在我的 texrc 中使用了以下配置,但我还没有找到从输出名称中排除 .tex 扩展名的方法。
TexLet g:Tex_CompileRule_bar = 'pdflatex -interaction=nonstopmode -file-line-error-style -halt-on-error -jobname=%_bar $*'
结果:foo.tex_bar.pdf
TexLet g:Tex_CompileRule_bar = 'pdflatex -interaction=nonstopmode -file-line-error-style -halt-on-error -jobname=$*_bar $*'
结果:foo.tex_bar.pdf
TexLet g:Tex_CompileRule_bar = 'pdflatex -interaction=nonstopmode -file-line-error-style -halt-on-error -jobname=bar_$ $*'
结果:bar_$.tex
您可以在 %
之后使用 :r
文件名修饰符删除其扩展名,然后再添加新的后缀。文件名修饰符通常在支持 %
的上下文中工作(例如使用 :!
到 运行 外部 shell 命令。)
在您的情况下,-jobname=%:r_bar
应该可以胜任。
有关修饰符的完整列表及其工作原理,请参阅 :help filename-modifiers
。