TeXstudio:自訂指令的「遞歸」自動完成

TeXstudio:自訂指令的「遞歸」自動完成

我將此命令添加到參考部分(圖、章節等):

\newcommand{\secref}[1]{Section~\ref{#1}}

現在 TeXstudio 自動完成功能向我展示了

在此輸入影像描述

但我缺少實際部分的自動完成功能。就像在自動完成中一樣\ref{...。這可能嗎?

一個不太好的解決方案是跳過該\ref命令

\newcommand{\secref}[1]{Section~#1}

然後再去舉例\secref{\ref{sec:setup}}

答案1

我寧願使用cleveref.這將自動插入引用標籤的適當名稱,並受 texstudio 自動完成功能的支援。

例如在下面的文件中

\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}

Textstudio會提示

在此輸入影像描述

輸出將是

在此輸入影像描述

答案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}根本沒有意義的結果。您可以使用觸發器和巨集執行更多操作,只需點擊?“觸發器”一詞旁邊的按鈕並親自嘗試。

相關內容