多文件編譯
畢業(yè)論文篇幅較長掖肋,單一文件的編譯方式不太方便仆葡,可按照文檔的邏輯層次,把整個(gè)文檔分成多個(gè)源文件 志笼,提供的\include{filename}
命令可用來導(dǎo)入另一個(gè)文件的內(nèi)容作為一個(gè)章節(jié),文件名不用帶.tex
擴(kuò)展名把篓。\include{filename}
命令會在命令之前和之后使用\clearpage
或\cleardoublepage
另起新頁纫溃,并將文件內(nèi)容貼到\include{filename}
命令所在位置。
定制論文樣式
設(shè)置標(biāo)題字體及標(biāo)題樣式
Arial字體的使用
- 先定義新字體Arial:
\newfontfamily\sectionef{Arial}
- 在需要使用Arial字體的地方輸入命令:
\sectionef
設(shè)置標(biāo)題
- 英文標(biāo)題字體采用韧掩,中文標(biāo)題采用黑體
- 一級標(biāo)題居中紊浩,小三號
- 二級標(biāo)題左對齊,四號
\usepackage{titlesec}
\newfontfamily\sectionef{Arial} % 設(shè)置Arial字體
% \newCJKfontfamily\sectioncf{STXihei} % 設(shè)置黑體
\titleformat{\section}{\center\zihao{-3}\heiti\sectionef}{ % 設(shè)置一級標(biāo)題居中疗锐,中文字體為黑體坊谁,英文字體為Arial,字號為小三號
第\,\thesection\,章}{1em}{}
\titleformat*{\subsection}{\zihao{4}\heiti\sectionef} % 設(shè)置二級標(biāo)題中文字體為黑體滑臊,英文字體為Arial字號為四號
設(shè)置頁邊距口芍,頁眉,頁腳
- 頁邊距左右均為3.2 cm雇卷,上下均為3.8 cm
- 頁眉居中顯示當(dāng)前章標(biāo)題
- 頁腳居中顯示當(dāng)前頁碼
- 封面不顯示頁碼鬓椭,中英文摘要和目錄頁碼采用大寫羅馬格式颠猴,正文及參考文獻(xiàn)采用小寫阿拉伯格式
由于titlesec
宏包會改變頁眉章標(biāo)題格式,所以需要重新定義頁眉章標(biāo)題格式小染,如果沒有引入titlesec
宏包翘瓮,可采用\fancyhead[C]{\leftmark}
完成頁眉居中顯示當(dāng)前章標(biāo)題。
\usepackage{geometry}
\geometry{left=3.2cm,right=3.2cm,top=3.8cm,bottom=3.8cm} % 設(shè)置頁邊距
\usepackage{fancyhdr} % 設(shè)置頁眉
\pagestyle{fancy}
\fancyhf{}
\cfoot{\thepage} % 設(shè)置頁碼
\renewcommand{\sectionmark}[1]{\markboth{第\thesection 章\quad % 設(shè)置頁眉內(nèi)容為章標(biāo)題
\ #1}{}}
頁碼格式的設(shè)置可在不同源文件中加入頁碼控制語句裤翩,具體參見論文源碼一節(jié)资盅。
%---------------------------cover.tex-------------------------------
\thispagestyle{empty} % 當(dāng)前頁不顯示頁碼
%------------------------abstract_cn.tex-------------------------------
\setcounter{page}{1} % 設(shè)置當(dāng)前頁頁碼編號從1開始計(jì)數(shù)
\pagenumbering{Roman} % 設(shè)置頁碼字體為大寫羅馬字體
%----------------------------main.tex-------------------------------
\setcounter{page}{1} % 設(shè)置當(dāng)前頁頁碼編號從1開始計(jì)數(shù)
\pagenumbering{arabic} % 設(shè)置頁碼字體為小寫阿拉伯字體
定義中英文摘要環(huán)境
定義中文摘要環(huán)境
% -*- coding: utf-8 -*-
\newcommand{\cnabstractname}{\zihao{-3}摘\quad 要} % 定義中文摘要環(huán)境
\newenvironment{cnabstract}{%
% \quotation
\par\small
\mbox{}\hfill{\bfseries \cnabstractname}\hfill\mbox{}\par
\vskip 2.5ex}{\par\vskip 2.5ex}
定義英文摘要環(huán)境
\newcommand{\enabstractname}{\zihao{-3}Abstract} % 定義英文摘要環(huán)境
\newenvironment{enabstract}{%
% \quotation
\par\small
\mbox{}\hfill{\sectionef{\enabstractname}}\hfill\mbox{}\par % \sectionef:英文摘要使用Arial字體
\vskip 2.5ex}{\par\vskip 2.5ex}
目錄的生成及相關(guān)問題處理
\tableofcontents
可以自動生成目錄,但是所生成的目錄中不包括中英文摘要和參考文獻(xiàn)踊赠,因此我們需要將他們手動添加到目錄呵扛。 這里以英文摘要為例:
\phantomsection % 解決目錄中超鏈接地址錯(cuò)誤問題
\addcontentsline{toc}{section}{ABSTRACT(英文摘要)} % 將英文摘要添加到目錄
\addcontentsline{toc}{section}{ABSTRACT(英文摘要)}
雖然可以將ABSTRACT(英文摘要)
添加至目錄,但是此時(shí)的鏈接地址是錯(cuò)誤的臼疫,需要加上\phantomsection
進(jìn)行調(diào)整择份。
編譯警告的處理
在添加中文摘要至目錄時(shí),編輯器出現(xiàn)警告:Token not allowed in a PDF string
烫堤,原因是一些命令語句無法在書簽中顯示荣赶。例如:
\addcontentsline{toc}{section}{摘\quad 要} % 將中文摘要添加到目錄
這里的\quad
就無法在書簽中顯示,需要用空格替換后才能顯示鸽斟,可采用如下操作進(jìn)行處理拔创。
\addcontentsline{toc}{section}{摘\texorpdfstring{\quad}{} 要} % 將中文摘要添加到目錄
設(shè)置參考文獻(xiàn)格式
設(shè)置參考文獻(xiàn)引用格式
\usepackage[bookmarks=true,colorlinks,linkcolor=black,
citecolor=black]{hyperref} % 設(shè)置超鏈接
\usepackage[superscript]{cite} % 引入?yún)⒖嘉墨I(xiàn)格式包
\bibliographystyle{mybst} % 參考文獻(xiàn)格式采用自制的mybst
\newcommand{\upcite}[1]{\textsuperscript{\textsuperscript{
\citeleft}\cite{#1}\textsuperscript{\citeright}}} % 設(shè)置參考文獻(xiàn)序號格式
文獻(xiàn)按引用順序排序,引用標(biāo)號形式為:富蓄,顏色為黑色剩燥,\upcite{1,2,3}
可達(dá)到的效果。
設(shè)置參考文獻(xiàn)顯示格式
提供了七種基本的參考文獻(xiàn)顯示格式立倍,但是都不符合畢業(yè)論文參考文獻(xiàn)的引用格式灭红,所以需要我們自己定制參考文獻(xiàn)格式控制文件bst
。由于bst
是逆波蘭式語法口注,且參考文獻(xiàn)格式控制文件bst
篇幅較長变擒,因此我們可以直接復(fù)制一種基本的參考文獻(xiàn)顯示格式,并對其修改寝志,這里修改unsrt
娇斑。
將文獻(xiàn)年份放在期刊卷數(shù)和頁碼之前
將bst
文件中的format.date "year" output.check
放在format.vol.num.pages output
之前,這里以article
類為例:
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
new.block
format.title "title" output.check
new.block
crossref missing$
{ journal emphasize "journal" output.check
format.date "year" output.check
format.vol.num.pages output
}
{ format.article.crossref output.nonnull
format.pages output
}
if$
new.block
note output
fin.entry
}
中文期刊作者超過三個(gè)人材部,在第三作者后加等
新定義article_cn
類表示中文期刊毫缆,在bst
文件中添加以下代碼:
FUNCTION {format.names.cn}
{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
nameptr #1 >
{ namesleft #1 >
{ ", " * t * }
{ numnames #2 >
{ "," * }
'skip$
if$
t "其他" =
{ " {\kaishu 等}." * }
{ " and " * t * }
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
FUNCTION {format.authors.cn}
{ author empty$
{ "" }
{ author format.names.cn }
if$
}
FUNCTION {article_cn}
{ output.bibitem
format.authors.cn "author" output.check
new.block
format.title "title" output.check
new.block
crossref missing$
{ journal emphasize "journal" output.check
format.date "year" output.check
format.vol.num.pages output
}
{ format.article.crossref output.nonnull
format.pages output
}
if$
new.block
note output
fin.entry
}
引用中文文獻(xiàn)時(shí),在bib
文件中寫入以下內(nèi)容即可在第三作者后添加 “ 等 ” 乐导。
@article_cn{關(guān)鍵字,
title = "題目",
journal = "期刊名",
year = "年份",
volume = "卷數(shù)",
pages = "開始頁碼-結(jié)束頁碼",
author = "作者1 and 作者2 and 作者3 and 其他",
}
文獻(xiàn)不同屬性用"."分隔
將output.nonnull
函數(shù)中的{ ", " * write$ }
修改為{ ". " * write$ }
即可苦丁,函數(shù)實(shí)現(xiàn)如下:
FUNCTION {output.nonnull}
{ 's :=
output.state mid.sentence =
{ ". " * write$ }
{ output.state after.block =
{ add.period$ write$
newline$
"\newblock " write$
}
{ output.state before.all =
'write$
{ add.period$ " " * write$ }
if$
}
if$
mid.sentence 'output.state :=
}
if$
s
}
文獻(xiàn)年份和期刊卷數(shù)以“,”隔開
將format.vol.num.pages
函數(shù)中的volume field.or.null
修改為 :
volume empty$
'skip$
{ duplicate$ empty$
{ pop$ format.volume }
{ ", " * volume * }
if$
}
if$
修改后的format.vol.num.pages
函數(shù)如下:
FUNCTION {format.vol.num.pages}
{
volume empty$
'skip$
{ duplicate$ empty$
{ pop$ format.volume }
{ ", " * volume * }
if$
}
if$
number empty$
'skip$
{ "(" number * ")" * *
volume empty$
{ "there's a number but no volume in " cite$ * warning$ }
'skip$
if$
}
if$
pages empty$
'skip$
{ duplicate$ empty$
{ pop$ format.pages }
{ ":" * pages n.dashify * }
if$
}
if$
}
去掉文獻(xiàn)末尾的"."
去掉fin.entry
函數(shù)中的add.period$
兽叮。
FUNCTION {fin.entry}
{
write$
newline$
}
去掉期刊名稱的強(qiáng)調(diào)字體
把journal emphasize "journal" output.check
修改為journal "journal" output.check
:
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
new.block
format.title "title" output.check
new.block
crossref missing$
{ journal "journal" output.check
format.date "year" output.check
format.vol.num.pages output
}
{ format.article.crossref output.nonnull
format.pages output
}
if$
new.block
note output
fin.entry
}
FUNCTION {article_cn}
{ output.bibitem
format.authors.cn "author" output.check
new.block
format.title "title" output.check
new.block
crossref missing$
{ journal "journal" output.check
format.date "year" output.check
format.vol.num.pages output
}
{ format.article.crossref output.nonnull
format.pages output
}
if$
new.block
note output
fin.entry
}
LaTeX論文源碼
- 論文封面源文件
cover.tex
% -*- coding: utf-8 -*-
% cover.tex
\thispagestyle{empty}
\begin{figure}[t]
\parbox{1.5cm}{
\includegraphics[scale=0.7]{sdu.jpg}
}
\parbox{5.5cm}{
\begin{center}
\includegraphics[scale=0.25]{words.png}
\tiny ****************** \quad ** \quad ********** % 填寫學(xué)校的英文名字
\end{center}
}
\end{figure}
\begin{center}
\quad \\
\quad \\
\heiti \fontsize{45}{17} 畢\quad 業(yè)\quad 論\quad 文
\vskip 3.5cm
\heiti \zihao{2} 在此打印論文題目芬骄,二號黑體
\end{center}
\vskip 3.5cm
\begin{quotation}
\songti \fontsize{15}{15}
\doublespacing
\par\setlength\parindent{12em}
\quad
學(xué)\hspace{0.61cm} 院:\underline{略略略略學(xué)院\quad}
專\hspace{0.61cm} 業(yè):\underline{略略略略略略略}
學(xué)生姓名:\underline{\qquad 德彪西\qquad }
學(xué)\hspace{0.61cm} 號:\underline{\quad 00000000000\quad}
指導(dǎo)教師:\underline{\qquad 傅里葉 \qquad}
\vskip 2cm
\centering
2019年**月**日
\end{quotation}
- 論文中文摘要源文件
abstract_cn.tex
% -*- coding: utf-8 -*-
% abstract_cn.tex
\setcounter{page}{1} % 設(shè)置當(dāng)前頁頁碼編號從1開始計(jì)數(shù)
\fancyhead[C]{中\(zhòng)quad 文\quad 摘\quad 要} % 設(shè)置頁眉內(nèi)容為“中 文 摘 要”
\pagenumbering{Roman} % 設(shè)置頁碼字體為大寫羅馬字體
\newcommand{\cnabstractname}{\zihao{-3}摘\quad 要} % 定義中文摘要環(huán)境
\newenvironment{cnabstract}{%
% \quotation
\par\small
\mbox{}\hfill{\bfseries \cnabstractname}\hfill\mbox{}\par
\vskip 2.5ex}{\par\vskip 2.5ex}
% \clearpage
\phantomsection % 解決目錄中超鏈接地址錯(cuò)誤問題
\addcontentsline{toc}{section}{摘\texorpdfstring{\quad}{} 要} % 將中文摘要添加到目錄
\begin{cnabstract}
中文摘要 中文摘要 中文摘要 中文摘要 中文摘要 中文摘要
中文摘要 中文摘要 中文摘要 中文摘要 中文摘要 中文摘要
中文摘要 中文摘要 中文摘要 中文摘要 中文摘要 中文摘要
中文摘要 中文摘要 中文摘要 中文摘要 中文摘要 中文摘要
中文摘要 中文摘要 中文摘要 中文摘要 中文摘要 中文摘要
中文摘要 中文摘要 中文摘要 中文摘要 中文摘要 中文摘要
中文摘要 中文摘要 中文摘要 中文摘要 中文摘要 中文摘要
中文摘要 中文摘要 中文摘要 中文摘要 中文摘要 中文摘要
中文摘要 中文摘要 中文摘要 中文摘要 中文摘要 中文摘要
\textbf{關(guān)鍵字:}中文摘要
\end{cnabstract}
- 論文英文摘要源文件
abstract_en.tex
% abstract_en.tex
\fancyhead[C]{英\quad 文\quad 摘\quad 要} % 設(shè)置頁眉為“英 文 摘 要”
\newcommand{\enabstractname}{\zihao{-3}Abstract} % 定義英文摘要環(huán)境
\newenvironment{enabstract}{%
% \quotation
\par\small
\mbox{}\hfill{\sectionef{\enabstractname}}\hfill\mbox{}\par % \sectionef:英文摘要使用Arial字體
\vskip 2.5ex}{\par\vskip 2.5ex}
\phantomsection % 解決目錄中超鏈接地址錯(cuò)誤問題
\addcontentsline{toc}{section}{ABSTRACT(英文摘要)} % 將英文摘要添加到目錄
\begin{enabstract}
This is the abstract in English. This is the abstract in English.
This is the abstract in English.
This is the abstract in English. This is the abstract in English.
This is the abstract in English.
This is the abstract in English. This is the abstract in English.
This is the abstract in English.
This is the abstract in English. This is the abstract in English.
This is the abstract in English.
This is the abstract in English. This is the abstract in English.
This is the abstract in English.
This is the abstract in English. This is the abstract in English.
This is the abstract in English. This is the abstract in English.
\textbf{Keywords:} Abstract
\end{enabstract}
- 論文目錄源文件
contents.tex
% contents.tex
\phantomsection % 解決目錄中超鏈接地址問題
\renewcommand{\contentsname}{目\quad 錄} % 自定義目錄標(biāo)題格式
\addcontentsline{toc}{section}{目\texorpdfstring{\quad}{} 錄} % 將\quad替換為“ ”在書簽中顯示猾愿,并將目錄地址添加到目錄
\begin{center}
\tableofcontents % 顯示目錄
\end{center}
- 論文結(jié)論、參考文獻(xiàn)账阻、致謝源文件
conclusion_reference_thanks.tex
% conclusion_reference_thanks.tex
\fancyhead[C]{結(jié)\quad 論} % 設(shè)置頁眉內(nèi)容為“結(jié) 論”
\phantomsection % 解決目錄中超鏈接地址問題
\addcontentsline{toc}{section}{結(jié)論} % 將結(jié)論添加到目錄
\section*{結(jié)\quad 論} % 無編號標(biāo)題“結(jié) 論”
\newpage % 另起一頁
\fancyhead[C]{參\quad 考\quad 文\quad 獻(xiàn)} % 設(shè)置頁眉內(nèi)容為“參 考 文 獻(xiàn)”
\phantomsection % 解決目錄中超鏈接地址問題
\addcontentsline{toc}{section}{參考文獻(xiàn)} % 將參考文獻(xiàn)添加到目錄
\bibliography{reference.bib} % 顯示參考文獻(xiàn)
\newpage % 另起一頁
\fancyhead[C]{致\quad 謝\quad 及\quad 聲\quad 明} % 設(shè)置頁眉內(nèi)容為“致 謝 及 聲 明”
\phantomsection % 解決目錄中超鏈接地址問題
\addcontentsline{toc}{section}{致謝及聲明} % 將致謝及聲明添加到目錄
\section*{致\quad 謝 } % 無編號標(biāo)題“致 謝”
衷心感謝導(dǎo)師***教授和***副教授對本人的精心指導(dǎo)蒂秘。
他們的言傳身教將使我終生受益。
二位導(dǎo)師廣博的學(xué)識和嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度將使我受益終生淘太。
感謝***教研室的全體老師和同學(xué)多年來的關(guān)心和支持姻僧!
感謝所有關(guān)心和幫助過我的人們!
- 論文參考文獻(xiàn)引用示例源文件
reference.bib
% Encoding: UTF8
@article{1,
title = "Measurements of total kinetic-energy released to the {$N=2$} dissociation limit of {$H_{2}$} - evidence of the dissociation of very high vibrational Rydberg states of {$H_{2}$} by doubly-excited states.",
journal = "Chem. Phys. Lett",
year = "1994",
volume = "224",
pages = "260-266",
author = "Elidrissi M C and Roney A and Frigon C and others",
}
@article_cn{2,
title = "利用{REMPI}方法測量{BaF}高里德堡系列光譜",
journal = "化學(xué)物理學(xué)報(bào)",
year = "1995",
volume = "8",
pages = "308-311",
author = "馬輝 and 李儉 and 劉耀明 and 其他",
}
@article{3,
title = "{R}ydberg series and ionization potential of the {$H_{2}$} molecule. {J. Mol}",
journal = "Spectrosc",
year = "1972",
volume = "41",
pages = "425-486",
author = "Herzberg G and Jungen Ch",
}
- 論文主文件
main.tex
% -*- coding=utf-8 -*-
% main.tex
\documentclass[UTF8, a4paper]{ctexart}
\usepackage{titlesec}
\newfontfamily\sectionef{Arial} % 設(shè)置Arial字體
% \newCJKfontfamily\sectioncf{STXihei} % 設(shè)置黑體
\titleformat{\section}{\center\zihao{-3}\heiti\sectionef}{ % 設(shè)置一級標(biāo)題居中蒲牧,中文字體為黑體撇贺,英文字體為Arial,字號為小三號
第\,\thesection\,章}{1em}{}
\titleformat*{\subsection}{\zihao{4}\heiti\sectionef} % 設(shè)置二級標(biāo)題中文字體為黑體冰抢,英文字體為Arial字號為四號
\usepackage{geometry}
\geometry{left=3.2cm,right=3.2cm,top=3.8cm,bottom=3.8cm} % 設(shè)置頁邊距
\usepackage[bookmarks=true,colorlinks,linkcolor=black,
citecolor=black]{hyperref} % 設(shè)置超鏈接
\usepackage{graphicx}
\usepackage[superscript]{cite} % 引入?yún)⒖嘉墨I(xiàn)格式包
\bibliographystyle{mybst} % 參考文獻(xiàn)格式采用自制的mybst
\newcommand{\upcite}[1]{\textsuperscript{\textsuperscript{
\citeleft}\cite{#1}\textsuperscript{\citeright}}} % 設(shè)置參考文獻(xiàn)序號格式
\usepackage{setspace}
\usepackage{fancyhdr} % 設(shè)置頁眉
\pagestyle{fancy}
\fancyhf{}
\cfoot{\thepage} % 設(shè)置頁碼
% \CTEXsetup[name = {第,章}]{section} % 設(shè)置章節(jié)格式
\begin{document}
\include{cover} % 封面
\include{abstract_cn} % 中文摘要
\include{abstract_en} % 英文摘要
\fancyhead[C]{\leftmark} % 設(shè)置頁眉內(nèi)容為章標(biāo)題
\include{contents} % 目錄
\setcounter{page}{1}
\pagenumbering{arabic}
\renewcommand{\sectionmark}[1]{\markboth{第\thesection 章\quad % 設(shè)置頁眉內(nèi)容為章標(biāo)題
\ #1}{}}
\markboth{leftmark}{rightmark}
%------------------以下部分可寫成一個(gè)文件然后以章節(jié)形式導(dǎo)入---------------------------
\section{引\texorpdfstring{\quad}{} 言} % 將\quad替換為“ ”在書簽中顯示
\subsection{課題的目的和意義}
核輻射開始放假\upcite{1,2,3}
\newpage
\section{Arial Unicode MS}
%----------------------------------------------------------------------------------------------------------
\include{conclusion_reference_thanks}
\end{document}
- 論文參考文獻(xiàn)格式源文件
mybst.bst
% -*- coding=utf-8 -*-
% BibTeX standard bibliography style `unsrt'
% Version 0.99b (8-Dec-10 release) for BibTeX versions 0.99a or later.
% Copyright (C) 1984, 1985, 1988, 2010 Howard Trickey and Oren Patashnik.
% Unlimited copying and redistribution of this file are permitted as long as
% it is unmodified. Modifications (and redistribution of modified versions)
% are also permitted, but only if the resulting file is renamed to something
% besides btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
% This restriction helps ensure that all standard styles are identical.
% The file btxbst.doc has the documentation for this style.
ENTRY
{ address
author
booktitle
chapter
edition
editor
howpublished
institution
journal
key
month
note
number
organization
pages
publisher
school
series
title
type
volume
year
}
{}
{ label }
INTEGERS { output.state before.all mid.sentence after.sentence after.block }
FUNCTION {init.state.consts}
{ #0 'before.all :=
#1 'mid.sentence :=
#2 'after.sentence :=
#3 'after.block :=
}
STRINGS { s t }
FUNCTION {output.nonnull}
{ 's :=
output.state mid.sentence =
{ ". " * write$ }
{ output.state after.block =
{ add.period$ write$
newline$
"\newblock " write$
}
{ output.state before.all =
'write$
{ add.period$ " " * write$ }
if$
}
if$
mid.sentence 'output.state :=
}
if$
s
}
FUNCTION {output}
{ duplicate$ empty$
'pop$
'output.nonnull
if$
}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
{ pop$ "empty " t * " in " * cite$ * warning$ }
'output.nonnull
if$
}
FUNCTION {output.bibitem}
{ newline$
"\bibitem{" write$
cite$ write$
"}" write$
newline$
""
before.all 'output.state :=
}
FUNCTION {fin.entry}
{ % 去掉add.period$
write$
newline$
}
FUNCTION {new.block}
{ output.state before.all =
'skip$
{ after.block 'output.state := }
if$
}
FUNCTION {new.sentence}
{ output.state after.block =
'skip$
{ output.state before.all =
'skip$
{ after.sentence 'output.state := }
if$
}
if$
}
FUNCTION {not}
{ { #0 }
{ #1 }
if$
}
FUNCTION {and}
{ 'skip$
{ pop$ #0 }
if$
}
FUNCTION {or}
{ { pop$ #1 }
'skip$
if$
}
FUNCTION {new.block.checka}
{ empty$
'skip$
'new.block
if$
}
FUNCTION {new.block.checkb}
{ empty$
swap$ empty$
and
'skip$
'new.block
if$
}
FUNCTION {new.sentence.checka}
{ empty$
'skip$
'new.sentence
if$
}
FUNCTION {new.sentence.checkb}
{ empty$
swap$ empty$
and
'skip$
'new.sentence
if$
}
FUNCTION {field.or.null}
{ duplicate$ empty$
{ pop$ "" }
'skip$
if$
}
FUNCTION {emphasize}
{ duplicate$ empty$
{ pop$ "" }
{ "{\em " swap$ * "}" * }
if$
}
INTEGERS { nameptr namesleft numnames }
FUNCTION {format.names}
{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
nameptr #1 >
{ namesleft #1 >
{ ", " * t * }
{ numnames #2 >
{ "," * }
'skip$
if$
t "others" =
{ " et~al." * }
{ " and " * t * }
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
FUNCTION {format.names.cn}
{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
nameptr #1 >
{ namesleft #1 >
{ ", " * t * }
{ numnames #2 >
{ "," * }
'skip$
if$
t "其他" =
{ " {\kaishu 等}." * }
{ " and " * t * }
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
FUNCTION {format.authors.cn}
{ author empty$
{ "" }
{ author format.names.cn }
if$
}
FUNCTION {format.authors}
{ author empty$
{ "" }
{ author format.names }
if$
}
FUNCTION {format.editors}
{ editor empty$
{ "" }
{ editor format.names
editor num.names$ #1 >
{ ", editors" * }
{ ", editor" * }
if$
}
if$
}
FUNCTION {format.title}
{ title empty$
{ "" }
{ title "t" change.case$ }
if$
}
FUNCTION {n.dashify}
{ 't :=
""
{ t empty$ not }
{ t #1 #1 substring$ "-" =
{ t #1 #2 substring$ "--" = not
{ "--" *
t #2 global.max$ substring$ 't :=
}
{ { t #1 #1 substring$ "-" = }
{ "-" *
t #2 global.max$ substring$ 't :=
}
while$
}
if$
}
{ t #1 #1 substring$ *
t #2 global.max$ substring$ 't :=
}
if$
}
while$
}
FUNCTION {format.date}
{ year empty$
{ month empty$
{ "" }
{ "there's a month but no year in " cite$ * warning$
month
}
if$
}
{ month empty$
'year
{ month " " * year * }
if$
}
if$
}
FUNCTION {format.btitle}
{ title emphasize
}
FUNCTION {tie.or.space.connect}
{ duplicate$ text.length$ #3 <
{ "~" }
{ " " }
if$
swap$ * *
}
FUNCTION {either.or.check}
{ empty$
'pop$
{ "can't use both " swap$ * " fields in " * cite$ * warning$ }
if$
}
FUNCTION {format.bvolume}
{ volume empty$
{ "" }
{ "volume" volume tie.or.space.connect
series empty$
'skip$
{ " of " * series emphasize * }
if$
"volume and number" number either.or.check
}
if$
}
FUNCTION {format.number.series}
{ volume empty$
{ number empty$
{ series field.or.null }
{ output.state mid.sentence =
{ "number" }
{ "Number" }
if$
number tie.or.space.connect
series empty$
{ "there's a number but no series in " cite$ * warning$ }
{ " in " * series * }
if$
}
if$
}
{ "" }
if$
}
FUNCTION {format.edition}
{ edition empty$
{ "" }
{ output.state mid.sentence =
{ edition "l" change.case$ " edition" * }
{ edition "t" change.case$ " edition" * }
if$
}
if$
}
INTEGERS { multiresult }
FUNCTION {multi.page.check}
{ 't :=
#0 'multiresult :=
{ multiresult not
t empty$ not
and
}
{ t #1 #1 substring$
duplicate$ "-" =
swap$ duplicate$ "," =
swap$ "+" =
or or
{ #1 'multiresult := }
{ t #2 global.max$ substring$ 't := }
if$
}
while$
multiresult
}
FUNCTION {format.pages}
{ pages empty$
{ "" }
{ pages multi.page.check
{ "pages" pages n.dashify tie.or.space.connect }
{ "page" pages tie.or.space.connect }
if$
}
if$
}
FUNCTION {format.vol.num.pages}
{
volume empty$
'skip$
{ duplicate$ empty$
{ pop$ format.volume }
{ ", " * volume * }
if$
}
if$
number empty$
'skip$
{ "(" number * ")" * *
volume empty$
{ "there's a number but no volume in " cite$ * warning$ }
'skip$
if$
}
if$
pages empty$
'skip$
{ duplicate$ empty$
{ pop$ format.pages }
{ ":" * pages n.dashify * }
if$
}
if$
}
FUNCTION {format.chapter.pages}
{ chapter empty$
'format.pages
{ type empty$
{ "chapter" }
{ type "l" change.case$ }
if$
chapter tie.or.space.connect
pages empty$
'skip$
{ ", " * format.pages * }
if$
}
if$
}
FUNCTION {format.in.ed.booktitle}
{ booktitle empty$
{ "" }
{ editor empty$
{ "In " booktitle emphasize * }
{ "In " format.editors * ", " * booktitle emphasize * }
if$
}
if$
}
FUNCTION {empty.misc.check}
{ author empty$ title empty$ howpublished empty$
month empty$ year empty$ note empty$
and and and and and
{ "all relevant fields are empty in " cite$ * warning$ }
'skip$
if$
}
FUNCTION {format.thesis.type}
{ type empty$
'skip$
{ pop$
type "t" change.case$
}
if$
}
FUNCTION {format.tr.number}
{ type empty$
{ "Technical Report" }
'type
if$
number empty$
{ "t" change.case$ }
{ number tie.or.space.connect }
if$
}
FUNCTION {format.article.crossref}
{ key empty$
{ journal empty$
{ "need key or journal for " cite$ * " to crossref " * crossref *
warning$
""
}
{ "In {\em " journal * "\/}" * }
if$
}
{ "In " key * }
if$
" \cite{" * crossref * "}" *
}
FUNCTION {format.crossref.editor}
{ editor #1 "{vv~}{ll}" format.name$
editor num.names$ duplicate$
#2 >
{ pop$ " et~al." * }
{ #2 <
'skip$
{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
{ " et~al." * }
{ " and " * editor #2 "{vv~}{ll}" format.name$ * }
if$
}
if$
}
if$
}
FUNCTION {format.book.crossref}
{ volume empty$
{ "empty volume in " cite$ * "'s crossref of " * crossref * warning$
"In "
}
{ "Volume" volume tie.or.space.connect
" of " *
}
if$
editor empty$
editor field.or.null author field.or.null =
or
{ key empty$
{ series empty$
{ "need editor, key, or series for " cite$ * " to crossref " *
crossref * warning$
"" *
}
{ "{\em " * series * "\/}" * }
if$
}
{ key * }
if$
}
{ format.crossref.editor * }
if$
" \cite{" * crossref * "}" *
}
FUNCTION {format.incoll.inproc.crossref}
{ editor empty$
editor field.or.null author field.or.null =
or
{ key empty$
{ booktitle empty$
{ "need editor, key, or booktitle for " cite$ * " to crossref " *
crossref * warning$
""
}
{ "In {\em " booktitle * "\/}" * }
if$
}
{ "In " key * }
if$
}
{ "In " format.crossref.editor * }
if$
" \cite{" * crossref * "}" *
}
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
new.block
format.title "title" output.check
new.block
crossref missing$
{ journal "journal" output.check
format.date "year" output.check
format.vol.num.pages output
}
{ format.article.crossref output.nonnull
format.pages output
}
if$
new.block
note output
fin.entry
}
FUNCTION {article_cn}
{ output.bibitem
format.authors.cn "author" output.check
new.block
format.title "title" output.check
new.block
crossref missing$
{ journal "journal" output.check
format.date "year" output.check
format.vol.num.pages output
}
{ format.article.crossref output.nonnull
format.pages output
}
if$
new.block
note output
fin.entry
}
FUNCTION {book}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check }
{ format.authors output.nonnull
crossref missing$
{ "author and editor" editor either.or.check }
'skip$
if$
}
if$
new.block
format.btitle "title" output.check
crossref missing$
{ format.bvolume output
new.block
format.number.series output
new.sentence
publisher "publisher" output.check
address output
}
{ new.block
format.book.crossref output.nonnull
}
if$
format.edition output
format.date "year" output.check
new.block
note output
fin.entry
}
FUNCTION {booklet}
{ output.bibitem
format.authors output
new.block
format.title "title" output.check
howpublished address new.block.checkb
howpublished output
address output
format.date output
new.block
note output
fin.entry
}
FUNCTION {inbook}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check }
{ format.authors output.nonnull
crossref missing$
{ "author and editor" editor either.or.check }
'skip$
if$
}
if$
new.block
format.btitle "title" output.check
crossref missing$
{ format.bvolume output
format.chapter.pages "chapter and pages" output.check
new.block
format.number.series output
new.sentence
publisher "publisher" output.check
address output
}
{ format.chapter.pages "chapter and pages" output.check
new.block
format.book.crossref output.nonnull
}
if$
format.edition output
format.date "year" output.check
new.block
note output
fin.entry
}
FUNCTION {incollection}
{ output.bibitem
format.authors "author" output.check
new.block
format.title "title" output.check
new.block
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
format.bvolume output
format.number.series output
format.chapter.pages output
new.sentence
publisher "publisher" output.check
address output
format.edition output
format.date "year" output.check
}
{ format.incoll.inproc.crossref output.nonnull
format.chapter.pages output
}
if$
new.block
note output
fin.entry
}
FUNCTION {inproceedings}
{ output.bibitem
format.authors "author" output.check
new.block
format.title "title" output.check
new.block
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
format.bvolume output
format.number.series output
format.pages output
address empty$
{ organization publisher new.sentence.checkb
organization output
publisher output
format.date "year" output.check
}
{ address output.nonnull
format.date "year" output.check
new.sentence
organization output
publisher output
}
if$
}
{ format.incoll.inproc.crossref output.nonnull
format.pages output
}
if$
new.block
note output
fin.entry
}
FUNCTION {conference} { inproceedings }
FUNCTION {manual}
{ output.bibitem
author empty$
{ organization empty$
'skip$
{ organization output.nonnull
address output
}
if$
}
{ format.authors output.nonnull }
if$
new.block
format.btitle "title" output.check
author empty$
{ organization empty$
{ address new.block.checka
address output
}
'skip$
if$
}
{ organization address new.block.checkb
organization output
address output
}
if$
format.edition output
format.date output
new.block
note output
fin.entry
}
FUNCTION {mastersthesis}
{ output.bibitem
format.authors "author" output.check
new.block
format.title "title" output.check
new.block
"Master's thesis" format.thesis.type output.nonnull
school "school" output.check
address output
format.date "year" output.check
new.block
note output
fin.entry
}
FUNCTION {misc}
{ output.bibitem
format.authors output
title howpublished new.block.checkb
format.title output
howpublished new.block.checka
howpublished output
format.date output
new.block
note output
fin.entry
empty.misc.check
}
FUNCTION {phdthesis}
{ output.bibitem
format.authors "author" output.check
new.block
format.btitle "title" output.check
new.block
"PhD thesis" format.thesis.type output.nonnull
school "school" output.check
address output
format.date "year" output.check
new.block
note output
fin.entry
}
FUNCTION {proceedings}
{ output.bibitem
editor empty$
{ organization output }
{ format.editors output.nonnull }
if$
new.block
format.btitle "title" output.check
format.bvolume output
format.number.series output
address empty$
{ editor empty$
{ publisher new.sentence.checka }
{ organization publisher new.sentence.checkb
organization output
}
if$
publisher output
format.date "year" output.check
}
{ address output.nonnull
format.date "year" output.check
new.sentence
editor empty$
'skip$
{ organization output }
if$
publisher output
}
if$
new.block
note output
fin.entry
}
FUNCTION {techreport}
{ output.bibitem
format.authors "author" output.check
new.block
format.title "title" output.check
new.block
format.tr.number output.nonnull
institution "institution" output.check
address output
format.date "year" output.check
new.block
note output
fin.entry
}
FUNCTION {unpublished}
{ output.bibitem
format.authors "author" output.check
new.block
format.title "title" output.check
new.block
note "note" output.check
format.date output
fin.entry
}
FUNCTION {default.type} { misc }
MACRO {jan} {"January"}
MACRO {feb} {"February"}
MACRO {mar} {"March"}
MACRO {apr} {"April"}
MACRO {may} {"May"}
MACRO {jun} {"June"}
MACRO {jul} {"July"}
MACRO {aug} {"August"}
MACRO {sep} {"September"}
MACRO {oct} {"October"}
MACRO {nov} {"November"}
MACRO {dec} {"December"}
MACRO {acmcs} {"ACM Computing Surveys"}
MACRO {acta} {"Acta Informatica"}
MACRO {cacm} {"Communications of the ACM"}
MACRO {ibmjrd} {"IBM Journal of Research and Development"}
MACRO {ibmsj} {"IBM Systems Journal"}
MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
MACRO {ieeetc} {"IEEE Transactions on Computers"}
MACRO {ieeetcad}
{"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
MACRO {ipl} {"Information Processing Letters"}
MACRO {jacm} {"Journal of the ACM"}
MACRO {jcss} {"Journal of Computer and System Sciences"}
MACRO {scp} {"Science of Computer Programming"}
MACRO {sicomp} {"SIAM Journal on Computing"}
MACRO {tocs} {"ACM Transactions on Computer Systems"}
MACRO {tods} {"ACM Transactions on Database Systems"}
MACRO {tog} {"ACM Transactions on Graphics"}
MACRO {toms} {"ACM Transactions on Mathematical Software"}
MACRO {toois} {"ACM Transactions on Office Information Systems"}
MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
MACRO {tcs} {"Theoretical Computer Science"}
READ
STRINGS { longest.label }
INTEGERS { number.label longest.label.width }
FUNCTION {initialize.longest.label}
{ "" 'longest.label :=
#1 'number.label :=
#0 'longest.label.width :=
}
FUNCTION {longest.label.pass}
{ number.label int.to.str$ 'label :=
number.label #1 + 'number.label :=
label width$ longest.label.width >
{ label 'longest.label :=
label width$ 'longest.label.width :=
}
'skip$
if$
}
EXECUTE {initialize.longest.label}
ITERATE {longest.label.pass}
FUNCTION {begin.bib}
{ preamble$ empty$
'skip$
{ preamble$ write$ newline$ }
if$
"\begin{thebibliography}{" longest.label * "}" * write$ newline$
}
EXECUTE {begin.bib}
EXECUTE {init.state.consts}
ITERATE {call.type$}
FUNCTION {end.bib}
{ newline$
"\end{thebibliography}" write$ newline$
}
EXECUTE {end.bib}
由于默認(rèn)的加粗方式不是偽加粗松嘶,而是以粗體字代替原字體,例如宋體加粗后以黑體的形式展示挎扰,因此標(biāo)題中的黑體默認(rèn)是粗體翠订,換句話說即中的黑體不支持加粗命令。如果非要加粗或者改成黑體的正常體遵倦,可以嘗試修改線寬尽超。