Как создать офлайн-документацию для Юлии

Как создать локальную версию документации для julia? Я старался:

/Applications/Julia-0.3.1.app/Contents/Resources/julia/share/julia/doc make html
fatal: Not a git repository (or any of the parent directories): .git
make: [juliadoc-pkg] Error 128 (ignored)
PYTHONPATH=:juliadoc sphinx-build -b html -d _build/doctrees   . _build/html
Running Sphinx v1.3b1

Extension error:
Could not import extension juliadoc.jldoctest (exception: cannot import name bytes)
make: *** [html] Error 1
/Applications/Julia-0.3.1.app/Contents/Resources/julia/share/julia/doc 

Хотя sphinx работает, похоже, мне не хватает какого-то расширения? Кто-нибудь может помочь? Спасибо!


person Harmeling    schedule 05.11.2014    source источник


Ответы (3)


Начиная с версии Julia v0.4, система документации является встроенной и может быть создана с помощью пакета Documenter.jl. Встроенные строки документа, расположенные прямо над функциями, типами, макросами, модулями и другими объектами, интерпретируются как документирование сопровождающего объекта. Пример для функции get_coeff() показан ниже,

""" 
    get_coeff(a, v)
Return the coefficient of `a::TaylorN`, specified by
`v::Array{Int,1}` which has the indices of the specific monomial.
"""
function get_coeff(a::TaylorN, v::Array{Int,1})

Дополнительную информацию о документации можно найти здесь.

Следующим шагом является генерация документа, для чего используется пакет Documenter.jl. Подробные шаги объясняются здесь, как поясняется вывод может быть получен в виде уценки или html. Если требуется pdf, я бы использовал pandocs для преобразования файлов .md в pdf.

person Abhijith    schedule 29.08.2016

Может потребоваться собрать документацию из клона git-репозитория Julia, а не из архива исходного кода Julia. Это легко получить, установив git и выполнив:

git clone https://github.com/JuliaLang/julia.git

Следующий фрагмент воссоздал документацию Julia на моей машине:

cd doc # change into the doc directory of the julia repository
make latex SPHINXOPTS="-n"
make latexpdf
# view the newly created PDF using linux default PDF viewer
evince _build/latex/JuliaLanguage.pdf

(после нескольких нажатий клавиш Enter, чтобы игнорировать проблемы со шрифтами LaTeX, но документ оказался в порядке)

person Dan Getz    schedule 08.11.2014
comment
Спасибо за вашу помощь! Однако это также приводит к сообщению об ошибке. Однако это может быть связано с моей локальной настройкой. - person Harmeling; 08.11.2014

Обратите внимание, что теперь Documenter.jl поддерживает вывод pdf напрямую через LaTeX.

Pkg.add(DocumenterLaTeX)
using DocumenterLaTeX
makedocs(
    format = LaTeX(),
    ...
)

См. документацию:

person xji    schedule 24.03.2019
comment
должно быть format = LaTeX(), а не format = LaTeX - person Markus Hauschel; 23.11.2019