QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5398|回复: 20

我自己的给tetex 3.0配置中文环境的脚本

[复制链接]
发表于 2006-5-1 05:40:12 | 显示全部楼层 |阅读模式
看到有人贴了自动安装tetex+CJK的脚本,我也把我自用的中文配置脚本拿出来献丑吧。

我有好几台跑debian的机器,所以当tetex升级到3.0后,每台机器都需要手动折腾一下,这让我很不爽。已有的一些程序/脚本,比如gbkfonts不太符合我的要求:一是编译困难,我希望利用系统已有的包,不要自己去编译;二是默认使用Type1,而我日常都是用dvipdfmx+ttf,白白浪费了空间。

所以我参考gbkfonts,用python写了一个配置脚本,使用ttf2tfm和ttf2pt1来做字体转换,这两个程序debian都自带了。前些日子装了Magic Linux,因此这个脚本也移植到了ML下。当然ML的软件没有debian那么丰富,TeX这块的包也都很陈旧,还得我自己打了几个包。

和其他类似程序相比,它的主要特点是:
1. 支持GB2312/GBK/Big5三种编码。
2. 所有配置都可以安装到$HOME/texmf,不需要超级用户权限。
3. 可以不使用Type1字体。
4. 基本和平台无关,不需要用户参与。
5. 可以卸载自动产生的CJK相关配置。

这个脚本一直是我自己用,所以可能换台机器就不灵了。如果有这种状况,请告诉我。

(给ML做的几个src.rpm太大没法上传了,只好自己提供下载,地址看附件压缩包里的README文件)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2006-5-1 08:20:59 | 显示全部楼层
希望有人帮忙测试,如果可以的话,我放到仓库里来代替目前的包。
回复

使用道具 举报

发表于 2006-5-1 09:19:44 | 显示全部楼层
so good。
五一之后我帮忙测试。

PS:原来你也喜欢PYTHON
我们一起把它做好吧。 :-)
回复

使用道具 举报

发表于 2006-5-1 10:15:35 | 显示全部楼层
第一次执行出现错误
[code:1](TFM)simli.ttf: gb gbk bg5
(TFM)simyou.ttf: gb gbk bg5
(TFM)simhei.ttf: gb gbk bg5
Traceback (most recent call last):
  File "/usr/bin/setup-cjk.py", line 452, in ?
    setup_ttf()
  File "/usr/bin/setup-cjk.py", line 224, in setup_ttf
    if t1[0]==t2[0]:
IndexError: list index out of range[/code:1]

第二次正常。
测试生成的pdf是正常的。

所以现在已经放到仓库里了。smart update; smart install setup-cjk,不过因为安装的时候要用root,所以没有自动执行setup-cjk。请自己执行setup-cjk.py。
回复

使用道具 举报

发表于 2006-5-1 10:33:09 | 显示全部楼层
仿佛没有粗体啊。
回复

使用道具 举报

 楼主| 发表于 2006-5-1 10:58:22 | 显示全部楼层
果然一到别人的机器上就出小问题。

这个是因为cid-x.map里面有空行造成的。我自己机器上面cid-x.map都是自己脚本产生的,所以没有空行的可能,所以程序中的这个bug一直没发现。

第一遍失败的时候相当于把原来的cid-x.map清空了,所以第二遍就成功了。

我已经改正这个问题了。新的脚本在第一篇的附件中。

[quote:9e191d79a6="sejishikong"]第一次执行出现错误
[code:1](TFM)simli.ttf: gb gbk bg5
(TFM)simyou.ttf: gb gbk bg5
(TFM)simhei.ttf: gb gbk bg5
Traceback (most recent call last):
  File "/usr/bin/setup-cjk.py", line 452, in ?
    setup_ttf()
  File "/usr/bin/setup-cjk.py", line 224, in setup_ttf
    if t1[0]==t2[0]:
IndexError: list index out of range[/code:1]

第二次正常。
测试生成的pdf是正常的。

所以现在已经放到仓库里了。smart update; smart install setup-cjk,不过因为安装的时候要用root,所以没有自动执行setup-cjk。请自己执行setup-cjk.py。[/quote]
回复

使用道具 举报

 楼主| 发表于 2006-5-1 11:01:14 | 显示全部楼层
什么是粗体?是指\textbf或者\bf这种效果吗?

这个好像大家有争议,有人认为中文排版时候不应该用加粗的方式,而应该用切换字体的方式。gbkfonts里面就是没有的,我也沿用下来了。

不过既然有需要,我就加上。在上个附件里已经加入了加粗的效果了。

[quote:4e1533fc45="sejishikong"]仿佛没有粗体啊。[/quote]
回复

使用道具 举报

发表于 2006-5-1 11:29:30 | 显示全部楼层
脚本的第一行在ml下仿佛写成
#!/usr/bin/python比较好。
不太清楚debain的python放在什么位置了。
回复

使用道具 举报

 楼主| 发表于 2006-5-1 11:40:34 | 显示全部楼层
