行者无疆 始于足下 - 行走,思考,在路上

终于搞定Ubuntu 9.04下XeTeX的配置了。

整整弄了三天。写了份《Ubuntu 9.04 环境下TEX中文化配置》,呕心之作。内容都在文档里面了。

主要内容包括:Ubuntu 9.04xeCJK配置

这是我使用的xeCJK模板。

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Name: XeTeX+xeCJK日常使用模板
% Author: Lox Freeman
% Email: xiaohanyu1988@gmail.com
%
% 本文档可以自由转载、修改,希望能给广大TeXer的中文之路提供一些方便。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\documentclass[a4paper, 12pt, titlepage]{article}

%%%%%%%%%%%%%%%%%%%%%%%%%xeCJK相关宏包%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{xltxtra,fontspec,xunicode}

\usepackage[slantfont, boldfont, CJKaddspaces, CJKchecksingle]{xeCJK}
\CJKsetecglue{\hskip 0.15em plus 0.05em minus 0.05em}
% slanfont: 允许斜体
% boldfont: 允许粗体
% CJKnormalspaces: 仅忽略汉字之间的空白,但保留中英文之间的空白。
% CJKchecksingle: 避免单个汉字单独占一行。
% CJKaddspaces: [备选]忽略汉字之间的空白,并且自动在中英文转换时插入空白。

\CJKlanguage{zh-cn}                  % 中文标点特殊处理
\XeTeXlinebreaklocale "zh"           % 针对中文进行断行
\XeTeXlinebreakskip = 0pt plus 1pt minus 0.1pt
                                     % 给予TeX断行一定自由度
%%%%%%%%%%%%%%%%%%%%%%%%%xeCJK%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%日常所用宏包、通通放在一起%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 什么常用的宏包都可以放这里。下面是我常用的宏包,每个都给出了简要注释
\usepackage[top=2.5cm, bottom=3cm, left=2cm, right=2cm]{geometry}                               
                                     % 控制页边距
\usepackage{enumerate}               % 控制项目列表
\usepackage{multicol}                % 多栏显示

\usepackage[%
    pdfstartview=FitH,%
    CJKbookmarks=true,%
    bookmarks=true,%
    bookmarksnumbered=true,%
    bookmarksopen=true,%
    colorlinks=true,%
    citecolor=blue,%
    linkcolor=blue,%
    anchorcolor=green,%
    urlcolor=blue%
]{hyperref}

\usepackage{titlesec}                % 控制标题
\usepackage{titletoc}                % 控制目录
\usepackage{type1cm}                 % 控制字体大小
\usepackage{indentfirst}             % 首行缩进,用\noindent取消某段缩进
\usepackage{bbding}                  % 一些特殊符号
\usepackage{cite}                    % 支持引用
\usepackage{color,xcolor}            % 支持彩色文本、底色、文本框等
\usepackage{latexsym}                % LaTeX一些特殊符号宏包
\usepackage{amsmath}                 % AMS LaTeX宏包
\usepackage{bm}                      % 数学公式中的黑斜体
\usepackage{relsize}                 % 调整公式字体大小:\mathsmaller, \mathlarger
%\makeindex                          % 生成索引

%%%%%%%%%%%%%%%%%%%%%%%%%基本插图方法%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{graphicx}                % 图形宏包
% \begin{figure}[htbp]               % 控制插图位置
%   \setlength{\abovecaptionskip}{0pt}   
%   \setlength{\belowcaptionskip}{10pt}
                                     % 控制图形和上下文的距离
%   \centering                       % 使图形居中显示
%   \includegraphics[width=0.8\textwidth]{CTeXLive2008.jpg}
                                     % 控制图形显示宽度为0.8\textwidth
%   \caption{CTeXLive2008安装过程} \label{fig:CTeXLive2008}
                                     % 图形题目和交叉引用标签
% \end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%插图方法结束%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%fancyhdr设置页眉页脚%%%%%%%%%%%%%%%%%%%%
\usepackage{fancyhdr}                % 页眉页脚
\pagestyle{fancy}                    % 页眉页脚风格
\setlength{\headheight}{15pt}        % 有时会出现\headheight too small的warning
%\fancyhf{}                          % 清空当前页眉页脚的默认设置
%%%%%%%%%%%%%%%%%%%%%%%%%fancyhdr设置结束%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%listings宏包粘贴源码%%%%%%%%%%%%%%%%%%%%
\usepackage{listings}                % 方便粘贴源代码,部分代码高亮功能
\lstloadlanguages{}                  % 所要粘贴代码的编程语言

%%%%设置listings宏包的一些全局样式%%%%
%%%%参见http://hi.baidu.com/shawpinlee/blog/item/9ec431cbae28e41cbe09e6e4.html%%%%
\lstset{
numbers=left,                        % 在左边显示行号
numberstyle=\tiny,
keywordstyle=\color{blue!70}, commentstyle=\color{red!50!green!50!blue!50},
                                     % 关键字高亮
frame=shadowbox,                     % 给代码加框
rulesepcolor=\color{red!20!green!20!blue!20},
escapechar=`,                        % 中文逃逸字符
xleftmargin=2em,xrightmargin=2em, aboveskip=1em,
breaklines,                          % 这条命令可以让LaTeX自动将长的代码行换行排版
extendedchars=false                  % 这一条命令可以解决代码跨页时,章节标题,页眉等汉字不显示的问题
}
%%%%%%%%%%%%%%%%%%%%%%%%%listings宏包设置结束%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%xeCJK字体设置%%%%%%%%%%%%%%%%%%%%%%%%%
\punctstyle{kaiming}                                        % 设置中文标点样式
                                                            % 支持quanjiao、banjiao、kaiming等多种方式
\setCJKmainfont[BoldFont=Adobe Heiti Std]{Adobe Song Std}   % 设置缺省中文字体
\setCJKsansfont[BoldFont=Adobe Heiti Std]{Adobe Kaiti Std% 设置中文无衬线字体
\setCJKmonofont{Adobe Heiti Std}                            % 设置等宽字体
\setmainfont{DejaVu Serif}                                  % 英文衬线字体
\setmonofont{DejaVu Sans Mono}                              % 英文等宽字体
\setsansfont{DejaVu Sans}                                   % 英文无衬线字体

%%%%定义新字体%%%%
\setCJKfamilyfont{song}{Adobe Song Std}                     
\setCJKfamilyfont{kai}{Adobe Kaiti Std}
\setCJKfamilyfont{hei}{Adobe Heiti Std}
\setCJKfamilyfont{fangsong}{Adobe Fangsong Std}
\setCJKfamilyfont{lisu}{LiSu}
\setCJKfamilyfont{youyuan}{YouYuan}

\newcommand{\song}{\CJKfamily{song}}                       % 自定义宋体
\newcommand{\kai}{\CJKfamily{kai}}                         % 自定义楷体
\newcommand{\hei}{\CJKfamily{hei}}                         % 自定义黑体
\newcommand{\fangsong}{\CJKfamily{fangsong}}               % 自定义仿宋体
\newcommand{\lisu}{\CJKfamily{lisu}}                       % 自定义隶书
\newcommand{\youyuan}{\CJKfamily{youyuan}}                 % 自定义幼圆
%%%%%%%%%%%%%%%%%%%%%%%%%xeCJK字体设置结束%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%一些关于中文文档的重定义%%%%%%%%%%%%%%%%%

%%%%数学公式定理的重定义%%%%
\newtheorem{example}{例}                                   % 整体编号
\newtheorem{algorithm}{算法}
\newtheorem{theorem}{定理}[section]                         % 按 section 编号
\newtheorem{definition}{定义}
\newtheorem{axiom}{公理}
\newtheorem{property}{性质}
\newtheorem{proposition}{命题}
\newtheorem{lemma}{引理}
\newtheorem{corollary}{推论}
\newtheorem{remark}{注解}
\newtheorem{condition}{条件}
\newtheorem{conclusion}{结论}
\newtheorem{assumption}{假设}

%%%%章节等名称重定义%%%%
\renewcommand{\contentsname}{目录}     
\renewcommand{\indexname}{索引}
\renewcommand{\listfigurename}{插图目录}
\renewcommand{\listtablename}{表格目录}
\renewcommand{\figurename}{图}
\renewcommand{\tablename}{表}
\renewcommand{\appendixname}{附录}

%%%%设置chapter、section与subsection的格式%%%%
\titleformat{\chapter}{\centering\huge}{第\thechapter{}章}{1em}{\textbf}
\titleformat{\section}{\centering\LARGE}{\thesection}{1em}{\textbf}
\titleformat{\subsection}{\Large}{\thesubsection}{1em}{\textbf}
%%%%%%%%%%%%%%%%%%%%%%%%%中文重定义结束%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%一些个性设置%%%%%%%%%%%%%%%%%%%%%%
% \renewcommand{\baselinestretch}{1.3}     % 效果同\linespread{1.3}
% \pagenumbering{arabic}                   % 设定页码方式,包括arabic、roman等方式
% \sloppy                                  % 有时LaTeX无从断行,产生overfull的错误,
                                           % 这条命令降低LaTeX断行标准
\setlength{\parskip}{0.5\baselineskip}     % 设定段间距
\linespread{1.2}                           % 设定行距
\newcommand{\pozhehao}{\kern0.3ex\rule[0.8ex]{2em}{0.1ex}\kern0.3ex}
                                           % 中文破折号,据说来自清华模板

%%%%%%%%%%%%%%%%%%%%%%%%%个性设置结束%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%正文部分%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\setlength{\parindent}{2em}                   
% 设定首行缩进为2em。注意此设置一定要在document环境之中。
% 这可能与\setlength作用范围相关

\title{Ubuntu 9.04环境下\TeX 中文化配置}
\author{Lox Freeman}
\date{\today}

\maketitle

\tableofcontents

\newpage

\end{document}
%%%%%%%%%%%%%%%%%%%%%%%%%正文部分结束%%%%%%%%%%%%%%%%%%%%%% 

最近看的一些书

8月10日回家带了四本书,但是一本没看,看的全部都是电子书,如下:

  1. 《How to Do Every Thing with HTML》
  2. 基本看完,重温并巩固了HTML的绝大部分知识,初步领略CSS的风范,对 Javascript,DHTML有了感性的了解。看这部分主要是为了旅行者小网站的建 设做一下充分的准备工作。
  3. 《Advanced Bash Scripting Guide》
  4. 暑假Linux短学期让我领略到了Bash编程的魅力。虽然这本书厚达800多页,而 我只看完了4章60多页,但是这本书难度不是很高,应该能在两周之内搞定的。 前提是得多练习啊。
  5. 《LPIC-1: Linux Professional Institue Certification Study Guide》
  6. 打算考LPI了。虽然每级考试2600的考试费让我很是心疼,也会让我时刻鞭策 自己好好看书。找工作么,无非就是那么几回事儿,出身、成绩、英语、专业 技能、社会实践、项目经验、实习经验。
  7. 《PHP Manual》
  8. 用dwww看的本地html版本。看完了Language Reference的大部分。感觉php就 是C和Bash的结合体,语法绝大部分借鉴C和C++,变量借鉴Bash,掌握其精髓,剩 下的数据库接口,图像处理等等,就靠实践了。

一些问题和期待:

  1. xetex 0.997 in ubuntu
  2. 自己配置的LaTeX+CJK环境用的比较顺手了,但是很不爽的一点是生成的pdf书 签是乱码。开始我以为是evince的问题,后来拿到windows平台上用Adobe Reader打开也是乱码。CTeX论坛说有个gbk2uni的程序处理一下就行,但是我 没有成功。于是我开始寻求xetex的解决方案。但是,问题又来了,单纯的 xetex可以解决书签乱码问题,但是需要配上XeCJK,才能达到完美的排版效 果,偏偏XeCJK的最低版本要求是0.997而我的Ubuntu9.04上的xetex却是0.996 版本。于是我郁闷了,只能先LaTeX+CJK凑合用吧。期待Ubuntu9.10中能有所 改进。
  3. 旅行者手册
    本来打算8月底完工的,但是真正做起来才发现工作量之大。手册打算以pdf、 html、doc三种格式发行。为了保持文档的一致性,当初设想了三个方案:
    • docbook
    • docbook已经成为技术文档撰写事实上的标准。但是一来docbook写起来比较 麻烦;二来对中文支持不太好;三来我看了几个docbook做出来的东西实在 不怎么好看,毕竟是用来写技术文档的;四来我还不怎么会用docbook。所 以此方案暂时不可行。
    • LaTeX+tth
      1. LaTeX中文书签乱码问题
      2. 格式转换问题
    • LaTeX的排版效果自不必说。问题在于: tth是个很优秀的软件。支持绝大部分的LaTeX环境,转换出来的html文档相 当完美,并且支持中文。通过html再转换成doc,也只不过是一盏茶的功夫。 但是tth转换出来的文档略显单调,而且是长长的一整篇,我琢磨这我这预 算在100多页的文档转换成一页html文档,估计对看客是个考验。虽然可以 事后重组,排版,但终究是很麻烦的一件事情。
    • Emacs+Muse
    • 想来想去还是回到了Emacs+Muse的解决方案上。配上一定的CSS,完美的 html输出,然后输出LaTeX文件整合一下,套上个中文CJK的模板,基本上可 以解决问题。不过Muse会自动加上一些烦人的超连接,目前的解决方案就是 利用Emacs的query-replace-regexp手工解决。当然也Baidu过sed、awk和 perl,以后再学。

OK,继续CSS。

计算机是懒人的科学

Contents

折腾计算机两年多了,现在才算懂了点门道。从最开始的开机关机,到最初战战兢兢通宵装 xp系统,到Vmware带来的神奇,到luckweb(缘网)的丰富,到Fedora 8的一丝不惑,再到 Ubuntu的博爱,我终于走进了GNU的大门。自由与开放的广阔世界,GNU,GNU is Not Unix, 我越发感到,这,就是我需要的世界。

本文会教你:

  • 如何配置一个Ubuntu下完整,轻巧,高效的c(c++, Java)开发环境
  • 如何维护和保持代码和文档的一致性
  • 如何配置一个舒服的LaTex+CJK的文档办公环境
  • 如何高效的使用Ubuntu系统
  • 经典学习资源推荐

本文不会教你:

  • 什么叫GNU, Ubuntu, Emacs……
  • 基本的Bash命令
  • 基本的Emacs,Vim操作

计算机是懒人的科学

计算机是懒人的科学。这点从计算机的发明就可以看的出来。众所周知,ENIAC的诞生是为 了计算,是为了弥补人脑的不足,减轻计算负担。

为了批量的计算,人们发明了机器语言;

为了简化机器语言,人们又发明了汇编语言;

为了进一步简化,人们发明了c,写了Unix;

为了更好的软件重构和代码重用,人们又发明了c++;

人们发现c++简直太tmd的复杂了,于是就发明了Java。

为了更好的维护程序文档,人们发明了docbook。

为了更好的排版质量,Knuth大人冲冠一怒,整整十年,发明了伟大的Tex排版系统。

后来Leslie Lamport说:Knuth你那个Tex系统简直太tmd的难用了,于是他就写了个 LaTex,极大地简化了Tex的使用,使得一个初学者在半天的时间内也能排出具有国际水准的 文档来。

后来中国人发现这LaTex先天不支持中文,于是就有人站出来发明了CCT,德国人还发明了 CJK(Chinese, Japanese, Korean)。

后来人们又发现CJK生成字体太tmd的麻烦了,于是有勇士站出来,写了xetex,直接调用系 统字体,这下好了。世界清静了1

为了更高效的编辑文本,人们就发明了vim和Emacs。

后来人们又给Emacs增添了很多乱七八糟的功能,于是Emacs成了一中生活。

人们发现文件管理真是件无聊的事情,于是就发明了sh脚本语言。

人们发现程序的Api文档撰写麻烦死了,于是Java有了Javadoc,C++有了Doxygen2

再后来的后来,cnlox发现Emacs muse这个记笔记的好东西,于是就用muse写了这么一篇东 西,记录下来最近的一些心得和学习笔记。^_^

几个小软件

yakuake

用*nix的人进入系统第一件事往往就是开一个terminal,然后在那里打开Emacs,开firefox 等等。yakuake的使用十分方便,初次安装完毕后,默认用F12键调出,像一幕卷帘挂在屏幕 上,不用的时候,F12调走,自动隐藏,既不占用任务栏,又免除了Alt+Tab切换的麻烦。

sudo apt-get install yakuake

gnome-do

Mac下有QuickSilver,Windows下有Launchy,三个程序的设计思想是差不多的,就是程序的 快速启动器,免除从菜单中搜索的麻烦。谁用谁知道。

sudo apt-get install gnome-do

dwww

我想信大多数玩linuxer都是爱折腾不安分的人。Ubuntu虽然打着博爱的口号,其易用性堪 比Windows,依然难免会遇到各种各样的问题,此时程序本身的文档就成了最好的解决问题 的良师益友。

sudo apt-get install dwww info2www swish++

安装完后打开浏览器访问http://localhost/dwww 或者直接在终端调用即可3

顺便提一下,dhelp和devhelp也是类似的软件,大家可以装着用用。

nautilus-open-terminal

在nautilus中管理文件时,常常会希望在当前位置开个终端,以前的方法是:开终端-cd到 当前目录,不过有了nautilus-open-terminal后,打开终端后pwd就是当前目录,非常方便。

sudo apt-get install nautilus-open-terminal

Emacs

这个话题太沉重,我现在还不动elisp,无法进行太过详细的描述,先列下一个单子,容以 后慢慢到来:

  • gnus
  • ecb
  • emms
  • ibuffer
  • imaxima
  • gnuplot
  • cc-mode
  • jde
  • cscope
  • muse
  • dired
  • auctex
  • outline-mode
  • eshell
  • version control
  • planner
  • Emacs Make A Computer Slow……

Firefox

Emacs和Firefox是我在Ubuntu平台下应用最多的两个软件。具体我就不介绍了,都是可扩展 性极强的软件。推荐几个扩展吧:

LaTex

LaTex的中文化配置一直是件很麻烦的事情。尤其是在Linux下。在Windows下有CTex网站制 作的CTex套装,直接安装一般没有太大的问题。但是在Ubuntu下,LaTex装完后一般并不能 直接用于中文,需要生成一堆的字体和配置一堆的参数,Baidu上随便一搜一大堆,下面是 我的配置方法:

首先安装texlive套装,硬盘充裕的话安装全套支持好了,

sudo apt-get install texlive-full latex-beamer

然后安装cjk支持,

sudo apt-get install latex-cjk-all

其实现在已经可以使用中文了。


\documentclass{article}
\usepackage{CJK}
\begin{document}
\begin{CJK}{UTF8}{gbsn}
欢迎来到CJK!这里使用的是CJK宏包里有的文鼎宋体。
\end{CJK}
\end{document}

但是gbsn字体过于简陋,比如说朱熔基的'熔'字就显示不出来,这怎么能行呢? 而且现在有很多latex文档都是用LaTex+CJK生成的,以后万一遇上这种情况,会很麻烦。 网上的方法多是自己编译字体配置参数,我看的头都大了。不过好在最后找到一种方法—— 网上搜索生成好的YueWang-zhfonts-final_1.01.tar.bz2,复制到主目录

sudo texhash

然后就看人品了。我那天下载字体包就下载了一个下午,都是下载到一半就停住了,不知道 怎么回事。

下面是我写LaTex文档的一个简单模板,供大家参考。


\documentclass[a4paper, 11pt, openany]{article}
\usepackage[top=2.5cm, bottom=3cm, left=2cm, right=2cm]{geometry}
                                     % 控制页边距
\usepackage{enumerate}               % 控制项目列表
\usepackage{multicol}                % 多栏显示

\usepackage{graphicx}

\usepackage{indentfirst}
\usepackage[perpage,symbol]{footmisc}% 脚注控制
\usepackage[sf]{titlesec}            % 控制标题
\usepackage{titletoc}                % 控制目录
\usepackage{fancyhdr}                % 页眉页脚
\usepackage{type1cm}                 % 控制字体大小
\usepackage{indentfirst}             % 首行缩进
\usepackage{makeidx}                 % 建立索引
\usepackage{textcomp}                % 千分号等特殊符号
\usepackage{layouts}                 % 打印当前页面格式
\usepackage{bbding}                  % 一些特殊符号
\usepackage{cite}                    % 支持引用
\usepackage{color,xcolor}            % 支持彩色文本、底色、文本框等
\usepackage{listings}                % 粘贴源代码
\lstloadlanguages{}                  % 所要粘贴代码的编程语言

%%%%设置listings宏包的一些全局样式%%%%
%%%%参见http://hi.baidu.com/shawpinlee/blog/item/9ec431cbae28e41cbe09e6e4.html%%%%
\lstset{numbers=left,
numberstyle=\tiny,
keywordstyle=\color{blue!70}, commentstyle=\color{red!50!green!50!blue!50},
frame=shadowbox,
rulesepcolor=\color{red!20!green!20!blue!20},
escapechar=`,
xleftmargin=2em,xrightmargin=2em, aboveskip=1em,
breaklines,                          %这条命令可以让LaTeX自动将长的代码行换行排版
extendedchars=false                  %这一条命令可以解决代码跨页时,章节标题,页眉等汉字不显示的问题
}

