Considera lo siguientemwe
mwe.tex
\documentclass{article}
\begin{document}
\begin{table}
\centering
\caption{my caption}
\label{mylabel}
\begin{tabular}{lc}
1 & 2\\
3 & 4
\end{tabular}
\end{table}
\end{document}
Al convertir el archivo para rst
usar el siguiente comando
pandoc -o mwe.rst mwe.tex
entonces recibo lo siguiente
mwe.primero
+-----+-----+
| 1 | 2 |
+-----+-----+
| 3 | 4 |
+-----+-----+
Table: my caption
Sin embargo, me gustaría que el resultado fuera
.. _mylabel:
.. table:: my caption
+-----+-----+
| 1 | 2 |
+-----+-----+
| 3 | 4 |
+-----+-----+
que hace tres cosas: le da un número a la tabla, le da un título y permite hacer referencia a la tabla.
¿Cómo puedo modificar pandoc
para generar el tabular
formato deseado?
Respuesta1
En primer lugar, no está proporcionando el formato de salida a pandoc, por lo que genera Markdown en lugar de RST:
$ pandoc -o mwe.rst mwe.tex -f latex -t rst
debe dar:
.. table:: my caption
+-----+-----+
| 1 | 2 |
+-----+-----+
| 3 | 4 |
+-----+-----+
En segundo lugar, desafortunadamente pandoc no tiene inherentemente un concepto de etiquetas de tabla. Entonces, cuando lee la tabla, ignora la etiqueta.
La mejor ruta sería crear un filtro pandoc. Usandoflauta de panes un buen enfoque.
>> import panflute as pf
>> content = pf.convert_text(tex, input_format="latex")
>> content
[Table(TableRow(TableCell(Plain(Str(1))) TableCell(Plain(Str(2)))) TableRow(TableCell(Plain(Str(3))) TableCell(Plain(Str(4)))); alignment=['AlignLeft', 'AlignCenter'], width=[0, 0], rows=2, cols=2)]
>> content.insert(0, pf.RawBlock(".. _mylabel:", format="rst"))
...