Как сделать перекрестную ссылку на уравнение в файле справки R / roxygen2
-
28-10-2019 - |
Вопрос
Я занимаюсь документированием некоторых своих функций для создаваемого мной пакета R.
Я использую разметку roxygen, хотя это в значительной степени не имеет отношения к моему вопросу.
Я включил уравнения в свою документацию с помощью кода \deqn{...}
. У меня вопрос:
Можно ли в дальнейшем связать это уравнение с перекрестными ссылками?
Например, в моем файле Rd:
родовое словоМогу я позже сделать что-нибудь вроде:
<цитата>Ссылаясь на уравнение \ ref {test}, ...
Я пробовал \eqref{test}
, \ref{test}
(которые оба получают "неизвестный макрос" и не связываются), а также \link{test}
(который жалуется, что не может найти функцию test
, потому что это действительно просто для связи с другими функциями).
В противном случае я боюсь, что мне, возможно, придется сделать что-то взломанное и добавить -- (1)
и Refer to equation (1)
вручную в \deqn
и т. д. в файле Rd ...
Обновить
Общий ответ - "нет". (ууууу ...)
Однако я могу написать виньетку и использовать там «нормальный» латекс / пакеты. В любом случае, я только что заметил, что матричные уравнения, которые я потратил целую вечность, вставляя в свой файл roxygen / Rd, выглядят ужасно в версии справки ?myFunction
(они отображаются как буквально буквальный источник латекса). Это очень досадно, потому что они прекрасно смотрятся в PDF-версии справки.
@Iterator указал на существование условного текста , поэтому я буду выполнять математические вычисления ASCII в файлах .Rd, а математические вычисления латексом - в руководстве / виньетке в формате PDF.
Решение
Я собираю свои комментарии выше в ответ на благо других.
Во-первых, я действительно не знаю, поддерживает ли .Rd тегирование уравнений. Однако формат .Rd является настолько строгим подмножеством LaTeX и производит очень примитивный текстовый вывод, что включение в его формат обширных уравнений может быть болезненным делом без особой пользы для пользователя.
Альтернативой является использование виньеток для пакетов , или даже документации, размещенной на внешнем сервере (как это сделал Хэдли Викхэм для некоторых из своих пакетов). Это позволит вам сколько угодно использовать PDF-файлы или другую документацию. Таким образом, вы можете включать скриншоты, графики, все самые забавные расширения LaTeX, которые есть только у вас, и, что наиболее важно, расширения AMS, которые мы все знаем и любим.
Тем не менее, можно указать различную визуализацию данного раздела документации (в .Rd) в зависимости от интерфейса, например текст для консоли, красивые символы для HTML и т. д. и условный текст поддерживает такие варианты формата.
Хороший вопрос. Я не знаю ответа относительно осуществимости, но у меня были похожие вопросы о совместном документировании функций и уравнений, и это исследование того, что возможно с файлами .Rd, убедило меня использовать виньетки PDF, а не файлы .Rd.