发生了一些奇怪的事情:

发生了一些奇怪的事情:

我有一份高度碎片化的文档。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)

在此处输入图片描述

相关内容