LLVM 附带 html 文档,没有可供下载的 pdf。有没有办法为其生成 PDF 文档?
答案1
LLVM 使用 sphinx 来生成其文档,而 sphinx 支持通过 latexpdf 生成 pdf 文档。假设您已在 unix 系统上安装了 sphinx 和 latex,您只需要为生成的 latex 文件添加一个小补丁,即可解决 inputenc 包默认不支持的某些 Unicode 字符的过度使用问题。
完整的过程可能如下所示:
#! /bin/bash
svn co http://llvm.org/svn/llvm-project/llvm/branches/release_34/docs llvm34-doc
cd llvm34-doc
make -f Makefile.sphinx latex
patch -p0 <<ZZZ
--- _build/latex/LLVM.tex 2013-12-08 17:54:29.000000000 -0500
+++ _build/latex/LLVM.tex 2013-12-08 17:54:08.000000000 -0500
@@ -3,6 +3,13 @@
\documentclass[letterpaper,10pt,english]{sphinxmanual}
\usepackage[utf8]{inputenc}
\DeclareUnicodeCharacter{00A0}{\nobreakspace}
+\usepackage{pifont}
+\DeclareUnicodeCharacter{2264}{$\leq$}
+\DeclareUnicodeCharacter{2265}{$\geq$}
+\DeclareUnicodeCharacter{2260}{$\neq$}
+\DeclareUnicodeCharacter{21D2}{$\Rightarrow$}
+\DeclareUnicodeCharacter{2714}{\ding{51}}
+\DeclareUnicodeCharacter{2718}{\ding{55}}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{times}
ZZZ
cd _build/latex
make
cd ../..
请注意,该文档并未真正针对 pdf 输出进行测试/维护,因此这里或那里会有一些小问题。输出长达 820 页。
答案2
这很简单。为你的浏览器下载一个应用程序,比如Web2PDF
Chrome 应用程序(有很多这样的应用程序,这个可以在 Chrome WebStore 上找到,只需在 Google 上搜索你的浏览器),它会将你正在查看的网页转换为 pdf。
如果你更喜欢 CLI 工具,转PDF是一种非常好的乐器。