我看不出有什么情况我需要编译 dvi 文件。因此,我希望 latexmk 默认通过 pdflatex 给我一个 pdf,这样我就不必每次都输入 -pdf。我尝试将以下内容添加到 latexmkrc 文件中,但没有成功:
$print='pdf';
$pdflatex = 'pdflatex --shell-escape %O %S';
乃至
$pdf=1
我在 Windows 上,所以我不能直接将其添加到我的别名文件中。除非我另有说明,否则有没有办法设置 latexmk 来为我制作 pdf?
答案1
在 Windows 上,在 USERPROFILE 环境变量指定的目录中latexmk
查找文件。这通常是.latexmkrc
C:\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_rcfiles
和extra-scripts
: