Переименовать макрос в латексмате в asciidoc - PullRequest
0 голосов
/ 23 апреля 2020

Есть ли способ, которым я могу переименовать или псевдоним latexmath в документе AsciiDo c?

В идеальном мире я бы хотел настроить AsciiDo c таким образом, чтобы $...$ интерпретируется как математика LaTeX, а $$...$$ интерпретируется как уравнение блока. В общем, я просто пытаюсь уменьшить количество символов, участвующих в определении математического блока, поскольку

where $c$ is the speed of light and $m_0$ is the rest mass 

значительно более читабельно (для тех, кто годами использовал LaTeX), чем

where latexmath:[$c$] is the speed of light and latexmath:[$m_0$] is the rest mass 

У меня есть вариант использования: я пишу техническую документацию для загрузки в репозиторий GitLab. Я бы хотел использовать возможность GitLab для автоматической визуализации файлов формата AsciiDo c. Тем не менее, эти документы тяжелы по математике, поэтому я считаю, что большое количество блоков latexmath:[...] трудно прочитать при редактировании.

1 Ответ

0 голосов
/ 08 мая 2020

latexmath - имя макроса, который обрабатывает разметку LaTeX. Если вы не укажете latexmath, asciidoctor не знает, как передать управление альтернативному парсеру.

Вы можете достичь того, что вам нужно, написав шаг предварительной обработки, который идентифицирует смежные блоки разметки LaTeX и оборачивает эту разметку в latexmath:[...]. Затем обновленная разметка может обрабатываться Asciidoctor как обычно (при условии, что ваша идентификация разметки LaTeX является точной). Как вы go решаете, как реализовать это.

Другой способ, если у вас есть навыки Ruby, состоит в том, чтобы изменить расширение, реализующее макрос latexmath, так, чтобы оно вызывалось, скажем, L. Тогда ваша разметка будет более краткой:

where L:[$c$] is the speed of light and L:[$m_0$] is the rest mass 
...