SCI英文论文写作- Latex 进阶
1.设置行间距的方法:
%setlength{aselineskip}{15pt}
enewcommand{aselinestretch}{1}
2.去掉容差报警的方法:
hbadness=10000 olerance=10000 hfuzz=150pt
3.更改子级item,enumerate的图标的方法:
enewcommand{labelenumii}{(arabic{enumii}).}
enewcommand{labelenumiii}{[arabic{enumiii}]}
enewcommand{labelenumiv}{<arabic{enumiv}>}
enewcommand{labelitemi}{PlusCenterOpen }
enewcommand{labelitemii}{Checkmark }
enewcommand{labelitemiii}{ding {43} }
enewcommand{labelitemiv}{$clubsuit$}
4.使用下划线,删除线的方法:
usepackage{ulem}
uwave sout uwave{.....} sout{...}
如果用中文,应该是 CJKulem.sty 包, 不然不会正确分行。 如:
usepackage{CJKulem} LaTex会自动给CJKulem加上.sty的后缀
d a 给文字a下面加点,如下: d G d P d I d I d O
xout:斜删除线
sout :水平删除线
uwave:波浪线
uline,uuline:下划线,双下划线
enewcommand{aselinestretch}{1.3}
enewcommand{ULdepth} 可以手工修改下划线离基线的距离。
5.高亮,加行号源代码的方法:
usepackage{color}
definecolor{gray}{rgb}{0.8,0.8,0.8}
usepackage{listings}
lstset{numbers=left} lstset{language=C++} lstset{breaklines}
lstset{extendedchars=false} lstset{backgroundcolor=color{gray}}
lstset{keywordstyle=color{blue}fseries} lstset{frame=none}
lstset{tabsize=4} lstset{commentstyle=color{red}}
lstset{stringstyle=emph}
6.制表位画简单表:
egin{tabbing}
..........=............=..........\
....> .........>.........\
.....>..........>.........\
...........>........>....
end{tabbing}
7.盒子:
mbox{看什么看,死鸟} fbox{看什么看,死鸟}
fbox 有一个外框
framebox[宽度][位置]{.....}
位置:l:左对齐 r:右对齐 s:伸展文本
framebox[2.5cm][l]{.........}
framebox[3cm][s]{XXX dotfill XXX}
8.点填充:
dotfill
framebox[3cm][s]{XXX dotfill XXX}
9.对单个字母加上斜划线的方法:
makebox[0pt][l]{/}S
10.给文本加上边注:
............... marginpar{这是边注一个}.........
.............marginpar{...\....\....}.........
加上竖线作边注:
marginpar{ ule[Y轴方向坐标:+向上,-向下]{竖线宽度}{竖线长度}}
marginpar{ ule[-17.5mm]{10mm}{20mm}}
11.verbatim:
egin{verbatim}...........end{verbatim}
egin{verbatim}* ...........end{verbatim*}将空格也显示也来。
12.画表有关知识:
1)63:42
32:44
要将num1:num2这样的表项中的:予以对齐,则可用:...r@{:}l...
2)合并多列写为一个表项: multicolumn{10}{c|}{itshape ........}
13.块注释:
iffalse %块注释命令开始
....................
fi %块注释命令结束
14.多个宏包的包含法:
%一般情形下的必用宏包
usepackage{textcomp}
usepackage{latexsym,amssymb,amsmath}
usepackage{CJK,CJKnumb}
15.宏包的使用说明的查询:
%可以把...MiKTeXTeXMFdoc文件夹移到另外的地方以方便查阅下面各种宏包的使用说明
16.特殊的宏包:
%usepackage{ifpdf} %切换latex和pdflatex命令编译
%usepackage{china2e} %特殊的汉字字符
17.有关宏包的说明:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
%可以把...MiKTeXTeXMFdoc文件夹移到另外的地方以方便查阅下面各种宏包的使用说明
%宏包的兼容性与宏包的顺序有关,一般不应改动下面宏包的前后顺序
%一般情形下的必用宏包
usepackage{textcomp}
usepackage{latexsym,amssymb,amsmath}
usepackage{CJK,CJKnumb} %其中CJKnumb用在fancyhdr宏包时,CJK 这个环境可以在preamble里使用,
%但要记得在egin{document}之前关掉之后可以再另外打开一个新的 CJK 环境.
%其他 miktex 自带选用宏包, 包括: 图形宏包, 公式宏包, 表格宏包, 页面设置宏包, 特殊文本元素宏包
%usepackage{ifpdf} %切换latex和pdflatex命令编译
%usepackage{china2e} %特殊的汉字字符
usepackage{makeidx}makeindex %产生方式是用命令(pdf)latex,(pdf)latex,texify,(pdf)latex
%图形宏包
ifxpdfoutputundefined %即可用latex或pdflatex编译
usepackage[dvips]{graphicx}
else
usepackage[pdftex]{graphicx}
fi%将eps或pdf都放在当前目录的figures子目录下, 在文中用graphicspath{{figures/}}
usepackage[centerlast]{caption2}%图形宏包, 下面的设置在我这儿有一点冲突, 所以弃用
%usepackage[subfigure,caption2]{ccaption}%构造连续标题,无标题,双语标题或匿名标题
usepackage{color}%彩色文本、底色、文本框等等色彩支持(这个宏包只能放在这里,否则通不过编译)
definecolor{lightgray}{gray}{.80}%colorbox{lightgray}{vbox{}}
%usepackage{epic}
%usepackage[all]{xy}
usepackage{floatflt}%可把图表和文字混排, 其中[p]可选
%egin{floatingfigure}[p]{40mm}centeringcaption{}end{floatingfigure}
%egin{floatingtable}[p]{egin{tabular}end{tabular}}caption{}end{floatingtable}
%usepackage{overpic}%将LaTeX对象放置在图上
%usepackage{pstricks}%Posts cript macrosfor Generic TeX(我没用过,据说很强),在pdf下要用pdftricks
%usepackage{Picins}%图形放在正文行中
usepackage{bez123,fancybox}%latexcad/mytexcad所需要的宏包
usepackage{mytexcad}%%mytexcad是修改latexcad后的非Miktex宏包,也可用自带的latexcad.
%我想在latex和pdflatex下都能正常显示编译结果,这时把它换成bez123宏包中的相应命令即可.
%另外,改动一下latexcad.sty内的宏命令,把drawpath 命令中的path 改为lbezier.
%建议把latexcad图中的内容复制过来,并在egin{picture}前加centeringsetlength{unitlength}{1mm}
%usepackage{picinpar}%图表和文字混排宏包
%usepackage[verbose]{wrapfig} %图表和文字混排宏包
%usepackage{pspicture}%绘制任意角度和粗细的线段以及不限大小的圆,在PDF下不能用
%usepackage{eso-pic}%向文档的所有页或部分页加n副图形, 可实现水印效果
%usepackage{eepic}%扩展的绘图支持
%usepackage{curves}%绘制复杂曲线
%usepackage{texdraw}%增强的绘图工具
%usepackage{treedoc}%树形图绘制
%usepackage{pictex}可以画任意的图形
%公式宏包
usepackage[amsmath,thmmarks]{ntheorem}%定理类环境宏包,其中amsmath选项用来兼容AMS LaTeX的宏包
usepackage{cases}%egin{numcases}{|x|=}x,&for$xgeq0$\-x,&for$x<0$end{numcases}
usepackage{subeqnarray}%多个子方程egin{subeqnarray}label{eqw}slabel{eq0}\ slabel{eq1}end{subeqnarray}
%usepackage{bm}%处理数学公式中的黑斜体
usepackage{pmat}%分块矩阵的虚线,非miktex宏包,兼容性很好
iffalse egin{pmat}[{.|}]
a_{11} & a_{12} & b_{11} cr
a_{21} & a_{22} & b_{21} cr-
c_{11} & c_{12} & d_{11} cr
end{pmat}fi
usepackage{blkarray}%另一种分块矩阵
回答人的补充 2009-11-21 20:54 %表格宏包
usepackage{threeparttable}%表格内的脚注, 用法为
iffalse% egin{table}centering
egin{threeparttable}caption{...}
egin{tabular}{ll}% or {tabular*}
... note{1}&....
... end{tabular}
egin{tablenotes}
item [1] the first note
... end{tablenotes} end{threeparttable} end{table}fi%
usepackage{rotating}%用法egin{sidewaystable}....end{sidewaystable}即可旋转表格
usepackage{longtable}%,不推荐用这个,而推荐用下面这一个
usepackage{supertabular}
usepackage{tabls}
usepackage{hhline}%在表格中用 hhline 得到的结果就如同hline 或%hlinehline,当然在和垂直线的交叉处会有所不同.
usepackage{slashbox}% 可在表格的单元格中画上一斜线.
ewcommand{centpcol}{leftskipfill ightskipfill}%制表使可用p{ncm}设置栏宽,还使本栏居中
%举例multicolumn{1}{p{3.5cm}|}{centpcol Same as previous response}
%usepackage{colortbl}%彩色表格
%usepackage{dcolumn}%让表格中将小数点对齐
usepackage{bigstrut,bigdelim,multirow}%表格多行合并, 矩阵的边注
ewcommand{myminitab}[2][l]{egin{tabular}{#1}#2end{tabular}}
%比如两行合并可分为以下几种情况
%multirow{2}{1in}{Common g text}%行之间无横线,但要指列的定宽度;
%multirow{2}[4]*{Common g text}%行之间有横线;
%multirow{2}[4]{1in}{Common g text}%行之间有横线,但要指列的定宽度;
%multirow{2}*{myminitab[c]{Common \ g text}}%合并的文本要手动断行
%页面设置宏包
usepackage{geometry}%可以自定义页面设置
usepackage{titlesec,titletoc}%配合命令在后面,章节标题设置
usepackage{multicol,multienum}%多栏结构在文中用egin{multicols}{2}end{multicols}
%多列编号用法为(可嵌套使用):
%egin{multienumerate}
%mitemxxxx{Not}{Linear}{Not}{Quadratic}
%mitemxxxo{Not}{Linear}{No; if $x=3$, then $y=-2$.}
%mitemxx{$(x_1,x_2)=(2+dfrac{1}{3}t,t)$ or
%$(s,3s-6)$}{$(x_1,x_2,x_3)=(2+dfrac{5}{2}s-3t,s,t)$}
%end{multienumerate}
usepackage[perpage,stable]{footmisc} %让脚注在每一页重新编号和在章节、标题上加脚注
%usepackage[perpage,symbol*]{footmisc} %把脚注(footnote)的编号去掉
usepackage{indentfirst}%indent every new paragraph
usepackage{fancyhdr}% Modify the page headings of book
usepackage{fancyvrb}
usepackage{pageno}%章首页的页眉处理, 可以改为自己想要的形式
%usepackage{pifont} %有很漂亮的带圈的各种数字符号使用,也可用 extcircled{}命令,参考如下命令:
%Large{ extcircled{small{12}}}, extcircled{九}, extcircled{}不需要任何宏包即可使用,推荐
usepackage{atbeginend}%非Miktex宏包,可以注掉,能解决比如itemize,enumerate等列表中item之间的控制
%AfterBegin{itemize}{addtolength{itemsep}{-0.5aselineskip}}
%AfterBegin{enumerate}{addtolength{itemsep}{-0.5aselineskip}}
%AfterBegin{description}{addtolength{itemsep}{-0.5aselineskip}}
%usepackage{appendix}%附录宏包
%特殊文本元素宏包
usepackage{everb}
usepackage{ulem,CJKulem}%比如uwave{wave ne}等命令,注意会改写em命令
%超级链接宏包, 以下设置可去掉链接的下划线形式
usepackage[draft=false,colorlinks=true,CJKbookmarks=true,
linkcolor=black,citecolor=black,urlcolor=black]{hyperref}%这是印刷的需要,平时就改black为blue
usepackage[numbers,sort&compress]{natbib}
usepackage{hypernat}
makeatletter
ewcommand{ucite}[1]{$^{mbox{scriptsize cite{#1}}}$}%参考文献的引用为上标形式的自定义
%providecommand*{ oclevel@defn}{0}%去掉一些无关紧要的警告信息
makeatother
%用以下四个宏包之一能使(pdf)latex自动不嵌入相应的系列字体,减少PDF或DVI文件的大小并提高pdf的效果
%其中times宏包还能自由定义字号大小
usepackage{times} %-- Times Roman + Helvetica + Courier
%usepackage{palatino} %-- Palatino + Helvetica + Courier
%usepackage{newcent} %-- New Century Schoolbook + Avant Garde + Courier
%usepackage{bookman} %-- Bookman + Avant Garde + Courier
usepackage{balance} %balance the last two columns in twocolumn mode(命令为alance)
usepackage{delarray}%使array环境的[t]或者[b]选项生效,并可解决表格中的文字上下位置不对的问题
%由于重新定义array,所以须放在array后面,使用方法为$$aegin{array}[t][{c}]b\dend{array}c$$
usepackage{mdwlist}%用{itemize*}等来减少竖直距离a
常用命令
Latex常用命令 出自: http://dicocn.bokee.com/5122018.html
1. 段首缩进
中文习惯在段首缩进两格,在LaTeX中,parindent 表示段首缩进的长度,我们将它设置为当前字号的两个大写字母M的宽度,大约正好是两个汉字的宽度:
setlength{parindent}{2em}
LaTeX 默认每节的第一段的段首不缩进,这不符合中文排版习惯。我们希望正文的每一段都要缩进,使用indentfirst宏包就可办到:
usepackage{indentfirst}
2. 段距行距
LaTeX 用aselineskip表示当前的行距,其默认值大约是当前字号的1.2倍,如果当前字号是10pt,那么aselineskip是12pt。这对英文排版是合适的,对中文就显得太拥挤了,因为英文正文多为小写字母,字高与小写的x差不多(即1ex)。如果字号为10pt,那么1ex =4.3pt。我通常把行距设为字号的1.8倍:
setlength{aselineskip}{1.8em}
这个值随时可以改,对更改点以后的文字有效。
LaTeX 用parskip表示段距,我一般把它设为1ex:
setlength{parskip}{1ex}
注意这些修改长度的命令最好都放在正文区(即egin{document}之后)。
3. 页眉页脚
我通常用fancyhdr宏包来设置页眉和页脚。
documentclass[10pt, a4paper]{book}
usepackage{fancyhdr}
我们在 LaTeX 中先把 page style 设为fancy,再设置这个style中的页眉和页脚。但是它默认每章的第一页的page style是plain,需要单独处理。
% 设置 plain style 的属性
fancypagestyle{plain}{%
fancyhf{} % 清空当前设置
% 设置页眉 (head)
fancyhead[RE]{leftmark} % 在偶数页的右侧显示章名
fancyhead[LO]{ ightmark} % 在奇数页的左侧显示小节名
fancyhead[LE,RO]{~ hepage~} % 在偶数页的左侧,奇数页的右侧显示页码
% 设置页脚:在每页的右下脚以斜体显示书名
fancyfoot[RO,RE]{it Typesetting with LaTeX}
enewcommand{headrulewidth}{0.7pt} % 页眉与正文之间的水平线粗细
enewcommand{footrulewidth}{0pt}
}
pagestyle{fancy} % 选用 fancy style
% 其余同 plain style
fancyhf{}
fancyhead[RE]{leftmark}
fancyhead[LO]{ ightmark}
fancyhead[LE,RO]{~ hepage~}
fancyfoot[RO,RE]{it Typesetting with LaTeX}
enewcommand{headrulewidth}{0.7pt}
enewcommand{footrulewidth}{0pt}
% 设置章名和节名的显示方式
enewcommand{chaptermark}[1]{markboth{~第~ hechapter~章~~~#1~}{}}
enewcommand{sectionmark}[1]{markright{~ hesection~~#1~}{}}
4. 章节标题
我通常用titlesec宏包来设置正文中出现的章节标题的格式:
usepackage{titlesec}
设置章名为右对齐,字号为Huge,字型为黑体,章号用粗体,并设置间距:
itleformat{chapter}{flushrightHugehei}{{f hechapter}}{0pt}{}
itlespacing{chapter}{0pt}{-20pt}{25pt}
设置节名的字号为Large,字型为黑体,节号用粗体,并设置间距:
itleformat{section}{Large hei }{{f hesectionspace}}{0pt}{}
itlespacing*{section}{0pt}{1ex plus .3ex minus .2ex}{-.2ex plus .2ex}
其中hei的定义为:
ewcommand{hei}{CJKfamily{hei}}
5. 纸张大小
毕业论文要求用b5纸,单面打印,我用geometry宏包来设置纸张和版心大小:
documentclass[10pt, b5paper]{report}
usepackage[body={12.6cm, 20cm}, centering, dvipdfm]{geometry}
% 以上将版心宽度设为 12.6cm,高度 20cm,版心居中,且自动设置PDF文件的纸张大小。