ValueError:不支持的格式字符'

时间:2013-12-09 20:24:15

标签: python

我从这里获得了以下大部分代码:Generating pdf-latex with python script

#!/usr/bin/env python

from __future__ import division
from functions import *
import shlex

#from Utilities import *
import os
import argparse
import subprocess

equation = '\begin{equation*}1 + \gamma\lambda B/2\end{equation*}'

content=r'''\documentclass{article}
\usepackage{graphicx,amsmath}

\begin{document}
\noindent\rotatebox{180}{\vbox{%
    %(equation)s
    }%
}
\end{document}
'''

parser=argparse.ArgumentParser()
parser.add_argument('-e', '--equation', default=equation)

args=parser.parse_args()
content%args.__dict__

print content%args.__dict__

运行此代码会出现以下错误:

Traceback (most recent call last):
  File "latex.py", line 29, in <module>
    content%args.__dict__
ValueError: unsupported format character '
' (0xa) at index 104

有谁知道出了什么问题?我从其他旋转页面的方法中得到了同样的错误。

1 个答案:

答案 0 :(得分:17)

%中的任何 content都被视为格式化占位符。将任何非占位符加倍:

content=r'''\documentclass{article}
\usepackage{graphicx,amsmath}

\begin{document}
\noindent\rotatebox{180}{\vbox{%%
    %(equation)s
    }%%
}
\end{document}
'''

否则,%行末尾的\noindent\rotatebox{180}{\vbox{%\n换行符一起被视为格式化字符,因此嵌入换行符例外。