2017-12-10 14 views
-1

pythonを使用してlatexドキュメントを生成したい。だから私はテンプレートを作成し、文字列プレースホルダを使用して値を変更します。文字列のプレースホルダがサポートされていないフォーマット文字

テンプレート= R ''」

\ documentclass {記事}

USEPACKAGE \ [左= 2.54センチメートル、右= 2.54センチメートル、トップ= 2.54センチメートル] {幾何} USEPACKAGE \ [ \ usepackage {amssymb} \ usepackage {txfonts} \ usepackage {mathdots} \ usepackage {pifont} \ usepackage {usabackage} \ usepackage { {wasysym} \ usepackage {amssymb} \ usepackage {tabularx、pbox}

\ \ \ noindent \改行

\ noindent \ textbf { 三滑走路システムに香港国際空港の拡張} noindentフォームA

\

を{文書}

を開始noindentマリン旅行ルートと高速のための経営計画SkyPier

の フェリー

\ noindent \ textbf {\のアンダーバー{}}

\ noindent \ textbf {\アンダーバー{環境監査レコードをチェック}}

noindent

\ \ {tabularx} {\線幅}開始{| L | X |} \ HLINE参考プラン:&マリン スカイピア (EP条件2.10)の高速フェリーのための運行ルートと管理計画\\ hlineモニタリングデータ:&フェリーの移動データ は、\ textbf {"%(start_date)s"から " " %(end_date)s "}} \\ hline情報とデータチェック:& \ CheckedBox 自動識別システム上の(AIS)データ\改行\ CheckedBoxデイリー SkyPierのHSFの動き\改行可能性 偏差のCheckedBox録音\ \改行フェリー 演算子\ \ HLINEコメントや観察によって提供さCheckedBoxレスポンス\:& SkyPierの 実施の偏差HSF計画が確認されました。八つ通知は ゲートアクセスポイントを通って移動しない、SCZ の電位スピードに関連するオペレータをフェリーAAHKによって発行された\ \ HLINE

端\

{tabularx}

\ noindent \改行\改行\改行\改行\改行\改行

\始める{tabularx} {\線幅} {| L | X | X | X |} \ HLINE & ETリーダー\改行 ETの代表& IEC \改行IECの代表& PM \改行 午後の代表\\ hline署名& & & \ \ HLINE名&テレンス 香港& & \ \ HLINE端\ {tabularx} \

noindent

端\ {文書}

しかしながら

「 'を' 、実行しようとすると、

page = template % {'start_date' : 'a', 'end_date' : 'b' } 

それは

ValueError: unsupported format character ''' (0x27) at index 120 
+0

は、私の3.4環境でうまく動作しません。 –

+0

py 3.6と2.7でうまく動作しているようです – Ivonet

+0

実際のテンプレートはもっと長くなります。 Coz Stakeoverflowはコードが多すぎると言いました。 – JOHN

答えて

1

問題はラインで%%%

\usepackage[left=2.54cm, right=2.54cm, top=2.54cm]{geometry} \usepackage[english]{babel} %%% 'french', 'german', 'spanish', 'danish', etc. \usepackage{amssymb} \usepackage{txfonts} \usepackage{mathdots} \usepackage{pifont} \usepackage{wasysym} \usepackage{amssymb} \usepackage{tabularx,pbox} 

フォーマット文字列に%を使用している場合、あなたはそう、%%としてそれをエスケープすることにより、実際の%を書くことができているが返されます%%%は、実際にはと解釈され、%と続きます。%はプレースホルダとして使用され、次のように"'"は(認識されない)フォーマット文字として解釈されます。

ちょうど%の偶数で、%%%を置き換えてください。 %%%%%%結果のラテックスコードに正確に3つの%が必要な場合は、他の偶数も有効です。

関連する問題