ФАЙЛ FORMULA_MACROFILE Доксигена не читает макрофайл

#latex #doxygen #mathjax

Вопрос:

в некоторых проектах LaTeX я хочу использовать файл с некоторыми инструкциями newcommand, которые облегчают (или, по крайней мере, ускоряют) написание уравнений линейной алгебры. Поэтому я скопировал этот файл в свой проект и настроил файл Doxyfile с переменной FORMULA_MACROFILE , установленной на macros.inc

Теперь, если я использую команду, определенную в macros.inc doxygen, я не смогу использовать эти команды ни с помощью latex, ни с помощью mathjax.

Это мой доксфайл

 PROJECT_NAME           = <...>                                                                    
OUTPUT_DIRECTORY       = <...>
INPUT                  = <...>
RECURSIVE              = YES
MARKDOWN_SUPPORT       = YES

EXTRACT_ALL            = YES
EXTRACT_PRIVATE        = YES
EXTRACT_STATIC         = YES

CLASS_DIAGRAMS         = YES
HIDE_UNDOC_RELATIONS   = NO
HAVE_DOT               = YES
CLASS_GRAPH            = YES
COLLABORATION_GRAPH    = YES 
UML_LIMIT_NUM_FIELDS   = 50  
TEMPLATE_RELATIONS     = YES              
DOT_GRAPH_MAX_NODES    = 100
MAX_DOT_GRAPH_DEPTH    = 0                                                                              
DOT_TRANSPARENT        = YES                                                                            
DOT_IMAGE_FORMAT       = svg                                 
                                                                                                        
USE_MATHJAX            = YES                                                                            
FORMULA_MACROFILE      = macros.inc   
                                                                  
GENERATE_HTML  = YES
GENERATE_XML   = NO
GENERATE_LATEX = NO
 

С некоторыми короткими macros.inc это тоже не работает:

 newcommand{mA}{mathbf{A}}
 

macros.inc находится в том же каталоге, что и Doxyfile!

Теперь, если я позволю doxygen генерировать html-документ, он ни на что не жалуется, но при просмотре страницы, на которой использовалась команда latex mA , mathjax жалуется на ошибку Undefined control sequence mA

Я не смог найти ни одного примера Doxyfile, который действительно используется FORMULA_MACROFILE . У кого-нибудь есть какие-нибудь идеи?

Комментарии:

1. Какая версия доксигена? Какая версия MathJax?

2. Я попробовал последовательность f$ mA f$ , и у меня не было проблем. Где вы видели предупреждение?

3. > Какая версия доксигена? Какая версия MathJax? Я использую doxygen 1.9.1. Doxygen сгенерировал следующее для mathjax: <тип сценария=»текст/javascript» асинхронный=»асинхронный» src=» cdn.jsdelivr.net/npm/mathjax@2/MathJax.js»>></скрипт >

4. Предупреждение появляется в браузере (chrome)

Ответ №1:

Я решил эту проблему… Похоже, что в объявлении команд может не отображаться никаких пробелов.

Это не работает (обратите внимание на пробел):

 newcommand{mA} {mathbf{A}}
 

Это действительно работает:

 newcommand{mA}{mathbf{A}}
 

Комментарии:

1. Вы также получили предупреждение: warning: file contains non valid code, expected '[' or '{' got ' ' в файле макроса? На данный момент Doxygen немного более ограничен, чем сам латекс.