2013-12-09 41 views
6

我最下面的代码从这里:Generating pdf-latex with python scriptValueError异常:不支持的格式字符“

#!/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 

有人知道是怎么回事了?我从其他旋转页面的方法中得到了同样的错误。

+0

它告诉你,它不支持换行。 – AronVietti

+0

* Aside *:'equation'的字符串应该可能是一个原始字符串:'equation = r'\ begin ...''。 –

+0

@AronVietti:它告诉你'%\ n'不是一个有效的格式化语法。 –

回答

13

任何%content被视为格式化占位符。双任何不属于占位符:

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

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

否则%\noindent\rotatebox{180}{\vbox{%线的末端与所述\n换行符作为格式化字符,因此具有嵌入式换行符异常所见在一起。

+0

真棒。像魅力一样工作。 – juggler

+0

编码将模数作为字符串使用的计算时出现此错误。 –

相关问题