Распечатать переменную с индексом (например, x_1) - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь напечатать переменные с индексами. Цель состоит в том, чтобы написать что-то вроде:

x_1 + x_2 = 3 + 1 = 4

Проблема в том, что переменные, такие как x_1, не показывают индекс. Он показывает само подчеркивание.

/* works fine */    
print(x_1)$ 
x_1;

/* Does not work */
ostream: make_string_output_stream()$
printf(ostream, string(x_1))$
get_output_stream_string(ostream);

Вывод кода выше

Преобразование "x_1" в строку уничтожает подчеркивание, но вам нужна строка для Метод printf ().

Есть ли обходные пути для этого?

1 Ответ

1 голос
/ 23 апреля 2020

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

Чтобы сгенерировать вывод с инструкциями по набору текста, вы можете вызвать функцию tex или tex1 для генерации вывода TeX. Если это нужно отобразить на веб-странице, я полагаю, что вы можете использовать библиотеку MathJax Javascript. Извините, я не знаю больше о MathJax.

Вы, вероятно, должны написать x[1] вместо x_1. Отображать x_1 с нижним индексом 1 - это удобно - остальная часть Maxima мало что знает об этом.

EDIT: Существует также дополнительный пакет для вывода MathML; там может быть два таких пакета, я должен был бы проверить. Если MathML поможет решить вашу проблему, я рассмотрю ее.

...