问题

问题

这是

问题

多年来,我收集了相当多的有用的软件包和命令。到目前为止,我将它们保存在 TeXstudio 中作为模板,以便我可以从中开始一个新文件。这类似于每次创建新文件时复制粘贴所有内容,这会引起一些可维护性和重复问题。

我尝试过

我尝试将前言分离到 test.sty 文件中,将其放在新根目录 (../tex/latex/test.sty) 中,在 MiKTeX 设置 (管理员) 中添加根目录并按“刷新 FNDB”将其包括在内。

当我编译使用 TeXstudio,它可以找到 test.sty,一切正常。然而,自动完成器既不识别这些包,也不识别它们的命令。

据我所知这里,如果设置了 MiKTeX,TeXstudio 会使用 将自定义的本地包 test.sty 与来自 MiKTeX 的云端包列表进行比较mpm.exe --list。这可能是问题所在,因为运行该命令并将其输出保存在临时 .txt 文件中,我的 test.sty 没有出现!

我是不是在尝试做一些目前不可能的事情,或者我只是在犯傻?

这是我尝试的 MWE 和自动完成器的图片。

myTex.tex

\documentclass{article}
\usepackage{test}
%\usepackage{mathtools}

\begin{document}

% the flalign* env. from mathtools in test.sty is not recognized before compiling.
\begin{flalign*}
2x+3 &= 5 \\[1mm]
x &= \dfrac{5-3}{2}
\end{flalign*}

\end{document}

测试.sty

\ProvidesPackage{test}[2017/10/14 The Amazing Squirrel's collection of packages]

\RequirePackage[utf8]{inputenc}
\RequirePackage{mathtools}
\RequirePackage{amssymb}
\RequirePackage{logicproof} %Fitch-Style Predicate Logic Proof in the style of Huth & Ryan

\endinput

flalign* 无法识别

技术信息。

我在 Win. 7 Pro 联想笔记本电脑上运行了 TeXstudio 2.12.6 和 MiKTeX 2.9。

答案1

为了让 TeXstudio 识别包含的软件包中的命令(特别是对于你的情况,通过.sty文件包含),您需要设置自定义.cwl文件因为这些文件控制 TeXstudio 的自动完成功能。请参阅我的上一个答案有关创建自定义.cwl文件的详细信息。

在这里,您不需要将命令逐个添加到自定义.cwl文件中,因为您包含的包已经有自己的.cwl文件,例如mathtoolsamssymb,您可以使用#include:<packagename>加载packagename.cwl

例如,在test.cwl

#include:mathtools
#include:amssymb

并对文件中添加的任何其他包重复此操作.sty

Configure TeXstudio -> Completion如果 TeXstudio 没有自动获取它,请记住通过以下方式激活它。

相关内容