我想设置一个简单的工作流程,让我使用 Markdown 在自己的文件中输入文档片段,然后使用诸如 之类的通用库将它们转换为 LaTeX pandoc
,最后将所有文档片段整理到将输出为 PDF 的主文件中。
我在 Markdown 中创建了一个如下所示的表格:
$x$ | $F(x)$
--------|------------------
$0$ | $\frac{2}{8}$
$1$ | $0$
$2$ | $\frac{1}{2}$
$3$ | $2\frac{1}{2}$
$4$ | $6\frac{3}{4}$
$5$ | $14$
这在我在 Atom 中设置的 markdown 预览窗口中呈现得相当令人满意,但在我使用命令行转换此文档之后:
pandoc -f markdown+tex_math_dollars+pipe_tables table.md -o table.tex
上述构造转换为:
\begin{longtable}[c]{@{}ll@{}}
\toprule\addlinespace
$x$ & $F(x)$
\\\addlinespace
\midrule\endhead
$0$ & $\frac{2}{8}$
\\\addlinespace
$1$ & $0$
\\\addlinespace
$2$ & $\frac{1}{2}$
\\\addlinespace
$3$ & $2\frac{1}{2}$
\\\addlinespace
$4$ & $6\frac{3}{4}$
\\\addlinespace
$5$ & $14$
\\\addlinespace
\bottomrule
\end{longtable}
当通过管道传输时:
pandoc table.tex -o table.pdf
没有解析成表格,初始行看起来特别可疑。
我可以手动将其重新调整为如下形式:
\begin{tabular}{c|c}
$x$ & $F(x)$ \\
\hline
$0$ & $\frac{2}{8}$ \\
$1$ & $0$ \\
$2$ & $\frac{1}{2}$ \\
$3$ & $2\frac{1}{2}$ \\
$4$ & $6\frac{3}{4}$ \\
$5$ & $14$ \\
\end{tabular}
这是我想要的结果,但它需要时间,而且我真的很希望能够直接从标记中获得这个结果,而无需人工干预。
答案1
我的回答:如果遇到任何问题,请务必使用 Pandoc 的最新版本重新测试。
我目前正在使用Pandoc v2.1,这甚至不是最新的(应该是Pandoc v2.5)。对于 Markdown 中的示例表,我的 2.1 版本给出了 LaTeX 输出:
pandoc \ -f markdown+tex_math_dollars+pipe_tables \ -t 乳胶 \ -o- \ md-表.md \begin{longtable}[]{@{}ll@{}} \toprule \(x\)& \(F(x)\)\tabularnewline \midrule \结束头 \(0\)& \(\frac{2}{8}\)\tabularnewline \(1\) & \(0\)\tabularnewline \(2\) & \(\frac{1}{2}\)\tabularnewline \(3\)& \(2\frac{1}{2}\)\tabularnewline \(4\) & \(6\frac{3}{4}\)\tabularnewline \(5\) & \(14\)\tabularnewline \底部规则 \end{长表}
生成的 LaTeX 可以完美转换为 PDF,并且 PDF 的“直接”输出与原始 Markdown 兼容。甚至不需要指定 Pandoc 扩展 (+tex_math_dollars+pipe_tables
)正如你所做的那样:
pandoc \ md-表.md \ -f 降价 \ -o md-表.pdf \ -V 几何:“边距=10pt,纸张宽度=80pt,纸张高度=120pt” magick 转换 -密度 300 md-table.{pdf,jpg}
(我正在使用 ImageMagick 创建 JPEG,以便在下面的答案中可视化结果输出。)