我在 LaTeX 报告中定义了几个宏。例如,下面是我为写粗体字母 H 而定义的宏。我在工作中使用了几个这样的宏。
\newcommand{\channel}{\ensuremath{\mathbf{H}}}
每当我使用 时\channel
,TeXstudio 都会将其突出显示为红色,并显示未知命令。但它确实受自动完成功能支持。我想阻止 TeXstudio 将其突出显示为红色(因为它很烦人并且影响可读性)。有什么办法吗?
更新 - -
看到评论后,我意识到我忘了包含一件重要的事情。我总是把这些宏和包调用都写在一个文件中。然后我在我正在编写的 LaTeX 文件中输入这个文件。但现在我想我的要求有点太多了。我的意思是我需要软件识别我从另一个文件输入的宏。不过,我想知道是否有任何解决方案。
答案1
通常情况下,TeXstudio 会识别\usepackage{…}
主文件中的并加载自动完成列表(.cwl
),但 TeXstudio 还不够智能,无法识别外部文件中加载的包。
你可以手动选择自动完成列表对于在外部文件中加载的包,但它们在每个文档中都是活动的。
对于自定义命令我只看到一个解决方案自定义.cwl
文件当然,它有同样的缺点(如果没有禁用,则始终处于活动状态)。
答案2
我遇到了同样的问题,我找到了一种解决方法(我在 Ubuntu 16.04 上安装了 TeXstudio)。在“结构”面板(编辑器左侧)中,只需单击要输入的文件的名称即可。
这里是 MWE,带有一些快照以使其更清晰:我创建了一个def.tex
仅包含该行的 文件\newcommand{\channel}{\ensuremath{\mathbf{H}}}
和一个testDoc.tex
包含以下行的文件:
\documentclass{article}\input{def}\begin{document}\channel\end{document}
正如预期的那样,\channel
如此快照所示以红色突出显示:
现在,如果我点击文件def
在左侧面板中名为“结构”(这将def.tex
在编辑器中打开),然后返回testDoc.tex
红色突出显示消失。此外,自动完成现在包括对频道的建议: