ArchLinux系统下用sphinx编译中文文档的方法

Arch Linux系统下用sphinx编译中文文档的方法

背景介绍

  python-sphinx是一个非常方便用于编写文档的package(具体介绍可以留个坑,这里就不详细说明了),在安装了这个包,并写完文档的rst源文件后,只需在工程目录下输入:

make html

  即可在build/html目录下生成对应的一系列html文件,点击index.html即可查看编译出来的文档

  但有些时候,文档是要以pdf的形式呈现的。这个时候就需要用到:

make latexpdf

  但也许很多人就会发现,这样编译总是出现各种各样的错误。例如这里缺xxx.sty,那里找不到字体……等一系列的令人头疼的问题

  本人也在这里卡了半个晚上,收集了大量的资料和博客才得以解决,现尽可能地总结一种在Arch Linux系统下快速避开编译出错(尤其是中文)问题的方法

核心步骤

安装texlive-langextra

  用包管理器(这里是用了paru)安装texlive-langextra:

paru -S texlive-langextra

  如果发现安装失败,可能是因为自己之前手动安装了一些latex包,按报错的路径把那些手动复制进去的文件夹删掉即可

安装texlive-langchinese

paru -S texlive-langchinese

  这个package也十分重要,涉及到中文

编辑sphinx项目中的conf.py文件

  打开sphinx中的conf.py文件,往里面加上:

latex_elements = {
'preamble': '''
\\hypersetup{unicode=true}
\\usepackage{CJKutf8}
\\AtBeginDocument{\\begin{CJK}{UTF8}{gbsn}}
\\AtEndDocument{\\end{CJK}}
'''
}

  保存退出。现在去工程文件路径下,输入:

make latexpdf

  (应该)就可以编译成功了(我是成功了)

  编译成功后,就可以在build/latex下找到编译生成的pdf文件了

参考链接

  上述解决方案主要参考:用Sphinx制作中文pdf,用于制作odoo中文用户手册

