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