对于文档构建,在文件夹 doc/docenv
中设置了 python 虚拟环境,并通过 pip
工具将各种 python 包安装到该虚拟环境中。为了渲染嵌入式 LaTeX 代码,还需要下载 MathJax JavaScript 引擎。如果您需要将其他选项传递给 pip 命令才能工作(例如,使用 Web 代理或指向其他 SSL 证书),您可以通过 PIP_OPTIONS
环境变量进行设置,或者取消注释并编辑 PIP_OPTIONS
在 makefile 开头设置。
然后通过 doc 文件夹中的 make
命令完成实际编译。以下 make
命令可用:
make html # generate HTML in html dir using Sphinx
make pdf # generate PDF as Manual.pdf using Sphinx and PDFLaTeX
make epub # generate LAMMPS.epub in ePUB format using Sphinx
make mobi # generate LAMMPS.mobi in MOBI format using ebook-convert
make fasthtml # generate approximate HTML in fasthtml dir using Sphinx
# some Sphinx extensions do not work correctly with this
make clean # remove intermediate RST files created by HTML build
make clean-all # remove entire build folder and any cached data
make anchor_check # check for duplicate anchor labels
make style_check # check for complete and consistent style lists
make package_check # check for complete and consistent package lists
make link_check # check for broken or outdated URLs
make spelling # spell-check the manual
3.8.2.使用 CMake 构建
还可以在 CMake 构建目录中创建手册的 HTML 版本(并且仅 HTML 版本)。使用此选项的原因是在通过 cmake --build . --target install
CMake 构建后安装 LAMMPS 时,将 HTML 手册页的安装包含到“安装”步骤中。文档构建包含在默认构建目标中,但也可以通过 cmake --build . --target doc
独立请求。如果您需要将其他选项传递给 pip 命令才能工作(例如,使用 Web 代理或指向其他 SSL 证书),您可以通过 PIP_OPTIONS
环境变量进行设置。
-D BUILD_DOC=value # yes or no (default)
3.8.3. HTML 的先决条件
要运行 HTML 文档构建工具链,必须在本地安装 python 3、git、doxygen 和 virtualenv。以下是常见设置的说明:
Ubuntu
sudo apt-get install git doxygen
**RHEL or CentOS (Version 7.x)**
sudo yum install git doxygen
**Fedora or RHEL/CentOS (8.x or later)**
sudo dnf install git doxygen
MacOS
如果您的 macOS 系统上没有 Python 3,您可以从 https://www.python.org 下载最新的 Python 3 macOS 软件包并安装。这将安装 Python 3 和 pip3。
3.8.4. PDF 的先决条件
除了构建 HTML 格式手册所需的工具之外,还需要支持 PDFLaTeX 的工作 LaTeX 安装以及精选的 LaTeX 样式/包。要运行 PDFLaTeX 翻译,还需要安装 latexmk
脚本。
3.8.5. ePUB 和 MOBI 的先决条件
除了构建 HTML 格式手册所需的工具之外,还需要使用一些附加 LaTeX 包以及 dvipng
工具来安装有效的 LaTeX,以将嵌入式数学表达式透明地转换为嵌入式图像。
要将生成的 ePUB 文件转换为 MOBI 格式文件(对于无法读取 ePUB 的电子书阅读器,如 Kindle),您还需要安装“calibre”软件中的 ebook-convert
工具。 https://calibre-ebook.com/ 输入 make mobi
将首先创建 ePUB 文件,然后对其进行转换。特别是在 Kindle 阅读器上,您还支持 PDF 文件,因此您可以下载并查看 PDF 版本作为替代方案。
3.8.6. 开发者须知
当向 LAMMPS 代码添加新样式或选项时,需要相应的文档,并且需要更新 src
文件夹中的现有文件或添加新文件。这些文件以 reStructuredText 标记编写,以便使用 Sphinx 工具进行翻译。
在提供任何文档之前,请检查 HTML 和 PDF 格式文档是否可以正确翻译。在测试 html 翻译期间,您可以使用 make fasthtml
命令进行近似翻译(即并非所有 Sphinx 功能和扩展都可以工作),但运行速度非常快,因为它只会翻译自此以来已更改的文件最后一个 make fasthtml
命令。
另请检查控制台的输出是否有任何警告或问题。将自动运行多个测试:
- 测试所有锚标签及其引用的正确性
- 测试所有 LAMMPS 包(= 源位于
lammps/src
中的文件夹)是否已记录并列出。典型的警告会显示包含可疑新包代码的文件夹名称以及需要列出它们的文档文件:
![img](https://img-blog.csdnimg.cn/img_convert/fe203eb9c713481c7c8f734025e18bdd.png)
![img](https://img-blog.csdnimg.cn/img_convert/ba9dcc8fef4f4dbbb8719fa144c9cadc.png)
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
t/topics/618545628)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**