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文件的紙張大小。