我创建了一个mymacros.sty
文件,希望我的 LaTeX 文件能够使用我定义的命令来访问它。我已设法通过添加\usepackage{mymacros}
序言来使其工作。
但是当我尝试自动完成时却无法完成。我看了这个问题:
https://sourceforge.net/p/texstudio/wiki/Frequently%20Asked%20Questions/#how-does-txs-know-about-valid-commands),其中推荐了 3 种方法,但对我来说都不起作用。
它首先推荐mymacros.sty
在编辑器中打开。但是这不起作用。
第二种方法是激活选项面板中的选项Editor
-> 。但是,虽然我有一个选项卡,但那里没有这样的选项。Automatically load included files
configure TeXstudio
Editor
第三个是使用.cwl
文件,但我不确定该怎么做。在完成选项卡中,我注意到出现了一个mymacros.sty
选项,我勾选了它,但没有效果。我需要自己制作mymacros.cwl
文件吗?我试过查找这个,但没有任何结果。
有人有什么想法吗?提前致谢!
答案1
恐怕我无法准确诊断您的问题,但您可以创建自己的.cwl
文件。希望这是一个可接受的替代方案。
参考:http://texstudio.sourceforge.net/manual/current/usermanual_en.html#CWLDESCRIPTION
1)第一步是找到.cwl
存储文件的目录。如果您使用的是 Windows,自定义.cwl
文件存储在.\AppData\Roaming\TeXstudio\completion\user
目录中。如果有疑问,请在 TeXstudio 中转到Help
->Check LaTeX installation
并搜索Setting file
。目录应该会为您打印出来。
2)转到记事本或任何其他文本编辑器(TeXstudio 也可以!)。该.cwl
文件的命令语法如下:
<command>[#classification]
有关分类样式的列表及其作用,请参阅上面的链接,第 4.13.3 节。现在,尝试在文本文件中添加一行:
\ThisIsMyCommand#n
并使用您选择的文件名保存它。据我所知,这不必与您的.sty
姓名一致,因此让我们选择randomcwl.cwl
文件名。确保它是.cwl
文件。
3)继续将此文件放入.cwl
步骤 1 中的目录中。
4)现在,如果你转到Configure TeXstudio
-> Completion
,你会发现random.cwl
选项已经弹出。选中该框。
5)并测试一下!
答案2
我遇到了同样的问题。由于样式文件中定义的宏未出现在自动完成中,因此我将它们复制到主文件中(只是暂时的),并且运行正常。这是一个简单的解决方法,但不是最好的解决方案。
答案3
当我按照 Troy 的回答时,我遇到了类似的问题,只是我将 .sty 文件的自动生成的 .cwl 文件复制到完成/用户目录中,并按照 Troy 的描述选中了配置中该文件旁边的复选框,但自动完成仍然不起作用。
对我来说,解决问题的方法是删除 .cwl 文件内所有命令中的 #S,然后重新启动编辑器