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

901
Kuba Ober

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

2

2 ответа на вопрос

2
Kuba Ober

LLVM использует sphinx для генерации своей документации, а sphinx поддерживает генерацию pdf документации через latexpdf. Предполагая, что у вас установлены как sphinx, так и latex, в системе Unix все, что вам нужно, это небольшой патч для сгенерированного файла латекса, чтобы обойти усердное использование некоторых символов 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] \usepackage[utf8] \DeclareUnicodeCharacter{\nobreakspace} +\usepackage +\DeclareUnicodeCharacter{$\leq$} +\DeclareUnicodeCharacter{$\geq$} +\DeclareUnicodeCharacter{$\neq$} +\DeclareUnicodeCharacter{$\Rightarrow$} +\DeclareUnicodeCharacter{\ding} +\DeclareUnicodeCharacter{\ding} \usepackage[T1] \usepackage \usepackage ZZZ cd _build/latex make cd ../.. 

Обратите внимание, что документация на самом деле не проверена / не поддерживается для вывода в формате PDF, поэтому здесь и там будет несколько глюков. Вывод длиной 820 страниц.

1
MariusMatutiae

Это очень просто. Загрузите приложение для своего браузера, например, Web2PDFдля Chrome (таких приложений много, их можно найти в онлайн-магазине Chrome, просто Google для вашего браузера), и оно преобразует веб-страницу, которую вы ищете, в формат PDF.

Если вы предпочитаете инструмент CLI, wkhtmltopdf - очень хороший инструмент.

За исключением того, что это будет снимок гипертекстового документа, стилизованного для Интернета. Я не верю, что Sphinx поставляется с таблицами стилей (и контентом!), Которые разумно отображаются на бумаге. Например, оглавление будет отсутствовать. То, что вы предлагаете, конечно, является правильным решением, если латекс не доступен. Kuba Ober 10 лет назад 1