膨大なドキュメントがあるので、ラテックス生成を修正しようとしました。また、最初のファイルでの Latex 表記は、一貫性がなく、編集者が扱いにくいマークアップ言語を部分的に学習する必要があるため、不利だと考えています。
LaTeXTranslator.depart_table を自分のバージョンに置き換えました。元の department_table をコピーし、次のコードを追加しました (短縮):
def my_depart_table (self, node):
totalColwidth = 0
givenColwidth = []
hasColwidth = False
for tgroup in node:
for tableColspec in tgroup:
try:
if tableColspec.has_key('colwidth'):
totalColwidth += tableColspec['colwidth']
givenColwidth.append(tableColspec['colwidth'])
hasColwidth = True
except:
print "colspec missing. \n"
# original code
if hasColwidth:
colspec = ""
for thisColwidth in givenColwidth:
colspec += ('>{\RaggedRight}p{%.3f\\linewidth}' % (0.95 * thisColwidth / totalColwidth))
#print "using widths: %.3f %s %s" % ((0.95 * thisColwidth / totalColwidth), thisColwidth, totalColwidth)
self.body.append('{' + colspec + '}\n')
# more original code
LaTeXTranslator.depart_table = my_depart_table
私はPythonもSphinxも流暢ではないので、自己責任で使用してください。アイデアが得られるか、アドバイスをいただければ幸いです。
Python < 3.0 を使用していて、係数 0.95 を完全に削除したい場合は、整数の 1 つを float にキャストするか、__ future __ から除算をインポートすることを忘れないでください。