`
tomhibolu
  • 浏览: 1431319 次
文章分类
社区版块
存档分类
最新评论

TeX、LaTeX、TeXLive 小结

 
阅读更多

一直纠结:用什么工具来记录学习中的点滴,用什么写软件的文档

  • 在线的(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

  • dvipdfm(x),少一个 *.ps 步骤

*.tex

==>

*.dvi

==>

*.pdf

latex

dvipdfm

  • pdflatex或xelatex,直接生成 pdf

*.tex

==>

*.pdf

pdflatex

配置

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}

字体

  • 如果不想用linux下的字体,还可以把 Windows 下的一些字体直接拷贝到~/.fonts目录中

cp sim* ~/.fonts
  • 对于xeCJK宏包,使用命令设置字体,比如:

\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}
  • 使用ctex宏包时,直接修改下面这个文件:

/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时,它生成

  • Makefile
  • XXX.tex
  • ...

等文件

但是,

  • 生成的 .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的一个全面的分发版本,它包含了编译器、宏包、字体和其他必要的工具。本资源“适用于TexLive的自动化学报Latex模板”是为了简化学术论文写作过程,特别是针对化学报的格式要求。 首先,我们来看...

    latex常见的使用教程.tex

    latex常见的使用教程.tex latex常见的使用教程.tex latex常见的使用教程.tex latex常见的使用教程.tex latex常见的使用教程.tex latex常见的使用教程.tex latex常见的使用教程.tex latex常见的使用教程.tex latex...

    能在TeXLive环境下使用的《系统工程理论与实践》期刊模板_SETP-Template-for-TeXLive.zip

    能在TeXLive环境下使用的《系统工程理论与实践》期刊模板_SETP-Template-for-TeXLive

    texlive+texmaker安装配置教程1

    【描述】:介绍如何轻松安装和配置TeXLive和TeXMaker,适合初次接触LaTeX的用户,尤其是对于习惯于图形界面操作的用户,解决CTEX的配置复杂性和可能出现的bug,推荐使用最新的TeXLive,因为其安装过程简化且跨平台。...

    texlive2018离线安装包ISO镜像(适合Linux和Windows)

    计算机专业科研利器,texlive2018离线安装包ISO镜像(适合Linux和Windows)texlive2018-20180414.iso。适用于计算机专业的学术科研LeTEX文档撰写,本资源为iso光盘镜像,能够在Linux平台和Windows平台搭建LaTEX撰写...

    LaTeX 入门指南:使用 TeX Live 2024 和 VSCode 进行专业排版写论文

    这篇博客将带你进入 LaTeX 世界,详细介绍如何配置和使用 TeX Live 2024 和 Visual Studio Code(VSCode)进行文档编写。传统的 Word 编辑格式令人头疼,LaTeX 提供了更为高效的排版方式,尤其适合学术论文、报告、...

    排版软件TEXLATEX入门.pdf

    1. 安装:可以从CTEX组织的网站下载最新中文TEX套装,Windows用户选择CTEX套装,Linux用户可以选择TeXlive进行安装。 2. 编辑:启动一个编辑器,如WinEdt(CTEX套装自带),或者简单的记事本也可以。 3. 输入代码:...

    TexLive中文安装教程

    TexLive是一个广泛使用的TeX发行版,它包含了TeX及其相关程序和宏包,...整个文档不仅介绍了如何安装和配置TexLive,还提供了许多高级特性的说明,对于希望深入学习TeX和Latex排版的用户来说,是一个极好的参考资料。

    cpp-Tectonic一个现代化完整独立的TeXLaTeX引擎

    `cpp-Tectonic` 是一个针对TeX和LaTeX排版系统的现代、独立的引擎,它旨在提供高效、便捷的文本处理体验。Tectonic项目由C++编写,结合了XeTeX的特性,并且基于知名的TeXLive套件,从而确保了强大的功能和广泛的兼容...

    TexLive指南-2017版

    TeXLive 2017版包含了多个TeX的可执行程序如TEX、LaTeX2ε、ConTeXt、Metafont、MetaPost、BibTeX等,为用户提供丰富的文档格式化工具。它也支持多种宏包、字体,并支持全球多种语言。此外,TeXLive还包括了预定义的...

    ubuntu8.04下texlive2008安装及中文环境配置

    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 ...

    2016版texlive指南

    - 基本安装涵盖了大多数用户所需的TeX和LaTeX核心功能,以及其他常用工具如MetaPost、Biber等。 - 安装过程可以根据用户的实际需求进行定制,例如选择安装位置、添加额外组件等。 - **获得帮助**: - TeXLive...

    Texlive2013安装说明

    - **Texlive** 是一个综合性的TeX发行版,提供了TeX、LaTeX2ε、ConTeXt、METAFONT、MetaPost、BibTeX等多种执行程序以及大量的宏包、字体和文档。 - **Tex Collection** 是由TeX用户组织为会员提供的包含Texlive...

    TexLive使用教程——2015

    ### TexLive使用教程——2015 #### 简介 TexLive 是一个全面的 TeX 发行版,它包含了一系列与 TeX 相关的软件和工具,旨在为 GNU/Linux、Mac OS X 和 Windows 等操作系统提供完整的 TeX 解决方案。本章节将详细...

    Net_tex_latex_tex_

    例如,在MiKTeX或TeXLive中,可以使用包管理器来安装。 2. **编写LaTeX代码**:打开`Net_tex.tex`文件,引入`PlotNeuralNet`宏包,并定义Unet网络的层结构。这通常涉及指定每层的类型(如卷积、池化、上采样等)、...

    Texlive宏包每月自动更新

    在 LaTeX 编译系统中,`Texlive` 是一个广泛使用的开源 TeX 发行版,它包含了丰富的宏包资源,使得用户能够轻松创建专业级别的文档。宏包是 LaTeX 的扩展,提供了各种功能,如图形绘制、数学公式排版、引用管理等。...

    latex书籍模板-eBook

    在使用这个模板时,首先要确保你已安装了LaTeX编译器(如MiKTeX或TeXLive)和Texstudio编辑器。然后,将下载的压缩包解压,找到主文件(通常是`.tex`格式),用Texstudio打开。编辑内容时,LaTeX语法将自动检查,...

    readme_install_Texlive_2021.pdf

    Texlive是一个流行的LaTeX发行版,它包含了LaTeX排版系统的核心部分,以及大量附加的宏包和工具。LaTeX是一种基于TeX的排版系统,广泛用于生成高质量的科技和数学文档。Texlive包含了一整套工具,能够帮助用户完成从...

Global site tag (gtag.js) - Google Analytics