答案1
我宁愿使用,而不是重新发明轮子cleveref
。这将自动插入引用标签的适当名称,并由 texstudios 自动完成支持。
例如在以下文档中
\documentclass{article}
\usepackage[capitalise, noabbrev]{cleveref}
\begin{document}
\section{test}
\label{sec:test}
\begin{figure}
\caption{bla}\label{fig:bla}
\end{figure}
\cref{fig:bla} \cref{sec:test}
\end{document}
Texstudio 将提示
输出将是
答案2
编辑:这并没有回答问题,正如评论中所述。在这个答案中,我解释了如何在 texstudio 中添加宏,以便光标跳转到该宏中的特定位置。这确实是完全不同的事情。
原始答案
虽然我同意 samcarter 的观点,但为了完整起见,有一种方法可以在 texstudio 中完成您最初想要做的事情。
转到 [宏 > 编辑宏...] 然后创建一个新宏,为其命名、缩写(不是必需的,而且在我看来没什么用)和触发器(良好的设计对于触发器很重要)。在代码部分,您将添加
\secref{%|section%|}
保存并关闭。在编辑器窗口中,键入触发器,触发器文本将自动被宏代码替换,\secref{section}
光标焦点选择section
括号中的单词,即可进行编辑。
如您所见,我滥用了此功能。(图片中有很多垃圾,因为我正在测试对我有用的东西,但我还没有清理这些垃圾。)
顺便说一句,我在大多数触发器的开头和结尾都使用空格,以防止 texstudio 将“普通文本”转换为某些宏。例如,ml
没有空格的宏会非常烦人,因为任何包含序列“ml”的单词都会在中间出现一个宏!如果我不看就输入变音符号,我会得到完全U\SI{aut and the rest of the text in the braces,}{\ml}
没有意义的结果。您可以使用触发器和宏做更多的事情,只需单击?
单词“触发器”旁边的并亲自尝试。