5

Wordpress Export XML (wp xml) のコンテンツを解析して LaTex ドキュメントを生成する Python スクリプトを作成しています。これまでのところ、wp xml は を介し​​て解析され、コードはtexmllxml.etreeによって処理される新しい xml ツリーを生成します。これにより、tex ファイルが生成されます。

現在、各投稿を特定のメタデータ (タイトル、公開日、タグ、コンテンツ) と共に抽出しています。メタデータは問題ありませんが、コンテンツ部分が少し問題です。wp xml 内では、コンテンツはプレーンな HTML/Wordpress マークアップの CDATA 構造として含まれています。それをラテックスに変換するには、 pandocを選択してコンテンツを解析します。TeXml はインライン LaTeX をサポートしているため、コンテンツはプレーンな LaTeX としてツリーに追加されます。

aこの場合、ほとんどの html タグ ( 、strongem...)を既に適切に変換しているため、pandoc を使用することにしました。唯一の問題は、画像の処理方法です。

サブプロセスを使用して pandoc とやり取りします。

args = ['pandoc', '-f', 'html', '-t', 'latex']
p = Popen(args, stdout=PIPE, stdin=PIPE, stderr=PIPE)
tex_result = p.communicate(input=(my_html_string).encode('utf-8'))[0]

サンプル投稿は次のようになります

<strong>Lorem ipsum dolor</strong>  sit amet, consectetur adipiscing elit.

<a href="http://link_to_source_image.jpg"><img class="alignnone size-medium wp-image-id" title="Title_text" src="http://link_to_scaled_down_version.jpg" alt="Some alt text" width="262" height="300" /></a>

Nam nulla ante, vestibulum a euismod sed, accumsan at magna. Cras non augue risus, vitae gravida quam.

キャプションが図として埋め込まれた画像が必要です。

\begin{figure}
\includegraphics{link_to_image.jpg}
\label{fig:some_label}
\caption{Some alt text}
\end{figure}

pandoc はimg、タイトルや代替テキストを破棄して、html タグを単純なインライン画像に変換するようです。

\href{http://link\_to\_source\_image.jpg}{\includegraphics{http://link_to_scaled_down_version.jpg}}

ソースを覗いたところ、imgインライン要素としてのみ扱われているようです。(pandoc解析機能)。私はHaskellを知らないので、これが私が得た距離です。

ただし、html をマークダウンに変換すると、alt と title が保持され、結果は次のようになります。

![Some alt text](http://link_to_scaled_down_version.jpg "Title_text")

マークダウンを使用すると、結果のラテックス ドキュメントにインライン画像または図を含めることができます。このマークダウンをラテックスに変換すると、結果は

\begin{figure}[htbp]
\centering
\includegraphics{http://link_to_scaled_down_version.jpg}
\caption{Some alt text}
\end{figure}

最初の pandoc は、コンテンツを解析するための簡単なソリューションのように見えましたが、pandoc は HTML のインライン ラテックスもサポートしていないため、最初にすべての画像と残りを pandoc で処理できたため、少し行き詰まりました。

imgキャプションを持つラテックスの図環境に埋め込むために、html のタグを (より適切に) 処理する方法について何か考えがありますか?

4

1 に答える 1

1

Pandoc は、画像のみを含む段落をキャプション付きの画像として特別に扱います。これらは、キャプション付きの LaTeX 図に変換されます。したがって:

% pandoc -f html -t latex
<p><img src="myimg.jpg" alt="my text" title="my title"/></p>
^D
\begin{figure}[htbp]
\centering
\includegraphics{myimg.jpg}
\caption{my text}
\end{figure}

これはあなたを助けるかもしれません。

于 2012-12-31T22:14:46.173 に答える