\usepackage{latexsym}
\usepackage{amsmath}                 % AMS LaTeX宏包
\usepackage{amssymb}                 % 用来排版漂亮的数学公式
\usepackage{amsbsy}
\usepackage{amsthm}
\usepackage{amsfonts}
\usepackage{mathrsfs}                % 英文花体字体
\usepackage{bm}                      % 数学公式中的黑斜体
\usepackage{relsize}                 % 调整公式字体大小:\mathsmaller, \mathlarger
\usepackage{caption2}                % 浮动图形和表格标题样式

\usepackage{CJKutf8}
\makeindex                           % 生成索引
\pagestyle{fancy}                    % 页眉页脚风格
%\fancyhf{}                           % 清空当前页眉页脚的默认设置


\usepackage{CJK}
\begin{document}
\begin{CJK*}{UTF8}{song}
\CJKindent
\sloppy\CJKspace                     % 中英文混排的断行
\CJKtilde                            % 重新定义~,用~隔开中英文

%%%%%%%%%% 一些新定义 %%%%%%%%%%
\newcommand{\song}{\CJKfamily{song}} % 宋体
\newcommand{\hei}{\CJKfamily{hei}}   % 黑体
\newcommand{\fs}{\CJKfamily{fs}}     % 仿宋
\newcommand{\kai}{\CJKfamily{kai}}   % 楷体

