Как создать PDF-документацию для LLVM?

Как создать PDF-документацию для LLVM?

LLVM поставляется с html-документацией, нет pdf-файлов для загрузки. Есть ли способ сгенерировать PDF-документацию для него?

решение1

LLVM использует sphinx для генерации своей документации, а sphinx поддерживает генерацию pdf-документации через latexpdf. Если у вас установлены и sphinx, и latex в системе unix, вам понадобится лишь небольшой патч для сгенерированного файла latex, чтобы обойти ревностное использование некоторых символов Unicode, которые не поддерживаются по умолчанию пакетом inputenc.

Полная процедура может выглядеть следующим образом:

#! /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,wkhtmltopdfочень хороший инструмент.

Связанный контент