我的公司使用Sphinx创建我们的用户手册,我们正在广泛使用不同种类的表格。在许多情况下,有必要手动调整表格的列宽,以生成高质量的pdf输出。
为此,我尝试使用:
.. tabularcolumns:: |p{0.2\linewidth}|p{0.8\linewidth}|
+------+--------+
| A | B |
+------+--------+
我的意图是,桌子应该完全适合周围的文字, 但有一点重叠。看似百分比没有考虑内箱占用的空间。
如何正确计算必要的数量,以便盒子整齐地适合空间?
答案 0 :(得分:3)
使用Sphinx 1.6或更高版本,您可以使用
.. tabularcolumns:: |\Y{0.2}|\Y{0.8}|
(\Y
,而非Y
。)请参阅http://www.sphinx-doc.org/en/stable/markup/misc.html?highlight=tabularcolumns#directive-tabularcolumns。
使用Sphinx 1.5或更高版本,您可以使用|\X{2}{10}|\X{8}{10}|
。
使用Sphinx< 1.5你需要一些特殊的LaTeX,你可以从这段代码中提取
\newcolumntype{\X}[2]{p{\dimexpr
(\linewidth-\arrayrulewidth)*#1/#2-2\tabcolsep-\arrayrulewidth\relax}}
\newcolumntype{\Y}[1]{p{\dimexpr
#1\dimexpr\linewidth-\arrayrulewidth\relax-2\tabcolsep-\arrayrulewidth\relax}}
来自当前sphinx.sty
的,其中解释了如何定义\X
和\Y
。