Sweave/LaTeXドキュメントをPDFに変換することを自動化するPythonスクリプトを作成しました。最も重要な部分は次のとおりです。
os.system("""echo "Sweave('%s.Rnw')" | R --vanilla --quiet"""%topic)
seq = ['p','b','p','b','p','p']
for op in seq:
if op is 'p':
os.system('pdflatex %s'%topic)
if op is 'b':
os.system('bibtex %s'%topic)
if op is 'l':
os.system('latex %s'%topic)
これはエラーがない場合はうまく機能しますが、LaTeXエラーがある場合は、LaTeXのCLIに移動します。
[10]
! You can't use `macro parameter character #' in vertical mode.
l.625 #
?
次に、これを手動で解除する必要があります。os.system呼び出しがLaTeXでエラーを生成したことをPythonに「認識」させ、この呼び出しを終了してもエラーテキストをキャプチャする方法はありますか?