%%%%%%%%%% 定理类环境的定义 %%%%%%%%%%
%% 必须在导入中文环境之后
\newtheorem{example}{例}             % 整体编号
\newtheorem{algorithm}{算法}
\newtheorem{theorem}{定理}[section% 按 section 编号
\newtheorem{definition}{定义}
\newtheorem{axiom}{公理}
\newtheorem{property}{性质}
\newtheorem{proposition}{命题}
\newtheorem{lemma}{引理}
\newtheorem{corollary}{推论}
\newtheorem{remark}{注解}
\newtheorem{condition}{条件}
\newtheorem{conclusion}{结论}
\newtheorem{assumption}{假设}

%%%%%%%%%% 一些重定义 %%%%%%%%%%
%% 必须在导入中文环境之后
\renewcommand{\contentsname}{目录}     % 将Contents改为目录
\renewcommand{\abstractname}{摘\ \ 要} % 将Abstract改为摘要
\renewcommand{\refname}{参考文献}       % 将References改为参考文献
\renewcommand{\indexname}{索引}
\renewcommand{\figurename}{图}
\renewcommand{\tablename}{表}
\renewcommand{\appendixname}{附录}
\renewcommand{\proofname}{\hei 证明}
\renewcommand{\algorithm}{\hei 算法}

%%%%%%%%%% 重定义字号命令 %%%%%%%%%%
\newcommand{\yihao}{\fontsize{26pt}{36pt}\selectfont}       % 一号, 1.4倍行距
\newcommand{\erhao}{\fontsize{22pt}{28pt}\selectfont}       % 二号, 1.25倍行距
\newcommand{\xiaoer}{\fontsize{18pt}{18pt}\selectfont}      % 小二, 单倍行距
\newcommand{\sanhao}{\fontsize{16pt}{24pt}\selectfont}      % 三号, 1.5倍行距
\newcommand{\xiaosan}{\fontsize{15pt}{22pt}\selectfont}     % 小三, 1.5倍行距
\newcommand{\sihao}{\fontsize{14pt}{21pt}\selectfont}       % 四号, 1.5倍行距
\newcommand{\bansi}{\fontsize{13pt}{19.5pt}\selectfont}     % 半四, 1.5倍行距
\newcommand{\xiaosi}{\fontsize{12pt}{18pt}\selectfont}      % 小四, 1.5倍行距
\newcommand{\dawu}{\fontsize{11pt}{11pt}\selectfont}        % 大五, 单倍行距
\newcommand{\wuhao}{\fontsize{10.5pt}{10.5pt}\selectfont}   % 五号, 单倍行距

%%%%%%%%%% 论文标题、作者等 %%%%%%%%%%
\title{\LaTeX测试文档}
\author{Lox Freeman}
\date{2009年5月31日}
\maketitle
\tableofcontents

这是\LaTeX中文文档。
\newpage
\end{CJK*}
\end{document}

让开发自动化

git

git是一种分布式版本控制工具,是Linus为了管理Linux内核源代码而发明的版本控制工具。 什么是git?为什么用git?这个问题我解释不清楚。网上已经有了答案,请看这里

doxygen

Java有Javadoc作为API文档声称工具,C++呢?没错,就是大名鼎鼎的doxygen。

sudo apt-get install doxygen, doxygen-gui, doxymacs, doxygen-doc;

doxygen使用非常简单,首先进入源代码目录,运行doxywizard生成一个Doxyfile4,根据 个人需要钩选相应的选项,然后运行doxygen即可。具体的代码例子可以看doxygen自带的文 档5这里有个中文的入门介绍。简单的说,doxygen能够:

  • 保持代码和Api文档的一致性。
  • 支持多种格式(latex, html, pdf, docbook, chm6)等格式文档的输出。
  • 支持多种语言。
  • 支持风格多样的注解方式(Javadoc风格,QTdoc风格)。
  • 支持多种编程语言(c, c++, Java, Python等等)。
  • 支持函数调用图和类继承图等图形的生成。

有了这个,以后写大程序的API文档就简单多了。^_^。

原来生活可以更美好

sudo apt-get install sl tree fortunes

Enjoy them.

学习资源

LaTex

  • LaTex编辑部 非常好的在线学习资源。
  • lshort 非常好的LaTex入门教材,看完了基本可以应付绝大部分的问题。
  • LaTex学习 非常好的LaTex学习博客。
  • lnotes 中国人写的LaTex笔记,行文非常风趣,针对中文做了进一步讲解,推荐。
  • http://cohomo.blogbus.com/ 非常好的一个博客。

Emacs

Linux

Footnotes

1. 个人觉得xetex目前还不太成熟,网上很多东西还是基于LaTex+CJK的。

2. 当然doxygen可以用于多种语言。

3. dwww貌似不支持Arch,其余的我没有做过测试。欢迎指教。

4. doxygen -g也可以生成Doxyfile,但是不如doxywizard直观方便。

5. 运行dwww,搜索doxygen即可。

6. chm是微软专有文档格式,Linux下只能查看,无法制作生成。

 

 




Host by is-Programmer.com | Power by Chito 1.3.3 beta | © 2007 LinuxGem | Design by Matthew "Agent Spork" McGee