一直纠结:用什么工具来记录学习中的点滴,用什么写软件的文档
- 在线的(blog、wiki、google doc、google site、...)
- 离线的(wiki、LaTeX、sphinx、docbook、doxygen...)
...
然后觉得 git + sphinx 应该是个不错的选择,恩,生成网页、qthelp、chm文件等都还不错,可是,当想生成包含中文的pdf时,又回到了让人倍感头痛的 LaTeX中文问题上面来了...
windows下似乎没什么好说的,本文稍偏重ubuntu,总体来说latex中文比前几年好用太多了。本文最初目标,学习最基本的sphinx+latex的中文处理。
名词
相关(类似)的名词太多了,想分清真不容易
引擎
|
(Knuth)TeX
|
真正的(原始的)TeX
|
ε-TeX
|
相对于原始的TeX它提供了一种扩展模式
|
pdfTeX
|
它从tex文件不通过dvi文件直接生成pdf文件(开发者已经转向LuaTeX)
|
XeTeX
|
相对于原始的TeX,主要增加了Unicode和 OpenType 的支持
|
LuaTeX
|
它使用Lua作为扩展语言,对于LaTeX支持尚不完善?
|
...
|
|
宏集
|
plain TeX
|
最古老的TeX宏集,提供了一些最基本的命令
|
AMSTeX
|
是美国数学会提供的一个TeX宏集,它添加了许多数学符号和数学字体
|
LaTeX
|
相对于PlainTeX,它使得科技文档的排版更加直观和方便
|
ConTeXt
|
和LaTeX 相比,它更加灵活和自由
|
...
|
|
发行版
|
TeX Live
|
国际TeX用户组织TUG开发,支持不同的操作系统
|
MiKTeX
|
Windows 下广泛使用的一个TeX发行版
|
ConTeXt Minimals
|
它包含了最新版本的 ConTeXt
|
teTeX
|
一个Unix下的TeX发行版,现在已经停止更新且并入TeXLive
|
fpTeX
|
一个Windows的TeX发行版,已不再更新
|
...
|
|
真够乱的,还好,我们只关注一部分:
LaTeX
原始的TeX已经有了一组宏集,也就是Knuth所写的著名的Plain TeX(原始的TeX和Plain Tex都是《The TeXbook 》一书中介绍的内容)。
但是这些命令仍然很底层,不够方便、直观,于是Leslie Lamport写了另一组宏,称为LaTeX,主要是它版本配置和文中内容适度分开处理。
LaTeX 2ε是自1993年以来LaTeX的一个稳定版本,是目前大部分LaTeX书籍的主体内容。
ctex
ctex宏包提供了一个统一的中文LaTeX文档框架,底层支持CCT、CJK和xeCJK三种中文LaTeX系统。
- CCT 非常不推荐了
- CJK 这个?应该在windows下工作还很不错
- xeCJK 比较推荐
ctex宏包提供了编写中文LaTeX文档常用的一些宏定义和命令。
主要文件包括ctexart.cls、ctexrep.cls、ctexbook.cls 和 ctex.sty、ctexcap.sty。
生成pdf流程
*.tex
|
==>
|
*.dvi
|
==>
|
*.ps
|
==>
|
*.pdf
|
|
latex
|
|
divps
|
|
ps2pdf
|
|
*.tex
|
==>
|
*.dvi
|
==>
|
*.pdf
|
|
latex
|
|
dvipdfm
|
|
- pdflatex或xelatex,直接生成 pdf
配置
TeX Live
种种迹象表明,ubuntu软件仓库中的TeX Live非常非常不好用。于是,只能从官方下载ISO镜像,或者直接网络安装了。
- 下载 texlive2011-20110705.iso
- 挂载
sudo mkdir /mnt/texlive
sudo mount -o loop texlive2011-20110705.iso /mnt/texlive
cd /mnt/texlive
sudo ./install-tl
TeXworks
很不错的一个Tex(LaTeX、ConTeXt等)文档的创作环境,一个基于Unicode的可感知TeX的编辑器,集成了PDF浏览功能,干净、简洁的操作界面。
恩,更主要的是Qt4编写的开源软件,跨Windows、Linux、Mac OS环境。
中文配置
- 主要涉及几个宏包,这些宏包进化太快了,远没有latex稳定,可能了解它们最好的办法就是看其自带的手册了。
当前的推荐配置(?)
- 使用XeLaTeX引擎处理中文
- 使用xeCJK宏包解决中西文字体选择、标点符号位置、CJK兼容等问题
- 使用ctex宏包和文档类解决中文版式习惯的问题
不使用这两个宏包(需要设置所用字体,命令fc-list:lang=zh-cn用来查看系统字体)
\documentclass[11pt,a4paper]{article}
\usepackage{fontspec}
\setmainfont{WenQuanYi Micro Hei}
\begin{document}
TeX Live 2011,XeLaTeX,Texworks,你们好!!
\end{document}
直接使用xeCJK宏包。(属于底层的方案)
\documentclass{article}
\usepackage{xeCJK}
\setCJKmainfont{WenQuanYi Micro Hei}
\begin{document}
TeX Live 2011,XeLaTeX,Texworks,你们好!!
\end{document}
使用ctex宏包。高层的方案。(默认的字体是为windows准备的,在linux下,可以直接设置字体,但更建议采用后面的方法,修改ctex的字体文件)
\documentclass{ctexart}
\setCJKmainfont{WenQuanYi Micro Hei}
\begin{document}
TeX Live 2011,XeLaTeX,Texworks,你们好!!
\end{document}
解决字体问题后,看起来还是很简单的:
\documentclass{ctexart}
\begin{document}
TeX Live 2011,XeLaTeX,Texworks,你们好!!
\end{document}
字体
cp sim* ~/.fonts
\setCJKmainfont[BoldFont=Droid Sans Fallback, ItalicFont=AR PL UKai CN]{AR PL UMing CN}
\setCJKmonofont[Scale=0.9]{AR PL UKai CN}
\setCJKfamilyfont{song}[BoldFont=Droid Sans Fallback]{AR PL UMing CN}
\setCJKfamilyfont{sf}[BoldFont=Droid Sans Fallback]{Droid Sans Fallback}
/usr/local/texlive/2011/texmf-dist/tex/latex/ctex/fontset/ctex-xecjk-winfonts.def
其内容大致如下:
% ctex-xecjk-winfonts.def: Windows 的 xeCJK 字体设置,默认为六种中易字体
% vim:ft=tex
\setCJKmainfont[BoldFont={SimHei},ItalicFont={[SIMKAI.TTF]}]{SimSun}
\setCJKsansfont{SimHei}
\setCJKmonofont{[SIMFANG.TTF]}
\setCJKfamilyfont{zhsong}{SimSun}
\setCJKfamilyfont{zhhei}{SimHei}
\setCJKfamilyfont{zhkai}{[SIMKAI.TTF]}
\setCJKfamilyfont{zhfs}{[SIMFANG.TTF]}
\newcommand*{\songti}{\CJKfamily{zhsong}} % 宋体
\newcommand*{\heiti}{\CJKfamily{zhhei}} % 黑体
\newcommand*{\kaishu}{\CJKfamily{zhkai}} % 楷书
\newcommand*{\fangsong}{\CJKfamily{zhfs}} % 仿宋
\endinput
将其中的 [SIMKAI.TTF] 和 [SIMFANG.TTF] 用 KaiTi 和 FangSong 替代。(好奇怪,Windows下怎么会这个奇怪的名字,字体直接拷过来,就不需要这么奇怪的名字)
sphinx
有了前面一堆东西,终于可以回到Pyhton sphinx了
当我们运行 sphinx-build -b latex src target时,它生成
等文件
但是,
- 生成的 .tex 中:使用的documentclass是report或article,我们需要的是ctexrep或ctexart
- 生成的 Makefile 中:使用的latex和pdflatex,我们需要的是 xelatex
这样以来,需要简单修改一下的sphinx的latex生成器了,找到目标(这个位置不定,在python中import sphinx,然后查看sphinx.file比较容易定位)
/usr/lib/pymodules/python2.7/sphinx/writers/latex.py
* 搜索article和report,改为ctexart和ctexrep
Makefile 是通过哪个文件生成的呢?好隐蔽
/usr/share/sphinx/texinputs/Makefile
恩,一个静态文件,直接按照自己需要改就行了。不过我们直接将里面所有的pdflatex直接改成xelatex就够了
参考
分享到:
相关推荐
而TexLive是LaTeX的一个全面的分发版本,它包含了编译器、宏包、字体和其他必要的工具。本资源“适用于TexLive的自动化学报Latex模板”是为了简化学术论文写作过程,特别是针对化学报的格式要求。 首先,我们来看...
latex常见的使用教程.tex latex常见的使用教程.tex latex常见的使用教程.tex latex常见的使用教程.tex latex常见的使用教程.tex latex常见的使用教程.tex latex常见的使用教程.tex latex常见的使用教程.tex latex...
能在TeXLive环境下使用的《系统工程理论与实践》期刊模板_SETP-Template-for-TeXLive
【描述】:介绍如何轻松安装和配置TeXLive和TeXMaker,适合初次接触LaTeX的用户,尤其是对于习惯于图形界面操作的用户,解决CTEX的配置复杂性和可能出现的bug,推荐使用最新的TeXLive,因为其安装过程简化且跨平台。...
计算机专业科研利器,texlive2018离线安装包ISO镜像(适合Linux和Windows)texlive2018-20180414.iso。适用于计算机专业的学术科研LeTEX文档撰写,本资源为iso光盘镜像,能够在Linux平台和Windows平台搭建LaTEX撰写...
这篇博客将带你进入 LaTeX 世界,详细介绍如何配置和使用 TeX Live 2024 和 Visual Studio Code(VSCode)进行文档编写。传统的 Word 编辑格式令人头疼,LaTeX 提供了更为高效的排版方式,尤其适合学术论文、报告、...
1. 安装:可以从CTEX组织的网站下载最新中文TEX套装,Windows用户选择CTEX套装,Linux用户可以选择TeXlive进行安装。 2. 编辑:启动一个编辑器,如WinEdt(CTEX套装自带),或者简单的记事本也可以。 3. 输入代码:...
TexLive是一个广泛使用的TeX发行版,它包含了TeX及其相关程序和宏包,...整个文档不仅介绍了如何安装和配置TexLive,还提供了许多高级特性的说明,对于希望深入学习TeX和Latex排版的用户来说,是一个极好的参考资料。
`cpp-Tectonic` 是一个针对TeX和LaTeX排版系统的现代、独立的引擎,它旨在提供高效、便捷的文本处理体验。Tectonic项目由C++编写,结合了XeTeX的特性,并且基于知名的TeXLive套件,从而确保了强大的功能和广泛的兼容...
TeXLive 2017版包含了多个TeX的可执行程序如TEX、LaTeX2ε、ConTeXt、Metafont、MetaPost、BibTeX等,为用户提供丰富的文档格式化工具。它也支持多种宏包、字体,并支持全球多种语言。此外,TeXLive还包括了预定义的...
sudo apt-get install texlive texlive-math-extra texlive-latex-base texlive-latex-extra texlive-latex-recommended texlive-pictures texlive-science texlive-bibtex-extra texlive-common latex-beamer ...
- 基本安装涵盖了大多数用户所需的TeX和LaTeX核心功能,以及其他常用工具如MetaPost、Biber等。 - 安装过程可以根据用户的实际需求进行定制,例如选择安装位置、添加额外组件等。 - **获得帮助**: - TeXLive...
- **Texlive** 是一个综合性的TeX发行版,提供了TeX、LaTeX2ε、ConTeXt、METAFONT、MetaPost、BibTeX等多种执行程序以及大量的宏包、字体和文档。 - **Tex Collection** 是由TeX用户组织为会员提供的包含Texlive...
### TexLive使用教程——2015 #### 简介 TexLive 是一个全面的 TeX 发行版,它包含了一系列与 TeX 相关的软件和工具,旨在为 GNU/Linux、Mac OS X 和 Windows 等操作系统提供完整的 TeX 解决方案。本章节将详细...
例如,在MiKTeX或TeXLive中,可以使用包管理器来安装。 2. **编写LaTeX代码**:打开`Net_tex.tex`文件,引入`PlotNeuralNet`宏包,并定义Unet网络的层结构。这通常涉及指定每层的类型(如卷积、池化、上采样等)、...
在 LaTeX 编译系统中,`Texlive` 是一个广泛使用的开源 TeX 发行版,它包含了丰富的宏包资源,使得用户能够轻松创建专业级别的文档。宏包是 LaTeX 的扩展,提供了各种功能,如图形绘制、数学公式排版、引用管理等。...
在使用这个模板时,首先要确保你已安装了LaTeX编译器(如MiKTeX或TeXLive)和Texstudio编辑器。然后,将下载的压缩包解压,找到主文件(通常是`.tex`格式),用Texstudio打开。编辑内容时,LaTeX语法将自动检查,...
Texlive是一个流行的LaTeX发行版,它包含了LaTeX排版系统的核心部分,以及大量附加的宏包和工具。LaTeX是一种基于TeX的排版系统,广泛用于生成高质量的科技和数学文档。Texlive包含了一整套工具,能够帮助用户完成从...