有没有离线的文档(英文的,中文的肯定还没出来),是pdf的那种(因为在电脑上看不太方便,想打印出来方便一些做些笔记)我看到网上有一份版本在这里[Offline Julia 1.0 documentation - #7 by mortenpi - General Usage - Julia Programming Language],不过是非官方版本的。不知道你们可不可以从源文件(Markdown文件)中生成pdf(我试了好几次,但就是搞不好),如果实在不行的用这个非官方的版本凑合也可以,不过我想要一个比较新一点的文档。
官方文档的 Makefile 里有 PDF 格式的目标,直接 make pdf
就可以。
ref:
- How to generate module documentation in the PDF format from the command line? · Issue #810 · JuliaDocs/Documenter.jl
- julia/Makefile at master @Line41 · JuliaLang/julia
如果不是从源编译的版本,可能会出现
环境变量的问题,以及相对路径的问题。
wo@utp:~/julia$ make -C doc pdf
make: Entering directory '/home/wo/julia/doc'
/home/wo/julia/deps/tools/jlchecksum UnicodeData.txt
Building PDF documentation.
/home/wo/julia/usr/bin/julia --color=yes /home/wo/julia/doc/make.jl -- pdf linkcheck= doctest=
make: /home/wo/julia/usr/bin/julia: Command not found
Makefile:42: recipe for target 'pdf' failed
make: *** [pdf] Error 127
make: Leaving directory '/home/wo/julia/doc'
调整一下可执行文件的路径 make -C doc pdf -e JULIA_EXECUTABLE=julia
还可能会出现相对路径的问题:
wo@utp:~/julia/doc$ make pdf -e JULIA_EXECUTABLE=julia
/home/wo/julia/deps/tools/jlchecksum UnicodeData.txt
Building PDF documentation.
julia --color=yes /home/wo/julia/doc/make.jl -- pdf linkcheck= doctest=
Updating registry at `deps/registries/General`
Updating git-repo `https://github.com/JuliaRegistries/General.git`
Documenter: setting up build directory.
Documenter: expanding markdown templates.
!! Warning in src/manual/unicode-input.md:
Failed to evaluate `@eval` block.
ERROR: SystemError("opening file /home/wo/doc/UnicodeData.txt", 2, nothing)
我用的是编译好的二进制文件,放在 /home/wo/julia-1.0.0/bin
里。
而 unicode-input.md
里使用的是相对可执行文件的路径
file = normpath(Sys.BINDIR, "..", "..", "doc", "UnicodeData.txt")
需要修改一下。
我改成了 normpath(@__DIR__, "..", "..", "..", "..", "UnicodeData.txt")
应该有更优雅的写法。
继续编译需要 LaTeX 据没有继续了。
Documenter: rendering document.
!! `latexmk` and `lualatex` required for PDF generation.
Build finished.
用浏览器打开官方Julia二进制文件里类似julia/share/doc/julia/html/en/index.html
的位置的文件就可以了。虽然不是PDF,但是是离线的。
成功了没有,我前面没有成功就放弃了
对,我也没有成功,中间出了很多错误(而且这个pdf生成是不是要用Latex,不过反正我也装了),我放弃了
可以用这个脚本,但只支持英文文档,所以要把markdown文件用官方原版替换一下
discourse好像不能传文件,我群里发你了
不知道是不是我装的latex的问题,文档里的代码块render不了
目前的设置里,没有允许普通用户上传图片以外的文件
有需要的话,可以去设置里 authorized extensions for staff
添加。(不过建议先别添加)
另外,目前的设置里,管理员可以在私信里上传任意文件(拖到私信对话框里就行)。
我又在 Windows 下试了试
julia 1.0 + TeXLive 环境
-
clone 或者下载 1.0 的 repo
clone 的切换到git checkout v1.0.0
-
手工下载 www.unicode.org/Public/9.0.0/ucd/UnicodeData.txt
保存到julia-master\doc\UnicodeData.txt
-
修改
julia-master\doc\src\manual\unicode-input.md
第 34 行
改为文件对应的绝对路径。有更优雅的写法务必告诉我
file = normpath("C:\\Users\\woclass\\Desktop\\GitHub\\julia\\doc", "UnicodeData.txt")
- 在
julia-master\doc
下执行julia.exe --color=yes .\make.jl -- pdf -e JULIA_EXECUTABLE=julia
失败了。
单独编译 .tex
文件
先装上 python 的
pygmentize
包和RobotoMono
字体
我抽出了 生成的 TheJuliaLanguage.tex
手工导入 documenter.sty
注释掉导入其它包的两句
%\usepackage{./documenter}
%\usepackage{./custom}
然后 xelatex -shell-escape TheJuliaLanguage.tex
编译 x3
或 latexmk -f -interaction=nonstopmode -view=none -lualatex -shell-escape TheJuliaLanguage.tex
一次
ref: Documenter.jl/LaTeXWriter.jl
然后就能正常显示代码了。不过目录没了,有待修复。 已修复
编译好的版本
- 看 log 它用的是 minted 包,需要 python 包
pygmentize
的支持。装一下就应该能用了。
ref: LaTeX技巧703:minted包使用环境的搭建 - LaTeX科技排版工作室 - 装上
RobotoMono
字体
谢谢了(不过还真是复杂,但幸好我们只用做一次,以后还可以接着用)