我有一份高度碎片化的文档。MWE 可能看起来像这样:
主文本
\input{preamble.tex}
\begin{document}
\input{chapter.tex}
\end{document}
序言.tex
\documentclass{memoir}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{acro}
\input{acronymlist.tex}
首字母缩略词列表.tex
\DeclareAcronym{gnu}{short=GNU,long=Gnu is Not Unix}
章节.tex
\ac{gnu}
这里ac
章节中的命令以红色突出显示,如果\usepackage{acro}
将命令移动到 main.tex,TeXstudio 可以工作,但当文件碎片化时则不起作用。
有没有办法让 TeXstudio 看到它应该自动完成 acro 命令而不\usepackage
存在于主文件中?
并非所有软件包都存在这个问题。siunitx 软件包可以正常工作,但 acro 软件包不知为何却不能。
发生了一些奇怪的事情:
我们的非 MWE 序言看起来更像是:Preamble.tex
\documentclass{memoir}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
%Start of using many packages
blob
%end of using many packages
\usepackage{acro}
\input{acronymlist.tex}
\usepackage{listings}
%A few more things
如果我们移动\usepackage{acro}\input{acronymlist.tex}
到下面,\usepackage{listings}
它突然就起作用了。这可能是由于 acro 包前后的一些不幸组合造成的。最奇怪的是,其他包没有受到影响。我们尝试\usepackage{cleveref}
四处移动,但\cref
始终被标记为正确。
答案1
移动球门柱改变了我的行为,但它仍然可以使用我机器上的一组新文件。
好的,现在我明白了 如果我只打开章节所以没有其他参考手段,而且我也没有告诉 TeXstudio 我正在使用首字母缩略词,然后它显然会变成红色,转到选项>配置>高级>完成并启用 acro 和首字母缩略词,单击确定,你应该可以开始了
根据评论和进一步测试
看起来,由于 preamble 和 main 的划分,我可以在不手动设置 cwl 的情况下让 acro 和 acronym 被接受,而不管作为示例给出的软件包是什么如果
我已经告诉 TeXstudio 主文件在哪里,即使它当前没有打开,然后它似乎按照链条包含主文件和前导文件所需的 cwls。
如果我添加“错误”条目,它会显示为红色,但使用上面的 mwe 文件,\ac 会在自动完成时为我提供 {ID},没有任何问题。在 Windows 10 上运行 2.12.14(便携式 32 位 MiKTeX)