gpt4 book ai didi

pandoc - Pandoc Markdown 中的条件部分

转载 作者:行者123 更新时间:2023-12-04 23:19:10 26 4
gpt4 key购买 nike

我希望我的文档的某些部分仅适用于给定的输出格式。例如,我有一个需要特殊 LaTeX 处理的图像,我想使用\includegraphics 来处理它。但是对于 epub 版本,我想要标准行为。

Pandoc markdown 中是否有一种方法可以指定仅应在给定上下文中处理的部分(LaTex 与 epub)。模板有条件。我没有看到 Pandoc markdown 的功能。

或者有没有其他方法来处理这个用例?

最佳答案

这是文件预处理器的解决方案 filepp .我们定义了一个函数 img(caption,path,options)![caption](path) 取代或通过 \includegraphics取决于标志。请注意两件事:您需要在函数参数中转义逗号(请参阅第一个图的第三个参数);即使未指定一个参数,您也需要有两个未转义的逗号(请参阅下面的第二个示例图)。

测试文件

#bigfunc img(caption,path,options)
#if "out_fmt" eq "tex"
\begin{figure}
\caption{\label{caption} caption}
\includegraphics[options]{path}
\end{figure}
#else
![caption](path)
#endif
#endbigfunc

Here is an image

img(Plot,Rplot.png,height=2\,width=2)
img(Plot,Rplot.png,)

我们在 filepp 命令中指定输出格式并通过 pandoc 管道它:
filepp -m bigfunc.pm -D out_fmt=tex test.md | pandoc -o test.tex
filepp -m bigfunc.pm -D out_fmt=html test.md | pandoc -o test.html

tex 输出:
Here is an image

\begin{figure}
\Plot{\label{Plot} Plot}
\includegraphics[height=2,width=2]{Rplot.png}
\end{figure}

\begin{figure}
\Plot{\label{Plot} Plot}
\includegraphics[]{Rplot.png}
\end{figure}

html输出:
<p>Here is an image</p>
<div class="figure">
<img src="Rplot.png" alt="Plot" />
<p class="caption">Plot</p>
</div>
<div class="figure">
<img src="Rplot.png" alt="Plot" />
<p class="caption">Plot</p>
</div>

关于pandoc - Pandoc Markdown 中的条件部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32214540/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com