Поскольку у меня огромная документация, я попытался исправить поколение латекса.Кроме того, я считаю, что латексная нотация в первых файлах является недостатком, поскольку она несовместима и требует от редакторов частичного изучения деликатного языка разметки.
Я заменил LaTeXTranslator.depart_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, не забудьте привести одно из целых чисел к плавающей или импортировать деление из __future __. </p>