Ответ 1
Метод 1, который я на самом деле делал: вместо этого используйте string.Template.
>>> from string import Template
>>> Template(r'\textbf{This and that} plus \textbf{$val}').substitute(val='6')
'\\textbf{This and that} plus \\textbf{6}'
Способ 2: добавьте дополнительные фигурные скобки. Это можно сделать с помощью регулярного выражения.
>>> r'\textbf{This and that} plus \textbf{val}'.format(val='6')
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
KeyError: 'This and that'
>>> r'\textbf{{This and that}} plus \textbf{{{val}}}'.format(val='6')
'\\textbf{This and that} plus \\textbf{6}'
(возможно). Метод 3: используйте пользовательскую строку. У меня не было причин делать это самостоятельно, поэтому я не знаю достаточно подробностей, чтобы быть полезными.