TeXstudio: カスタム コマンドの「再帰的」オートコンプリート

TeXstudio: カスタム コマンドの「再帰的」オートコンプリート

参照セクション(図、章など)にこのコマンドを追加しました。

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

TeXstudioのオートコンプリート機能で

ここに画像の説明を入力してください

しかし、実際のセクションのオートコンプリートがありません。 のオートコンプリートのように\ref{...。これは可能ですか?

あまり良い解決策ではないが、\refコマンドをスキップする

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

そして、例えば次のようにします\secref{\ref{sec:setup}}

答え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}まったく意味をなさない が表示されます。トリガーとマクロを使ってさらに多くのことができます。?「トリガー」という単語の横にある をクリックして、自分で試してみてください。

関連情報