Создать подсказку для моих команд

Создать подсказку для моих команд

Я создаю .styфайл и хочу, чтобы он был удобным для пользователя. Есть ли способ создать подсказки для моих собственных команд, как я вижу это в Kile для стандартных команд LaTeX?

намек в Киле

Я бы хотел иметь команду, которая выглядела бы так

\newcommand{\mycommand}[1]{#1}

и когда я начинаю печатать \myc, он мне показывает

\mycommand{text}

Можно ли сделать .styтак, чтобы это отображалось в любом редакторе, или эти подсказки — это какая-то специальная настройка для каждого редактора?

решение1

Как сказано в комментариях, это зависит от редактора. В Kile (я предполагаю, что вы используете этот редактор, судя по комментариям) вы можете создать свой .cwlфайл; см.Написание собственных файлов завершенияв руководстве Кайла.

Для вашей команды файл будет содержать только строку

\mycommand{text}

возможно с комментарием.

# macros from mypkg.sty
\mycommand{text}

В руководстве TeXstudio есть некоторая информация о формате CWL:4.13 Описание формата cwl

Можно ли это сделать в .sty, чтобы отображалось в любом редакторе, или эти подсказки — это какие-то специальные настройки для каждого редактора?

Как уже было сказано, это зависит от редактора (некоторые понимают формат CWL), и вы не можете определить это в файле .sty. Однако, если вы публикуете пакет, вы можете добавить соответствующий .cwlфайл. В этом случае пользователю придется установить его вручную (в зависимости от того, где его редактор ищет такие файлы), или вы можете предложить включить эти файлы в пакет редактора. В этом случае вы должны связаться с разработчиками различных редакторов.

решение2

Kile позволяет добавлять их интерактивно. Однако интерфейс работает не так хорошо, как раньше. Действительно, Kile больше не может найти свои собственные .cwlфайлы по умолчанию на моих машинах.

В диалоговом окне конфигурации вверху LaTeX > Generalимеется кнопка с надписью .Configure...Configure LaTeX environments and commands

Если нажать эту кнопку, откроется диалог с двумя вкладками: одна для сред и одна для команд. Они сгруппированы по функциям, например, Mathsили Lists. Если нажать на группу, можно использовать Addкнопку внизу диалога для добавления дополнительных сред/команд. Однако вы больше не можете добавлять новые группы (по крайней мере, я не могу).

снимок экрана: окружающая среда

Вот команда:

скриншот: команда

В этом интерфейсе есть много неприятных особенностей: невозможность добавлять новые группы, невозможность указать более одного необязательного и более одного обязательного аргумента, невозможность указать макросы, требующие нестандартного синтаксиса и т. д. и т. п.

Возможно, .cwlпоэтому подход с файлами более полезен. Однако для простых случаев GUI может быть полезным методом.

Связанный контент