次のことを考慮してくださいmwe
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}
rst
次のコマンドを使用してファイルを変換する場合
pandoc -o mwe.rst mwe.tex
すると次のものを受け取ります
最初
+-----+-----+
| 1 | 2 |
+-----+-----+
| 3 | 4 |
+-----+-----+
Table: my caption
しかし、出力は
.. _mylabel:
.. table:: my caption
+-----+-----+
| 1 | 2 |
+-----+-----+
| 3 | 4 |
+-----+-----+
これは、テーブルに番号を付け、テーブルにキャプションを付け、テーブルを参照できるようにするという 3 つのことを行います。
希望する形式でpandoc
出力するためにどのように調整すればよいでしょうか?tabular
答え1
まず、pandoc に出力形式を指定していないため、RST ではなく markdown が出力されます。
$ pandoc -o mwe.rst mwe.tex -f latex -t rst
与えるべきもの:
.. table:: my caption
+-----+-----+
| 1 | 2 |
+-----+-----+
| 3 | 4 |
+-----+-----+
第二に、残念ながら、pandoc には本質的にテーブル ラベルの概念がありません。そのため、テーブルを読み込むときにラベルは無視されます。
最善の方法は、Pandocフィルターを作成することです。パンフルート良いアプローチです。
>> 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"))
...