Sphinx 是一个在GPLv2 下发布的一个全文检索引擎,商业授权(例如, 嵌入到其他程序中)需要联系我们(Sphinxsearch.com)以获得商业授权。 一般而言,Sphinx是一个独立的搜索引擎,意图为其他应用提供高速、低空间占用、高结果相关度的全文搜索功能。Sphinx可以非常容易的与SQL数据库和脚本语言集成。 当前系统内置MySQL和PostgreSQL 数据库数据源的支持,也支持从标准输入读取特定格式的XML数据。通过修改源代码,用户可以自行增加新的数据源(例如:其他类型的DBMS 的原生支持)。 搜索API支持PHP、Python、Perl、Rudy和Java,并且也可以用作MySQL存储引擎。搜索API非常简单,可以在若干个小时之内移植到新的语言上。 Sphinx 是SQL Phrase Index的缩写,但不幸的和CMU的Sphinx 目录 1. 简介 1.1. 什么是 Sphinx 1.2. Sphinx 的特性 1.3. 如何获得 Sphinx 1.4. 许可协议 1.5. 作者和贡献者 1.6. 开发历史 2. 安装 2.1. 支持的操作系统 2.2. 依赖的工具 2.3. 安装 Sphinx 2.4. 已知的问题和解决方法 2.5. Sphinx 快速入门教程 3. 建立索引 3.1. 数据源 3.2. 属性 3.3. 多值属性 ( MVA : multi-valued attributes) 3.4. 索引 3.5. 数据源的限制 3.6. 字符集 , 大小写转换 , 和转换表 3.7. SQL 数据源 (MySQL, PostgreSQL) 3.8. xmlpipe 数据源 3.9. xmlpipe2 数据源 3.10. 实时索引 更新 3.11. 索引合并 4. 搜索 4.1. 匹配模式 4.2. 布尔查询 4.3. 扩展查询 4.4. 权值计算 4.5. 排序模式 4.6. 结果分组(聚类) 4.7. 分布式搜索 4.8. searchd 日志格式 5. API 参考 5.1. 通用 API 方法 5.1.1. GetLastError 5.1.2. GetLastWarning 5.1.3. SetServer 5.1.4. SetRetries 5.1.5. SetArrayResult 5.2. 通用搜索设置 5.2.1. SetLimits 5.2.2. SetMaxQueryTime 5.3. 全文搜索设置 5.3.1. SetMatchMode 5.3.2. SetRankingMode 5.3.3. SetSortMode 5.3.4. SetWeights 5.3.5. SetFieldWeights 5.3.6. SetIndexWeights 5.4. 结果集过滤设置 5.4.1. SetIDRange 5.4.2. SetFilter 5.4.3. SetFilterRange 5.4.4. SetFilterFloatRange 5.4.5. SetGeoAnchor 5.5. GROUP BY 设置 5.5.1. SetGroupBy 5.5.2. SetGroupDistinct 5.6. 搜索 5.6.1. Query 5.6.2. AddQuery 5.6.3. RunQueries 5.6.4. ResetFilters 5.6.5. ResetGroupBy 5.7. 额外的方法 5.7.1. BuildExcerpts 5.7.2. UpdateAttributes 6. MySQL 存储引擎 (SphinxSE) 6.1. SphinxSE 概览 6.2. 安装 SphinxSE 6.2.1. 在 MySQL 5.0.x 上 编译 SphinxSE 6.2.2. 在 MySQL 5.1.x 上编译 SphinxSE 6.2.3. SphinxSE 安装测试 6.3. 使用 SphinxSE 7. 报告 bugs 8. sphinx.conf 选项参考 8.1. Data source 配置选项 8.1.1. type 8.1.2. sql_host 8.1.3. sql_port 8.1.4. sql_user 8.1.5. sql_pass 8.1.6. sql_db 8.1.7. sql_sock 8.1.8. mysql_connect_flags 8.1.9. sql_query_pre 8.1.10. sql_query 8.1.11. sql_query_range 8.1.12. sql_range_step 8.1.13. sql_attr_uint 8.1.14. sql_attr_bool 8.1.15. sql_attr_timestamp 8.1.16. sql_attr_str2ordinal 8.1.17. sql_attr_float 8.1.18. sql_attr_multi 8.1.19. sql_query_post 8.1.20. sql_query_post_index 8.1.21. sql_ranged_throttle 8.1.22. sql_query_info 8.1.23. xmlpipe_command 8.1.24. xmlpipe_field 8.1.25. xmlpipe_attr_uint 8.1.26. xmlpipe_attr_bool 8.1.27. xmlpipe_attr_timestamp 8.1.28. xmlpipe_attr_str2ordinal 8.1.29. xmlpipe_attr_float 8.1.30. xmlpipe_attr_multi 8.2. 索引配置选项 8.2.1. type 8.2.2. source 8.2.3. path 8.2.4. docinfo 8.2.5. mlock 8.2.6. morphology 8.2.7. stopwords 8.2.8. wordforms 8.2.9. exceptions 8.2.10. min_word_len 8.2.11. charset_type 8.2.12. charset_table 8.2.13. ignore_chars 8.2.14. min_prefix_len 8.2.15. min_infix_len 8.2.16. prefix_fields 8.2.17. infix_fields 8.2.18. enable_star 8.2.19. ngram_len 8.2.20. ngram_chars 8.2.21. phrase_boundary 8.2.22. phrase_boundary_step 8.2.23. html_strip 8.2.24. html_index_attrs 8.2.25. html_remove_elements 8.2.26. local 8.2.27. agent 8.2.28. agent_connect_timeout 8.2.29. agent_query_timeout 8.2.30. preopen 8.2.31. charset_dictpath 8.3. indexer 程序配置选项 8.3.1. mem_limit 8.3.2. max_iops 8.3.3. max_iosize 8.4. searchd 程序配置选项
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值