2014-12-09 2 views
3

Я использую Python 2.7 с sympy. Итак, когда я пытаюсь использовать вывод LaTeX, я получаю выражение, в котором значение знаменателя исключается. И я не могу понять, почему. Так (x*y**2 - 2*x*y*z + x*z**2 + y**2 - 2*y*z + z**2)/(x**2 - 1)Как исправить символьный вывод знаменателя LaTeX?

я получаю что-то вроде:

What comes out

Вместо чего-то вроде:

What I want.

Он также работает на их website. (Обратите внимание, что он работает нормально для коротких вещей)

Код я использовал

from sympy import * 
x, y, z = symblos('x y z') 
expr = (x*y**2 - 2*x*y*z + x*z**2 + y**2 - 2*y*z + z**2)/(x**2 - 1) 
latex(expr) 

Очевидно, что это дает код TeX, а не изображения.

+0

@Ffisegydd я могу, но нет никакой необходимости, вы можете получить тот же эффект, просто введя уравнение '(х * у ** 2 - 2 * x * y * z + x * z ** 2 + y ** 2 - 2 * y * z + z ** 2)/(x ** 2 - 1) 'на [link] (http: // live.sympy.org). – RuRo

+0

@Ffisegydd Хорошо. Я добавил код ... Если это то, что вы хотели. Не уверен, как это может быть полезно. – RuRo

+0

Что такое «латекс»? Это функция? Откуда это? Я не собираюсь отвечать на этот вопрос, поскольку не знаю ответа, но если кто-то может ответить на него, скорее всего, они захотят получить полную информацию. – Ffisegydd

ответ

4

Если вы никогда не хотите, чтобы знаменатель вытащил, установите long_frac_ratio в оо. Определенный ниже ee имеет те же симптомы, что и ваше выражение; обратите внимание, что определение соотношения сил его в простой над/под формат:

>>> ee 
(-2*x*y*z + x)/(x - 1) 
>>> latex(ee) 
'\\frac{1}{x - 1} \\left(- 2 x y z + x\\right)' 
>>> latex(ee,long_frac_ratio=oo) 
'\\frac{- 2 x y z + x}{x - 1}' 
+0

Спасибо, кажется, работает. Кстати, извините, 'oo' - знак бесконечности, правильно? – RuRo

+1

Обратите внимание, что в этом конкретном экземпляре ('expr' в вопросе) достаточно' long_frac_ratio = 6'. – Unapiedra

+2

Да, oo - символ SymPy для бесконечности – smichr

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

  • Нет связанных вопросов^_^