我如何设置我的配置文件以使 latexmk 默认制作 pdf?

我如何设置我的配置文件以使 latexmk 默认制作 pdf?

我看不出有什么情况我需要编译 dvi 文件。因此,我希望 latexmk 默认通过 pdflatex 给我一个 pdf,这样我就不必每次都输入 -pdf。我尝试将以下内容添加到 latexmkrc 文件中,但没有成功:

$print='pdf';

$pdflatex = 'pdflatex --shell-escape %O %S';

乃至

$pdf=1

我在 Windows 上,所以我不能直接将其添加到我的别名文件中。除非我另有说明,否则有没有办法设置 latexmk 来为我制作 pdf?

答案1

在 Windows 上,在 USERPROFILE 环境变量指定的目录中latexmk查找文件。这通常是.latexmkrcC:\Users\[user name]\

如果添加:

$pdf_mode = 1;

对于此文件,latexmk将默认创建一个PDF文件。

答案2

您需要$pdf_mode = 1;启用 pdf 模式。手册上说它与以下选项相同:

...

相当于 -pdf-、-pdf、-pdfdvi、-pdfps 选项。

自 2016 年 8 月 17 日起,latexmk 遵循XDG 基础目录规范$XDG_CONFIG_HOME/latexmk/latexmkrc并在(或环境$HOME/.config/latexmk/latexmkrc变量为空或未设置)中查找其配置文件$XDG_CONFIG_HOME。它还将检查$HOME/.latexmkrc与旧版本的兼容性。


这是我的完整.latexmkrc文件:

$recorder = 1;
$pdf_mode = 1;
$bibtex_use = 2;
$pdflatex = "pdflatex --shell-escape %O %S";
$pdf_previewer = "start open -a preview %O %S";

add_cus_dep('glo', 'gls', 0, 'run_makeglossaries');
add_cus_dep('acn', 'acr', 0, 'run_makeglossaries');

sub run_makeglossaries {
  if ( $silent ) {
    system "makeglossaries -q '$_[0]'";
  }
  else {
    system "makeglossaries '$_[0]'";
  };
}

push @generated_exts, 'glo', 'gls', 'glg';
push @generated_exts, 'acn', 'acr', 'alg';
$clean_ext .= ' %R.ist %R.xdy';

更多信息latexmk example_rcfilesextra-scripts

http://ctan.org/tex-archive/support/latexmk/example_rcfiles

http://ctan.org/tex-archive/support/latexmk/extra-scripts

相关内容