请问用sublime编辑tex文件时,如何配置makeglossaries供sublime调用进行词汇表编译?我查了下百度,说是在 sublime Text → tools → build system → new build system 进行配置,但是操作后还是不行。
百度AI给出的方法如下:
在 Sublime Text 中配置构建系统
创建自定义 .sublime-build 文件,例如命名为 LaTeXWithGlossaries.sublime-build,内容如下:
{
"cmd": ["latexmk", "-pdf", "-dvi-",
"-jobname=${file_base_name}",
"-synctex=1",
"-interaction=nonstopmode",
"${file}"],
"file_regex": "^(...*?):([0-9]+):?([0-9]+):? (.*)$",
"working_dir": "${file_path}",
"selector": "text.tex.latex",
"variants": [
{
"name": "Make Glossaries",
"cmd": ["makeglossaries", "${file_base_name}"],
"working_dir": "${file_path}"
}
]
}此配置使用 latexmk 自动处理编译流程(包括调用 makeglossaries),但若需手动触发,可通过 Tools → Build With… → Make Glossaries 执行。
几个建议:
\documentclass{article}
\usepackage{glossaries}
\makeglossaries
\newglossaryentry{latex}{
name={LaTeX},
description={A document preparation system}
}
\begin{document}
This document is written using \gls{latex}.
\printglossaries
\end{document}要正确编译上面的文档,有两种方案:
pdflatex main
makeglossaries main
pdflatex mainlatexmk,但也不能太直接一步到位,参考这个链接:在codex老师的帮助下,我发现我在windows下需要微调一下.latexmkrc:
add_cus_dep('glo', 'gls', 0, 'run_makeglossaries');
add_cus_dep('acn', 'acr', 0, 'run_makeglossaries');
sub run_makeglossaries {
my ($base_name, $path) = fileparse( $_[0] ); #handle -outdir param by splitting path and file, ...
pushd $path; # ... cd-ing into folder first, then running makeglossaries ...
if ( $silent ) {
# system "makeglossaries -q '$base_name'"; #unix
system "makeglossaries", "-q", "$base_name"; #windows
}
else {
# system "makeglossaries '$base_name'"; #unix
system "makeglossaries", "$base_name"; #windows
};
popd; # ... and cd-ing back again
}再用
latexmk -pdf main
现在要做的,就是如何把上述配置移植到 sublime 风格的配置文件上,让他实际上做和上面命令行完全相同的事。
我不方便用sublime测试...
可以试试下面的 codex 的建议: