Texlive2008+XeCJK/Zhspacing

本文详细介绍在Ubuntu环境下配置TeXLive2008进行中文文档编写的全过程,包括字体安装、中文处理软件包配置、auctex+emacs的LaTeX编辑配置以及jabref参考文献管理等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

别人笑我太疯癫,我笑他人看不穿;不见武林豪杰梦,无花无酒锄作田!
最近在这么忙的环境下,还花了好几天在配置Texlive2008 + XeCjk/Zhspacing + ctex
(当然以前我选择的是Texlive2008 + CJK + ctex,大伙若要看看CJK的配置可以看我的blog:
  http://blog.sina.com.cn/haixiangzhang),不记录点东西真的对不住我这几天的折腾!
也是为了给老师一个论文的大概,现在我总结一下我这几天在忙些什么,也算是对自己的一种负责吧!
大伙有时间可以参考:同济大学BBS上的名为”ubuntu下利用texlive 2008的中文简单安装、配置“的文章!

 

一 ,字体
   xetex支持使用系统自带的字体,而系统自带的字体都放在 /usr/share/fonts/ 这个目录下,所以你可以把你手上有的字体都放到这个目录下的truetype文件下,这里介绍几种字体的安装方法:
   one.    sudo apt-get install ttf-wqy-zenhei xfonts-wqy
   two.    复制windows下C:/windows/Fonts/下的东东到这个目录!
   three. 至于黑体大家可以到网上去下载!
这里就介绍这三种方法吧!然后让你的字体生效,执行如下命令:
   fc-cache -fv
   fc-list | grep *** (看那种字体是否装上了)
 
二, 安装
下载完了执行如下命令:
   gksu synaptic(打开synaptic ,把2007 cut off)
   sudo apt-get install lzma
   lzma -d texlive2008.iso.lzma
   sudo mount -o loop /path/to/texlive2008.iso /mnt/iso
   sudo apt-get perl-tk p7zip
   sudo ./install-tl --gui
图形化的界面很容易操作的!讲到了图形化界面那就来讲讲texlive在图形化界面下的操作:(命令如其名)
   tlmgr (tex live manager )
   sudo tlmgr option location ftp://ftp.ctex.org/CTAN/systems/texlive/tlnet/2008 配置地址源
   sudo tlmgr --help
   sudo tlmgr update -list
   sudo tlmgr update -all
如果少了某个包什么的,比如说这样一个包macrobag
   sudo tlmgr search --global macrobag
   sudo tlmgr install macrobag ***
让texlive2008生效,执行: 
   sudo mktexlsr    (make tex ls-R)
加入环境变量于~/.bashrc ~/.profile /etc/bash.bashrc /etc/profile
   PATH=/usr/local/texlive/2008/bin/i386-linux:$PATH;
   sudo texhash(activate it)
 
三, 中文的处理
声明:texlive2008能够进行中文文档的处理,但是中英混排的显示效果不算很好!   
处理的方式: 使用zhspacing 或者xeCJK来处理,两者都整合到了ctex-kit这个项目中去了!同时注意的一点就是xecjk-2.3.7(ctex-kit中的)支持texlive 2009但是不支持这里使用的texlive 2008,ctex-kit项目主页上的xecjk-2_2_15.zip才支持texlive 2008
下载方式: svn checkout http://ctex-kit.googlecode.com/svn/trunk/ ctex-kit-read-only
                wget http://ctex-kit.googlecode.com/files/xecjk-2_2_15.zip 
操作:两者的操作几乎是一样的,如下:
    cp  -R /path/to/zhspacing/ /usr/local/texlive/texmf-local/tex/xelatex/  or
    cp  -R /path/to/zhspacint/ ~/.texlive2008/texmf-var/tex/xelatex
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    cp  -R /path/to/xecjk-2_2_15/ /usr/local/texlive/texmf-local/tex/xelatex  or
    cp  -R /path/to/xecjk-2_2_15/ ~/.texlive2008/texmv-var/tex/xelatex
生效:sudo mktexlsr
         sudo texhash
Hint: texconfig conf命令可以让你了解texlive的config file 、 map files 等等!还有什么TEXLOCAL等等!
 
四 , auctex + emacs 写latex
        sudo apt-get install auctex

;;;;;;;;;;;;;;;;;;;auctex 在~/.eamcs中的配置;;;;
     (load "auctex.el" nil t t)
    (load "tex-site.el" nil t t)
    (load "preview-latex.el" nil t t)
    (setq TeX-electric-escape t)
    (setq LaTeX-math-mode t)
    ;make AUCTEX aware of style files and multi-file documents right away
    (setq TeX-auto-save t)
    (setq TeX-parse-self t)
    (setq-default TeX-master nil)
    (setq TeX-auto-untabify t) ;; 不使用 TAB字符缩进
    (setq LaTeX-document-regexp "document//|CJK//*?") ;; CJK 环境中不缩进
    ;(setq TeX-newline-function 'newline-and-indent) ;;回车时自动缩进
    (add-hook 'LaTeX-mode-hook #'LaTeX-install-toolbar)
    ;(add-hook 'LaTeX-mode-hook 'turn-on-auto-fill)
    (add-hook 'LaTeX-mode-hook 'turn-on-reftex)
    (autoload 'LaTeX-preview-setup "preview")
    (add-hook 'LaTeX-mode-hook #'LaTeX-preview-setup)
    (autoload 'reftex-mode "reftex" "RefTeX Minor Mode" t)
    (autoload 'turn-on-reftex "reftex" "RefTeX Minor Mode" nil)
    (autoload 'reftex-citation "reftex-cite" "Make citation" nil)
    (autoload 'reftex-index-phrase-mode "reftex-index" "Phrase mode" t)
 
    (setq reftex-plug-into-AUCTeX t)
    (setq reftex-revisit-to-follow t
    reftex-auto-recenter-toc t)
    (add-hook 'TeX-mode-hook
    (lambda ()
    (setq reftex-plug-into-AUCTeX t)
    (turn-on-reftex)
    (define-key LaTeX-mode-map (kbd "TAB") 'TeX-complete-symbol)
    (TeX-PDF-mode t)
    (setq TeX-save-query nil )
    (setq TeX-show-compilation t)
    ))
    (add-hook 'LaTeX-mode-hook (lambda()
    (add-to-list 'TeX-command-list
    '("XeLaTeX" "%`xelatex%(mode)%' %t" TeX-run-TeX nil t))
    (setq TeX-command-default "XeLaTeX")
    (setq TeX-save-query nil )
    (setq TeX-show-compilation t)
    ))
 
    ;;;;;; 增加 math, reftex 等模式,有数学符号的栏目辅助输入等等
    (add-hook 'LaTeX-mode-hook
    (lambda ()
    (LaTeX-math-mode)
    (imenu-add-menubar-index)
    (turn-on-reftex)
    (turn-off-auto-fill)
    ))
 
    ;;;;;; 用 evince 预览 pdf
    (add-hook 'LaTeX-mode-hook
    (lambda ()
    (setq TeX-output-view-style (cons '("^pdf$" "." "evince %o")  
                      TeX-output-view-style))
    ))
 
    ;;把beamer的frametitle也放入reftex目录缓冲中,但需要把/frametitle写在行首
    (setq reftex-section-levels
    '(("part" . 0) ("chapter" . 1) ("section" . 2)
    ("subsection" . 3)
    ("frametitle" . 4) ("subsubsection" . 4)
    ("paragraph" . 5)
    ("subparagraph" . 6) ("addchap" . -1) ("addsec" . -2)))
 
    ;;如何编辑编译 Asymptote 的 .asy 文件
    ;(add-to-list 'load-path "C:/Program Files/Asymptote")
    (autoload 'asy-mode "asy-mode.el" "Asymptote major mode." t)
    (autoload 'lasy-mode "asy-mode.el" "hybrid Asymptote/Latex major mode."  t)
    (autoload 'asy-insinuate-latex "asy-mode.el" "Asymptote insinuate LaTeX."  t)
    (add-to-list 'auto-mode-alist '("//.asy$" . asy-mode))
 
    ;;编辑编译 MetaPost 的 .mp 文件
    (defun mpost-compile ()
    "Compile current file with MetaPost."
    (interactive)
    (save-buffer)
    (compile (concat "mpview --preview=eps --viewer=gs"  
             (file-name-nondirectory buffer-file-name))))
 
    (add-hook 'metapost-mode-hook
    '(lambda nil
    (define-key meta-mode-map "/C-c/C-c" 'mpost-compile)))
 
    (add-hook 'metapost-mode-hook
    '(lambda nil
    (define-key meta-mode-map "/t" 'meta-complete-symbol)
    ))  
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;end of configuration;;;;;;;;;;;;;;
    
    快捷键: Ctrl-c Ctrl-c 自动编译 再按一次看文档 
             Ctrl-c Ctrl-v quick view by xpdf(default)

实例如下:
   ;;;;;;;;;;;;;;;;;;;;;; the begining of example;;;;;;    
    /documentclass[12pt,a4paper]{article}
    /usepackage{xltxtra,fontspec,xunicode}
    /usepackage[slantfont,boldfont]{xeCJK} % 允许斜体和粗体
    /usepackage{amsmath}
 
    /setCJKmainfont{SimSun} % 设置缺省中文字体
    /setCJKmonofont{SimSun} % 设置等宽字体
    /setmainfont{Lucida Grande} % 英文衬线字体
    /setmonofont{Lucida Grande} % 英文等宽字体
    /setsansfont{Lucida Grande} % 英文无衬线字体
 
    /begin{document}
    Production fucntion for firm i could be written as/footnote{方
    程式最早来自于Spence(1976),他以积分的形式来表示不同intermediate goods  
    input所产生的util总和,见Spence(1976)的公式(45)。 在Spence(1976)的基础上,
    Dixit and Stiglitz(1977)对该方程作以一定修订,将积分改为求和的公式,以更恰当体
    现intermediate inputs的特性,见Dixit and Stiglitz(1977)的公式(2)。
    Ethier(1982) 在生产函数中利用了该求和公式,见Ethier(1982)的公式(2')。
    Romer(1987,1990)首次在内生经济增长和技术进步的模型中用了Ethier(1982)的这条
    公式表述形式。}
    /begin{equation}
    Y_{i}=A/cdot L_{i}^{1-/alpha}/cdot
    /sum_{j=1}^{N}(X_{ij})^/alpha /label{Eq-6.1}
    /end{equation}
    /end{document}  
 ;;;;;;;;;;;;;;;;;;;;;;;the end of the example;;;;;;;;;;;;
         
   
五 , jabref处理参考文献 
执行命令:
   sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts
   sudo apt-get install jabref
中文以及使用太多了,下次再写吧!基本步骤是add->generate bibtex key ->save(Ctrl s)
插入.bib的方式:(这里讲我用的方式)
    直接利用auctex中的reftex功能:Ctrl c [   插入参考文献(按提示操作)
编译生成:
    1) xelatex *.tex  编译正文  2) bibtex *.tex 编译参考文献 3) xelatex 整合到一起!

This is XeTeX, Version 3.141592653-2.6-0.999996 (TeX Live 2024) (preloaded format=xelatex) restricted \write18 enabled. entering extended mode (./yunchou.tex LaTeX2e <2024-11-01> patch level 2 L3 programming layer <2025-01-18> (d:/Texlive 2024/texlive/2024/texmf-dist/tex/latex/base/book.cls Document Class: book 2024/06/29 v1.4n Standard LaTeX document class (d:/Texlive 2024/texlive/2024/texmf-dist/tex/latex/base/bk10.clo)) (./package.tex (d:/Texlive 2024/texlive/2024/texmf-dist/tex/latex/ctex/ctex.sty (d:/Texlive 2024/texlive/2024/texmf-dist/tex/latex/l3kernel/expl3.sty (d:/Texlive 2024/texlive/2024/texmf-dist/tex/latex/l3backend/l3backend-xetex.def)) (d:/Texlive 2024/texlive/2024/texmf-dist/tex/latex/ctex/ctexhook.sty) (d:/Texlive 2024/texlive/2024/texmf-dist/tex/latex/ctex/ctexpatch.sty) (d:/Texlive 2024/texlive/2024/texmf-dist/tex/latex/base/fix-cm.sty (d:/Texlive 2024/texlive/2024/texmf-dist/tex/latex/base/ts1enc.def)) (d:/Texlive 2024/texlive/2024/texmf-dist/tex/latex/ctex/config/ctexopts.cfg) (d:/Texlive 2024/texlive/2024/texmf-dist/tex/latex/ctex/engine/ctex-engine-xetex.def (d:/Texlive 2024/texlive/2024/texmf-dist/tex/xelatex/xecjk/xeCJK.sty (d:/Texlive 2024/texlive/2024/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty) (d:/Texlive 2024/texlive/2024/texmf-dist/tex/latex/fontspec/fontspec.sty (d:/Texlive 2024/texlive/2024/texmf-dist/tex/latex/l3packages/xparse/xparse.sty) (d:/Texlive 2024/texlive/2024/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty (d:/Texlive 2024/texlive/2024/texmf-dist/tex/latex/base/fontenc.sty) (d:/Texlive 2024/texlive/2024/texmf-dist/tex/latex/fontspec/fontspec.cfg))) (d:/Texlive 2024/texlive/2024/texmf-dist/tex/xelatex/xecjk/xeCJK.cfg))) (d:/Texlive 2024/texlive/2024/texmf-dist/tex/latex/zhnumber/zhnumber.sty (d:/Texlive 2024/texlive/2024/texmf-dist/tex/latex/zhnumber/zhnumber-utf8.cfg)) (d:/Texlive 2024/texlive/2024/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese.def (d:/Texlive 2024/texlive/2024/texmf-dist/tex/latex/cte
03-15
资源下载链接为: https://pan.quark.cn/s/1bfadf00ae14 “STC单片机电压测量”是一个以STC系列单片机为基础的电压检测应用案例,它涵盖了硬件电路设计、软件编程以及数据处理等核心知识点。STC单片机凭借其低功耗、高性价比和丰富的I/O接口,在电子工程领域得到了广泛应用。 STC是Specialized Technology Corporation的缩写,该公司的单片机基于8051内核,具备内部振荡器、高速运算能力、ISP(在系统编程)和IAP(在应用编程)功能,非常适合用于各种嵌入式控制系统。 在源代码方面,“浅雪”风格的代码通常简洁易懂,非常适合初学者学习。其中,“main.c”文件是程序的入口,包含了电压测量的核心逻辑;“STARTUP.A51”是启动代码,负责初始化单片机的硬件环境;“电压测量_uvopt.bak”和“电压测量_uvproj.bak”可能是Keil编译器的配置文件备份,用于设置编译选项和项目配置。 对于3S锂电池电压测量,3S锂电池由三节锂离子电池串联而成,标称电压为11.1V。测量时需要考虑电池的串联特性,通过分压电路将高电压转换为单片机可接受的范围,并实时监控,防止过充或过放,以确保电池的安全和寿命。 在电压测量电路设计中,“电压测量.lnp”文件可能包含电路布局信息,而“.hex”文件是编译后的机器码,用于烧录到单片机中。电路中通常会使用ADC(模拟数字转换器)将模拟电压信号转换为数字信号供单片机处理。 在软件编程方面,“StringData.h”文件可能包含程序中使用的字符串常量和数据结构定义。处理电压数据时,可能涉及浮点数运算,需要了解STC单片机对浮点数的支持情况,以及如何高效地存储和显示电压值。 用户界面方面,“电压测量.uvgui.kidd”可能是用户界面的配置文件,用于显示测量结果。在嵌入式系统中,用
资源下载链接为: https://pan.quark.cn/s/abbae039bf2a 在 Android 开发中,Fragment 是界面的一个模块化组件,可用于在 Activity 中灵活地添加、删除或替换。将 ListView 集成到 Fragment 中,能够实现数据的动态加载与列表形式展示,对于构建复杂且交互丰富的界面非常有帮助。本文将详细介绍如何在 Fragment 中使用 ListView。 首先,需要在 Fragment 的布局文件中添加 ListView 的 XML 定义。一个基本的 ListView 元素代码如下: 接着,创建适配器来填充 ListView 的数据。通常会使用 BaseAdapter 的子类,如 ArrayAdapter 或自定义适配器。例如,创建一个简单的 MyListAdapter,继承自 ArrayAdapter,并在构造函数中传入数据集: 在 Fragment 的 onCreateView 或 onActivityCreated 方法中,实例化 ListView 和适配器,并将适配器设置到 ListView 上: 为了提升用户体验,可以为 ListView 设置点击事件监听器: 性能优化也是关键。设置 ListView 的 android:cacheColorHint 属性可提升滚动流畅度。在 getView 方法中复用 convertView,可减少视图创建,提升性能。对于复杂需求,如异步加载数据,可使用 LoaderManager 和 CursorLoader,这能更好地管理数据加载,避免内存泄漏,支持数据变更时自动刷新。 总结来说,Fragment 中的 ListView 使用涉及布局设计、适配器创建与定制、数据绑定及事件监听。掌握这些步骤,可构建功能强大的应用。实际开发中,还需优化 ListView 性能,确保应用流畅运
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值