我看到可以在python中的LaTeX字符串上使用format方法,方法是使用双花括号,如here所示。例如:
In[1]: 'f_{{{0}}}'.format('in')
Out[1]: 'f_{in}'
但是如何在数学LaTeX字符串中使用format方法? (特别是对于下标)
例如,使用:
In[2]: r'$f_{in,{{0}}}$'.format('a')
我希望:
Out[2]: '$f_{in,a}$'
但我得到了
ValueError: unexpected '{' in field name
答案 0 :(得分:1)
In[2]
的正确陈述应为:
r'$f_{{in,{0}}}$'.format('a')
# gives '$f_{in,a}$'
以下为清晰起见:
'$f_{{ in, {0} }}$'.format('in')
^^_________^^
these curly braces are escaped, which leaves 'in, {0}' at the center
<强>说明:强>
r'$f_{in,{{0}}}$'.format('a')
的问题在于{
后面的大括号$f_
和}
前面的大括号$
也需要转义,这就是导致了ValueError
。
为了进一步理解,f_
,In[1]
中语句的同一组花括号('f_{{{0}}}'.format('in')
包含)也被转义。当你减少这一点时,你会注意到{0}
留在这些花括号中,允许替换'in'
。因此,我们只评估了f_{in}
{ {1}}。以下是为清晰起见的说明:
Out[1]