2013-03-11 3 views
15

Я хочу использовать Maxima для оценки документов. Это легко преобразовать выход Maxima в TeX:Сгенерировать LaTeX с входа Maxima

(%i1) tex(5*x^2+sin(x)+c)$ 
$$\sin x+5\,x^2+c$$ 

Однако, это не работает для ранее входных линий:

(%i2) 5*x^2+sin(x)+c; 
              2 
(%o2)       sin(x) + 5 x + c 
(%i3) tex(%i2); 

\begin{verbatim} 
(%i2)sin(x)+5*x^2+c; 
\end{verbatim} 

(%o3)        (%i2) 

После долгих исследований (в том числе here что близко, но не сигару) Я выходите пустым. Какие-нибудь идеи?

+1

Кстати, используя '$$ ... $$' разграничить математику в LaTeX не рекомендуется. Существуют некоторые несоответствия интервала с другими средами математики, и обычно рекомендуется использовать '\ [... \]' или одну из расширенных сред AMSmath, таких как 'align' и т. Д. (Аналогично для' $ ... $ 'vs.' \ (... \) 'но по разным причинам). –

+0

Спасибо. Я планирую снять знаки доллара и немного постобработки. –

ответ

17

Попробуйте это.

tex (''%i2); 

или

apply (tex, [%i2]); 
+1

Было бы неплохо, если бы было добавлено некоторое объяснение. Для нас, которые сами не могли думать об этих решениях (я один из них), было бы очень поучительно. –

+1

@AlbertvanderHorst. Проблема в том, что 'tex' проверяет свой аргумент, чтобы увидеть, является ли это меткой ввода или вывода, и если да, то это относится к ним специально. Чтобы победить проверку, вы должны убедиться, что 'tex' видит значение'% i2' или что-то другое. Два способа добиться этого - использовать цитату-цитату (т. Е. Две одинарные кавычки), чтобы заставить значение быть интерполированным во входном сигнале перед оценкой или «применить», чтобы применить функцию к значению метки. 'apply' является более общим, поскольку цитата-цитата работает только с консольным вводом, но цитата-цитата более удобна. –

Смежные вопросы