这是我的错。我从来没直接执行过这个脚本,都是用python执行的。所以不但路径错了,连感叹号都忘了。

改好的已经在第一个帖子里更新了。

[quote:63c3bd4bbc="sejishikong"]脚本的第一行在ml下仿佛写成
#!/usr/bin/python比较好。
不太清楚debain的python放在什么位置了。[/quote]
回复

使用道具 举报

发表于 2006-5-1 11:42:51 | 显示全部楼层
嗯,粗体是指textbf这种,已经可以了,十分感谢。
kile我也打包放到仓库里了。
现在在ml下添加cjk-latex环境,只需要安装setup-cjk就可以了。
安装后需要手工执行setup-cjk.py
回复

使用道具 举报

发表于 2006-5-1 13:32:22 | 显示全部楼层
[quote:dcde602000="sejishikong"]嗯,粗体是指textbf这种,已经可以了,十分感谢。
kile我也打包放到仓库里了。
现在在ml下添加cjk-latex环境,只需要安装setup-cjk就可以了。
安装后需要手工执行setup-cjk.py[/quote]

在 post 里执行不可以吗?
回复

使用道具 举报

发表于 2006-5-1 15:18:49 | 显示全部楼层
如果在post里就是root用户执行了,到不是不行,不过根据作者的意见,还是用普通用户执行比较好。
回复

使用道具 举报

 楼主| 发表于 2006-5-3 00:33:11 | 显示全部楼层
更新了一下。

主要两个改进:一是修正使用Type 1字体时的一个弱智大bug;另一个就是现在可以使用uming.tff和ukai.ttf了,方便那些不愿意使用有版权问题的字体的人。
回复

使用道具 举报

发表于 2006-7-13 00:08:26 | 显示全部楼层
一个建议(问题):
* 在安装好 setup-cjk (强烈要求改名为 latex-cjk),并执行 setup-cjk.py 脚本后,看到$HOME目录里多了一个 texmf 的文件夹。是否可以配置为让它是用 '.texmf' 目录?这样好一些,不会多一个目录碍眼。

PS:站个 setup-cjk 确实好用。
回复

使用道具 举报

发表于 2006-7-13 00:24:45 | 显示全部楼层
另外请教一个问题,为何这个例子的中文书签出不来?多谢:
[code:1]
\documentclass[cjk]{beamer}  % 使用Beamer包
\usepackage{CJK}   % 中文环境
\usepackage{indentfirst}
\usepackage{beamerthemesplit}

%\usepackage{makeidx}
%\hypersetup{pdfpagemode=FullScreen}
%\usepackage[dvipdfm,CJKbookmarks,bookmarks=true,bookmarksnumbered=true]{hyperref}
%\usepackage[CJKbookmarks,bookmarks=true,bookmarksnumbered=true]{hyperref}

\hypersetup{colorlinks, linkcolor=blue, citecolor=blue,
    urlcolor=blue,
    plainpages=flase,
    pdfcreator=tex,
    bookmarksopen=true,
    pdfhighlight=/P,
    pdfauthor={MichaelBibby <[email protected]>},
    pdfcreator={cTeX},
    pdftitle={\LaTeX Beamer 入门},
    pdfkeywords={\LaTeX Beamer 入门 MichaelBibby},
    pdfstartview=FitH,
    pdfpagemode=UseOutlines,%UseOutlines, %None, FullScreen, UseThumbs
}

%\usepackage[all,bottom]{draftcopy}
%\draftcopyName{Copyright by MichaelBibby, 2006}{50}
%\draftcopySetGrey{0.8} \draftcopyPageTransform{55 rotate}
%\draftcopyPageX{80}\draftcopyPageY{-25}

\usetheme{Madrid}  % 采用的主题
%\usetheme{Warsaw}
\usecolortheme{albatross} % 采用的配色。

\begin{document}
\begin{CJK}{GBK}{song}

\title{OpenBSD入门}
\author{\href{mailto:[email protected]}{MichaelBibby}}
\date{\today}

% 生成上面定义的"\title", "\author", "\date"等信息
\frame{\titlepage}

% 生成目录菜单
\section{OpenBSD 简介}
\frame{
    \tableofcontents
}

\section{介绍}
\subsection{第一部分}

% "\frame",定义一个 Slice;
% 使用"\item",则所有的项都一次性列出;
% 使用"\item<1->", "\item<2->"这样的定义,则会先出现第一个列表,再出现第二个列表。
\frame{
  \frametitle{第一部分:关键字} % 生成这个 Slice 的标题
  \begin{itemize}
       \item 第一点
       \item 第二点
       \item 第三点
   \end{itemize}
}

\frame{
  \frametitle{第二部分:测试\LaTeX2}
  \begin{itemize}
       \item<1-> Normal LaTeX class.\pause \\
            There are some descriptions more. % 使用"\\"换行符后,这一行等于是"\item<2->"
       \item<3-> Easy overlays.
       \item<4-> No external programs needed.
   \end{itemize}
}


\end{CJK}
\end{document}
[/code:1]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-27 21:11 , Processed in 0.123539 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表