好的,我正在使用 sphinx 生成的 latex 文档,并尝试修复一些相当丑陋的代码 - 以及生成的输出。我有一个表格,当它到达页面末尾时不会分裂,但如果我可以给表格行一个最大高度(类似于 varwidth 可用于设置列的最大宽度的方式),如果它们会折叠多余的高度,这将不是问题。所有行都有相当多的多余空间。下面是表格的一部分及其图像。不一定是在寻找答案,而是在寻找任何适用功能的想法。如果这个问题太笼统而无法得到答案,我深表歉意。
\noindent\begin{tabulary}{\linewidth}{|L|L|L|}
\hline
\sphinxstylethead{\relax
variable
\unskip}\relax &\sphinxstylethead{\relax
description
\unskip}\relax &\sphinxstylethead{\relax
value
\unskip}\relax \\
\hline\begin{equation*}
\begin{split}F_{t}\end{split}
\end{equation*}&
the transmission factor
&
computed by the equation above
\\
\hline\begin{equation*}
\begin{split}G_{mt}\end{split}
\end{equation*}&
the gain through the transmitting antenna for the main beam path
&
{\hyperref[\detokenize{docs/sensors_and_signatures_ag:ag-sensors-and-signatures-antenna-pattern}]{\sphinxcrossref{\DUrole{std,std-ref}{Transmitter's Antenna Pattern}}}}
\\
\hline\begin{equation*}
\begin{split}G_{rt}\end{split}
\end{equation*}&
the gain through the transmitting antenna for the reflecting beam path
&
{\hyperref[\detokenize{docs/sensors_and_signatures_ag:ag-sensors-and-signatures-antenna-pattern}]{\sphinxcrossref{\DUrole{std,std-ref}{Transmitter's Antenna Pattern}}}}
\\
...
以下是 sphinx 所包含的软件包。
\def\sphinxdocclass{report}
\documentclass[letterpaper,10pt,english]{sphinxmanual}
\ifdefined\pdfpxdimen
\let\sphinxpxdimen\pdfpxdimen\else\newdimen\sphinxpxdimen
\fi \sphinxpxdimen=49336sp\relax
\usepackage[margin=1in,marginparwidth=0.5in]{geometry}
\usepackage[utf8]{inputenc}
\ifdefined\DeclareUnicodeCharacter
\DeclareUnicodeCharacter{00A0}{\nobreakspace}
\fi
\usepackage{cmap}
\usepackage[T1]{fontenc}
\usepackage{amsmath,amssymb,amstext}
\usepackage{babel}
\usepackage{times}
\usepackage[Bjarne]{fncychap}
\usepackage{longtable}
\usepackage{sphinx}
\usepackage{multirow}
\usepackage{eqparbox}
% Include hyperref last.
\usepackage{hyperref}
% Fix anchor placement for figures with captions.
\usepackage{hypcap}% it must be loaded after hyperref.
% Set up styles of URL: it should be placed after hyperref.
\urlstyle{same}
答案1
您正在使用错误的 reStructuredText 输入。
.. list-table:: Frozen Delights!
:widths: 10 50 30
* - :math:`F_r`
- the receiving factor
- computed by the equation above
* - :math:`G_{mr}`
- the gain through the receiving antenna for the
main beam path
- :ref:`ReceiverAntenna`
* - :math:`G_{rr}`
- the gain through the reflecting antenna for the
reflecting beam path
- :ref:`ReceiverAntenna`
生产
人们无法测试你的代码,因为它依赖于sphinx.sty
包。
我建议你花一些时间阅读以下文档:http://www.sphinx-doc.org。您可以使用 tabularcolumns 指令来更好地控制列宽。
以及http://docutils.sourceforge.net/docs/ref/rst/directives.html
上面我使用了最简单的表格输入方法。您还可以使用(我推荐 Emacs 表格模式)“网格表”,并创建水平和垂直合并单元格,从而允许显示其他 LaTeX 软件包所不具备的内容。
如果没有这个:widths:
选项,则会出现:
自然假设您的表格不在某个列表或引用中,其总宽度将被缩短以适应环境的缩进。
答案2
额外的垂直空间几乎肯定是由于误用了equation*
旨在抵消垂直空间方程的显示环境。
如果你不能改变生成的代码,并且没有其他方程式我会做
\renewenvironment{equation*}{$}{$}
\renewenvironment(split}{}{}
以便
\begin{equation*}
\begin{split}G_{mt}\end{split}
\end{equation*}
排版如下
$G_{mt}$