texlive2012 通过
documentclass[a4paper]{article}
%documentclass[twocolumn]{article}
%usepackage{graphicx}
usepackage{listings}
usepackage{xcolor}
%usepackage{enumitem}
usepackage{enumerate}
usepackage{CJKutf8} %注意这里用的是CJKutf8而不是CJK
usepackage{tikz} % 画流程图用的
usepackage{indentfirst}%英文首行缩进
usepackage{fancyhdr} % 排版格式
usepackage{hyphenat} % 单词断字
usepackage{amsmath} % for {aligned}, 公式换行
usepackage{multicol}% 多栏排版
usepackage{balance}% 双栏最后一页对齐
usepackage{subfigure}% 多图
usepackage{booktabs}% 表格画线, oprule, midrule, ottomrule
% in texlive-science
usepackage{algorithm}
usepackage{algpseudocode}% an improvement from algorithmicx for algorithmic
%======= XXX 要编译两遍才能有标签和引用等效果 =====%
usepackage[top=2.54cm,bottom=2.54cm,left=3.17cm,right=3.17cm]{geometry} % a4paper standard
usepackage[unicode=true,colorlinks=true]{hyperref} %注意这里不能加CJKbookmarks=true,否则会乱码
usetikzlibrary{arrows,decorations.pathmorphing,backgrounds,positioning,fit}
hypersetup{
pdfauthor={ouoline},
%pdftitle={test},
%pdfsubject={Subject},
%pdfkeywords={Keyword1, Keyword2, ...},
%pdfcreator={LaTeX with hyperref package},
%pdfproducer = {dvips + ps2pdf},
%bookmarksnumbered=true,
%colorlinks=no,
pdfborder={0 0 0},
%bookmarksopen=true,
}
%------------------------------------------------------------------%
setcounter{secnumdepth}{5} % 编号的深度,4 表示到 paragraph 一级
%setcounter{tocdepth}{4} % 目录中的深度
%------------------------------------------------------------------%
% 自己定义新命令,参数依次是
%
ewcommand{新命令名称(带反斜线)}[参数个数(最多9个)]{命令定义}
% 实际上相当于宏替换
newcommand{sayhelloto}[1]{hello,#1}
%------------------------------------------------------------------%
% 放在导言区,设置全局行距
%linespread{1.6}
% 放在导言区,公式编号和章节相关
%makeatletter % `@' now normal ``letter''
%@addtoreset{equation}{section}
%makeatother % `@' is restored as ``non-letter''
%
enewcommand heequation{oldstylenums{ hesection}%
%.oldstylenums{arabic{equation}}}
egin{document}
egin{CJK*}{UTF8}{gbsn}
setlength{parindent}{0pt} % no indent
pagestyle{fancy}
%----------------------------------------------------%
tableofcontents % 目录
listoffigures% 图列表
listoftables%表格列表
addcontentsline{toc}{section}{前言}
section*{前言} % 加了"*"的section不会被自动显示在标签里,但是可以通过 ableofcontents和addcontentsline增加
%----------------------------------------------------%
商标textsuperscript{ extregistered}
数学环境中的上下标$^{up}_{down}$
%----------------------------------------------------%
sayhelloto{you} % 用
ewcommand定义的新命令
%egin{center}
%Huge{title}
%vspace{25pt} % 25pt between title and text
%end{center}
title{Huge{标题}\{large 副标题}}
author{Large{作者hspace{10pt}单位}}
date{today}
maketitle
%----------------------------------------------------%
字体从小到大
{ iny tiny}
{scriptsize scriptsize}
{footnotesize footnotesize}
{small small}
{
ormalsize normalsize}
{large large}
{Large Large}
{LARGE LARGE}
{huge huge}
{Huge Huge}
large % size of fonts
CJKindent
{
m rm}\
{sf sf}\
{ t tt, 等宽}\
{it it, 斜体}\
{sl sl}\
{em em, 还是斜体}\
{f bf, 加粗}
%------------------------------------------------------------------%
% 对齐 可选 center flushleft flushright
egin{center}
end{center}
%小页环境(可嵌入上面三种对齐环境中形成组合)
egin{minipage}{3cm}
ttt
end{minipage}
%原样引用
egin{verbatim}
特殊字符不需转义 % # _
end{verbatim}
egin{multicols}{2} % 2 columns
there is a long long long long long long long long long long long long long long long long long way to go.
end{multicols}
%------------------------------------------------------------------%
% 画线命令
ule{width}{thickness}
oindent rule{textwidth}{1pt}
%------------------------------------------------------------------%
% 目录层次
%chapter{chap} % only with "book" or "report" documentclass will this be available
part{part}
section{section}
subsection{subsection}
subsubsection{subsubsection}
paragraph{para} % 从这级开始没编号,如果想要编号的话要设置setcounter{secnumdepth}{5}
subparagraph{subpara}
%------------------------------------------------------------------%
section{中文书签测试} %注意!如果section和subsection等后面有"*"则不会出现在书签中
subsection{test}
hypertarget{code}{}
lstset{% general command to set parameter(s)
language=c,
basicstyle= t, % 默认对所有字符使用等宽字体
keywordstyle=color{green},%fseriesunderbar% underlined bold black keywords
identifierstyle=, % nothing happens
stringstyle=color{purple},
commentstyle=color{gray},
showstringspaces=false, % no special string spaces
breaklines=true, % 自动换行
}
%表格的列格式参数中使用extracolsep 命令来增加列之间的空隙。
egin{tabular*}{textwidth}{@{extracolsep{fill}}l r}% extwidth linewidth
left & right \
end{tabular*}
parbox{linewidth}{left2 hfill right2}
makebox[textwidth][l]{testttttttttttttttttttttttttt}
egin{tabular}{|l|}
hline
egin{lstlisting}
#include<stdio.h>
int main()
{
printf("Hello,world.
");
return 0;/* comment test */
}
end{lstlisting}
\hline
end{tabular}
%color options :
% red, green, blue, cyan, magenta, yellow, black,darkgray,
% gray, lightgray, orange, violet, purple, and brown
{color{purple}Perl verb| Practical Language |}\
%------------------------------------------------------------------%
% 公式换行,"&"后表示对齐的字符
vspace{-15pt}
egin{equation}label{eq_s}
egin{aligned}
a &< b&< c
end{aligned}
end{equation}
这里对公式 ref{eq_s} 进行引用
%------------------------------------------------------------------%
% 单图
egin{figure}[!t]
centering
%includegraphics[width=0.9linewidth]{pic.jpg}
caption{这里是内容解析}
label{ref_label1}
end{figure}
这里对图 ref{ref_label1} 进行引用
%双栏 单栏多图竖排,跨栏的话使用egin{figure*}
egin{figure}[!t]
centering
subfigure[内容解析1] {
includegraphics[width=2in]{/home/ou/picture/morning.jpg}
label{p_a}
}
subfigure[内容解析2] {
%includegraphics[width=2in]{jpg}
label{p_b}
}
subfigure[内容解析3] {
%includegraphics[width=2in]{jpg}
label{p_c}
}
caption{Updating strategy}
label{ref_label2}
end{figure}
% 跨栏用egin{table*}
egin{table}
caption{Data sets used in this experiment}
label{exp_data}
centering
egin{tabular}{c|r c r r r c}
oprule
one & two & three\
midrule
1.1 & 1.2 & 1.3\
2.1 & 2.2 & 2.3\
3.1 & 3.2 & 3.3\
ottomrule
end{tabular}
end{table}
%------------------------------------------------------------------%
% 列举
egin{enumerate}[1]% 这里可以自己指定编号的样式,使用enumerate宏包。如果使用enumitem,texlive2009会出错,原因不明
item secondfootnote{备注}
item first
end{enumerate}
% vspace用来调整间距
egin{itemize} % [noitemsep] item之间没空行,使用enumitem宏包
%setlengthaselineskip{-1mm} %用这个命令来调整间距应该比较具有通用性
item test
item test2
end{itemize}
egin{itemize}
item
egin{tabular*}{linewidth}{@{extracolsep{fill}}c@{extracolsep{fill}} l@{extracolsep{fill}}}
egin{tabular}{@{}l}
内容标题\
补充说明\
end{tabular}
&
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\
end{tabular*}
egin{itemize}
item 主要内容
end{itemize}
end{itemize}
%------------------------------------------------------------------%
newpage
section{流程图示例}
hyperlink{code}{color{blue!70!yellow}使用$ackslash$hyperlink 链接代码位置,因为图表会floating,所以链接位置不准,最好使用$ackslash$label和$ackslash$ref进行引用}
color{black}
egin{tikzpicture} % package tikz
[place/.style={circle,draw=blue!50,fill=blue!20,thick,inner sep=0pt,minimum size=6mm},
transition/.style={rectangle,draw=black!50,fill=black!20,thick,inner sep=0pt,minimum size=4mm}]
ode[place] (waiting) {};
ode[place] (critical) [below=of waiting] {};
ode[place] (semaphore) [below=of critical] {};
ode[transition] (leave critical) [right=of critical] {};
ode[transition] (enter critical) [left=of critical] {};
draw [->] (critical.west) -- (enter critical.east);
draw [->] (waiting.west) .. controls +(left:5mm) and +(up:5mm) .. (enter critical.north);
end{tikzpicture}
%--------------------------------------------
%伪代码
看算法的伪代码ref{alg_ref}
egin{algorithm}
caption{标题:伪代码测试}
label{alg_ref}
egin{algorithmic}[1]% 1表示行号格式
Function{TestFunction}{
ull}Comment{A test Function without parameters}
If {a == 1}
State b $gets$ a + 1
ElsIf {a == 2}
State b $gets$ a - 2
Else
State b $gets$ a + 3
EndIf
While {a $
eq$ b}
State b $gets$ a + 1
EndWhile
ForAll {a = 5}
State a $gets$ b + 1
EndFor
For {a $gets$ 0; a $<$ 5; ++a}
State b $gets$ a + 1
EndFor
EndFunction
end{algorithmic}
end{algorithm}
%--------------------------------------------
%参考文献
这里引用参考文献 cite{abc}
ibliographystyle{IEEEtran}
alance% 双栏最后一页对齐
egin{thebibliography}{0}
bibitem{abc} abcde
end{thebibliography}
newpage
end{CJK*}
end{document}