- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在从事的项目的一部分涉及使用 Pandoc 创建 PDF。我有制作 PDF 的程序部分。为了弄清楚如何做到这一点,我正在尝试修改 JGM BayHack 2014 中的 fuel.hs
.
但是,我遇到了困难。我有以下功能:
export :: (MonadIO m) => Pandoc -> m (Either BL.ByteString BL.ByteString)
export = liftIO . makePDF "xelatex" writeLaTeX def { writerStandalone = True }
在我修改过的fuel.hs的正文中,
pdfbytes <- export letter
print pdfbytes
我得到以下输出:
$ stack runghc fuel.hs
Run from outside a project, using implicit global project config
Using resolver: lts-3.7 from implicit global project's config file: /home/stevejb/.stack/global/stack.yaml
Left "! Emergency stop.\n<*> /tmp/tex2pdf.8283/input.tex\n \nNo pages of output.\nTranscript written on /tmp/tex2pdf.8283/input.log.\n"
"Fail"
但是,正在引用的日志文件不存在。我不知道如何调试这个。我已经安装了xelatex。
<小时/>最佳答案
在 #haskell IRC 的大力帮助下,我得以让它正常工作。关键是添加我自己的 LaTeX 模板。因此,可以使用以下内容:
export :: (MonadIO m) => String -> Pandoc -> m (Either BL.ByteString BL.ByteString)
export tmpl pdoc = liftIO $ makePDF "xelatex" writeLaTeX (def { writerStandalone = True, writerTemplate = tmpl}) pdoc
getLetter = do
json <- BL.readFile "cng_fuel_chicago.json"
let letter = case decode json of
Just stations -> createLetter [s | s <- stations,
"Voyager" `elem` cardsAccepted s]
Nothing -> error "Could not decode JSON"
return $ letter
main :: IO ()
main = do
letter <- getLetter
temp <- readFile "template.tex"
let str_should_have_something = writeLaTeX (def {writerStandalone = True, writerTemplate = temp}) letter
print str_should_have_something
mybytes <- export temp letter
case mybytes of Right b -> BL.writeFile "mypdf.pdf" b
Left _ -> putStrLn "Export error"
要获取模板,您可以在 shell 中以独立模式使用 Pandoc:
pandoc -D Latex > template.tex
此外,使用堆栈、使用 cabal 和使用系统包管理器安装的 Pandoc 在查找默认模板方面可能存在问题。我不确定所有这些到底是如何相互作用的。
<小时/>完全包含要点here 。
关于haskell - 使用pandoc作为库制作PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34484570/
我正在使用来自 http://www.zotero.org/styles/ieee 的 IEEE 引用样式在一个项目中使用 Pandoc。 当我引用引用文献时,它显示为 1在文本中,而我希望它显示为
我希望我的文档的某些部分仅适用于给定的输出格式。例如,我有一个需要特殊 LaTeX 处理的图像,我想使用\includegraphics 来处理它。但是对于 epub 版本,我想要标准行为。 Pand
default.beamer LaTex beamer 的 pandoc 默认模板有这一行: $if(theme)$ \usetheme{$theme$} $endif$ 特定主题的测试也有效吗?就像
我正在尝试为 pandoc 添加自定义 latex 模板 我知道 pandoc 模板进入 ~/.pandoc/templates 我通过输入 pandoc --v 确认了 pandoc 目录位置- 它
是否可以为 pandoc 设置默认选项? ?例如,我一直想使用 xelatex 生成 PDF,据我所知,我这样做的选择是通过 --latex-engine=xelatex对 pandoc 的每次调用,
我有一个从默认加载的 Pandoc (v1.19.2.1) HTML5 模板 --data-dir .在模板中,我需要加载外部资源,例如样式表和 JavaScript。我想相对于模板的路径加载这些资源
我正在尝试使用 pandoc 将 Markdown 文件编译为 HTML。我已经设法转换文件并向其中添加样式表,但我似乎无法正确添加一些 Javascript。到目前为止,我得到的是以下命令: pan
我通过 Anaconda 在我的系统上安装了 Pandoc 2.2.3.2。我用它转换的 Reveal.js 幻灯片不起作用,因为插入的 Reveal.js 代码链接似乎是错误的。 documenta
是否可以在 markdown 文件中使用 knitr 的 pandoc() 函数和嵌入的 pandoc 配置来更改默认的 pandoc latex 模板选项? 例如,如果我在 foo.md 的开头使用
在从 Markdown 生成 PDF 时,您如何指定 Pandoc 应使用特定的页眉和页脚? 目前,我使用以下命令从命令行创建我的文档: pandoc -s -V geometry:margin=1i
我有一台 Windows 8 机器,我刚刚运行了 pandoc-1.13-windows.msi 安装程序。安装程序没有让我选择安装路径,但它没有错误地完成了。我无法从命令行运行 pandoc,所以我
我对 Pandoc 比较陌生,我正在尝试用我的出版物生成一个 HTML 文件以放在我的网站上。我希望首先按年份对出版物列表进行编号和组织,最新的排在最前面,最早的排在最后。 我可以使用正确的 csl
当我运行下面的命令从 Markdown 生成幻灯片时,未正确选择主题。 pandoc slides -o slides.html -s -V theme=beige -t revealjs 我的幻灯片
我正在使用 pandoc + beamer 制作一些幻灯片。如何创建标题幻灯片以介绍新部分? 例如 ____Slide 1_____ Section 1 ... * bla * bla * bla _
当输出为 HTML 时,我可以成功生成图像,但在尝试 pdf 输出时出错。 图像的输入文件文本, ![](images\icon.png "test") 错误产生, pandoc: Error p
我正在使用 Pandoc 编写站点的内容。如何在文档中包含元标记(特别是描述和关键字标记),而不更改传递给 Pandoc 的命令行参数? 我的意思是,我可以在文档文本中以某种方式包含元标记吗?我不想传
pandoc User's Guide状态(强调添加): For output formats other than LaTeX, pandoc will parse LaTeX \newcomman
我正在使用 pypandoc 将 Markdown 文件转换为 LaTex。我的 Markdown 文件有一个标题,例如: # Header Text # 当 pypandoc 将文件呈现为 .tex
我正在尝试使用 Pandoc 从 html 转换为 pdf。输出非常好,仍然使用命令 pandoc index.html -o output.pdf 我丢失了所有内部链接(从目录到章节,从文本到脚注等
我试图转换这个 html SHILPI 使用带有此命令的 pandoc 到 docx pandoc -s -o "test.docx" -t html5 -t docx html_file 但是它丢失
我是一名优秀的程序员,十分优秀!