2017-01-16 1 views
-1

Я хочу вставить текст внутри уравнения латекса, который на самом деле является заголовком для сюжета. Другими словами, следующий код питона для заголовка я использую:Неожиданный '{' в поле имени при форматировании строки с использованием латекса в python

import matplotlib.pyplot as plt 

x=8 
plt.title(r"Actual time-series is $Y_t=\alpha^\top X_t + \beta^\top X_{t-{0}}$".format(x)) 

plt.show() 

Следующая является ошибка, я получил, когда я реализовал код выше:

Traceback (most recent call last): 
    File "switch_systems.py", line 419, in <module> 
    plt.title(r"Actual time-series is $Y_t=\alpha^\top X_t + \beta^\top X_{t-{0}}$".format(x) 
    ValueError: unexpected '{' in field name 

Я хочу свой титул на выглядите как Actual time-seris is $Y_t=\alpha^\top X_t + \beta^\top X_{t-8}$, как в тексте внутри латекса, чтобы точно походить на то, как бы это выглядело, если бы оно было написано в латексе. Есть ли уловка для этого?

+1

[ "Если вам необходимо включить скобку в буквальный текст, его можно избежать путем удвоения: {{и}}. "(https://docs.python.org/2/library/string.html#format-string-syntax) – dhke

ответ

1

Вы должны избежать буквального {, что вы хотите сохранить в тексте, делая {{ и }}

r"Actual time-series is $Y_t=\alpha^\top X_t + \beta^\top X_{{t-{0}}}$".format(8) 

результатов в

Actual time-series is $Y_t=\alpha^\top X_t + \beta^\top X_{t-8}$