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'이라는 시퀀스를 포함하는 모든 단어가 바로 그 중간에 매크로를 갖게 되므로 정말 짜증날 것입니다! 보지 않고 Umlaut를 입력했다면 U\SI{aut and the rest of the text in the braces,}{\ml}전혀 의미가 없는 내용을 알게 될 것입니다. 트리거와 매크로를 사용하여 훨씬 더 많은 작업을 수행할 수 있습니다. ?"트리거"라는 단어 옆에 있는 을 클릭하고 직접 시도해 보십시오.

관련 정보