├── 1.面上项目-正文.docx ├── 1.面上项目-正文.pdf ├── fig-example.eps ├── getpdf.bat ├── runpdf ├── myexample.bib ├── README.md ├── LICENSE ├── nsfc-temp.tex ├── .gitignore ├── nsfc.sty └── ieeetrNSFC.bst /1.面上项目-正文.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Readon/NSFC-application-template-latex/HEAD/1.面上项目-正文.docx -------------------------------------------------------------------------------- /1.面上项目-正文.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Readon/NSFC-application-template-latex/HEAD/1.面上项目-正文.pdf -------------------------------------------------------------------------------- /fig-example.eps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Readon/NSFC-application-template-latex/HEAD/fig-example.eps -------------------------------------------------------------------------------- /getpdf.bat: -------------------------------------------------------------------------------- 1 | latexmk -xelatex -file-line-error -halt-on-error -interaction=nonstopmode -synctex=1 nsfc-temp.tex -------------------------------------------------------------------------------- /runpdf: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | date 3 | xelatex nsfc-temp.tex 4 | bibtex nsfc-temp.aux 5 | xelatex nsfc-temp.tex 6 | xelatex nsfc-temp.tex 7 | exit 0 -------------------------------------------------------------------------------- /myexample.bib: -------------------------------------------------------------------------------- 1 | 2 | @ARTICLE{John1997, 3 | AUTHOR = {John, J. and George, G.}, 4 | TITLE = "Do you believe it", 5 | JOURNAL = {Arbitrary Joural on Jinkela}, 6 | VOLUME = "5", 7 | NUMBER = "11", 8 | PAGES = "3827", 9 | YEAR = "1997" 10 | } 11 | 12 | @article{Smith1900, 13 | title = {I believe it}, 14 | author = {Smith, O. and Smith, P. and Smith, Q. and Smith, R. and Smith, S. and Smith, T.}, 15 | year = {1900}, 16 | issue = {15}, 17 | numpages = {4}, 18 | journal = {Arbitrary Joural on Jinkela}, 19 | pages = {155002}, 20 | volume = {98} 21 | } 22 | 23 | @article{Piter1992, 24 | title = {I dont believe it}, 25 | author = {Piter, O. and Piter, P. and Piter, Q. and Piter, R. and Piter, S.}, 26 | year = {1992}, 27 | issue = {15}, 28 | journal = {Arbitrary Joural of ShengDiYaGe}, 29 | pages = {00001}, 30 | volume = {92} 31 | } 32 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # NSFC application template latex (unofficial) 2 | 3 | ### 国家自然科学基金申请书正文(面上项目)LaTeX 模板 (自制非官方) 4 | 5 | 由个人根据官方MsWord模版制作。本模版的作者尽力使本模版和官方模版生成的PDF文件视觉效果大致一样,然而,并不保证本模版有用,也不对使用本模版造成的任何直接或间接后果负责。 不得将本模版用于商用或获取经济利益。本模版可以自由修改以满足用户自己的需要。但是如果要传播本模版,则只能传播未经修改的版本。使用本模版意味着同意上述声明。 6 | 7 | 如有问题,请发送邮件到 ryanzz@foxmail.com 中了基金的也欢迎反馈。 8 | *** 9 | ### 2023.1.3: 10 | 突然多了很多下载,看来又到了写基金申请书的季节了~~注意:申请书模板每年可能会略有微小的文字上的改动。因此强烈建议提交之前找官网上下载的MSword模板自己对照一下,尤其注意蓝字部分是否完全一样。等2023年的面上项目开放申请之后我会根据最新的官方MSword模板更新最新的tex文件(其实完全可以自己修改,并没有多少技术含量)。 11 | *** 12 | ### 2023.1.20: 13 | 2023年度国家自然科学基金申报已经开始。根据基金委最新发布的面上项目正文MsWord模板做了更新。如果发现错误请及时告诉我。改动如下: 14 | 1. 根据官方模板蓝字部分的微小改动做了更正; 15 | 2. 更正四号字大小为14pt (上个版本不知道为何改成了15pt); 16 | 3. 增加了一点文字说明,缩小了一下插图尺寸(不重要)。 17 | *** 18 | ### 2023.1.29: 19 | 非常感谢几位老师的建议和指出的问题!做了几处小改动,为了和官方模板的格式更加接近: 20 | 1. section标题按照官方模板的样式缩进两个字符; 21 | 2. 缩小了“请勿删除或改动下述提纲标题及括号中的文字。”与“(一)立项依据与研究内容(建议8000字以下):” 这两行的间距; 22 | 3. “参考文献”四个字的字号调整为四号,居左,楷体。(可以根据喜好自行调整)。 23 | *** 24 | ### 2023.2.1: 25 | 按照官方模板的格式,蓝字部分中的阿拉伯数字不再加粗。谢谢指正。 26 | *** 27 | 28 | 29 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Rui Yan 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /nsfc-temp.tex: -------------------------------------------------------------------------------- 1 | %!TEX program = xelatex 2 | % 编译顺序: xelatex -> bibtex -> xelatex -> xelatex 3 | % 国家自然科学基金NSFC面上项目申请书正文模板(2023年版)version1.0 4 | % 声明: 5 | % 注意!!!非国家自然科学基金委官方模版!!!由个人根据官方MsWord模版制作。本模版的作者尽力使本模版和官方模版生成的PDF文件视觉效果大致一样,然而,并不保证本模版有用,也不对使用本模版造成的任何直接或间接后果负责。 不得将本模版用于商用或获取经济利益。本模版可以自由修改以满足用户自己的需要。但是如果要传播本模版,则只能传播未经修改的版本。使用本模版意味着同意上述声明。 6 | % 强烈建议自己对照官方MsWord模板确认格式和文字是否一致,尤其是蓝字部分。 7 | % 如有问题,可以发邮件到ryanzz@foxmail.com 8 | 9 | 10 | 11 | \documentclass[12pt,UTF8,AutoFakeBold=3,a4paper]{ctexart} %默认小四号字。允许楷体粗体。 12 | \usepackage{nsfc} 13 | 14 | \usepackage{graphicx} 15 | \usepackage{amsmath} %更多数学符号 16 | \usepackage{wasysym} 17 | \usepackage[unicode]{hyperref} %提供跳转链接 18 | 19 | %%%% 正文开始 %%%% 20 | \begin{document} 21 | \makehead 22 | \makebasis 23 | 24 | 对于习惯用 \LaTeX 写文档的同学们,一个写基金申请书的模版可能有参考作用。因此我做了这个2021年面上项目申请书正文部分模版。祝大家基金申请顺利! 25 | 26 | 2023-01-20: 根据2023年面上项目申请书正文的官方MsWord模板,对本模板的字号和少量蓝色文字做了更新。 27 | 28 | 2023-01-29\&02-01: 根据几位老师的建议,对section的缩进,“参考文献”四个字的大小、字体和居左等做了调整。官方模板中阿拉伯数字不加粗,因此也做了相应的调整。 29 | 30 | \begin{figure}[!th] 31 | \begin{center} 32 | \includegraphics[width=1.8in]{fig-example.eps} 33 | \caption{插图可以使用EPS、PNG、JPG等格式。} 34 | \label{fig:example} 35 | \end{center} 36 | \end{figure} 37 | 38 | 39 | 40 | \vskip 2mm 41 | \subsubsection{1.1 声明} 42 | {\bfseries \color{red} 注意!!!非国家自然科学基金委官方模版!!!}由个人根据官方MsWord模版制作。本模版的作者尽力使本模版和官方模版生成的PDF文件视觉效果大致一样,然而,并不保证本模版有用,也不对使用本模版造成的任何直接或间接后果负责。 不得将本模版用于商用或获取经济利益。本模版可以自由修改以满足用户自己的需要。但是如果要传播本模版,则只能传播未经修改的版本。使用本模版意味着同意上述声明。 43 | 44 | 如有问题,请发送邮件到 \href{mailto:ryanzz@foxmail.com}{ryanzz@foxmail.com}。中了基金的也欢迎反馈。$\smiley$ 45 | 46 | \subsubsection{1.2 使用说明}\label{sss:instruction} 47 | 48 | \begin{enumerate} 49 | \item 编译环境:推荐使用跨平台编译器texlive2017以后的版本,编译顺序为:xelatex+bibtex+xelatex(x2)。windows用户可以用命令行运行批处理文件getpdf.bat,linux用户可以运行runpdf。 50 | \item 本模版力求简单,语句自身说明问题(self explanatory)。几乎只需要修改本tex文件即可满足排版需求,没有sty cls 等文件。用户掌握最基本的\LaTeX 语句即可操作,其余的可以用搜索引擎较容易地获得。 51 | \item 参考文献样式:对作者个数作了限制以适合申请书,当作者个数小于等于5个时,予以全部保留,当作者个数大于5个时,只保留前3个,加et al。参考文献需要放在bib文件中。样式由ieeetrNSFC.bst控制。 52 | \end{enumerate} 53 | 54 | \subsubsection{1.3 图、公式和参考文献的引用示例} 55 | 尽管不大可能会用到像下面这样简单的公式: 56 | \begin{equation} 57 | \label{eq:ex} 58 | \sqrt[15]{a}=\frac{1}{2}, 59 | \end{equation} 60 | 我们还是用Eq.(\ref{eq:ex})举个数学公式的例子。同时,我们也不大可能会用到一个长得很像\LaTeX 的图,但是还是引用一下图\ref{fig:example}。图\ref{fig:example}并没有告诉我们关于Jinkela\cite{John1997,Smith1900}的任何信息,也没有透露它的产地\cite{Piter1992}。尽管如此,最近的研究表明,Feizhou非常需要Jinkela\cite{John1997}。 61 | 62 | 63 | %对作者个数作了限制以适合申请书 64 | %当作者个数小于等于5个时,予以全部保留,当作者个数大于5个时,只保留3个,加et al 65 | 66 | %\bibliographystyle{ieeetrNSFC} 67 | \bibliography{myexample} 68 | \makecontent 69 | 70 | \subsubsection{2.1 研究内容} 71 | 编制申请面上项目的\LaTeX 模版。 72 | 73 | \subsubsection{2.2 研究目标} 74 | 帮助作者进行快速面上申请书的撰写、排版。 75 | 76 | \subsubsection{2.3 拟解决的关键科学问题} 77 | 拟解决的{\bfseries 关键问题}包括: 78 | 79 | \begin{itemize} 80 | \item 中文的处理。 81 | \item 参考文献\cite{John1997,Smith1900,Piter1992}的样式。 82 | \item 官方word模版格式套用。 83 | \item 符合\LaTeX 格式与内容分离的思想。 84 | \end{itemize} 85 | 86 | \makeproposal 87 | 88 | \subsubsection{3.1 拟采取的研究方案} 89 | 详见1.2使用说明。 90 | 91 | \subsubsection{3.2 可行性分析} 92 | 见pdf输出效果文件。 93 | 94 | \makeinnovation 95 | 96 | 本模版修改自由度很高,可以按照用户自己的需求修改而不要求用户具有很多\LaTeX 技巧。 97 | 98 | \makeplan 99 | 100 | \subsubsection{5.1 年度研究计划} 101 | 102 | \subsubsection{5.2 预期研究结果} 103 | 拟组织研讨会1次,将这个模版广而告之。但是目前还没有经费。 104 | 105 | \makeresearchbase 106 | 107 | 申请人用\LaTeX 写过几篇文章,包括自己的博士论文。 108 | 109 | \makerequirement 110 | 111 | 申请人课题组具有可以编译 \LaTeX 的计算机,可以成功编译此模版。 112 | 113 | \makeongoing 114 | 115 | 无。 116 | 117 | \makecompletion 118 | 119 | 不告诉你。 120 | 121 | \makeotherprojects 122 | 123 | 无。 124 | 125 | \makeapplicantconflict 126 | 127 | 无。 128 | 129 | \makeongoingconflict 130 | 131 | 无。 132 | 133 | \maketitlechanging 134 | 135 | 无。 136 | 137 | \makeothers 138 | 139 | 无。 140 | \end{document} 141 | 142 | 143 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by https://www.toptal.com/developers/gitignore/api/latex 2 | # Edit at https://www.toptal.com/developers/gitignore?templates=latex 3 | 4 | ### LaTeX ### 5 | ## Core latex/pdflatex auxiliary files: 6 | *.aux 7 | *.lof 8 | *.log 9 | *.lot 10 | *.fls 11 | *.out 12 | *.toc 13 | *.fmt 14 | *.fot 15 | *.cb 16 | *.cb2 17 | .*.lb 18 | 19 | ## Intermediate documents: 20 | *.dvi 21 | *.xdv 22 | *-converted-to.* 23 | # these rules might exclude image files for figures etc. 24 | # *.ps 25 | # *.eps 26 | # *.pdf 27 | 28 | ## Generated if empty string is given at "Please type another file name for output:" 29 | .pdf 30 | 31 | ## Bibliography auxiliary files (bibtex/biblatex/biber): 32 | *.bbl 33 | *.bcf 34 | *.blg 35 | *-blx.aux 36 | *-blx.bib 37 | *.run.xml 38 | 39 | ## Build tool auxiliary files: 40 | *.fdb_latexmk 41 | *.synctex 42 | *.synctex(busy) 43 | *.synctex.gz 44 | *.synctex.gz(busy) 45 | *.pdfsync 46 | 47 | ## Build tool directories for auxiliary files 48 | # latexrun 49 | latex.out/ 50 | 51 | ## Auxiliary and intermediate files from other packages: 52 | # algorithms 53 | *.alg 54 | *.loa 55 | 56 | # achemso 57 | acs-*.bib 58 | 59 | # amsthm 60 | *.thm 61 | 62 | # beamer 63 | *.nav 64 | *.pre 65 | *.snm 66 | *.vrb 67 | 68 | # changes 69 | *.soc 70 | 71 | # comment 72 | *.cut 73 | 74 | # cprotect 75 | *.cpt 76 | 77 | # elsarticle (documentclass of Elsevier journals) 78 | *.spl 79 | 80 | # endnotes 81 | *.ent 82 | 83 | # fixme 84 | *.lox 85 | 86 | # feynmf/feynmp 87 | *.mf 88 | *.mp 89 | *.t[1-9] 90 | *.t[1-9][0-9] 91 | *.tfm 92 | 93 | #(r)(e)ledmac/(r)(e)ledpar 94 | *.end 95 | *.?end 96 | *.[1-9] 97 | *.[1-9][0-9] 98 | *.[1-9][0-9][0-9] 99 | *.[1-9]R 100 | *.[1-9][0-9]R 101 | *.[1-9][0-9][0-9]R 102 | *.eledsec[1-9] 103 | *.eledsec[1-9]R 104 | *.eledsec[1-9][0-9] 105 | *.eledsec[1-9][0-9]R 106 | *.eledsec[1-9][0-9][0-9] 107 | *.eledsec[1-9][0-9][0-9]R 108 | 109 | # glossaries 110 | *.acn 111 | *.acr 112 | *.glg 113 | *.glo 114 | *.gls 115 | *.glsdefs 116 | *.lzo 117 | *.lzs 118 | *.slg 119 | *.slo 120 | *.sls 121 | 122 | # uncomment this for glossaries-extra (will ignore makeindex's style files!) 123 | # *.ist 124 | 125 | # gnuplot 126 | *.gnuplot 127 | *.table 128 | 129 | # gnuplottex 130 | *-gnuplottex-* 131 | 132 | # gregoriotex 133 | *.gaux 134 | *.glog 135 | *.gtex 136 | 137 | # htlatex 138 | *.4ct 139 | *.4tc 140 | *.idv 141 | *.lg 142 | *.trc 143 | *.xref 144 | 145 | # hyperref 146 | *.brf 147 | 148 | # knitr 149 | *-concordance.tex 150 | # TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files 151 | # *.tikz 152 | *-tikzDictionary 153 | 154 | # listings 155 | *.lol 156 | 157 | # luatexja-ruby 158 | *.ltjruby 159 | 160 | # makeidx 161 | *.idx 162 | *.ilg 163 | *.ind 164 | 165 | # minitoc 166 | *.maf 167 | *.mlf 168 | *.mlt 169 | *.mtc[0-9]* 170 | *.slf[0-9]* 171 | *.slt[0-9]* 172 | *.stc[0-9]* 173 | 174 | # minted 175 | _minted* 176 | *.pyg 177 | 178 | # morewrites 179 | *.mw 180 | 181 | # newpax 182 | *.newpax 183 | 184 | # nomencl 185 | *.nlg 186 | *.nlo 187 | *.nls 188 | 189 | # pax 190 | *.pax 191 | 192 | # pdfpcnotes 193 | *.pdfpc 194 | 195 | # sagetex 196 | *.sagetex.sage 197 | *.sagetex.py 198 | *.sagetex.scmd 199 | 200 | # scrwfile 201 | *.wrt 202 | 203 | # svg 204 | svg-inkscape/ 205 | 206 | # sympy 207 | *.sout 208 | *.sympy 209 | sympy-plots-for-*.tex/ 210 | 211 | # pdfcomment 212 | *.upa 213 | *.upb 214 | 215 | # pythontex 216 | *.pytxcode 217 | pythontex-files-*/ 218 | 219 | # tcolorbox 220 | *.listing 221 | 222 | # thmtools 223 | *.loe 224 | 225 | # TikZ & PGF 226 | *.dpth 227 | *.md5 228 | *.auxlock 229 | 230 | # titletoc 231 | *.ptc 232 | 233 | # todonotes 234 | *.tdo 235 | 236 | # vhistory 237 | *.hst 238 | *.ver 239 | 240 | # easy-todo 241 | *.lod 242 | 243 | # xcolor 244 | *.xcp 245 | 246 | # xmpincl 247 | *.xmpi 248 | 249 | # xindy 250 | *.xdy 251 | 252 | # xypic precompiled matrices and outlines 253 | *.xyc 254 | *.xyd 255 | 256 | # endfloat 257 | *.ttt 258 | *.fff 259 | 260 | # Latexian 261 | TSWLatexianTemp* 262 | 263 | ## Editors: 264 | # WinEdt 265 | *.bak 266 | *.sav 267 | 268 | # Texpad 269 | .texpadtmp 270 | 271 | # LyX 272 | *.lyx~ 273 | 274 | # Kile 275 | *.backup 276 | 277 | # gummi 278 | .*.swp 279 | 280 | # KBibTeX 281 | *~[0-9]* 282 | 283 | # TeXnicCenter 284 | *.tps 285 | 286 | # auto folder when using emacs and auctex 287 | ./auto/* 288 | *.el 289 | 290 | # expex forward references with \gathertags 291 | *-tags.tex 292 | 293 | # standalone packages 294 | *.sta 295 | 296 | # Makeindex log files 297 | *.lpz 298 | 299 | # xwatermark package 300 | *.xwm 301 | 302 | # REVTeX puts footnotes in the bibliography by default, unless the nofootinbib 303 | # option is specified. Footnotes are the stored in a file with suffix Notes.bib. 304 | # Uncomment the next line to have this generated file ignored. 305 | #*Notes.bib 306 | 307 | ### LaTeX Patch ### 308 | # LIPIcs / OASIcs 309 | *.vtc 310 | 311 | # glossaries 312 | *.glstex 313 | 314 | # End of https://www.toptal.com/developers/gitignore/api/latex 315 | -------------------------------------------------------------------------------- /nsfc.sty: -------------------------------------------------------------------------------- 1 | \usepackage[english]{babel} %支持混合语言 2 | \usepackage{xcolor} 3 | \usepackage{geometry} %改改尺寸 4 | \usepackage{enumitem} 5 | \usepackage{titlesec} 6 | \usepackage{caption} 7 | \usepackage{gbt7714} 8 | 9 | %调整参考文献标题格式和上下文间隔。 10 | \bibliographystyle{gbt7714-numerical} 11 | \setlength{\bibsep}{0.0pt} 12 | \renewcommand\bibsection{\vspace{-6ex}\section*{\refname}\vspace{-11ex}} 13 | 14 | %\geometry{left=3.23cm,right=3.23cm,top=2.54cm,bottom=2.54cm} 15 | %latex的页边距比word的视觉效果要大一些,稍微调整一下 16 | %\geometry{left=2.95cm,right=2.95cm,top=2.54cm,bottom=2.54cm}%2020 17 | \geometry{left=3.00cm,right=3.07cm,top=2.67cm,bottom=3.27cm} 18 | \pagestyle{empty} 19 | \setcounter{secnumdepth}{-2} %不让那些section和subsection自带标号,标号格式自己掌握 20 | \titlespacing{\subsubsection}{2em}{1ex}{1ex} %设置小节标题前后文字间距。 21 | 22 | \definecolor{MsBlue}{RGB}{0,112,192} %Ms Word 的蓝色和latex xcolor包预定义的蓝色不一样。通过屏幕取色得到。 23 | % Renaming floats with babel 24 | \addto\captionsenglish{ 25 | \renewcommand{\contentsname}{目录} 26 | \renewcommand{\listfigurename}{插图目录} 27 | \renewcommand{\listtablename}{表格} 28 | %\renewcommand{\refname}{\sihao 参考文献} 29 | \renewcommand{\refname}{\sihao \kaishu \leftline{参考文献}} %这几个字默认字号稍大,改成四号字,楷书,居左(默认居中) 根据喜好自行修改,官方模板未作要求 30 | \renewcommand{\abstractname}{摘要} 31 | \renewcommand{\indexname}{索引} 32 | \renewcommand{\tablename}{表} 33 | \renewcommand{\figurename}{图} 34 | } %把Figure改成‘图’,reference改成‘参考文献’。如此处理是为了避免和babel包冲突。 35 | %定义字号 36 | \newcommand{\chuhao}{\fontsize{42pt}{\baselineskip}\selectfont} 37 | \newcommand{\xiaochuhao}{\fontsize{36pt}{\baselineskip}\selectfont} 38 | \newcommand{\yihao}{\fontsize{26pt}{\baselineskip}\selectfont} 39 | \newcommand{\erhao}{\fontsize{22pt}{\baselineskip}\selectfont} 40 | \newcommand{\xiaoerhao}{\fontsize{18pt}{\baselineskip}\selectfont} 41 | \newcommand{\sanhao}{\fontsize{16pt}{\baselineskip}\selectfont} 42 | \newcommand{\sihao}{\fontsize{14.05pt}{\baselineskip}\selectfont} 43 | \newcommand{\xiaosihao}{\fontsize{12pt}{\baselineskip}\selectfont} 44 | \newcommand{\wuhao}{\fontsize{10.5pt}{\baselineskip}\selectfont} 45 | \newcommand{\xiaowuhao}{\fontsize{9pt}{\baselineskip}\selectfont} 46 | \newcommand{\liuhao}{\fontsize{7.875pt}{\baselineskip}\selectfont} 47 | \newcommand{\qihao}{\fontsize{5.25pt}{\baselineskip}\selectfont} 48 | %解决阿拉伯数字字体问题 49 | \newfontfamily\kaitichar{KaiTi}[AutoFakeBold] %定义楷体英文和数字。 50 | \NewDocumentCommand \templatefont { } { \kaishu \kaitichar } %使用模板字体代替直接使用楷书。 51 | \setmainfont{Times New Roman} 52 | %去除item的行间隔 53 | \setlist{nosep} 54 | %使用中文字符宽度作为边界计算依据定位列表项的格式。 55 | \newlength{\zhcharwidth} 56 | \settowidth{\zhcharwidth}{\xiaosihao 中} 57 | %使用实心圆点作为列表项的label 58 | \setlist[itemize,1]{label=\Large$\bullet$,leftmargin=3.5\zhcharwidth} 59 | \setlist[enumerate]{leftmargin=0em, itemindent=3.5\zhcharwidth, listparindent=\parindent, parsep=0pt, partopsep=0pt} 60 | \setlist[enumerate,1]{label=\arabic*),} 61 | \setlist[description]{leftmargin=0em, itemindent=2\zhcharwidth} 62 | 63 | %设置题注的前后间隔。 64 | \captionsetup{belowskip=-1.5em, aboveskip=1ex} 65 | 66 | %字号对照表 67 | %二号 21pt 68 | %四号 14 69 | %小四 12 70 | %五号 10.5 71 | %设置行距 1.5倍 72 | \renewcommand{\baselinestretch}{1.5} 73 | \XeTeXlinebreaklocale "zh" % 中文断行 74 | 75 | \newcommand{\makehead}{ 76 | \begin{quotation} 77 | \centering{ \sanhao \templatefont \bfseries 报告正文} 78 | \end{quotation} 79 | \vskip -1.02mm 80 | 81 | {\sihao \templatefont 参照以下提纲撰写,要求内容翔实、清晰,层次分明,标题突出。{\color{MsBlue} \bfseries 请勿删除或改动下述提纲标题及括号中的文字。}} 82 | } 83 | 84 | \newcommand{\makebasis}{ 85 | \vskip -5mm 86 | {\color{MsBlue} \subsection{\sihao \templatefont \quad (一)立项依据与研究内容(建议8000字以下): }} 87 | 88 | {\sihao \templatefont \color{MsBlue} 1.{\bfseries 项目的立项依据}(研究意义、国内外研究现状及发展动态分析,需结合科学研究发展趋势来论述科学意义;或结合国民经济和社会发展中迫切需要解决的关键科技问题来论述其应用前景。附主要参考文献目录);} 89 | \vskip 2mm 90 | } 91 | 92 | \newcommand{\makecontent}{ 93 | \newpage 94 | 95 | {\sihao \templatefont \color{MsBlue} 2.{\bfseries 项目的研究内容、研究目标,以及拟解决的关键科学问题}(此部分为重点阐述内容);} 96 | } 97 | 98 | \newcommand{\makeproposal}{ 99 | {\sihao \templatefont \color{MsBlue} 3.{\bfseries 拟采取的研究方案及可行性分析} (包括研究方法、技术路线、实验手段、关键技术等说明);} 100 | } 101 | 102 | \newcommand{\makeinnovation}{ 103 | {\sihao \templatefont \color{MsBlue} 4.{\bfseries 本项目的特色与创新之处;}} 104 | } 105 | 106 | \newcommand{\makeplan}{ 107 | {\sihao \templatefont \color{MsBlue} 5.{\bfseries 年度研究计划及预期研究结果}(包括拟组织的重要学术交流活动、国际合作与交流计划等)。} 108 | } 109 | 110 | \newcommand{\makeresearchbase}{ 111 | \vskip -5mm %可以通过类似的命令微调行距以使得排版美观 112 | 113 | {\color{MsBlue} \subsection{\sihao \templatefont \quad \ (二)研究基础与工作条件 }} 114 | 115 | {\sihao \templatefont \color{MsBlue} 1.{\bfseries 研究基础}(与本项目相关的研究工作积累和已取得的研究工作成绩);} 116 | } 117 | 118 | \newcommand{\makerequirement}{ 119 | {\sihao \templatefont \color{MsBlue} 2.{\bfseries 工作条件}(包括已具备的实验条件,尚缺少的实验条件和拟解决的途径,包括利用国家实验室、国家重点实验室和部门重点实验室等研究基地的计划与落实情况);} 120 | } 121 | 122 | \newcommand{\makeongoing}{ 123 | {\sihao \templatefont \color{MsBlue} 3.{\bfseries 正在承担的与本项目相关的科研项目情况}(申请人和主要参与者正在承担的与本项目相关的科研项目情况,包括国家自然科学基金的项目和国家其他科技计划项目,要注明项目的资助机构、项目类别、批准号、项目名称、获资助金额、起止年月、与本项目的关系及负责的内容等);} 124 | } 125 | 126 | \newcommand{\makecompletion}{ 127 | {\sihao \templatefont \color{MsBlue} 4.{\bfseries 完成国家自然科学基金项目情况}(对申请人负责的前一个已资助期满的科学基金项目(项目名称及批准号)完成情况、后续研究进展及与本申请项目的关系加以详细说明。另附该项目的研究工作总结摘要(限500字)和相关成果详细目录)。} 128 | } 129 | 130 | \newcommand{\makeotherprojects}{ 131 | {\color{MsBlue} \subsection{\sihao \templatefont \quad \ (三)其他需要说明的情况 }} 132 | 133 | {\sihao \templatefont \color{MsBlue} 1.申请人同年申请不同类型的国家自然科学基金项目情况(列明同年申请的其他项目的项目类型、项目名称信息,并说明与本项目之间的区别与联系;已收到自然科学基金委不予受理或不予资助决定的,无需列出)。 } 134 | } 135 | 136 | \newcommand{\makeapplicantconflict}{ 137 | {\sihao \templatefont \color{MsBlue} 2.具有高级专业技术职务(职称)的申请人或者主要参与者是否存在同年申请或者参与申请国家自然科学基金项目的单位不一致的情况;如存在上述情况,列明所涉及人员的姓名,申请或参与申请的其他项目的项目类型、项目名称、单位名称、上述人员在该项目中是申请人还是参与者,并说明单位不一致原因。} 138 | } 139 | 140 | \newcommand{\makeongoingconflict}{ 141 | {\sihao \templatefont \color{MsBlue} 3.具有高级专业技术职务(职称)的申请人或者主要参与者是否存在与正在承担的国家自然科学基金项目的单位不一致的情况;如存在上述情况,列明所涉及人员的姓名,正在承担项目的批准号、项目类型、项目名称、单位名称、起止年月,并说明单位不一致原因。} 142 | } 143 | 144 | \newcommand{\maketitlechanging}{ 145 | {\sihao \templatefont \color{MsBlue} 4.同年以不同专业技术职务(职称)申请或参与申请科学基金项目的情况(应详细说明原因)。} 146 | } 147 | 148 | \newcommand{\makeothers}{ 149 | {\sihao \templatefont \color{MsBlue} 5.其他。} 150 | } -------------------------------------------------------------------------------- /ieeetrNSFC.bst: -------------------------------------------------------------------------------- 1 | % Copyright (C) 1985, 1988, 2010 Howard Trickey and Oren Patashnik. 2 | % Unlimited copying and redistribution of this file are permitted as long as 3 | % it is unmodified. Modifications (and redistribution of modified versions) 4 | % are also permitted, but only if the resulting file is renamed. 5 | % 6 | % IEEE Transactions bibliography style (8-Dec-10 version) 7 | % numeric labels, order-of-reference, IEEE abbreviations, 8 | % quotes around article titles, commas separate all fields 9 | % except after book titles and before "notes". Otherwise, 10 | % much like the "plain" family, from which this is adapted. 11 | % 12 | % History 13 | % 9/30/85 (HWT) Original version, by Howard Trickey. 14 | % 1/29/88 (OP&HWT) Updated for BibTeX version 0.99a, Oren Patashnik; 15 | % THIS `ieeetr' VERSION DOES NOT WORK WITH BIBTEX 0.98i. 16 | % 12/ 8/10 (OP&HWT) Clarify license. 17 | 18 | ENTRY 19 | { address 20 | author 21 | booktitle 22 | chapter 23 | edition 24 | editor 25 | howpublished 26 | institution 27 | journal 28 | key 29 | month 30 | note 31 | number 32 | organization 33 | pages 34 | publisher 35 | school 36 | series 37 | title 38 | type 39 | volume 40 | year 41 | } 42 | {} 43 | { label } 44 | 45 | INTEGERS { output.state before.all mid.sentence after.quote after.sentence 46 | after.quoted.block after.block } 47 | 48 | FUNCTION {init.state.consts} 49 | { #0 'before.all := 50 | #1 'mid.sentence := 51 | #2 'after.quote := 52 | #3 'after.sentence := 53 | #4 'after.quoted.block := 54 | #5 'after.block := 55 | } 56 | 57 | STRINGS { s t } 58 | 59 | FUNCTION {output.nonnull} 60 | { 's := 61 | output.state mid.sentence = 62 | { ", " * write$ } 63 | { output.state after.quote = 64 | { " " * write$ } 65 | { output.state after.block = 66 | { add.period$ write$ 67 | newline$ 68 | "\newblock " write$ 69 | } 70 | { output.state before.all = 71 | 'write$ 72 | { output.state after.quoted.block = 73 | { write$ 74 | newline$ 75 | "\newblock " write$ 76 | } 77 | { add.period$ " " * write$ } 78 | if$ 79 | } 80 | if$ 81 | } 82 | if$ 83 | } 84 | if$ 85 | mid.sentence 'output.state := 86 | } 87 | if$ 88 | s 89 | } 90 | 91 | FUNCTION {output} 92 | { duplicate$ empty$ 93 | 'pop$ 94 | 'output.nonnull 95 | if$ 96 | } 97 | 98 | FUNCTION {output.check} 99 | { 't := 100 | duplicate$ empty$ 101 | { pop$ "empty " t * " in " * cite$ * warning$ } 102 | 'output.nonnull 103 | if$ 104 | } 105 | 106 | FUNCTION {output.bibitem} 107 | { newline$ 108 | "\bibitem{" write$ 109 | cite$ write$ 110 | "}" write$ 111 | newline$ 112 | "" 113 | before.all 'output.state := 114 | } 115 | 116 | FUNCTION {blank.sep} 117 | { after.quote 'output.state := 118 | } 119 | 120 | FUNCTION {fin.entry} 121 | { output.state after.quoted.block = 122 | 'skip$ 123 | 'add.period$ 124 | if$ 125 | write$ 126 | newline$ 127 | } 128 | 129 | FUNCTION {new.block} 130 | { output.state before.all = 131 | 'skip$ 132 | { output.state after.quote = 133 | { after.quoted.block 'output.state := } 134 | { after.block 'output.state := } 135 | if$ 136 | } 137 | if$ 138 | } 139 | 140 | FUNCTION {new.sentence} 141 | { output.state after.block = 142 | 'skip$ 143 | { output.state before.all = 144 | 'skip$ 145 | { after.sentence 'output.state := } 146 | if$ 147 | } 148 | if$ 149 | } 150 | 151 | FUNCTION {not} 152 | { { #0 } 153 | { #1 } 154 | if$ 155 | } 156 | 157 | FUNCTION {and} 158 | { 'skip$ 159 | { pop$ #0 } 160 | if$ 161 | } 162 | 163 | FUNCTION {or} 164 | { { pop$ #1 } 165 | 'skip$ 166 | if$ 167 | } 168 | 169 | FUNCTION {new.block.checka} 170 | { empty$ 171 | 'skip$ 172 | 'new.block 173 | if$ 174 | } 175 | 176 | FUNCTION {new.block.checkb} 177 | { empty$ 178 | swap$ empty$ 179 | and 180 | 'skip$ 181 | 'new.block 182 | if$ 183 | } 184 | 185 | FUNCTION {new.sentence.checka} 186 | { empty$ 187 | 'skip$ 188 | 'new.sentence 189 | if$ 190 | } 191 | 192 | FUNCTION {field.or.null} 193 | { duplicate$ empty$ 194 | { pop$ "" } 195 | 'skip$ 196 | if$ 197 | } 198 | 199 | FUNCTION {emphasize} 200 | { duplicate$ empty$ 201 | { pop$ "" } 202 | { "{\em " swap$ * "}" * } 203 | if$ 204 | } 205 | 206 | INTEGERS { nameptr namesleft numnames } 207 | 208 | FUNCTION {format.names} 209 | { 's := 210 | #1 'nameptr := 211 | s num.names$ 'numnames := 212 | numnames 'namesleft := 213 | { namesleft #0 > } 214 | { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := 215 | nameptr #1 > 216 | { 217 | nameptr #3 218 | #1 + = 219 | numnames #5 220 | > and 221 | { "others" 't := 222 | #1 'namesleft := } 223 | 'skip$ 224 | if$ 225 | namesleft #1 > 226 | { ", " * t * } 227 | { numnames #2 > 228 | { "," * } 229 | 'skip$ 230 | if$ 231 | t "others" = 232 | { " {\em et~al.}" * } 233 | { " and " * t * } 234 | if$ 235 | } 236 | if$ 237 | } 238 | 't 239 | if$ 240 | nameptr #1 + 'nameptr := 241 | namesleft #1 - 'namesleft := 242 | } 243 | while$ 244 | } 245 | 246 | FUNCTION {format.authors} 247 | { author empty$ 248 | { "" } 249 | { author format.names } 250 | if$ 251 | } 252 | 253 | FUNCTION {format.editors} 254 | { editor empty$ 255 | { "" } 256 | { editor format.names 257 | editor num.names$ #1 > 258 | { ", eds." * } 259 | { ", ed." * } 260 | if$ 261 | } 262 | if$ 263 | } 264 | 265 | FUNCTION {format.title} 266 | { title empty$ 267 | { "" } 268 | { "``" title "t" change.case$ * ",''" * } 269 | if$ 270 | } 271 | 272 | FUNCTION {format.title.p} 273 | { title empty$ 274 | { "" } 275 | { "``" title "t" change.case$ * ".''" * } 276 | if$ 277 | } 278 | 279 | FUNCTION {n.dashify} 280 | { 't := 281 | "" 282 | { t empty$ not } 283 | { t #1 #1 substring$ "-" = 284 | { t #1 #2 substring$ "--" = not 285 | { "--" * 286 | t #2 global.max$ substring$ 't := 287 | } 288 | { { t #1 #1 substring$ "-" = } 289 | { "-" * 290 | t #2 global.max$ substring$ 't := 291 | } 292 | while$ 293 | } 294 | if$ 295 | } 296 | { t #1 #1 substring$ * 297 | t #2 global.max$ substring$ 't := 298 | } 299 | if$ 300 | } 301 | while$ 302 | } 303 | 304 | FUNCTION {format.date} 305 | { year empty$ 306 | { month empty$ 307 | { "" } 308 | { "there's a month but no year in " cite$ * warning$ 309 | month 310 | } 311 | if$ 312 | } 313 | { month empty$ 314 | 'year 315 | { month " " * year * } 316 | if$ 317 | } 318 | if$ 319 | } 320 | 321 | FUNCTION {format.btitle} 322 | { title emphasize 323 | } 324 | 325 | FUNCTION {tie.or.space.connect} 326 | { duplicate$ text.length$ #3 < 327 | { "~" } 328 | { " " } 329 | if$ 330 | swap$ * * 331 | } 332 | 333 | FUNCTION {either.or.check} 334 | { empty$ 335 | 'pop$ 336 | { "can't use both " swap$ * " fields in " * cite$ * warning$ } 337 | if$ 338 | } 339 | 340 | FUNCTION {format.bvolume} 341 | { volume empty$ 342 | { "" } 343 | { "vol.~" volume * 344 | series empty$ 345 | 'skip$ 346 | { " of " * series emphasize * } 347 | if$ 348 | "volume and number" number either.or.check 349 | } 350 | if$ 351 | } 352 | 353 | FUNCTION {format.number.series} 354 | { volume empty$ 355 | { number empty$ 356 | { series field.or.null } 357 | { output.state mid.sentence = 358 | { "no.~" } 359 | { "No.~" } 360 | if$ 361 | number * 362 | series empty$ 363 | { "there's a number but no series in " cite$ * warning$ } 364 | { " in " * series * } 365 | if$ 366 | } 367 | if$ 368 | } 369 | { "" } 370 | if$ 371 | } 372 | 373 | FUNCTION {format.edition} 374 | { edition empty$ 375 | { "" } 376 | { edition "l" change.case$ "~ed." * } 377 | if$ 378 | } 379 | 380 | INTEGERS { multiresult } 381 | 382 | FUNCTION {multi.page.check} 383 | { 't := 384 | #0 'multiresult := 385 | { multiresult not 386 | t empty$ not 387 | and 388 | } 389 | { t #1 #1 substring$ 390 | duplicate$ "-" = 391 | swap$ duplicate$ "," = 392 | swap$ "+" = 393 | or or 394 | { #1 'multiresult := } 395 | { t #2 global.max$ substring$ 't := } 396 | if$ 397 | } 398 | while$ 399 | multiresult 400 | } 401 | 402 | FUNCTION {format.pages} 403 | { pages empty$ 404 | { "" } 405 | { pages multi.page.check 406 | { "pp.~" pages n.dashify * } 407 | { "p.~" pages * } 408 | if$ 409 | } 410 | if$ 411 | } 412 | 413 | FUNCTION {format.volume} 414 | { volume empty$ 415 | { "" } 416 | { "vol.~" volume * } 417 | if$ 418 | } 419 | 420 | FUNCTION {format.number} 421 | { number empty$ 422 | { "" } 423 | { "no.~" number * } 424 | if$ 425 | } 426 | 427 | FUNCTION {format.chapter.pages} 428 | { chapter empty$ 429 | 'format.pages 430 | { type empty$ 431 | { "ch.~" chapter * } 432 | { type "l" change.case$ chapter tie.or.space.connect } 433 | if$ 434 | pages empty$ 435 | 'skip$ 436 | { ", " * format.pages * } 437 | if$ 438 | } 439 | if$ 440 | } 441 | 442 | FUNCTION {format.in.ed.booktitle} 443 | { booktitle empty$ 444 | { "" } 445 | { "in " booktitle emphasize * 446 | editor empty$ 447 | 'skip$ 448 | { " (" * format.editors * ")" * } 449 | if$ 450 | } 451 | if$ 452 | } 453 | 454 | FUNCTION {format.thesis.type} 455 | { type empty$ 456 | 'skip$ 457 | { pop$ 458 | output.state after.block = 459 | { type "t" change.case$ } 460 | { type "l" change.case$ } 461 | if$ 462 | } 463 | if$ 464 | } 465 | 466 | FUNCTION {empty.misc.check} 467 | { author empty$ title empty$ howpublished empty$ 468 | month empty$ year empty$ note empty$ 469 | and and and and and 470 | { "all relevant fields are empty in " cite$ * warning$ } 471 | 'skip$ 472 | if$ 473 | } 474 | 475 | FUNCTION {format.tr.number} 476 | { type empty$ 477 | { "Tech. Rep." } 478 | 'type 479 | if$ 480 | number empty$ 481 | { "l" change.case$ } 482 | { number tie.or.space.connect } 483 | if$ 484 | } 485 | 486 | FUNCTION {format.addr.pub} 487 | { publisher empty$ 488 | { "" } 489 | { address empty$ 490 | { "" } 491 | { address ": " * } 492 | if$ 493 | publisher * 494 | } 495 | if$ 496 | } 497 | 498 | FUNCTION {format.paddress} 499 | { address empty$ 500 | { "" } 501 | { "(" address * ")" * } 502 | if$ 503 | } 504 | 505 | FUNCTION {format.article.crossref} 506 | { key empty$ 507 | { journal empty$ 508 | { "need key or journal for " cite$ * " to crossref " * crossref * 509 | warning$ 510 | "" 511 | } 512 | { "in {\em " journal * "\/}" * } 513 | if$ 514 | } 515 | { "in " key * } 516 | if$ 517 | " \cite{" * crossref * "}" * 518 | } 519 | 520 | FUNCTION {format.crossref.editor} 521 | { editor #1 "{vv~}{ll}" format.name$ 522 | editor num.names$ duplicate$ 523 | #2 > 524 | { pop$ " {\em et~al.}" * } 525 | { #2 < 526 | 'skip$ 527 | { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = 528 | { " {\em et~al.}" * } 529 | { " and " * editor #2 "{vv~}{ll}" format.name$ * } 530 | if$ 531 | } 532 | if$ 533 | } 534 | if$ 535 | } 536 | 537 | FUNCTION {format.book.crossref} 538 | { volume empty$ 539 | { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ 540 | "In " 541 | } 542 | { "Vol.~" volume * 543 | " of " * 544 | } 545 | if$ 546 | editor empty$ 547 | editor field.or.null author field.or.null = 548 | or 549 | { key empty$ 550 | { series empty$ 551 | { "need editor, key, or series for " cite$ * " to crossref " * 552 | crossref * warning$ 553 | "" * 554 | } 555 | { "{\em " * series * "\/}" * } 556 | if$ 557 | } 558 | { key * } 559 | if$ 560 | } 561 | { format.crossref.editor * } 562 | if$ 563 | " \cite{" * crossref * "}" * 564 | } 565 | 566 | FUNCTION {format.incoll.inproc.crossref} 567 | { editor empty$ 568 | editor field.or.null author field.or.null = 569 | or 570 | { key empty$ 571 | { booktitle empty$ 572 | { "need editor, key, or booktitle for " cite$ * " to crossref " * 573 | crossref * warning$ 574 | "" 575 | } 576 | { "in {\em " booktitle * "\/}" * } 577 | if$ 578 | } 579 | { "in " key * } 580 | if$ 581 | } 582 | { "in " format.crossref.editor * } 583 | if$ 584 | " \cite{" * crossref * "}" * 585 | } 586 | 587 | FUNCTION {article} 588 | { output.bibitem 589 | format.authors "author" output.check 590 | format.title "title" output.check 591 | blank.sep 592 | crossref missing$ 593 | { journal emphasize "journal" output.check 594 | format.volume output 595 | month empty$ 596 | { format.number output } 597 | 'skip$ 598 | if$ 599 | format.pages output 600 | format.date "year" output.check 601 | } 602 | { format.article.crossref output.nonnull 603 | format.pages output 604 | } 605 | if$ 606 | new.block 607 | note output 608 | fin.entry 609 | } 610 | 611 | FUNCTION {book} 612 | { output.bibitem 613 | author empty$ 614 | { format.editors "author and editor" output.check } 615 | { format.authors output.nonnull 616 | crossref missing$ 617 | { "author and editor" editor either.or.check } 618 | 'skip$ 619 | if$ 620 | } 621 | if$ 622 | format.btitle "title" output.check 623 | crossref missing$ 624 | { format.bvolume output 625 | new.block 626 | format.number.series output 627 | format.addr.pub "publisher" output.check 628 | } 629 | { new.block 630 | format.book.crossref output.nonnull 631 | } 632 | if$ 633 | format.edition output 634 | format.date "year" output.check 635 | new.block 636 | note output 637 | fin.entry 638 | } 639 | 640 | FUNCTION {booklet} 641 | { output.bibitem 642 | format.authors output 643 | title empty$ 644 | { "empty title in " cite$ * warning$ 645 | howpublished new.sentence.checka 646 | } 647 | { howpublished empty$ not 648 | address empty$ month empty$ year empty$ and and 649 | or 650 | { format.title.p output.nonnull } 651 | { format.title output.nonnull } 652 | if$ 653 | blank.sep 654 | } 655 | if$ 656 | howpublished output 657 | address output 658 | format.date output 659 | new.block 660 | note output 661 | fin.entry 662 | } 663 | 664 | FUNCTION {inbook} 665 | { output.bibitem 666 | author empty$ 667 | { format.editors "author and editor" output.check } 668 | { format.authors output.nonnull 669 | crossref missing$ 670 | { "author and editor" editor either.or.check } 671 | 'skip$ 672 | if$ 673 | } 674 | if$ 675 | format.btitle "title" output.check 676 | crossref missing$ 677 | { format.bvolume output 678 | format.chapter.pages "chapter and pages" output.check 679 | new.block 680 | format.number.series output 681 | format.addr.pub "publisher" output.check 682 | } 683 | { format.chapter.pages "chapter and pages" output.check 684 | new.block 685 | format.book.crossref output.nonnull 686 | } 687 | if$ 688 | format.edition output 689 | format.date "year" output.check 690 | new.block 691 | note output 692 | fin.entry 693 | } 694 | 695 | FUNCTION {incollection} 696 | { output.bibitem 697 | format.authors "author" output.check 698 | format.title "title" output.check 699 | blank.sep 700 | crossref missing$ 701 | { format.in.ed.booktitle "booktitle" output.check 702 | format.bvolume output 703 | format.number.series output 704 | format.chapter.pages output 705 | format.addr.pub "publisher" output.check 706 | format.edition output 707 | format.date "year" output.check 708 | } 709 | { format.incoll.inproc.crossref output.nonnull 710 | format.chapter.pages output 711 | } 712 | if$ 713 | new.block 714 | note output 715 | fin.entry 716 | } 717 | 718 | FUNCTION {inproceedings} 719 | { output.bibitem 720 | format.authors "author" output.check 721 | format.title "title" output.check 722 | blank.sep 723 | crossref missing$ 724 | { format.in.ed.booktitle "booktitle" output.check 725 | format.bvolume output 726 | format.number.series output 727 | format.paddress output 728 | format.pages output 729 | organization output 730 | publisher output 731 | format.date "year" output.check 732 | } 733 | { format.incoll.inproc.crossref output.nonnull 734 | format.pages output 735 | } 736 | if$ 737 | new.block 738 | note output 739 | fin.entry 740 | } 741 | 742 | FUNCTION {conference} { inproceedings } 743 | 744 | FUNCTION {manual} 745 | { output.bibitem 746 | author empty$ 747 | { organization empty$ 748 | 'skip$ 749 | { organization output.nonnull 750 | address output 751 | } 752 | if$ 753 | } 754 | { format.authors output.nonnull } 755 | if$ 756 | format.btitle "title" output.check 757 | author empty$ 758 | { organization empty$ 759 | { address new.block.checka 760 | address output 761 | } 762 | 'skip$ 763 | if$ 764 | } 765 | { organization address new.block.checkb 766 | organization output 767 | address output 768 | } 769 | if$ 770 | format.edition output 771 | format.date output 772 | new.block 773 | note output 774 | fin.entry 775 | } 776 | 777 | FUNCTION {mastersthesis} 778 | { output.bibitem 779 | format.authors "author" output.check 780 | format.title "title" output.check 781 | blank.sep 782 | "Master's thesis" format.thesis.type output.nonnull 783 | school "school" output.check 784 | address output 785 | format.date "year" output.check 786 | new.block 787 | note output 788 | fin.entry 789 | } 790 | 791 | FUNCTION {misc} 792 | { output.bibitem 793 | format.authors output 794 | title empty$ 795 | { howpublished new.sentence.checka } 796 | { howpublished empty$ not 797 | month empty$ year empty$ and 798 | or 799 | { format.title.p output.nonnull } 800 | { format.title output.nonnull } 801 | if$ 802 | blank.sep 803 | } 804 | if$ 805 | howpublished output 806 | format.date output 807 | new.block 808 | note output 809 | fin.entry 810 | empty.misc.check 811 | } 812 | 813 | FUNCTION {phdthesis} 814 | { output.bibitem 815 | format.authors "author" output.check 816 | format.btitle "title" output.check 817 | new.block 818 | "PhD thesis" format.thesis.type output.nonnull 819 | school "school" output.check 820 | address output 821 | format.date "year" output.check 822 | new.block 823 | note output 824 | fin.entry 825 | } 826 | 827 | FUNCTION {proceedings} 828 | { output.bibitem 829 | editor empty$ 830 | { organization output } 831 | { format.editors output.nonnull } 832 | if$ 833 | format.btitle "title" output.check 834 | format.bvolume output 835 | format.number.series output 836 | format.paddress output 837 | editor empty$ 838 | 'skip$ 839 | { organization output } 840 | if$ 841 | publisher output 842 | format.date "year" output.check 843 | new.block 844 | note output 845 | fin.entry 846 | } 847 | 848 | FUNCTION {techreport} 849 | { output.bibitem 850 | format.authors "author" output.check 851 | format.title "title" output.check 852 | blank.sep 853 | format.tr.number output.nonnull 854 | institution "institution" output.check 855 | address output 856 | format.date "year" output.check 857 | new.block 858 | note output 859 | fin.entry 860 | } 861 | 862 | FUNCTION {unpublished} 863 | { output.bibitem 864 | format.authors "author" output.check 865 | format.title.p "title" output.check 866 | blank.sep 867 | note "note" output.check 868 | format.date output 869 | fin.entry 870 | } 871 | 872 | FUNCTION {default.type} { misc } 873 | 874 | MACRO {jan} {"Jan."} 875 | 876 | MACRO {feb} {"Feb."} 877 | 878 | MACRO {mar} {"Mar."} 879 | 880 | MACRO {apr} {"Apr."} 881 | 882 | MACRO {may} {"May"} 883 | 884 | MACRO {jun} {"June"} 885 | 886 | MACRO {jul} {"July"} 887 | 888 | MACRO {aug} {"Aug."} 889 | 890 | MACRO {sep} {"Sept."} 891 | 892 | MACRO {oct} {"Oct."} 893 | 894 | MACRO {nov} {"Nov."} 895 | 896 | MACRO {dec} {"Dec."} 897 | 898 | MACRO {acmcs} {"ACM Computing Surveys"} 899 | 900 | MACRO {acta} {"Acta Informatica"} 901 | 902 | MACRO {cacm} {"Communications ACM"} 903 | 904 | MACRO {ibmjrd} {"IBM J. Research and Development"} 905 | 906 | MACRO {ibmsj} {"IBM Systems~J."} 907 | 908 | MACRO {ieeese} {"IEEE Trans. Software Engineering"} 909 | 910 | MACRO {ieeetc} {"IEEE Trans. Computers"} 911 | 912 | MACRO {ieeetcad} 913 | {"IEEE Trans. Computer-Aided Design"} 914 | 915 | MACRO {ipl} {"Information Processing Letters"} 916 | 917 | MACRO {jacm} {"J.~ACM"} 918 | 919 | MACRO {jcss} {"J.~Computer and System Sciences"} 920 | 921 | MACRO {scp} {"Science of Computer Programming"} 922 | 923 | MACRO {sicomp} {"SIAM J. Computing"} 924 | 925 | MACRO {tocs} {"ACM Trans. Computer Systems"} 926 | 927 | MACRO {tods} {"ACM Trans. Database Systems"} 928 | 929 | MACRO {tog} {"ACM Trans. Graphics"} 930 | 931 | MACRO {toms} {"ACM Trans. Mathematical Software"} 932 | 933 | MACRO {toois} {"ACM Trans. Office Information Systems"} 934 | 935 | MACRO {toplas} {"ACM Trans. Programming Languages and Systems"} 936 | 937 | MACRO {tcs} {"Theoretical Computer Science"} 938 | 939 | READ 940 | 941 | STRINGS { longest.label } 942 | 943 | INTEGERS { number.label longest.label.width } 944 | 945 | FUNCTION {initialize.longest.label} 946 | { "" 'longest.label := 947 | #1 'number.label := 948 | #0 'longest.label.width := 949 | } 950 | 951 | FUNCTION {longest.label.pass} 952 | { number.label int.to.str$ 'label := 953 | number.label #1 + 'number.label := 954 | label width$ longest.label.width > 955 | { label 'longest.label := 956 | label width$ 'longest.label.width := 957 | } 958 | 'skip$ 959 | if$ 960 | } 961 | 962 | EXECUTE {initialize.longest.label} 963 | 964 | ITERATE {longest.label.pass} 965 | 966 | FUNCTION {begin.bib} 967 | { preamble$ empty$ 968 | 'skip$ 969 | { preamble$ write$ newline$ } 970 | if$ 971 | "\begin{thebibliography}{" longest.label * "}" * write$ newline$ 972 | } 973 | 974 | EXECUTE {begin.bib} 975 | 976 | EXECUTE {init.state.consts} 977 | 978 | ITERATE {call.type$} 979 | 980 | FUNCTION {end.bib} 981 | { newline$ 982 | "\end{thebibliography}" write$ newline$ 983 | } 984 | 985 | EXECUTE {end.bib} 986 | --------------------------------------------------------------------------------