zhmakeindex 中文索引處理程式
我使用的作業系統為 Arch Linux 64-bit,桌面環境為 xfce4 。
安裝並配置 Go 語言環境
$ sudo pacman -S go
$ go version
go version go1.5.1 linux/amd64
$ mkdir ~/go
$ vim ~/.bashrcexport GOPATH=$HOME/go export PATH=$HOME/bin:$PATH:$GOPATH/bin
$ exit
安裝 Go 語言的文字處理支援庫
重新開啟 Xfce 終端:
$ go get github.com/golang/text
$ mkdir -p ~/go/src/golang.org/x
$ cd ~/go/src/golang.org/x
$ ln -s ~/go/src/github.com/golang/text .
如果你能夠翻牆的話,上面 4 行也可以用下面 1 行代替:
$ go get golang.org/x/text
安裝紅黑樹元件
$ go get github.com/yasushi-saito/rbtree
安裝 zhmakeindex
$ mkdir -p ~/go/src/github.com/leo-liu
$ cd ~/go/src/github.com/leo-liu
$ git clone https://github.com/leo-liu/zhmakeindex.git
$ cd zhmakeindex
$ ./install.sh
$ zhmakeindex
用法:
zhmakeindex [-c] [-i] [-o ] [-q] [-r] [-s ] [-t ]
...
版本:devel-4c8c5d6(2015-06-29) 作者:劉海洋
生成 zhmakeindex 文件
$ cd ~/go/src/github.com/leo-liu/zhmakeindex/doc/
$ ls
make.cmd zhmakeindex.bib zhmakeindex.mst zhmakeindex.tex
$ vim zhmakeindex.tex (修改開頭幾行,注意使用fc-list
命令確認字型)\setCJKmainfont[BoldFont=FZHei-B01,ItalicFont=FZKai-Z03]{FZNewShuSong-Z10} \setCJKsansfont[Ligatures=TeX]{Source Han Sans CN} \setCJKmonofont[Mapping=]{WenQuanYi Micro Hei Mono Light} \newfontfamily\libertine{FZFangSong-Z02}
$ vim make.sh (將 make.cmd 翻譯為 make.sh)
echo \\def\\zhmVersion{%> zhm-version.tex if [ -e "../VERSION" ] then cat ../VERSION>> zhm-version.tex else echo devel%>> zhm-version.tex fi echo }>> zhm-version.tex echo \\def\\zhmRevision{%>> zhm-version.tex git rev-parse --short HEAD >> zhm-version.tex echo }>> zhm-version.tex xelatex -interaction=batchmode zhmakeindex.tex bibtex zhmakeindex zhmakeindex zhmakeindex xelatex -interaction=batchmode zhmakeindex.tex xelatex -interaction=batchmode zhmakeindex.tex
上述檔案最後 5 行是 LaTeX 處理的標準流程。可以看出,在此處使用zhmakeindex
代替makeindex
以使得中文索引能夠正確排序。
$ chmod +x make.sh
$ vim Makefileall: ./make.sh && mv zhmakeindex.pdf ~/go/doc/ clean: rm -f zhm-version.tex *.aux *.bbl *.blg *.idx *.ilg *.ind *.log *.out
$ mkdir ~/go/doc
$ make
$ make clean
$ xdg-open ~/go/doc/zhmakeindex.pdf
參考資料
相關文章
- perl處理中文
- 反向索引處理前%索引
- perl中文處理問題
- nlp 中文資料預處理
- jQuery AJAX中文亂碼處理jQuery
- 關於中文URL的處理
- online 建立索引失敗處理索引
- 處理JSP中的中文 (轉)JS
- JavaMail中文附件的處理方法 (轉)JavaAI
- java處理中文亂碼問題Java
- Mysql索引的使用 - 組合索引 + 範圍條件的處理MySql索引
- 索引節點(inode)爆滿問題處理索引
- 表外來鍵未加索引之處理索引
- Android非同步處理系列文章索引Android非同步索引
- 索引rebuild online失敗後處理索引Rebuild
- gitbash 不支援中文處理(中文字元被轉義)Git字元
- Xshell中文亂碼怎麼處理?
- ORACLE 索引和MYSQL INNODB 輔助索引對NULL的處理區別Oracle索引MySqlNull
- APM RUEI processor處理程式hang死處理方法
- 利用索引提高SQL Server資料處理的效率索引SQLServer
- 索引表空間不足的幾個處理思路索引
- Python 編碼轉換與中文處理Python
- Mysql輸出中文顯示亂碼處理MySql
- 中文文字挖掘預處理流程總結
- SQL Server擷取字串和處理中文技巧SQLServer字串
- Qt處理中文編碼出現錯誤QT
- 小程式程式碼打包處理
- 好程式設計師Java學習路線分享如何處理中文引數程式設計師Java
- 使用組合索引處理包含空值的查詢索引
- 大數量的DML時對索引處理的技巧索引
- raw照片智慧處理:DxO PureRAW最新中文版
- mysql中文字元的問題全面處理MySql字元
- 深入剖析JSP和Servlet對中文的處理JSServlet
- 容器程式Core Dump處理
- 處理字串的小程式字串
- 迷渡:免費的程式設計中文書籍索引程式設計索引
- Oracle中利用函式索引處理資料傾斜案例Oracle函式索引
- Oracle全部索引丟失導致的效率問題處理Oracle索引