这几天折腾了一下LaTeX, 对于其中的概念也有了一些了解. 这篇日志主要是说下在Ubuntu 8.04下配置LaTeX+XeTeX环境的过程, 还有Emacs里的AUCTeX的配置.
- 首先是LaTeX与XeTeX的安装
$ sudo apt-get install texlive texlive-latex-extra texlive-xetex lmodern
当时为了安装最新的XeTeX, 花了很多时间在编译安装上, 最后只弄好一个半成品, 无法使用. 于是决定舍弃zhspacing宏包, 直接装了源里的XeTeX.
经过以上步骤后, 应该就可以正常编译TeX文件了, 用XeTeX调整字体也很爽. 如果你也使用Emacs来编辑TeX文件的话, 那么一定要安上AUCTeX这个扩展, 下面是一些配置详情.
- AUCTeX
$ sudo apt-get install auctex
安装好以后, 重点是配置.emacs文件, 因为AUCTeX本身是不支持通过xelatex编译的.
;; AUCTeX
(defun auctex ()
(add-to-list 'TeX-command-list '("XeLaTeX" "%`xelatex%(mode)%' %t; %`xelatex%(mode)%' %t" TeX-run-TeX nil t)) ;; 这里我编译了两次
(setq TeX-command-default "XeLaTeX") ;; 设定默认编译命令为XeLaTeX
(setq TeX-save-query nil) ;; 保存之前不询问
(setq TeX-show-compilation t)) ;; 在新窗口显示编译过程
(add-hook 'LaTeX-mode-hook 'auctex)
(custom-set-variables
'(TeX-output-view-style (quote (("^dvi$nnnnnnn" ("^landscape$" "^pstricks$\\|^pst-\\|^psfrag$") "%(o?)dvips -t landscape %d -o && gv %f") ("^dvi$" "^pstricks$\\|^pst-\\|^psfrag$" "%(o?)dvips %d -o && gv %f") ("^dvi$" ("^a4\\(?:dutch\\|paper\\|wide\\)\\|sem-a4$" "^landscape$") "%(o?)xdvi %dS -paper a4r -s 0 %d") ("^dvi$" "^a4\\(?:dutch\\|paper\\|wide\\)\\|sem-a4$" "%(o?)xdvi %dS -paper a4 %d") ("^dvi$" ("^a5\\(?:comb\\|paper\\)$" "^landscape$") "%(o?)xdvi %dS -paper a5r -s 0 %d") ("^dvi$" "^a5\\(?:comb\\|paper\\)$" "%(o?)xdvi %dS -paper a5 %d") ("^dvi$" "^b5paper$" "%(o?)xdvi %dS -paper b5 %d") ("^dvi$" "^letterpaper$" "%(o?)xdvi %dS -paper us %d") ("^dvi$" "^legalpaper$" "%(o?)xdvi %dS -paper legal %d") ("^dvi$" "^executivepaper$" "%(o?)xdvi %dS -paper 7.25x10.5in %d") ("^dvi$" "." "%(o?)xdvi %dS %d") ("^pdf$" "." "acroread %o %(outpage)") ("^html?$" "." "netscape %o")))))
最后那个有点长, 主要是没有找到合适的方法像添加XeLaTeX一样只需要写新增的条目, 所以这里就把原有的和修改以后的都写了出来. 其实只改了一个地方, 已经用红色标注出来了, 就是在使用C-c C-v
预览PDF文件的时候使用什么软件来打开. 我这里就是acroread, 你用的其它的话, 可以相应修改.
这样修改好以后, 以后就可以直接使用C-c C-c
编译, C-c C-v
预览, C-c `
在错误间跳转了.
8月5日更新:
如果不是用的源安装的LaTeX, 比如我为了用上最新版的XeTeX, 就选择单独安装TeX Live. 这时再用源安装AUCTeX的时候, 会因为依赖关系而又把源里的LaTeX相关包给装上, 囧
不过幸运的是这并不会与TeX Live冲突, 原因在于:
$ echo $PATH
/home/xiaogaozi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
嘿嘿, 我的TeX Live的可执行文件都放在了/usr/local/bin里, 而源里安装的放在了/usr/bin, 自然优先级不同啦~
但是TeX Live中的install-info
文件会导致源安装AUCTeX的时候失败, 所以如果是先安装的TeX Live, 再安装AUCTeX, 就需要先把TeX Live的install-info
"消灭"掉:
$ sudo mv /usr/local/bin/install-info /usr/local/bin/install-info.bak
附上我的TeX文件模板, 很杂, 也许有的在article上能用上, 而有的则只能在book上用上.
\documentclass[adobefonts]{ctexart}
\CTEXoptions[captiondelimiter={\quad}]
\usepackage{amsmath} % AMS的数学宏包
\usepackage{amssymb} % AMS的数学符号宏包
\usepackage{graphicx} % 插入图片需要的宏包
\usepackage{float} % 强大的浮动环境控制宏包
\usepackage{framed} % `shaded'环境需要用到
\usepackage{enumitem} % 增强列表功能
\usepackage{alltt} % 在`alltt'环境中为等宽字体, 但可以使用LaTeX命令
% \usepackage{shortvrb} % 简化\verb的写法
% \MakeShortVerb{\|}
\usepackage{color} % 可以定义各种颜色
\usepackage[x11names]{xcolor} % 下面的RoyalBlue3颜色需要用到的宏包
% 自定义的几种颜色
\definecolor{shadecolor}{gray}{0.85}
% \definecolor{darkblue}{rgb}{52,101,164}
% \definecolor{darkgreen}{rgb}{78,154,6}
% % 设置背景颜色
% \definecolor{bisque}{rgb}{.996,.891,.755}
% \pagecolor{bisque}
\usepackage[pdfauthor={Dreamseeker},
pdftitle={For Alist},
colorlinks=true,
urlcolor=blue,
linkcolor=RoyalBlue3]{hyperref} % 为超链接设置颜色, 修改PDF文件信息
\title{\textbf{For Alist}}
\author{Dreamseeker}
% \date{}
\usepackage[pagestyles]{titlesec} % 定制页眉页脚
% % 设置页眉页脚
% \newpagestyle{main}{%
% \sethead[$\cdot$~\thepage~$\cdot$][][\thesection\quad%
% \sectiontitle]{\thesection\quad\sectiontitle}{}{%
% $\cdot$~\thepage~$\cdot$}
% \setfoot{}{}{}\headrule}
% \pagestyle{main}
% \renewpagestyle{plain}{\sethead{}{}{}\setfoot{}{}{}}
\pagestyle{plain}
\usepackage[top=1in,bottom=1in,left=1.25in,right=1.25in]{geometry} % 设置页边距
\setlength{\belowcaptionskip}{1em} % 设置caption之后的距离
% XeTeX logo
\def\XeTeX{\leavevmode
\setbox0=\hbox{X\lower.5ex\hbox{\kern-.15em\reflectbox{E}}\kern-.1667em
\TeX}%
\dp0=0pt\ht0=0pt\box0}
% For LaN
\newcommand{\LaN}{L{\scriptsize\hspace{-0.47em}\raisebox{0.23em}{A}}\hspace{-0.1em}N}
\begin{document}
\maketitle
\tableofcontents
\newpage
\end{document}
另外推荐下好用的LaTeX, XeTeX入门文档:
- The (Not So) Short Introduction to LaTeX2e, 一个比较全面的文档, 是一个老外写的, CTeX论坛翻译的在这里下载, 版本相对老一点. 我刚开始看的就是这个, 觉得还是要边看边动手, 而且要勤动手, 毕竟说全面, 也只是相对下面两个文档的, 对于初学者来说, 里面很多讲得也不是很详细的, 毕竟这些都是比较短小的文档. 因为是老外写的, 所以看完以后你还是不会知道怎样在文档中输出中文.
- LaTeX Notes, 清华的一个老师写的LaTeX笔记, 比较务实地将经常用到的命令都讲了出来, 而且内容整体上比上一个新, 所以上一个主要是用来掌握基础, 看完你基本上可以写一个格式和这个PDF差不多的文章了. 最后还专门讲了一下中文化的一些内容, 不过现在用XeTeX了, 也基本上用不上了, 回顾下历史也是不错的.
P.S. 文中古诗无数, 附精美照片一张.
- XeTeX/LaTeX中文排版之胡言乱语, 这个作为了我的XeTeX入门教程, 其实XeTeX的主要学习的地方还是在导言区. 这是一个很短小的文档, 总共只有7页, 对于提高排版质量有一定用处.