2013-12-09 8 views
6

मैं यहाँ से निम्नलिखित कोड का सबसे मिल गया:ValueError: असमर्थित प्रारूप चरित्र '

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

किसी को भी पता है कि गलत हो रहा है: 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__ 

इस कोड चलाने मुझे निम्न त्रुटि देता है? मुझे पृष्ठ को घूर्णन करने के अन्य तरीकों से एक ही त्रुटि मिली है।

+0

यह आपको बता रहा है कि यह लाइनफ़ीड्स का समर्थन नहीं करता है। – AronVietti

+0

* इसके अलावा *: 'समीकरण' के लिए स्ट्रिंग अक्षरशः शायद कच्ची स्ट्रिंग अक्षर होना चाहिए: 'समीकरण = आर' \ प्रारंभ ... ''। –

+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

एक त्रुटि को एन्कोड करते समय इस त्रुटि को दबाएं जो स्ट्रिंग के रूप में मॉड्यूलस का उपयोग करता है। –

संबंधित मुद्दे