Diseñar tablas Sphinx LaTeX con el paquete booktabs

Diseñar tablas Sphinx LaTeX con el paquete booktabs

Estoy intentando mejorar el aspecto de las tablas LaTeX generadas desde Sphinx. En particular, me gustaría utilizar las reglas superior, media e inferior de las pestañas de libros y suprimir los separadores de celdas verticales.

Esta primera tabla:

+--------------+---+-----------+
|  simple text | 2 | 3         |
+==============+===+===========+
|  simple text | 2 | 3         |
+--------------+---+-----------+
|  simple text | 2 | 3         |
+--------------+---+-----------+

se convierte en:

\begin{savenotes}\sphinxattablestart
\centering
\begin{tabulary}{\linewidth}[t]{JJJ}
\hline
\sphinxstyletheadfamily 
simple text
&\sphinxstyletheadfamily

 
2
&\sphinxstyletheadfamily 
3
\\
\hline
simple text
&
2

&
3
\\
\hline
simple text
&
2
&
3
\\
\hline
\end{tabulary}
\par
\sphinxattableend\end{savenotes}

Me gustaría que se convirtiera en:

\begin{savenotes}\sphinxattablestart
\centering
\begin{tabulary}{\linewidth}[t]{JJJ}
\toprule
\sphinxstyletheadfamily 
simple text
&\sphinxstyletheadfamily 
2
&\sphinxstyletheadfamily 
3
\\
\toprule
simple text
&
2
&
3
\\
\midrule
simple text
&
2
&
3
\\
\bottomrule
\end{tabulary}
\par
\sphinxattableend\end{savenotes}

Puedo cargar booktabs desde conf.py.

El documento actual de Sphinx aquíhttps://www.sphinx-doc.org/en/master/latex.htmlimplica que este nivel de control no está disponible a través de conf.py, pero hay una nota en la parte inferior de la página que alude a la personalización mediante plantillas:

Como característica experimental, Sphinx puede usar un archivo de plantilla definido por el usuario para la fuente LaTeX si tiene un archivo llamado _templates/latex.tex_t en su proyecto. Se pueden agregar archivos adicionales longtable.tex_t, tabulary.tex_t y tabular.tex_t a _templates/ para configurar algunos aspectos de la representación de la tabla (como la posición de los títulos).

y hay un parámetro para señalarlo que configuré de la siguiente manera en conf.py:

templates_path = '_templates'

Agregué las plantillas dehttps://github.com/sphinx-doc/sphinx/tree/3.x/sphinx/templates/latex

Las plantillas no se leen.

Preguntas:

  1. ¿Es esto posible a través de plantillas y, de ser así, cómo? La función fue experimental en Sphinx 1.6 y es posible que se haya eliminado.
  2. Si no es así, ¿hay alguna manera de redefinir las tablas para usar pestañas de libros a través del preámbulo, un archivo sty o de otra manera?

Muchas gracias.

información relacionada