TexStudio 中 \newcommand 的自动完成

TexStudio 中 \newcommand 的自动完成

我创建了这样一个新命令:

\newcommand{\longref}[1]{{\ref{#1} (\nameref{#1})}}

它按预期工作 - 它打印了章节号和名称。太棒了。

现在我正在使用 Texstudio,当我输入 -command 时,它总是显示可用标签的列表\ref。使用我自己的命令时,它不再这样做。

有什么方法可以让我使用自己的命令自动完成?

答案1

对于 OP 来说可能已经太晚了,但根据记录:

为了让 TeXstudio 知道您的命令包含什么类型的字段,您必须在文件中告诉它.cwl,用于自动完成。

它们的默认位置是%appdata%\texstudio\completion\.config/texstudio/completion/

mycmds.cwl对于您自己的命令,您可以在该文件夹中创建一个名为的文件,user然后写入以下行

\longref{label%ref}#r

重新启动 TeXstudio 后,完成应该按您希望的方式进行:

在此处输入图片描述

另请参阅我的回答这里

答案2

我使用 TexStudio,它是我最喜欢的编辑器。我还没有特别尝试过你在这里尝试做的事情,但这是我在最新版本的 TexStudio 中观察到的。当你在 TexStudio 中加载文件时,它会尝试检测哪个是父文件(特别是如果文档中包含多个文件,例如使用subfiles包)。TexStudio 所做的是它还会加载你可以访问的那些文件中的资源。例如,如果你在序言中加载\usepackage{biblatex}参考书目文件\bibliography{ref.bib},你将获得文件中参考文献的自动完成建议ref.bib。因此,如果你开始输入,\textcite{你会看到一个建议列表(很可能按字母顺序排列),你可以从中选择参考文献。我猜这是你正在寻找的功能。

如果是这样,那么根据 TexStudio 的工作方式,我认为自定义命令不会获得自动完成功能(至少就我所见而言)。我可能是错的,因为这只是我的观察,但可能就是这样。希望这能帮助您了解您的情况。

相关内容