gpt4 book ai didi

vim - texlive 和 gvim 的输出目录

转载 作者:行者123 更新时间:2023-12-04 13:41:42 26 4
gpt4 key购买 nike

我是 gvim 的 usgin latex-suit。我想使用 output-dir 选项。我定义:

let g:Tex_MultipleCompileFormats='pdf'
let g:Tex_CompileRule_pdf = 'pdflatex --output-directory=output --synctex=-1 -src-specials -interaction=nonstopmode $*'

问题是使用 --output-directory 选项时,如果需要,latex-suit 不会编译多次,只会编译一次。而且,如果引用发生变化,我必须手动编译它。

如何使用 --output-directory 配置 latex-suit 多个编译选项?

最佳答案

您有两个选择:使用 makefile(我会推荐)或在 g:Tex_CompileRule_pdf 中多次运行命令.

使用生成文件

LaTeX 文档,当它们变大时,管理起来可能很麻烦:

  • 几个 BibTeX 引用文件,
  • {draft} 中以不同方式编译的 gnuplot 图模式,
  • 和一般\input文件。

如果您尝试使用单个命令行来管理它,它将很快变得无法维护。使用 Makefile 可以更好地检查文件之间的依赖关系,而且 Vim 可以用 :make 编译 LaTeX 文档。 (默认 :makeprg ,设置为 make )。示例 Makefile 可能如下所示:

# Makefile for my LaTeX doc

LATEX = pdflatex -output-directory=output -synctex=-1 -src-specials -interaction=nonstopmode
BIBTEX = bibtex
RM = rm -f
BIB = mybibs.bib
LTFS = *.aux *.lof *.log *.lot *.fls *.out *.toc
DOCS = *.dvi *.pdf
BIBS = *.bbl *.blg
IDXS = *.idx *.ilg *.ind *.ist
OTHER = *.acn *.acr *.glg *.glo *.gls *.brf *.lol

all: document.pdf

%.pdf: %.tex %.bbl
$(LATEX) $<
$(LATEX) $<

.PRECIOUS: %.aux
%.aux: %.tex
$(LATEX) $<

.PRECIOUS: %.bbl
%.bbl: %.aux $(BIB)
$(BIBTEX) $<

.PHONY: clean
clean:
$(RM) $(LTFS) $(DOCS) $(BIBS) $(IDXS) $(OTHER)

此 Makefile 运行 pdflatex默认情况下两次:一次构建章节和页码,第二次进行适当的交叉引用。如果引用更改了 .aux文件将被更改并且pdflatex将运行 3 次。

如果您不使用 BibTeX,则不需要有关 %.bbl 的部分文件。

将几个命令放入g:Tex_CompileRule_pdf

我会再次警告,这将很快变得无法维护。通过很长的命令行跟踪文件之间的依赖关系非常困难。

无论如何,你可以使用$*在 Vim 的外部命令中多次。本质上你可以这样做:

let g:Tex_CompileRule_pdf = 'pdflatex -output-directory=output '
\. '-synctex=-1 -src-specials -interaction=nonstopmode $*; '
\. 'pdflatex -output-directory=output '
\. '-synctex=-1 -src-specials -interaction=nonstopmode $*'

它会运行 pdflatex<leader>ll 时两次(注意分号) .


额外说明:我们确实有 vi.SE Vim 特定问题的网站部分。在那里获得 Vim 相关的答案通常更快。

关于vim - texlive 和 gvim 的输出目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38358507/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com