2016-09-19 4 views
1

私は、再構成されたテキストからpython sphinx(1.4.6)を使ってpdf(latex)を生成します。どこでも破棄可能なスラッシュ

私は、 "stuff/misc/other"のようなテキストのナローテーブルカラムヘッダーを使用します。スラッシュを壊す必要があるので、テーブルのヘッダーが次の列にオーバーフローすることはありません。

LaTeXソリューションは、の場合、\BreakableSlashまたは\slashを使用します。私が使用したい

from sphinx.util.texescape import tex_replacements 

# \BreakableSlash needs package hyphenat to be loaded 
tex_replacements.append((u'/', ur'\BreakableSlash ')) 
# tex_replacements.append((u'/', ur'\slash ')) 

しかし、それは

http:\unhbox\[email protected]\penalty\@M\hskip\[email protected]/\discretionary{-}{}{}\penalty\@M\hskip\[email protected]\unhbox\[email protected]\penalty\@M\hskip\[email protected]/\discretionary{-}{}{}\penalty\@M\hskip\[email protected] 

または

http:/\penalty\exhyphenpenalty/\penalty\exhyphenpenaltywww.example.com 

のようなものにhttp://www.example.com/のような任意のURLを破るだろう:私はすべてのスラッシュを置き換えるためにPythonコードを使用することができますどちらの場合でも動作する一般的なソリューションです。ドキュメントのエディタでは通常のReSTを使用でき、ラテックスについては心配する必要はありません。

URLや壊れやすいスラッシュを他の場所で使用するにはどうすればよいですか?

答えて

0

としてそれを行うための1つの方法をコマンドを使用して、サブクラスを変換書くことかもしれません。次に、セットアップ(アプリケーション)でadd transformを使用して、すべての読み取りでそれを使用します。

DefaultSubstitutions from transforms.pyを自分のクラスのテンプレートとして使用できます。

1

あなたが本当にデータやソースコードを与えられただけのアイデアを求めたので、私は唯一の擬似コードでソリューションをスケッチの自由を取るしていない:

  • スプリットそれぞれの文字列のリストへのドキュメント各文字列について.split()
  • を使用しての領域の位置、それはhttpにその左側を比較することによって、URLであるかどうかを確認://(そしておそらくものftp://、https://でまたは類似のタグ)
  • ドゥURLはない文字列にのみ置き換えます。
  • リコンビナントすべてスペースを含めtringsは再び、そのよう" ".join(my_list)
+0

あいまって申し訳ありません。私は最初からラテックスファイルを生成するためにpython sphinxを使用します。だからこそ私の拡張を除いてコードを投稿しなかったのです。私はそれに応じて質問にタグを付けましたが、テキストにはPythonのスフィンクスは言及しませんでした。それをもっと明確にするために質問を更新しました。 – Sascha

関連する問題