gpt4 book ai didi

css - 使用 Pandoc 将 Markdown 转换为 PDF 时使用 CSS

转载 作者:技术小花猫 更新时间:2023-10-29 10:58:07 35 4
gpt4 key购买 nike

我正在 OS X 上试用 Pandoc,到目前为止的结果令人印象深刻。然而,一个阻碍性问题是让 CSS 样式适用于内联代码示例。我正在从 Markdown 转换为 PDF。

我的源代码中有这个字符串:

* Create a simple HTML document (<span class="filename">simple.html</span>) and load it into the browser via the file system

我也试过这个:

* Create a simple HTML document (`simple.html`{.filename}) and load it into the browser via the file system

在每种情况下,我都想将“文件名”类应用于封闭的文本,但它似乎对输出没有任何作用。但是手册说:

Some output formats can use this information to do syntax highlighting. Currently, the only output formats that uses this information are HTML and LaTeX.

这是我的命令:

pandoc \
--output ./output.pdf \
--css source/styles.css \
source/en/docs/input.md

我正在转换为 PDF,它是由 Pandoc 内部使用 LaTeX 编写的。我可以让它工作吗?或者,我可以使用通过 LaTeX 命令定义的样式吗? - 它不一定是 CSS。但是,它必须是一个样式系统 - 每次都更改斜体/字体/颜色属性是行不通的。

我试过将输出临时发送到 HTML,在这种情况下,样式直接从特定样式资源中导入。因此,我的样式表规范和跨度标记是正确的,至少对于一种输出格式而言。

附录

一些事后的想法:

  • 解决方案不一定是 Pandoc 或 Markdown。但是,它确实需要是一种简单的基于文本的标记语言,可以可靠地转换为 PDF,因为我想将文档文件存储在 Git 上以便于 fork 和合并。我不喜欢 HTML,因为它很冗长,而且转换它的引擎也不是很好(不过,不可否认,我的格式要求并不高)。
  • Pandoc 的 HTML 输出很好,所以如果我能找到将(简单的)HTML/CSS 可靠地转换为 PDF 的东西,我会没事的。当然,Pandoc 应该能够做到这一点,但不会呈现内联样式(用于代码片段的背景颜色)。这可能是一个错误,因为我将不得不重新引入分页符之类的东西,这在 HTML 到 PDF 转换器中可能很重要。

最佳答案

"I'd like to apply the class "filename" to the enclosed text in each case, but it doesn't seem to do anything to the output."

它适用于 HTML。以交互方式运行 Pandoc,^D 查看生成的代码:

$>  pandoc -f markdown -t html

* Create a simple HTML document (`simple.html`{.filename}) and load it.

^D

<ul>
<li>Create a simple HTML document (<code class="filename">simple.html</code>) and load it.</li>
</ul>

如果您使用 .filename 类,它不适用于 LaTeX。您需要使用其中一个已知类名:

$>  pandoc -f markdown -t latex

* Create a simple HTML document (`simple.html`{.filename}) and load it.

^D

\begin{itemize}
\tightlist
\item
Create a simple HTML document (\texttt{simple.html}) and load it.
\end{itemize}

现在使用 已知 类名之一,例如 .bash.postscript.php、. ..:

$>  pandoc -f markdown -t latex

* Create a simple HTML document (`simple.html`{.bash}) and load it.

^D

\begin{itemize}
\tightlist
\item
Create a simple HTML document (\VERB|\KeywordTok{simple.html}| and
load it.
\end{itemize}

要将 HTML + CSS 转换为 PDF,您还可以查看 PrinceXML ,非商业用途免费。

关于css - 使用 Pandoc 将 Markdown 转换为 PDF 时使用 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17902290/

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