SCI英文论文写作- Latex 进阶

时间:2020-12-15 06:49:36

SCI英文论文写作- Latex 进阶

 

 

1.设置行间距的方法:

%\setlength{\baselineskip}{15pt}

\renewcommand{\baselinestretch}{1}

 

2.去掉容差报警的方法:

\hbadness=10000 \tolerance=10000 \hfuzz=150pt

 

3.更改子级item,enumerate的图标的方法:

\renewcommand{\labelenumii}{(\arabic{enumii}).}

\renewcommand{\labelenumiii}{[\arabic{enumiii}]}

\renewcommand{\labelenumiv}{<\arabic{enumiv}>}

 

\renewcommand{\labelitemi}{\PlusCenterOpen }

\renewcommand{\labelitemii}{\Checkmark }

\renewcommand{\labelitemiii}{\ding {43} }

\renewcommand{\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:下划线,双下划线

 

\renewcommand{\baselinestretch}{1.3}

 

\renewcommand{\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}\bfseries} \lstset{frame=none}

\lstset{tabsize=4} \lstset{commentstyle=\color{red}}

\lstset{stringstyle=\emph}

 

6.制表位画简单表:

\begin{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{\rule[Y轴方向坐标:+向上,-向下]{竖线宽度}{竖线长度}}

\marginpar{\rule[-17.5mm]{10mm}{20mm}}

 

11.verbatim:

\begin{verbatim}...........\end{verbatim}

 

\begin{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.宏包的使用说明的查询:

%可以把\...\MiKTeX\TeXMF\doc文件夹移到另外的地方以方便查阅下面各种宏包的使用说明

 

16.特殊的宏包:

%\usepackage{ifpdf} %切换latex和pdflatex命令编译

%\usepackage{china2e} %特殊的汉字字符

 

17.有关宏包的说明:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*

%可以把\...\MiKTeX\TeXMF\doc文件夹移到另外的地方以方便查阅下面各种宏包的使用说明

%宏包的兼容性与宏包的顺序有关,一般不应改动下面宏包的前后顺序

 

%一般情形下的必用宏包

\usepackage{textcomp}

\usepackage{latexsym,amssymb,amsmath}

\usepackage{CJK,CJKnumb} %其中CJKnumb用在fancyhdr宏包时,CJK 这个环境可以在preamble里使用,

%但要记得在\begin{document}之前关掉之后可以再另外打开一个新的 CJK 环境.

 

%其他 miktex 自带选用宏包, 包括: 图形宏包, 公式宏包, 表格宏包, 页面设置宏包, 特殊文本元素宏包

%\usepackage{ifpdf} %切换latex和pdflatex命令编译

%\usepackage{china2e} %特殊的汉字字符

\usepackage{makeidx}\makeindex %产生方式是用命令(pdf)latex,(pdf)latex,texify,(pdf)latex

 

%图形宏包

\ifx\pdfoutput\undefined %即可用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]可选

%\begin{floatingfigure}[p]{40mm}\centering\caption{}\end{floatingfigure}

%\begin{floatingtable}[p]{\begin{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图中的内容复制过来,并在\begin{picture}前加\centering\setlength{\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}%\begin{numcases}{|x|=}x,&for$x\geq0$\\-x,&for$x<0$\end{numcases}

\usepackage{subeqnarray}%多个子方程\begin{subeqnarray}\label{eqw}\slabel{eq0}\\ \slabel{eq1}\end{subeqnarray}

%\usepackage{bm}%处理数学公式中的黑斜体

\usepackage{pmat}%分块矩阵的虚线,非miktex宏包,兼容性很好

\iffalse \begin{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% \begin{table}\centering

\begin{threeparttable}\caption{...}

\begin{tabular}{ll}% or {tabular*}

...\tnote{1}&....

... \end{tabular}

\begin{tablenotes}

\item [1] the first note

... \end{tablenotes} \end{threeparttable} \end{table}\fi%

\usepackage{rotating}%用法\begin{sidewaystable}....\end{sidewaystable}即可旋转表格

\usepackage{longtable}%,不推荐用这个,而推荐用下面这一个

\usepackage{supertabular}

\usepackage{tabls}

\usepackage{hhline}%在表格中用 \hhline 得到的结果就如同\hline 或%\hline\hline,当然在和垂直线的交叉处会有所不同.

\usepackage{slashbox}% 可在表格的单元格中画上一斜线.

\newcommand{\centpcol}{\leftskip\fill \rightskip\fill}%制表使可用p{ncm}设置栏宽,还使本栏居中

%举例\multicolumn{1}{p{3.5cm}|}{\centpcol Same as previous response}

%\usepackage{colortbl}%彩色表格

%\usepackage{dcolumn}%让表格中将小数点对齐

\usepackage{bigstrut,bigdelim,multirow}%表格多行合并, 矩阵的边注

\newcommand{\myminitab}[2][l]{\begin{tabular}{#1}#2\end{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}%多栏结构在文中用\begin{multicols}{2}\end{multicols}

%多列编号用法为(可嵌套使用):

%\begin{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} %有很漂亮的带圈的各种数字符号使用,也可用\textcircled{}命令,参考如下命令:

%\Large{\textcircled{\small{12}}},\textcircled{九},\textcircled{}不需要任何宏包即可使用,推荐

\usepackage{atbeginend}%非Miktex宏包,可以注掉,能解决比如itemize,enumerate等列表中\item之间的控制

%\AfterBegin{itemize}{\addtolength{\itemsep}{-0.5\baselineskip}}

%\AfterBegin{enumerate}{\addtolength{\itemsep}{-0.5\baselineskip}}

%\AfterBegin{description}{\addtolength{\itemsep}{-0.5\baselineskip}}

%\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

\newcommand{\ucite}[1]{$^{\mbox{\scriptsize \cite{#1}}}$}%参考文献的引用为上标形式的自定义

%\providecommand*{\toclevel@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(命令为\balance)

\usepackage{delarray}%使array环境的[t]或者[b]选项生效,并可解决表格中的文字上下位置不对的问题

%由于重新定义array,所以须放在array后面,使用方法为$$a\begin{array}[t][{c}]b\\d\end{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 用\baselineskip表示当前的行距,其默认值大约是当前字号的1.2倍,如果当前字号是10pt,那么\baselineskip是12pt。这对英文排版是合适的,对中文就显得太拥挤了,因为英文正文多为小写字母,字高与小写的x差不多(即1ex)。如果字号为10pt,那么1ex =4.3pt。我通常把行距设为字号的1.8倍:

 

\setlength{\baselineskip}{1.8em}

 

这个值随时可以改,对更改点以后的文字有效。

 

  LaTeX 用\parskip表示段距,我一般把它设为1ex:

 

\setlength{\parskip}{1ex}

 

注意这些修改长度的命令最好都放在正文区(即\begin{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]{\rightmark} % 在奇数页的左侧显示小节名

 

\fancyhead[LE,RO]{~\thepage~} % 在偶数页的左侧,奇数页的右侧显示页码

 

% 设置页脚:在每页的右下脚以斜体显示书名

 

\fancyfoot[RO,RE]{\it Typesetting with \LaTeX}

 

\renewcommand{\headrulewidth}{0.7pt} % 页眉与正文之间的水平线粗细

 

\renewcommand{\footrulewidth}{0pt}

 

}

 

\pagestyle{fancy} % 选用 fancy style

 

% 其余同 plain style

 

\fancyhf{}

 

\fancyhead[RE]{\leftmark}

 

\fancyhead[LO]{\rightmark}

\fancyhead[LE,RO]{~\thepage~}

 

\fancyfoot[RO,RE]{\it Typesetting with \LaTeX}

 

\renewcommand{\headrulewidth}{0.7pt}

 

\renewcommand{\footrulewidth}{0pt}

 

% 设置章名和节名的显示方式

 

\renewcommand{\chaptermark}[1]{\markboth{~第~\thechapter~章~~~#1~}{}}

 

\renewcommand{\sectionmark}[1]{\markright{~\thesection~~#1~}{}}

 

4. 章节标题

 

我通常用titlesec宏包来设置正文中出现的章节标题的格式:

 

\usepackage{titlesec}

 

设置章名为右对齐,字号为\Huge,字型为黑体,章号用粗体,并设置间距:

 

\titleformat{\chapter}{\flushright\Huge\hei}{{\bf \thechapter}}{0pt}{}

 

\titlespacing{\chapter}{0pt}{-20pt}{25pt}

 

设置节名的字号为\Large,字型为黑体,节号用粗体,并设置间距:

 

\titleformat{\section}{\Large \hei }{{\bf \thesection\space}}{0pt}{}

 

\titlespacing*{\section}{0pt}{1ex plus .3ex minus .2ex}{-.2ex plus .2ex}

 

其中\hei的定义为:

\newcommand{\hei}{\CJKfamily{hei}}

 

5. 纸张大小

 

毕业论文要求用b5纸,单面打印,我用geometry宏包来设置纸张和版心大小:

 

\documentclass[10pt, b5paper]{report}

 

\usepackage[body={12.6cm, 20cm}, centering, dvipdfm]{geometry}

 

% 以上将版心宽度设为 12.6cm,高度 20cm,版心居中,且自动设置PDF文件的纸张大小。