2013-12-09 79 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

編碼將模數作爲字符串使用的計算時出現此錯誤。 –

相關問題