paper 47 :Latex中文显示(转)
中文支持需要cjk-latex,总得来说中文可以使用GB和GBK两种字体,GBK需要从windows下copy *.ttc或*.ttf, GB字体则在linux下就用。
先说支持GB的中文显示,安装以下deb包:
apt-get install cjk-latex tetex-extra tetex-doc tfm-arphic-gbsn00lp tfm-arphic-gkai00mp ttf-arphic-gbsn00lp ttf-arphic-gkai00mp ,
编辑tex源文件sample.tex
coosbay:~/tex# cat sample.tex
\documentclass{article}
\begin{document}
\begin{CJK*}{GB}{song}
显示中文
\end{CJK*}{GB}{song}
\end{document}
接下来只需要latex sample.tex; dvipdfm sample.dvi就可以生成sample.pdf文件了。GB支持{song}和{kai}两种字体。
如果需要支持GBK字体文件,则需要安装texmf-zh (这个包在ustc目录里,包括install-gbkfonts,update-gbkfonts,remove-gbkfonts 三个命令)
运行install-gbkfonts *.ttf def
说明:这里def是以后在tex文件里用的名字,必须是小写,大写的不行!
tex文件如下
\documentclass[12pt]{article}
\usepackage{CJK}
\begin{document}
\begin{CJK*}{GBK}{song}
显示中文
\end{CJK*}
\end{document}
制作pdf的过程如上GB一样。所有的texmf相关的文件在/usr/share/texmf-zh下。
英文的tex不需要cjk包。直接pdflatex *.tex就可以生成pdf文件。
具体的tex排版格式还需要慢慢学习。以上就是Debian下tetex+cjk的mini-howto.
再也不用为生产pdf文件发愁了,~cheer!
以前在不同的系统上搞过latex的中文,都是和系统文件放在一起,重装系统就没了,这次参考了几篇文章,发现其实很简单,重装系统也没有关系了。
1 先期tex包的安装
apt-get install tetex-bin tetex-base tetex-extra cjk-latex dvipdfm-cjk-cmap
然后上
http://learn.tsinghua.edu.cn/homepage/2001315450/programs.html
下载gbkfonts的可执行文件,只要gbkfonts的那个静态链接文件就可以了,然后chmod +x gbkfonts && cp gbkfonts /usr/local/bin
2 建立texmf-local 推荐不要直接放在/usr/share/texmf 下面,这样以后升级不方便。假设你的中文字体如simsun.ttf simkai.ttf ......等文件放在/usr/share/fonts/zh下面,现在以普通用户配置。
mkdir ~/texmf
cd ~/texmf
gbkfonts /usr/share/fonts/zh/simsun.ttf song
gbkfonts /usr/share/fonts/zh/simkai.ttf kai
...
...
其他字体用同样的方法生成。
3 配置文件
代码:
mv cid-x.map dvipdfm/config/
mv cjk.map dvips/config/
cp /usr/share/texmf/dvips/config/config.ps dvips/config/
echo 'p +cjk.map' >> dvips/config/config.ps
mv pdftex.cfg pdftex/config/
mktexlsr
4 测试
代码:
\documentclass{article}
\usepackage{CJK}
\begin{document}
\begin{CJK}{GBK}{song}
这是latex
\end{CJK}
\end{document}
然后latex test && dvipdfm test 就应该可以生成test.pdf文件了。
这样的好处是每次重装系统后只要安装好了基本tex环境和cjk-latex包,只要运行mktexlsr就ok了,因为~/texmf 目录默认是mktexlsr搜索的路径。
补充:用
cp -apL * /usr/share/texmf/
拷贝最好,debian下的texmt很多是symlink
paper 47 :Latex中文显示(转)的更多相关文章
- Ubuntu下LaTex中文环境安装与配置
转载自:http://www.linuxidc.com/Linux/2012-06/62456.htm LaTeX是一个强大的排版软件,但是其最初只是为英文排版而设计的.为了使其能够胜任中文排版的重任 ...
- Latex中文utf-8编码的三种方式
我们知道Latex一般用CJK和CTEX宏包支持中文编辑,CJK和CTEX的默认编码是GBK,而windows下的默然编码就是GBK,因此CJK和CTEX不需要特殊配置就可以直接支持中文Latex编译 ...
- latex中文支持ubuntu
latex安装: sudo apt install texlive-full 中文字体安装: sudo apt-get install latex-cjk-all 字体包中包含bsmi,bk ...
- Mac LaTex中文环境搭建
为了在博客上写公式,折腾了一晚上Mac上的LaTex的环境搭建,本文对步骤进行记录. 系统:Mac OSX 10.10.5 软件准备 1) MacTex 2015 Distribution (Tex的 ...
- 【python之路2】CMD中执行python程序中文显示乱码
在IDLE中执行下面代码,中文显示正常: # -*- coding:utf-8 -*- st=raw_input("请输入内容")print st 但在CMD中执行e:\hello ...
- Linux中文显示乱码?如何设置centos显示中文
Linux中文显示乱码?如何设置centos显示中文 怎么设置Linux系统中文语言,这是很多小伙伴在开始使用Linux的时候,都会遇到一个问题,就是终端输入命令回显的时候中文显示乱码.出现这个情况一 ...
- [django]Django站点admin支持中文显示和输入设置
正文: Django站点admin支持中文输入设置,操作如下: 1 需要确定的你的数据库的client客户端和服务端的编码设置为utf-8,如果不是,请将其设置成utf-8编码,我采用mysql,详情 ...
- Xshell个性化设置,解决Xshell遇到中文显示乱码的问题
在同事的推荐下,今天开始使用Xshell连接Linux,但是发现一个“遇到中文显示乱码”的问题, 同事的解决方案如下: 平常给Linux上传文件之前,先把文件转换成UTF-8编码形式, 然后设置Xsh ...
- python中matplotlib画折线图实例(坐标轴数字、字符串混搭及标题中文显示)
最近在用python中的matplotlib画折线图,遇到了坐标轴 "数字+刻度" 混合显示.标题中文显示.批量处理等诸多问题.通过学习解决了,来记录下.如有错误或不足之处,望请指 ...
随机推荐
- ngios
一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报 ...
- zepto源码--isEmptyObject,isNumeric,inArray,trim--学习笔记
1.isEmptyObject,判断对象是否为空对象的函数 定义变量name,遍历传入对象的属性name,如果存在任何属性,则返回false,判定传入的参数为非空对象,否则即为空对象. 2.isNum ...
- [LeetCode]题解(python):091 Decode Ways
题目来源 https://leetcode.com/problems/decode-ways/ A message containing letters from A-Z is being encod ...
- iOS 给UILabel文字加下划线
摘自:http://blog.sina.com.cn/s/blog_6cd380c10101b6hn.html //带下划线的“注” NSMutableAttributedString可变的属性字符串 ...
- .Net 文件名补位
文件以name-1.pdf.name-2.pdf.name-3.pdf......name-80.pdf命名,传到数据库中排序混乱:1之后为10,2之后是20,所以要把文件名中的数字补位变成相同位数, ...
- Java日期时间处理常用方法
虽然是老生常谈,但整理出来还是有点用. 1.由字符串时间得到Date类型时间 // 由字符串时间得到Date类型时间 public static Date getDateFrom(String str ...
- Javascript对象、Jquery扩展简单应用
Javascript对象,表现方式一: person = new Object(); person.firstname = "An"; person.lastname = &quo ...
- pages 元素(ASP.NET 设置架构)web.config 详解
pages 元素(ASP.NET 设置架构) buffer="[True|False]" enableEventValidation="[True|False] ...
- iOS:消除项目中警告
引言: 在iOS开发过程中, 我们可能会碰到一些系统方法弃用, weak.循环引用.不能执行之类的警告. 有代码洁癖的孩子们很想消除他们, 今天就让我们来一次Fuck 警告!! 首先学会基本的语句: ...
- Android Mina框架的学习笔记
Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络 ...