
Я создаю .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 может быть полезным методом.