├── .gitignore ├── Cmm.bib ├── README.md ├── figures ├── Objectness.jpg ├── awards.jpg ├── framework.pdf ├── pipeline.pdf ├── sal.jpg ├── teaser.jpg └── work.jpg ├── nsfc.bst ├── nsfc.sty ├── prepare └── NSFC-Figs.pptx ├── 青年.tex └── 面上.tex /.gitignore: -------------------------------------------------------------------------------- 1 | Main.aux 2 | Main.bbl 3 | Main.blg 4 | Main.fdb_latexmk 5 | Main.fls 6 | Main.log 7 | Main.pdf 8 | Main.synctex.gz 9 | -------------------------------------------------------------------------------- /Cmm.bib: -------------------------------------------------------------------------------- 1 | @article{Wolfe_attributesVisual, 2 | author = {J. M. Wolfe and T. S. Horowitz}, 3 | journal = {Nature Reviews Neuroscience}, 4 | title = {What attributes guide the deployment of visual attention and how do they do it?}, 5 | pages = "5:1--7", 6 | year = {2004}, 7 | } 8 | 9 | 10 | 11 | @article{Treisman_featureIntegration, 12 | author = {Anne M Triesman and Garry Gelade}, 13 | journal = {Cognitive Psychology}, 14 | title = {A feature-integration theory of attention}, 15 | volume = {12}, 16 | number = {1}, 17 | pages = {97--136}, 18 | year = {1980}, 19 | } 20 | 21 | @Article{KochVisualAttention, 22 | author = "C. Koch and S. Ullman", 23 | year = "1985", 24 | journal = "Human Neurbiology", 25 | pages = "219--227", 26 | title = "Shifts in selective visual attention: towards the underlying neural circuitry", 27 | volume = "4", 28 | } 29 | 30 | @Article{ChengZMHH10, 31 | title = "RepFinder: Finding Approximately Repeated Scene Elements for Image Editing", 32 | author = "\textbf{Ming-Ming Cheng} and Fang-Lue Zhang and Niloy J. Mitra and Xiaolei Huang and Shi-Min Hu ", 33 | journal = "ACM Trans. Graph.", 34 | volume = "29", 35 | number = "4", 36 | pages = "83:1--8", 37 | year = "2010", 38 | } 39 | 40 | @ARTICLE{21SC_WebSegE, 41 | author={侯淇彬 and 韩凌昊 and 刘姜江 and \textbf{程明明}}, 42 | journal={中国科学:信息科学}, 43 | title={互联网图像驱动的语义分割自主学习}, 44 | year={2021}, 45 | volume={51}, 46 | number={7}, 47 | pages={1084-1099}, 48 | doi={10.1360/SSI-2020-0146}, 49 | } 50 | 51 | 52 | @article{cheng2014imagespirit, 53 | author = {\textbf{Ming-Ming Cheng} and Zheng, Shuai and Lin, Wen-Yan and Vineet, Vibhav and Sturgess, Paul and Crook, Nigel and Mitra, Niloy J. and Torr, Philip}, 54 | title = {ImageSpirit: Verbal Guided Image Parsing}, 55 | journal = {ACM Trans. Graph.}, 56 | volume = {34}, 57 | number = {1}, 58 | year = {2014}, 59 | pages = {3:1--3:11}, 60 | doi = {10.1145/2682628}, 61 | } 62 | 63 | @misc{sketch2PhotoMost, 64 | author = {中华人民共和国科学技术部}, 65 | title = {强化科学目标导向 为“十二五”国民经济和社会发展提供坚实科学基础——973计划和国家重大科学研究计划2011年项目实施会在京召开}, 66 | howpublished = {\url{https://most.gov.cn/kjbgz/201104/t20110429_86339.html}} 67 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 国家自然科学基金LaTeX模板 2 | 3 | 在这个模版之前,国内基本上没有开源的国家自然科学基金Latex模版。因此,本人根据国家自然科学基金Word模板改造的,适合习惯用LaTex和对格式细节把控有些许洁癖的人士。建议在Windows平台下用TexLive和PDFLaTeX编译(这个配置下参考文献部分对自己名字的加粗会体现出来)。Mac和Linux平台亲测可用(xeLatex或者luaLaTeX)。可以通过Overleaf在线预览:https://www.overleaf.com/read/jydxqkkkskzp 4 | 5 | 6 | 我自己用这个模版成功申请到过国基金杰青项目、优青项目、面上项目等,亲测可用。我自己也认识数十位老师用这个模版的前序版本成功申请到国基金,从未听说过有人因为格式问题遇到障碍。建议大家不要纠结Windows、Mac、Linux等不同平台下的微小字体差异,而是把精力放在材料内容本身。我也考虑过上传字体文件对这些微小的差异做统一,但是会导致模版文件太大,不符合我自己精简的习惯。 7 | 8 | 近期,我根据2025年的模版进行了更新,特别分享了我的撰写经验。根据我自己函评和会评的经历,我也在该模版中把各部分应该注意的问题进行了说明,希望这些经验能够帮助大家更好整理自己思路。 9 | 10 | 如果您有任何修改建议,可以联系:cmm AT nankai dot edu dot cn 11 | 12 | 13 | 南开大学,程明明 14 | -------------------------------------------------------------------------------- /figures/Objectness.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MCG-NKU/NSFC-LaTex/79d12c9c49ae6a3492204ae76cd4656887c857d0/figures/Objectness.jpg -------------------------------------------------------------------------------- /figures/awards.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MCG-NKU/NSFC-LaTex/79d12c9c49ae6a3492204ae76cd4656887c857d0/figures/awards.jpg -------------------------------------------------------------------------------- /figures/framework.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MCG-NKU/NSFC-LaTex/79d12c9c49ae6a3492204ae76cd4656887c857d0/figures/framework.pdf -------------------------------------------------------------------------------- /figures/pipeline.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MCG-NKU/NSFC-LaTex/79d12c9c49ae6a3492204ae76cd4656887c857d0/figures/pipeline.pdf -------------------------------------------------------------------------------- /figures/sal.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MCG-NKU/NSFC-LaTex/79d12c9c49ae6a3492204ae76cd4656887c857d0/figures/sal.jpg -------------------------------------------------------------------------------- /figures/teaser.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MCG-NKU/NSFC-LaTex/79d12c9c49ae6a3492204ae76cd4656887c857d0/figures/teaser.jpg -------------------------------------------------------------------------------- /figures/work.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MCG-NKU/NSFC-LaTex/79d12c9c49ae6a3492204ae76cd4656887c857d0/figures/work.jpg -------------------------------------------------------------------------------- /nsfc.bst: -------------------------------------------------------------------------------- 1 | %% 2 | %% IEEEtran.bst 3 | %% BibTeX Bibliography Style file for IEEE Journals and Conferences (unsorted) 4 | %% Version 1.13 (2008/09/30) 5 | %% 6 | %% Copyright (c) 2003-2008 Michael Shell 7 | %% 8 | %% Original starting code base and algorithms obtained from the output of 9 | %% Patrick W. Daly's makebst package as well as from prior versions of 10 | %% IEEE BibTeX styles: 11 | %% 12 | %% 1. Howard Trickey and Oren Patashnik's ieeetr.bst (1985/1988) 13 | %% 2. Silvano Balemi and Richard H. Roy's IEEEbib.bst (1993) 14 | %% 15 | %% Support sites: 16 | %% http://www.michaelshell.org/tex/ieeetran/ 17 | %% http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/ 18 | %% and/or 19 | %% http://www.ieee.org/ 20 | %% 21 | %% For use with BibTeX version 0.99a or later 22 | %% 23 | %% This is a numerical citation style. 24 | %% 25 | %%************************************************************************* 26 | %% Legal Notice: 27 | %% This code is offered as-is without any warranty either expressed or 28 | %% implied; without even the implied warranty of MERCHANTABILITY or 29 | %% FITNESS FOR A PARTICULAR PURPOSE! 30 | %% User assumes all risk. 31 | %% In no event shall IEEE or any contributor to this code be liable for 32 | %% any damages or losses, including, but not limited to, incidental, 33 | %% consequential, or any other damages, resulting from the use or misuse 34 | %% of any information contained here. 35 | %% 36 | %% All comments are the opinions of their respective authors and are not 37 | %% necessarily endorsed by the IEEE. 38 | %% 39 | %% This work is distributed under the LaTeX Project Public License (LPPL) 40 | %% ( http://www.latex-project.org/ ) version 1.3, and may be freely used, 41 | %% distributed and modified. A copy of the LPPL, version 1.3, is included 42 | %% in the base LaTeX documentation of all distributions of LaTeX released 43 | %% 2003/12/01 or later. 44 | %% Retain all contribution notices and credits. 45 | %% ** Modified files should be clearly indicated as such, including ** 46 | %% ** renaming them and changing author support contact information. ** 47 | %% 48 | %% File list of work: IEEEabrv.bib, IEEEfull.bib, IEEEexample.bib, 49 | %% IEEEtran.bst, IEEEtranS.bst, IEEEtranSA.bst, 50 | %% IEEEtranN.bst, IEEEtranSN.bst, IEEEtran_bst_HOWTO.pdf 51 | %%************************************************************************* 52 | % 53 | % 54 | % Changelog: 55 | % 56 | % 1.00 (2002/08/13) Initial release 57 | % 58 | % 1.10 (2002/09/27) 59 | % 1. Corrected minor bug for improperly formed warning message when a 60 | % book was not given a title. Thanks to Ming Kin Lai for reporting this. 61 | % 2. Added support for CTLname_format_string and CTLname_latex_cmd fields 62 | % in the BST control entry type. 63 | % 64 | % 1.11 (2003/04/02) 65 | % 1. Fixed bug with URLs containing underscores when using url.sty. Thanks 66 | % to Ming Kin Lai for reporting this. 67 | % 68 | % 1.12 (2007/01/11) 69 | % 1. Fixed bug with unwanted comma before "et al." when an entry contained 70 | % more than two author names. Thanks to Pallav Gupta for reporting this. 71 | % 2. Fixed bug with anomalous closing quote in tech reports that have a 72 | % type, but without a number or address. Thanks to Mehrdad Mirreza for 73 | % reporting this. 74 | % 3. Use braces in \providecommand in begin.bib to better support 75 | % latex2html. TeX style length assignments OK with recent versions 76 | % of latex2html - 1.71 (2002/2/1) or later is strongly recommended. 77 | % Use of the language field still causes trouble with latex2html. 78 | % Thanks to Federico Beffa for reporting this. 79 | % 4. Added IEEEtran.bst ID and version comment string to .bbl output. 80 | % 5. Provide a \BIBdecl hook that allows the user to execute commands 81 | % just prior to the first entry. 82 | % 6. Use default urlstyle (is using url.sty) of "same" rather than rm to 83 | % better work with a wider variety of bibliography styles. 84 | % 7. Changed month abbreviations from Sept., July and June to Sep., Jul., 85 | % and Jun., respectively, as IEEE now does. Thanks to Moritz Borgmann 86 | % for reporting this. 87 | % 8. Control entry types should not be considered when calculating longest 88 | % label width. 89 | % 9. Added alias www for electronic/online. 90 | % 10. Added CTLname_url_prefix control entry type. 91 | % 92 | % 1.13 (2008/09/30) 93 | % 1. Fixed bug with edition number to ordinal conversion. Thanks to 94 | % Michael Roland for reporting this and correcting the algorithm. 95 | 96 | 97 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 98 | %% DEFAULTS FOR THE CONTROLS OF THE BST STYLE %% 99 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 100 | 101 | % These are the defaults for the user adjustable controls. The values used 102 | % here can be overridden by the user via IEEEtranBSTCTL entry type. 103 | 104 | % NOTE: The recommended LaTeX command to invoke a control entry type is: 105 | % 106 | %\makeatletter 107 | %\def\bstctlcite{\@ifnextchar[{\@bstctlcite}{\@bstctlcite[@auxout]}} 108 | %\def\@bstctlcite[#1]#2{\@bsphack 109 | % \@for\@citeb:=#2\do{% 110 | % \edef\@citeb{\expandafter\@firstofone\@citeb}% 111 | % \if@filesw\immediate\write\csname #1\endcsname{\string\citation{\@citeb}}\fi}% 112 | % \@esphack} 113 | %\makeatother 114 | % 115 | % It is called at the start of the document, before the first \cite, like: 116 | % \bstctlcite{IEEEexample:BSTcontrol} 117 | % 118 | % IEEEtran.cls V1.6 and later does provide this command. 119 | 120 | 121 | 122 | % #0 turns off the display of the number for articles. 123 | % #1 enables 124 | FUNCTION {default.is.use.number.for.article} { #1 } 125 | 126 | 127 | % #0 turns off the display of the paper and type fields in @inproceedings. 128 | % #1 enables 129 | FUNCTION {default.is.use.paper} { #1 } 130 | 131 | 132 | % #0 turns off the forced use of "et al." 133 | % #1 enables 134 | FUNCTION {default.is.forced.et.al} { #0 } 135 | 136 | % The maximum number of names that can be present beyond which an "et al." 137 | % usage is forced. Be sure that num.names.shown.with.forced.et.al (below) 138 | % is not greater than this value! 139 | % Note: There are many instances of references in IEEE journals which have 140 | % a very large number of authors as well as instances in which "et al." is 141 | % used profusely. 142 | FUNCTION {default.max.num.names.before.forced.et.al} { #10 } 143 | 144 | % The number of names that will be shown with a forced "et al.". 145 | % Must be less than or equal to max.num.names.before.forced.et.al 146 | FUNCTION {default.num.names.shown.with.forced.et.al} { #1 } 147 | 148 | 149 | % #0 turns off the alternate interword spacing for entries with URLs. 150 | % #1 enables 151 | FUNCTION {default.is.use.alt.interword.spacing} { #1 } 152 | 153 | % If alternate interword spacing for entries with URLs is enabled, this is 154 | % the interword spacing stretch factor that will be used. For example, the 155 | % default "4" here means that the interword spacing in entries with URLs can 156 | % stretch to four times normal. Does not have to be an integer. Note that 157 | % the value specified here can be overridden by the user in their LaTeX 158 | % code via a command such as: 159 | % "\providecommand\BIBentryALTinterwordstretchfactor{1.5}" in addition to 160 | % that via the IEEEtranBSTCTL entry type. 161 | FUNCTION {default.ALTinterwordstretchfactor} { "4" } 162 | 163 | 164 | % #0 turns off the "dashification" of repeated (i.e., identical to those 165 | % of the previous entry) names. IEEE normally does this. 166 | % #1 enables 167 | FUNCTION {default.is.dash.repeated.names} { #1 } 168 | 169 | 170 | % The default name format control string. 171 | FUNCTION {default.name.format.string}{ "{f.~}{vv~}{ll}{, jj}" } 172 | 173 | 174 | % The default LaTeX font command for the names. 175 | FUNCTION {default.name.latex.cmd}{ "" } 176 | 177 | 178 | % The default URL prefix. 179 | FUNCTION {default.name.url.prefix}{ "[Online]. Available:" } 180 | 181 | 182 | % Other controls that cannot be accessed via IEEEtranBSTCTL entry type. 183 | 184 | % #0 turns off the terminal startup banner/completed message so as to 185 | % operate more quietly. 186 | % #1 enables 187 | FUNCTION {is.print.banners.to.terminal} { #1 } 188 | 189 | 190 | 191 | 192 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%% 193 | %% FILE VERSION AND BANNER %% 194 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%% 195 | 196 | FUNCTION{bst.file.version} { "1.13" } 197 | FUNCTION{bst.file.date} { "2008/09/30" } 198 | FUNCTION{bst.file.website} { "http://www.michaelshell.org/tex/ieeetran/bibtex/" } 199 | 200 | FUNCTION {banner.message} 201 | { is.print.banners.to.terminal 202 | { "-- IEEEtran.bst version" " " * bst.file.version * 203 | " (" * bst.file.date * ") " * "by Michael Shell." * 204 | top$ 205 | "-- " bst.file.website * 206 | top$ 207 | "-- See the " quote$ * "IEEEtran_bst_HOWTO.pdf" * quote$ * " manual for usage information." * 208 | top$ 209 | } 210 | { skip$ } 211 | if$ 212 | } 213 | 214 | FUNCTION {completed.message} 215 | { is.print.banners.to.terminal 216 | { "" 217 | top$ 218 | "Done." 219 | top$ 220 | } 221 | { skip$ } 222 | if$ 223 | } 224 | 225 | 226 | 227 | 228 | %%%%%%%%%%%%%%%%%%%%%% 229 | %% STRING CONSTANTS %% 230 | %%%%%%%%%%%%%%%%%%%%%% 231 | 232 | FUNCTION {bbl.and}{ "" } 233 | FUNCTION {bbl.etal}{ "et~al." } 234 | FUNCTION {bbl.editors}{ "eds." } 235 | FUNCTION {bbl.editor}{ "ed." } 236 | FUNCTION {bbl.edition}{ "ed." } 237 | FUNCTION {bbl.volume}{ "vol." } 238 | FUNCTION {bbl.of}{ "of" } 239 | FUNCTION {bbl.number}{ "no." } 240 | FUNCTION {bbl.in}{ "in" } 241 | FUNCTION {bbl.pages}{ "pp." } 242 | FUNCTION {bbl.page}{ "p." } 243 | FUNCTION {bbl.chapter}{ "ch." } 244 | FUNCTION {bbl.paper}{ "paper" } 245 | FUNCTION {bbl.part}{ "pt." } 246 | FUNCTION {bbl.patent}{ "Patent" } 247 | FUNCTION {bbl.patentUS}{ "U.S." } 248 | FUNCTION {bbl.revision}{ "Rev." } 249 | FUNCTION {bbl.series}{ "ser." } 250 | FUNCTION {bbl.standard}{ "Std." } 251 | FUNCTION {bbl.techrep}{ "Tech. Rep." } 252 | FUNCTION {bbl.mthesis}{ "Master's thesis" } 253 | FUNCTION {bbl.phdthesis}{ "Ph.D. dissertation" } 254 | FUNCTION {bbl.st}{ "st" } 255 | FUNCTION {bbl.nd}{ "nd" } 256 | FUNCTION {bbl.rd}{ "rd" } 257 | FUNCTION {bbl.th}{ "th" } 258 | 259 | 260 | % This is the LaTeX spacer that is used when a larger than normal space 261 | % is called for (such as just before the address:publisher). 262 | FUNCTION {large.space} { "\hskip 1em plus 0.5em minus 0.4em\relax " } 263 | 264 | % The LaTeX code for dashes that are used to represent repeated names. 265 | % Note: Some older IEEE journals used something like 266 | % "\rule{0.275in}{0.5pt}\," which is fairly thick and runs right along 267 | % the baseline. However, IEEE now uses a thinner, above baseline, 268 | % six dash long sequence. 269 | FUNCTION {repeated.name.dashes} { "------" } 270 | 271 | 272 | 273 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 274 | %% PREDEFINED STRING MACROS %% 275 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 276 | 277 | MACRO {jan} {"Jan."} 278 | MACRO {feb} {"Feb."} 279 | MACRO {mar} {"Mar."} 280 | MACRO {apr} {"Apr."} 281 | MACRO {may} {"May"} 282 | MACRO {jun} {"Jun."} 283 | MACRO {jul} {"Jul."} 284 | MACRO {aug} {"Aug."} 285 | MACRO {sep} {"Sep."} 286 | MACRO {oct} {"Oct."} 287 | MACRO {nov} {"Nov."} 288 | MACRO {dec} {"Dec."} 289 | 290 | 291 | 292 | %%%%%%%%%%%%%%%%%% 293 | %% ENTRY FIELDS %% 294 | %%%%%%%%%%%%%%%%%% 295 | 296 | ENTRY 297 | { address 298 | assignee 299 | author 300 | booktitle 301 | chapter 302 | day 303 | dayfiled 304 | edition 305 | editor 306 | howpublished 307 | institution 308 | intype 309 | journal 310 | key 311 | language 312 | month 313 | monthfiled 314 | nationality 315 | note 316 | number 317 | organization 318 | pages 319 | paper 320 | publisher 321 | school 322 | series 323 | revision 324 | title 325 | type 326 | url 327 | volume 328 | year 329 | yearfiled 330 | CTLuse_article_number 331 | CTLuse_paper 332 | CTLuse_forced_etal 333 | CTLmax_names_forced_etal 334 | CTLnames_show_etal 335 | CTLuse_alt_spacing 336 | CTLalt_stretch_factor 337 | CTLdash_repeated_names 338 | CTLname_format_string 339 | CTLname_latex_cmd 340 | CTLname_url_prefix 341 | } 342 | {} 343 | { label } 344 | 345 | 346 | 347 | 348 | %%%%%%%%%%%%%%%%%%%%%%% 349 | %% INTEGER VARIABLES %% 350 | %%%%%%%%%%%%%%%%%%%%%%% 351 | 352 | INTEGERS { prev.status.punct this.status.punct punct.std 353 | punct.no punct.comma punct.period 354 | prev.status.space this.status.space space.std 355 | space.no space.normal space.large 356 | prev.status.quote this.status.quote quote.std 357 | quote.no quote.close 358 | prev.status.nline this.status.nline nline.std 359 | nline.no nline.newblock 360 | status.cap cap.std 361 | cap.no cap.yes} 362 | 363 | INTEGERS { longest.label.width multiresult nameptr namesleft number.label numnames } 364 | 365 | INTEGERS { is.use.number.for.article 366 | is.use.paper 367 | is.forced.et.al 368 | max.num.names.before.forced.et.al 369 | num.names.shown.with.forced.et.al 370 | is.use.alt.interword.spacing 371 | is.dash.repeated.names} 372 | 373 | 374 | %%%%%%%%%%%%%%%%%%%%%% 375 | %% STRING VARIABLES %% 376 | %%%%%%%%%%%%%%%%%%%%%% 377 | 378 | STRINGS { bibinfo 379 | longest.label 380 | oldname 381 | s 382 | t 383 | ALTinterwordstretchfactor 384 | name.format.string 385 | name.latex.cmd 386 | name.url.prefix} 387 | 388 | 389 | 390 | 391 | %%%%%%%%%%%%%%%%%%%%%%%%% 392 | %% LOW LEVEL FUNCTIONS %% 393 | %%%%%%%%%%%%%%%%%%%%%%%%% 394 | 395 | FUNCTION {initialize.controls} 396 | { default.is.use.number.for.article 'is.use.number.for.article := 397 | default.is.use.paper 'is.use.paper := 398 | default.is.forced.et.al 'is.forced.et.al := 399 | default.max.num.names.before.forced.et.al 'max.num.names.before.forced.et.al := 400 | default.num.names.shown.with.forced.et.al 'num.names.shown.with.forced.et.al := 401 | default.is.use.alt.interword.spacing 'is.use.alt.interword.spacing := 402 | default.is.dash.repeated.names 'is.dash.repeated.names := 403 | default.ALTinterwordstretchfactor 'ALTinterwordstretchfactor := 404 | default.name.format.string 'name.format.string := 405 | default.name.latex.cmd 'name.latex.cmd := 406 | default.name.url.prefix 'name.url.prefix := 407 | } 408 | 409 | 410 | % This IEEEtran.bst features a very powerful and flexible mechanism for 411 | % controlling the capitalization, punctuation, spacing, quotation, and 412 | % newlines of the formatted entry fields. (Note: IEEEtran.bst does not need 413 | % or use the newline/newblock feature, but it has been implemented for 414 | % possible future use.) The output states of IEEEtran.bst consist of 415 | % multiple independent attributes and, as such, can be thought of as being 416 | % vectors, rather than the simple scalar values ("before.all", 417 | % "mid.sentence", etc.) used in most other .bst files. 418 | % 419 | % The more flexible and complex design used here was motivated in part by 420 | % IEEE's rather unusual bibliography style. For example, IEEE ends the 421 | % previous field item with a period and large space prior to the publisher 422 | % address; the @electronic entry types use periods as inter-item punctuation 423 | % rather than the commas used by the other entry types; and URLs are never 424 | % followed by periods even though they are the last item in the entry. 425 | % Although it is possible to accommodate these features with the conventional 426 | % output state system, the seemingly endless exceptions make for convoluted, 427 | % unreliable and difficult to maintain code. 428 | % 429 | % IEEEtran.bst's output state system can be easily understood via a simple 430 | % illustration of two most recently formatted entry fields (on the stack): 431 | % 432 | % CURRENT_ITEM 433 | % "PREVIOUS_ITEM 434 | % 435 | % which, in this example, is to eventually appear in the bibliography as: 436 | % 437 | % "PREVIOUS_ITEM," CURRENT_ITEM 438 | % 439 | % It is the job of the output routine to take the previous item off of the 440 | % stack (while leaving the current item at the top of the stack), apply its 441 | % trailing punctuation (including closing quote marks) and spacing, and then 442 | % to write the result to BibTeX's output buffer: 443 | % 444 | % "PREVIOUS_ITEM," 445 | % 446 | % Punctuation (and spacing) between items is often determined by both of the 447 | % items rather than just the first one. The presence of quotation marks 448 | % further complicates the situation because, in standard English, trailing 449 | % punctuation marks are supposed to be contained within the quotes. 450 | % 451 | % IEEEtran.bst maintains two output state (aka "status") vectors which 452 | % correspond to the previous and current (aka "this") items. Each vector 453 | % consists of several independent attributes which track punctuation, 454 | % spacing, quotation, and newlines. Capitalization status is handled by a 455 | % separate scalar because the format routines, not the output routine, 456 | % handle capitalization and, therefore, there is no need to maintain the 457 | % capitalization attribute for both the "previous" and "this" items. 458 | % 459 | % When a format routine adds a new item, it copies the current output status 460 | % vector to the previous output status vector and (usually) resets the 461 | % current (this) output status vector to a "standard status" vector. Using a 462 | % "standard status" vector in this way allows us to redefine what we mean by 463 | % "standard status" at the start of each entry handler and reuse the same 464 | % format routines under the various inter-item separation schemes. For 465 | % example, the standard status vector for the @book entry type may use 466 | % commas for item separators, while the @electronic type may use periods, 467 | % yet both entry handlers exploit many of the exact same format routines. 468 | % 469 | % Because format routines have write access to the output status vector of 470 | % the previous item, they can override the punctuation choices of the 471 | % previous format routine! Therefore, it becomes trivial to implement rules 472 | % such as "Always use a period and a large space before the publisher." By 473 | % pushing the generation of the closing quote mark to the output routine, we 474 | % avoid all the problems caused by having to close a quote before having all 475 | % the information required to determine what the punctuation should be. 476 | % 477 | % The IEEEtran.bst output state system can easily be expanded if needed. 478 | % For instance, it is easy to add a "space.tie" attribute value if the 479 | % bibliography rules mandate that two items have to be joined with an 480 | % unbreakable space. 481 | 482 | FUNCTION {initialize.status.constants} 483 | { #0 'punct.no := 484 | #1 'punct.comma := 485 | #2 'punct.period := 486 | #0 'space.no := 487 | #1 'space.normal := 488 | #2 'space.large := 489 | #0 'quote.no := 490 | #1 'quote.close := 491 | #0 'cap.no := 492 | #1 'cap.yes := 493 | #0 'nline.no := 494 | #1 'nline.newblock := 495 | } 496 | 497 | FUNCTION {std.status.using.comma} 498 | { punct.comma 'punct.std := 499 | space.normal 'space.std := 500 | quote.no 'quote.std := 501 | nline.no 'nline.std := 502 | cap.no 'cap.std := 503 | } 504 | 505 | FUNCTION {std.status.using.period} 506 | { punct.period 'punct.std := 507 | space.normal 'space.std := 508 | quote.no 'quote.std := 509 | nline.no 'nline.std := 510 | cap.yes 'cap.std := 511 | } 512 | 513 | FUNCTION {initialize.prev.this.status} 514 | { punct.no 'prev.status.punct := 515 | space.no 'prev.status.space := 516 | quote.no 'prev.status.quote := 517 | nline.no 'prev.status.nline := 518 | punct.no 'this.status.punct := 519 | space.no 'this.status.space := 520 | quote.no 'this.status.quote := 521 | nline.no 'this.status.nline := 522 | cap.yes 'status.cap := 523 | } 524 | 525 | FUNCTION {this.status.std} 526 | { punct.std 'this.status.punct := 527 | space.std 'this.status.space := 528 | quote.std 'this.status.quote := 529 | nline.std 'this.status.nline := 530 | } 531 | 532 | FUNCTION {cap.status.std}{ cap.std 'status.cap := } 533 | 534 | FUNCTION {this.to.prev.status} 535 | { this.status.punct 'prev.status.punct := 536 | this.status.space 'prev.status.space := 537 | this.status.quote 'prev.status.quote := 538 | this.status.nline 'prev.status.nline := 539 | } 540 | 541 | 542 | FUNCTION {not} 543 | { { #0 } 544 | { #1 } 545 | if$ 546 | } 547 | 548 | FUNCTION {and} 549 | { { skip$ } 550 | { pop$ #0 } 551 | if$ 552 | } 553 | 554 | FUNCTION {or} 555 | { { pop$ #1 } 556 | { skip$ } 557 | if$ 558 | } 559 | 560 | 561 | % convert the strings "yes" or "no" to #1 or #0 respectively 562 | FUNCTION {yes.no.to.int} 563 | { "l" change.case$ duplicate$ 564 | "yes" = 565 | { pop$ #1 } 566 | { duplicate$ "no" = 567 | { pop$ #0 } 568 | { "unknown boolean " quote$ * swap$ * quote$ * 569 | " in " * cite$ * warning$ 570 | #0 571 | } 572 | if$ 573 | } 574 | if$ 575 | } 576 | 577 | 578 | % pushes true if the single char string on the stack is in the 579 | % range of "0" to "9" 580 | FUNCTION {is.num} 581 | { chr.to.int$ 582 | duplicate$ "0" chr.to.int$ < not 583 | swap$ "9" chr.to.int$ > not and 584 | } 585 | 586 | % multiplies the integer on the stack by a factor of 10 587 | FUNCTION {bump.int.mag} 588 | { #0 'multiresult := 589 | { duplicate$ #0 > } 590 | { #1 - 591 | multiresult #10 + 592 | 'multiresult := 593 | } 594 | while$ 595 | pop$ 596 | multiresult 597 | } 598 | 599 | % converts a single character string on the stack to an integer 600 | FUNCTION {char.to.integer} 601 | { duplicate$ 602 | is.num 603 | { chr.to.int$ "0" chr.to.int$ - } 604 | {"noninteger character " quote$ * swap$ * quote$ * 605 | " in integer field of " * cite$ * warning$ 606 | #0 607 | } 608 | if$ 609 | } 610 | 611 | % converts a string on the stack to an integer 612 | FUNCTION {string.to.integer} 613 | { duplicate$ text.length$ 'namesleft := 614 | #1 'nameptr := 615 | #0 'numnames := 616 | { nameptr namesleft > not } 617 | { duplicate$ nameptr #1 substring$ 618 | char.to.integer numnames bump.int.mag + 619 | 'numnames := 620 | nameptr #1 + 621 | 'nameptr := 622 | } 623 | while$ 624 | pop$ 625 | numnames 626 | } 627 | 628 | 629 | 630 | 631 | % The output routines write out the *next* to the top (previous) item on the 632 | % stack, adding punctuation and such as needed. Since IEEEtran.bst maintains 633 | % the output status for the top two items on the stack, these output 634 | % routines have to consider the previous output status (which corresponds to 635 | % the item that is being output). Full independent control of punctuation, 636 | % closing quote marks, spacing, and newblock is provided. 637 | % 638 | % "output.nonnull" does not check for the presence of a previous empty 639 | % item. 640 | % 641 | % "output" does check for the presence of a previous empty item and will 642 | % remove an empty item rather than outputing it. 643 | % 644 | % "output.warn" is like "output", but will issue a warning if it detects 645 | % an empty item. 646 | 647 | FUNCTION {output.nonnull} 648 | { swap$ 649 | prev.status.punct punct.comma = 650 | { "," * } 651 | { skip$ } 652 | if$ 653 | prev.status.punct punct.period = 654 | { add.period$ } 655 | { skip$ } 656 | if$ 657 | prev.status.quote quote.close = 658 | { "''" * } 659 | { skip$ } 660 | if$ 661 | prev.status.space space.normal = 662 | { " " * } 663 | { skip$ } 664 | if$ 665 | prev.status.space space.large = 666 | { large.space * } 667 | { skip$ } 668 | if$ 669 | write$ 670 | prev.status.nline nline.newblock = 671 | { newline$ "\newblock " write$ } 672 | { skip$ } 673 | if$ 674 | } 675 | 676 | FUNCTION {output} 677 | { duplicate$ empty$ 678 | 'pop$ 679 | 'output.nonnull 680 | if$ 681 | } 682 | 683 | FUNCTION {output.warn} 684 | { 't := 685 | duplicate$ empty$ 686 | { pop$ "empty " t * " in " * cite$ * warning$ } 687 | 'output.nonnull 688 | if$ 689 | } 690 | 691 | % "fin.entry" is the output routine that handles the last item of the entry 692 | % (which will be on the top of the stack when "fin.entry" is called). 693 | 694 | FUNCTION {fin.entry} 695 | { this.status.punct punct.no = 696 | { skip$ } 697 | { add.period$ } 698 | if$ 699 | this.status.quote quote.close = 700 | { "''" * } 701 | { skip$ } 702 | if$ 703 | write$ 704 | newline$ 705 | } 706 | 707 | 708 | FUNCTION {is.last.char.not.punct} 709 | { duplicate$ 710 | "}" * add.period$ 711 | #-1 #1 substring$ "." = 712 | } 713 | 714 | FUNCTION {is.multiple.pages} 715 | { 't := 716 | #0 'multiresult := 717 | { multiresult not 718 | t empty$ not 719 | and 720 | } 721 | { t #1 #1 substring$ 722 | duplicate$ "-" = 723 | swap$ duplicate$ "," = 724 | swap$ "+" = 725 | or or 726 | { #1 'multiresult := } 727 | { t #2 global.max$ substring$ 't := } 728 | if$ 729 | } 730 | while$ 731 | multiresult 732 | } 733 | 734 | FUNCTION {capitalize}{ "u" change.case$ "t" change.case$ } 735 | 736 | FUNCTION {emphasize} 737 | { duplicate$ empty$ 738 | { pop$ "" } 739 | { "\emph{" swap$ * "}" * } 740 | if$ 741 | } 742 | 743 | FUNCTION {do.name.latex.cmd} 744 | { name.latex.cmd 745 | empty$ 746 | { skip$ } 747 | { name.latex.cmd "{" * swap$ * "}" * } 748 | if$ 749 | } 750 | 751 | % IEEEtran.bst uses its own \BIBforeignlanguage command which directly 752 | % invokes the TeX hyphenation patterns without the need of the Babel 753 | % package. Babel does a lot more than switch hyphenation patterns and 754 | % its loading can cause unintended effects in many class files (such as 755 | % IEEEtran.cls). 756 | FUNCTION {select.language} 757 | { duplicate$ empty$ 'pop$ 758 | { language empty$ 'skip$ 759 | { "\BIBforeignlanguage{" language * "}{" * swap$ * "}" * } 760 | if$ 761 | } 762 | if$ 763 | } 764 | 765 | FUNCTION {tie.or.space.prefix} 766 | { duplicate$ text.length$ #3 < 767 | { "~" } 768 | { " " } 769 | if$ 770 | swap$ 771 | } 772 | 773 | FUNCTION {get.bbl.editor} 774 | { editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } 775 | 776 | FUNCTION {space.word}{ " " swap$ * " " * } 777 | 778 | 779 | % Field Conditioners, Converters, Checkers and External Interfaces 780 | 781 | FUNCTION {empty.field.to.null.string} 782 | { duplicate$ empty$ 783 | { pop$ "" } 784 | { skip$ } 785 | if$ 786 | } 787 | 788 | FUNCTION {either.or.check} 789 | { empty$ 790 | { pop$ } 791 | { "can't use both " swap$ * " fields in " * cite$ * warning$ } 792 | if$ 793 | } 794 | 795 | FUNCTION {empty.entry.warn} 796 | { author empty$ title empty$ howpublished empty$ 797 | month empty$ year empty$ note empty$ url empty$ 798 | and and and and and and 799 | { "all relevant fields are empty in " cite$ * warning$ } 800 | 'skip$ 801 | if$ 802 | } 803 | 804 | 805 | % The bibinfo system provides a way for the electronic parsing/acquisition 806 | % of a bibliography's contents as is done by ReVTeX. For example, a field 807 | % could be entered into the bibliography as: 808 | % \bibinfo{volume}{2} 809 | % Only the "2" would show up in the document, but the LaTeX \bibinfo command 810 | % could do additional things with the information. IEEEtran.bst does provide 811 | % a \bibinfo command via "\providecommand{\bibinfo}[2]{#2}". However, it is 812 | % currently not used as the bogus bibinfo functions defined here output the 813 | % entry values directly without the \bibinfo wrapper. The bibinfo functions 814 | % themselves (and the calls to them) are retained for possible future use. 815 | % 816 | % bibinfo.check avoids acting on missing fields while bibinfo.warn will 817 | % issue a warning message if a missing field is detected. Prior to calling 818 | % the bibinfo functions, the user should push the field value and then its 819 | % name string, in that order. 820 | 821 | FUNCTION {bibinfo.check} 822 | { swap$ duplicate$ missing$ 823 | { pop$ pop$ "" } 824 | { duplicate$ empty$ 825 | { swap$ pop$ } 826 | { swap$ pop$ } 827 | if$ 828 | } 829 | if$ 830 | } 831 | 832 | FUNCTION {bibinfo.warn} 833 | { swap$ duplicate$ missing$ 834 | { swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ "" } 835 | { duplicate$ empty$ 836 | { swap$ "empty " swap$ * " in " * cite$ * warning$ } 837 | { swap$ pop$ } 838 | if$ 839 | } 840 | if$ 841 | } 842 | 843 | 844 | % IEEE separates large numbers with more than 4 digits into groups of 845 | % three. IEEE uses a small space to separate these number groups. 846 | % Typical applications include patent and page numbers. 847 | 848 | % number of consecutive digits required to trigger the group separation. 849 | FUNCTION {large.number.trigger}{ #5 } 850 | 851 | % For numbers longer than the trigger, this is the blocksize of the groups. 852 | % The blocksize must be less than the trigger threshold, and 2 * blocksize 853 | % must be greater than the trigger threshold (can't do more than one 854 | % separation on the initial trigger). 855 | FUNCTION {large.number.blocksize}{ #3 } 856 | 857 | % What is actually inserted between the number groups. 858 | FUNCTION {large.number.separator}{ "\," } 859 | 860 | % So as to save on integer variables by reusing existing ones, numnames 861 | % holds the current number of consecutive digits read and nameptr holds 862 | % the number that will trigger an inserted space. 863 | FUNCTION {large.number.separate} 864 | { 't := 865 | "" 866 | #0 'numnames := 867 | large.number.trigger 'nameptr := 868 | { t empty$ not } 869 | { t #-1 #1 substring$ is.num 870 | { numnames #1 + 'numnames := } 871 | { #0 'numnames := 872 | large.number.trigger 'nameptr := 873 | } 874 | if$ 875 | t #-1 #1 substring$ swap$ * 876 | t #-2 global.max$ substring$ 't := 877 | numnames nameptr = 878 | { duplicate$ #1 nameptr large.number.blocksize - substring$ swap$ 879 | nameptr large.number.blocksize - #1 + global.max$ substring$ 880 | large.number.separator swap$ * * 881 | nameptr large.number.blocksize - 'numnames := 882 | large.number.blocksize #1 + 'nameptr := 883 | } 884 | { skip$ } 885 | if$ 886 | } 887 | while$ 888 | } 889 | 890 | % Converts all single dashes "-" to double dashes "--". 891 | FUNCTION {n.dashify} 892 | { large.number.separate 893 | 't := 894 | "" 895 | { t empty$ not } 896 | { t #1 #1 substring$ "-" = 897 | { t #1 #2 substring$ "--" = not 898 | { "--" * 899 | t #2 global.max$ substring$ 't := 900 | } 901 | { { t #1 #1 substring$ "-" = } 902 | { "-" * 903 | t #2 global.max$ substring$ 't := 904 | } 905 | while$ 906 | } 907 | if$ 908 | } 909 | { t #1 #1 substring$ * 910 | t #2 global.max$ substring$ 't := 911 | } 912 | if$ 913 | } 914 | while$ 915 | } 916 | 917 | 918 | % This function detects entries with names that are identical to that of 919 | % the previous entry and replaces the repeated names with dashes (if the 920 | % "is.dash.repeated.names" user control is nonzero). 921 | FUNCTION {name.or.dash} 922 | { 's := 923 | oldname empty$ 924 | { s 'oldname := s } 925 | { s oldname = 926 | { is.dash.repeated.names 927 | { repeated.name.dashes } 928 | { s 'oldname := s } 929 | if$ 930 | } 931 | { s 'oldname := s } 932 | if$ 933 | } 934 | if$ 935 | } 936 | 937 | % Converts the number string on the top of the stack to 938 | % "numerical ordinal form" (e.g., "7" to "7th"). There is 939 | % no artificial limit to the upper bound of the numbers as the 940 | % two least significant digits determine the ordinal form. 941 | FUNCTION {num.to.ordinal} 942 | { duplicate$ #-2 #1 substring$ "1" = 943 | { bbl.th * } 944 | { duplicate$ #-1 #1 substring$ "1" = 945 | { bbl.st * } 946 | { duplicate$ #-1 #1 substring$ "2" = 947 | { bbl.nd * } 948 | { duplicate$ #-1 #1 substring$ "3" = 949 | { bbl.rd * } 950 | { bbl.th * } 951 | if$ 952 | } 953 | if$ 954 | } 955 | if$ 956 | } 957 | if$ 958 | } 959 | 960 | % If the string on the top of the stack begins with a number, 961 | % (e.g., 11th) then replace the string with the leading number 962 | % it contains. Otherwise retain the string as-is. s holds the 963 | % extracted number, t holds the part of the string that remains 964 | % to be scanned. 965 | FUNCTION {extract.num} 966 | { duplicate$ 't := 967 | "" 's := 968 | { t empty$ not } 969 | { t #1 #1 substring$ 970 | t #2 global.max$ substring$ 't := 971 | duplicate$ is.num 972 | { s swap$ * 's := } 973 | { pop$ "" 't := } 974 | if$ 975 | } 976 | while$ 977 | s empty$ 978 | 'skip$ 979 | { pop$ s } 980 | if$ 981 | } 982 | 983 | % Converts the word number string on the top of the stack to 984 | % Arabic string form. Will be successful up to "tenth". 985 | FUNCTION {word.to.num} 986 | { duplicate$ "l" change.case$ 's := 987 | s "first" = 988 | { pop$ "1" } 989 | { skip$ } 990 | if$ 991 | s "second" = 992 | { pop$ "2" } 993 | { skip$ } 994 | if$ 995 | s "third" = 996 | { pop$ "3" } 997 | { skip$ } 998 | if$ 999 | s "fourth" = 1000 | { pop$ "4" } 1001 | { skip$ } 1002 | if$ 1003 | s "fifth" = 1004 | { pop$ "5" } 1005 | { skip$ } 1006 | if$ 1007 | s "sixth" = 1008 | { pop$ "6" } 1009 | { skip$ } 1010 | if$ 1011 | s "seventh" = 1012 | { pop$ "7" } 1013 | { skip$ } 1014 | if$ 1015 | s "eighth" = 1016 | { pop$ "8" } 1017 | { skip$ } 1018 | if$ 1019 | s "ninth" = 1020 | { pop$ "9" } 1021 | { skip$ } 1022 | if$ 1023 | s "tenth" = 1024 | { pop$ "10" } 1025 | { skip$ } 1026 | if$ 1027 | } 1028 | 1029 | 1030 | % Converts the string on the top of the stack to numerical 1031 | % ordinal (e.g., "11th") form. 1032 | FUNCTION {convert.edition} 1033 | { duplicate$ empty$ 'skip$ 1034 | { duplicate$ #1 #1 substring$ is.num 1035 | { extract.num 1036 | num.to.ordinal 1037 | } 1038 | { word.to.num 1039 | duplicate$ #1 #1 substring$ is.num 1040 | { num.to.ordinal } 1041 | { "edition ordinal word " quote$ * edition * quote$ * 1042 | " may be too high (or improper) for conversion" * " in " * cite$ * warning$ 1043 | } 1044 | if$ 1045 | } 1046 | if$ 1047 | } 1048 | if$ 1049 | } 1050 | 1051 | 1052 | 1053 | 1054 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1055 | %% LATEX BIBLIOGRAPHY CODE %% 1056 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1057 | 1058 | FUNCTION {start.entry} 1059 | { newline$ 1060 | "\bibitem{" write$ 1061 | cite$ write$ 1062 | "}" write$ 1063 | newline$ 1064 | "" 1065 | initialize.prev.this.status 1066 | } 1067 | 1068 | % Here we write out all the LaTeX code that we will need. The most involved 1069 | % code sequences are those that control the alternate interword spacing and 1070 | % foreign language hyphenation patterns. The heavy use of \providecommand 1071 | % gives users a way to override the defaults. Special thanks to Javier Bezos, 1072 | % Johannes Braams, Robin Fairbairns, Heiko Oberdiek, Donald Arseneau and all 1073 | % the other gurus on comp.text.tex for their help and advice on the topic of 1074 | % \selectlanguage, Babel and BibTeX. 1075 | FUNCTION {begin.bib} 1076 | { "% Generated by IEEEtran.bst, version: " bst.file.version * " (" * bst.file.date * ")" * 1077 | write$ newline$ 1078 | preamble$ empty$ 'skip$ 1079 | { preamble$ write$ newline$ } 1080 | if$ 1081 | "\begin{thebibliography}{" longest.label * "}" * 1082 | write$ newline$ 1083 | "\providecommand{\url}[1]{#1}" 1084 | write$ newline$ 1085 | "\csname url@samestyle\endcsname" 1086 | write$ newline$ 1087 | "\providecommand{\newblock}{\relax}" 1088 | write$ newline$ 1089 | "\providecommand{\bibinfo}[2]{#2}" 1090 | write$ newline$ 1091 | "\providecommand{\BIBentrySTDinterwordspacing}{\spaceskip=0pt\relax}" 1092 | write$ newline$ 1093 | "\providecommand{\BIBentryALTinterwordstretchfactor}{" 1094 | ALTinterwordstretchfactor * "}" * 1095 | write$ newline$ 1096 | "\providecommand{\BIBentryALTinterwordspacing}{\spaceskip=\fontdimen2\font plus " 1097 | write$ newline$ 1098 | "\BIBentryALTinterwordstretchfactor\fontdimen3\font minus \fontdimen4\font\relax}" 1099 | write$ newline$ 1100 | "\providecommand{\BIBforeignlanguage}[2]{{%" 1101 | write$ newline$ 1102 | "\expandafter\ifx\csname l@#1\endcsname\relax" 1103 | write$ newline$ 1104 | "\typeout{** WARNING: IEEEtran.bst: No hyphenation pattern has been}%" 1105 | write$ newline$ 1106 | "\typeout{** loaded for the language `#1'. Using the pattern for}%" 1107 | write$ newline$ 1108 | "\typeout{** the default language instead.}%" 1109 | write$ newline$ 1110 | "\else" 1111 | write$ newline$ 1112 | "\language=\csname l@#1\endcsname" 1113 | write$ newline$ 1114 | "\fi" 1115 | write$ newline$ 1116 | "#2}}" 1117 | write$ newline$ 1118 | "\providecommand{\BIBdecl}{\relax}" 1119 | write$ newline$ 1120 | "\BIBdecl" 1121 | write$ newline$ 1122 | } 1123 | 1124 | FUNCTION {end.bib} 1125 | { newline$ "\end{thebibliography}" write$ newline$ } 1126 | 1127 | FUNCTION {if.url.alt.interword.spacing} 1128 | { is.use.alt.interword.spacing 1129 | {url empty$ 'skip$ {"\BIBentryALTinterwordspacing" write$ newline$} if$} 1130 | { skip$ } 1131 | if$ 1132 | } 1133 | 1134 | FUNCTION {if.url.std.interword.spacing} 1135 | { is.use.alt.interword.spacing 1136 | {url empty$ 'skip$ {"\BIBentrySTDinterwordspacing" write$ newline$} if$} 1137 | { skip$ } 1138 | if$ 1139 | } 1140 | 1141 | 1142 | 1143 | 1144 | %%%%%%%%%%%%%%%%%%%%%%%% 1145 | %% LONGEST LABEL PASS %% 1146 | %%%%%%%%%%%%%%%%%%%%%%%% 1147 | 1148 | FUNCTION {initialize.longest.label} 1149 | { "" 'longest.label := 1150 | #1 'number.label := 1151 | #0 'longest.label.width := 1152 | } 1153 | 1154 | FUNCTION {longest.label.pass} 1155 | { type$ "ieeetranbstctl" = 1156 | { skip$ } 1157 | { number.label int.to.str$ 'label := 1158 | number.label #1 + 'number.label := 1159 | label width$ longest.label.width > 1160 | { label 'longest.label := 1161 | label width$ 'longest.label.width := 1162 | } 1163 | { skip$ } 1164 | if$ 1165 | } 1166 | if$ 1167 | } 1168 | 1169 | 1170 | 1171 | 1172 | %%%%%%%%%%%%%%%%%%%%% 1173 | %% FORMAT HANDLERS %% 1174 | %%%%%%%%%%%%%%%%%%%%% 1175 | 1176 | %% Lower Level Formats (used by higher level formats) 1177 | 1178 | FUNCTION {format.address.org.or.pub.date} 1179 | { 't := 1180 | "" 1181 | year empty$ 1182 | { "empty year in " cite$ * warning$ } 1183 | { skip$ } 1184 | if$ 1185 | address empty$ t empty$ and 1186 | year empty$ and month empty$ and 1187 | { skip$ } 1188 | { this.to.prev.status 1189 | this.status.std 1190 | cap.status.std 1191 | address "address" bibinfo.check * 1192 | t empty$ 1193 | { skip$ } 1194 | { punct.period 'prev.status.punct := 1195 | space.large 'prev.status.space := 1196 | address empty$ 1197 | { skip$ } 1198 | { ": " * } 1199 | if$ 1200 | t * 1201 | } 1202 | if$ 1203 | year empty$ month empty$ and 1204 | { skip$ } 1205 | { t empty$ address empty$ and 1206 | { skip$ } 1207 | { ", " * } 1208 | if$ 1209 | month empty$ 1210 | { year empty$ 1211 | { skip$ } 1212 | { year "year" bibinfo.check * } 1213 | if$ 1214 | } 1215 | { month "month" bibinfo.check * 1216 | year empty$ 1217 | { skip$ } 1218 | { " " * year "year" bibinfo.check * } 1219 | if$ 1220 | } 1221 | if$ 1222 | } 1223 | if$ 1224 | } 1225 | if$ 1226 | } 1227 | 1228 | 1229 | FUNCTION {format.names} 1230 | { 'bibinfo := 1231 | duplicate$ empty$ 'skip$ { 1232 | this.to.prev.status 1233 | this.status.std 1234 | 's := 1235 | "" 't := 1236 | #1 'nameptr := 1237 | s num.names$ 'numnames := 1238 | numnames 'namesleft := 1239 | { namesleft #0 > } 1240 | { s nameptr 1241 | name.format.string 1242 | format.name$ 1243 | bibinfo bibinfo.check 1244 | 't := 1245 | nameptr #1 > 1246 | { nameptr num.names.shown.with.forced.et.al #1 + = 1247 | numnames max.num.names.before.forced.et.al > 1248 | is.forced.et.al and and 1249 | { "others" 't := 1250 | #1 'namesleft := 1251 | } 1252 | { skip$ } 1253 | if$ 1254 | namesleft #1 > 1255 | { ", " * t do.name.latex.cmd * } 1256 | { s nameptr "{ll}" format.name$ duplicate$ "others" = 1257 | { 't := } 1258 | { pop$ } 1259 | if$ 1260 | t "others" = 1261 | { " " * bbl.etal emphasize * } 1262 | { numnames #2 > 1263 | { "," * } 1264 | { skip$ } 1265 | if$ 1266 | bbl.and 1267 | space.word * t do.name.latex.cmd * 1268 | } 1269 | if$ 1270 | } 1271 | if$ 1272 | } 1273 | { t do.name.latex.cmd } 1274 | if$ 1275 | nameptr #1 + 'nameptr := 1276 | namesleft #1 - 'namesleft := 1277 | } 1278 | while$ 1279 | cap.status.std 1280 | } if$ 1281 | } 1282 | 1283 | 1284 | 1285 | 1286 | %% Higher Level Formats 1287 | 1288 | %% addresses/locations 1289 | 1290 | FUNCTION {format.address} 1291 | { address duplicate$ empty$ 'skip$ 1292 | { this.to.prev.status 1293 | this.status.std 1294 | cap.status.std 1295 | } 1296 | if$ 1297 | } 1298 | 1299 | 1300 | 1301 | %% author/editor names 1302 | 1303 | FUNCTION {format.authors}{ author "author" format.names } 1304 | 1305 | FUNCTION {format.editors} 1306 | { editor "editor" format.names duplicate$ empty$ 'skip$ 1307 | { ", " * 1308 | get.bbl.editor 1309 | capitalize 1310 | * 1311 | } 1312 | if$ 1313 | } 1314 | 1315 | 1316 | 1317 | %% date 1318 | 1319 | FUNCTION {format.date} 1320 | { 1321 | month "month" bibinfo.check duplicate$ empty$ 1322 | year "year" bibinfo.check duplicate$ empty$ 1323 | { swap$ 'skip$ 1324 | { this.to.prev.status 1325 | this.status.std 1326 | cap.status.std 1327 | "there's a month but no year in " cite$ * warning$ } 1328 | if$ 1329 | * 1330 | } 1331 | { this.to.prev.status 1332 | this.status.std 1333 | cap.status.std 1334 | swap$ 'skip$ 1335 | { 1336 | swap$ 1337 | " " * swap$ 1338 | } 1339 | if$ 1340 | * 1341 | } 1342 | if$ 1343 | } 1344 | 1345 | FUNCTION {format.date.electronic} 1346 | { month "month" bibinfo.check duplicate$ empty$ 1347 | year "year" bibinfo.check duplicate$ empty$ 1348 | { swap$ 1349 | { pop$ } 1350 | { "there's a month but no year in " cite$ * warning$ 1351 | pop$ ")" * "(" swap$ * 1352 | this.to.prev.status 1353 | punct.no 'this.status.punct := 1354 | space.normal 'this.status.space := 1355 | quote.no 'this.status.quote := 1356 | cap.yes 'status.cap := 1357 | } 1358 | if$ 1359 | } 1360 | { swap$ 1361 | { swap$ pop$ ")" * "(" swap$ * } 1362 | { "(" swap$ * ", " * swap$ * ")" * } 1363 | if$ 1364 | this.to.prev.status 1365 | punct.no 'this.status.punct := 1366 | space.normal 'this.status.space := 1367 | quote.no 'this.status.quote := 1368 | cap.yes 'status.cap := 1369 | } 1370 | if$ 1371 | } 1372 | 1373 | 1374 | 1375 | %% edition/title 1376 | 1377 | % Note: IEEE considers the edition to be closely associated with 1378 | % the title of a book. So, in IEEEtran.bst the edition is normally handled 1379 | % within the formatting of the title. The format.edition function is 1380 | % retained here for possible future use. 1381 | FUNCTION {format.edition} 1382 | { edition duplicate$ empty$ 'skip$ 1383 | { this.to.prev.status 1384 | this.status.std 1385 | convert.edition 1386 | status.cap 1387 | { "t" } 1388 | { "l" } 1389 | if$ change.case$ 1390 | "edition" bibinfo.check 1391 | "~" * bbl.edition * 1392 | cap.status.std 1393 | } 1394 | if$ 1395 | } 1396 | 1397 | % This is used to format the booktitle of a conference proceedings. 1398 | % Here we use the "intype" field to provide the user a way to 1399 | % override the word "in" (e.g., with things like "presented at") 1400 | % Use of intype stops the emphasis of the booktitle to indicate that 1401 | % we no longer mean the written conference proceedings, but the 1402 | % conference itself. 1403 | FUNCTION {format.in.booktitle} 1404 | { booktitle "booktitle" bibinfo.check duplicate$ empty$ 'skip$ 1405 | { this.to.prev.status 1406 | this.status.std 1407 | select.language 1408 | intype missing$ 1409 | { emphasize 1410 | bbl.in " " * 1411 | } 1412 | { intype " " * } 1413 | if$ 1414 | swap$ * 1415 | cap.status.std 1416 | } 1417 | if$ 1418 | } 1419 | 1420 | % This is used to format the booktitle of collection. 1421 | % Here the "intype" field is not supported, but "edition" is. 1422 | FUNCTION {format.in.booktitle.edition} 1423 | { booktitle "booktitle" bibinfo.check duplicate$ empty$ 'skip$ 1424 | { this.to.prev.status 1425 | this.status.std 1426 | select.language 1427 | emphasize 1428 | edition empty$ 'skip$ 1429 | { ", " * 1430 | edition 1431 | convert.edition 1432 | "l" change.case$ 1433 | * "~" * bbl.edition * 1434 | } 1435 | if$ 1436 | bbl.in " " * swap$ * 1437 | cap.status.std 1438 | } 1439 | if$ 1440 | } 1441 | 1442 | FUNCTION {format.article.title} 1443 | { title duplicate$ empty$ 'skip$ 1444 | { this.to.prev.status 1445 | this.status.std 1446 | "t" change.case$ 1447 | } 1448 | if$ 1449 | "title" bibinfo.check 1450 | duplicate$ empty$ 'skip$ 1451 | { quote.close 'this.status.quote := 1452 | is.last.char.not.punct 1453 | { punct.std 'this.status.punct := } 1454 | { punct.no 'this.status.punct := } 1455 | if$ 1456 | select.language 1457 | "``" swap$ * 1458 | cap.status.std 1459 | } 1460 | if$ 1461 | } 1462 | 1463 | FUNCTION {format.article.title.electronic} 1464 | { title duplicate$ empty$ 'skip$ 1465 | { this.to.prev.status 1466 | this.status.std 1467 | cap.status.std 1468 | "t" change.case$ 1469 | } 1470 | if$ 1471 | "title" bibinfo.check 1472 | duplicate$ empty$ 1473 | { skip$ } 1474 | { select.language } 1475 | if$ 1476 | } 1477 | 1478 | FUNCTION {format.book.title.edition} 1479 | { title "title" bibinfo.check 1480 | duplicate$ empty$ 1481 | { "empty title in " cite$ * warning$ } 1482 | { this.to.prev.status 1483 | this.status.std 1484 | select.language 1485 | emphasize 1486 | edition empty$ 'skip$ 1487 | { ", " * 1488 | edition 1489 | convert.edition 1490 | status.cap 1491 | { "t" } 1492 | { "l" } 1493 | if$ 1494 | change.case$ 1495 | * "~" * bbl.edition * 1496 | } 1497 | if$ 1498 | cap.status.std 1499 | } 1500 | if$ 1501 | } 1502 | 1503 | FUNCTION {format.book.title} 1504 | { title "title" bibinfo.check 1505 | duplicate$ empty$ 'skip$ 1506 | { this.to.prev.status 1507 | this.status.std 1508 | cap.status.std 1509 | select.language 1510 | emphasize 1511 | } 1512 | if$ 1513 | } 1514 | 1515 | 1516 | 1517 | %% journal 1518 | 1519 | FUNCTION {format.journal} 1520 | { journal duplicate$ empty$ 'skip$ 1521 | { this.to.prev.status 1522 | this.status.std 1523 | cap.status.std 1524 | select.language 1525 | emphasize 1526 | } 1527 | if$ 1528 | } 1529 | 1530 | 1531 | 1532 | %% how published 1533 | 1534 | FUNCTION {format.howpublished} 1535 | { howpublished duplicate$ empty$ 'skip$ 1536 | { this.to.prev.status 1537 | this.status.std 1538 | cap.status.std 1539 | } 1540 | if$ 1541 | } 1542 | 1543 | 1544 | 1545 | %% institutions/organization/publishers/school 1546 | 1547 | FUNCTION {format.institution} 1548 | { institution duplicate$ empty$ 'skip$ 1549 | { this.to.prev.status 1550 | this.status.std 1551 | cap.status.std 1552 | } 1553 | if$ 1554 | } 1555 | 1556 | FUNCTION {format.organization} 1557 | { organization duplicate$ empty$ 'skip$ 1558 | { this.to.prev.status 1559 | this.status.std 1560 | cap.status.std 1561 | } 1562 | if$ 1563 | } 1564 | 1565 | FUNCTION {format.address.publisher.date} 1566 | { publisher "publisher" bibinfo.warn format.address.org.or.pub.date } 1567 | 1568 | FUNCTION {format.address.publisher.date.nowarn} 1569 | { publisher "publisher" bibinfo.check format.address.org.or.pub.date } 1570 | 1571 | FUNCTION {format.address.organization.date} 1572 | { organization "organization" bibinfo.check format.address.org.or.pub.date } 1573 | 1574 | FUNCTION {format.school} 1575 | { school duplicate$ empty$ 'skip$ 1576 | { this.to.prev.status 1577 | this.status.std 1578 | cap.status.std 1579 | } 1580 | if$ 1581 | } 1582 | 1583 | 1584 | 1585 | %% volume/number/series/chapter/pages 1586 | 1587 | FUNCTION {format.volume} 1588 | { volume empty.field.to.null.string 1589 | duplicate$ empty$ 'skip$ 1590 | { this.to.prev.status 1591 | this.status.std 1592 | bbl.volume 1593 | status.cap 1594 | { capitalize } 1595 | { skip$ } 1596 | if$ 1597 | swap$ tie.or.space.prefix 1598 | "volume" bibinfo.check 1599 | * * 1600 | cap.status.std 1601 | } 1602 | if$ 1603 | } 1604 | 1605 | FUNCTION {format.number} 1606 | { number empty.field.to.null.string 1607 | duplicate$ empty$ 'skip$ 1608 | { this.to.prev.status 1609 | this.status.std 1610 | status.cap 1611 | { bbl.number capitalize } 1612 | { bbl.number } 1613 | if$ 1614 | swap$ tie.or.space.prefix 1615 | "number" bibinfo.check 1616 | * * 1617 | cap.status.std 1618 | } 1619 | if$ 1620 | } 1621 | 1622 | FUNCTION {format.number.if.use.for.article} 1623 | { is.use.number.for.article 1624 | { format.number } 1625 | { "" } 1626 | if$ 1627 | } 1628 | 1629 | % IEEE does not seem to tie the series so closely with the volume 1630 | % and number as is done in other bibliography styles. Instead the 1631 | % series is treated somewhat like an extension of the title. 1632 | FUNCTION {format.series} 1633 | { series empty$ 1634 | { "" } 1635 | { this.to.prev.status 1636 | this.status.std 1637 | bbl.series " " * 1638 | series "series" bibinfo.check * 1639 | cap.status.std 1640 | } 1641 | if$ 1642 | } 1643 | 1644 | 1645 | FUNCTION {format.chapter} 1646 | { chapter empty$ 1647 | { "" } 1648 | { this.to.prev.status 1649 | this.status.std 1650 | type empty$ 1651 | { bbl.chapter } 1652 | { type "l" change.case$ 1653 | "type" bibinfo.check 1654 | } 1655 | if$ 1656 | chapter tie.or.space.prefix 1657 | "chapter" bibinfo.check 1658 | * * 1659 | cap.status.std 1660 | } 1661 | if$ 1662 | } 1663 | 1664 | 1665 | % The intended use of format.paper is for paper numbers of inproceedings. 1666 | % The paper type can be overridden via the type field. 1667 | % We allow the type to be displayed even if the paper number is absent 1668 | % for things like "postdeadline paper" 1669 | FUNCTION {format.paper} 1670 | { is.use.paper 1671 | { paper empty$ 1672 | { type empty$ 1673 | { "" } 1674 | { this.to.prev.status 1675 | this.status.std 1676 | type "type" bibinfo.check 1677 | cap.status.std 1678 | } 1679 | if$ 1680 | } 1681 | { this.to.prev.status 1682 | this.status.std 1683 | type empty$ 1684 | { bbl.paper } 1685 | { type "type" bibinfo.check } 1686 | if$ 1687 | " " * paper 1688 | "paper" bibinfo.check 1689 | * 1690 | cap.status.std 1691 | } 1692 | if$ 1693 | } 1694 | { "" } 1695 | if$ 1696 | } 1697 | 1698 | 1699 | FUNCTION {format.pages} 1700 | { pages duplicate$ empty$ 'skip$ 1701 | { this.to.prev.status 1702 | this.status.std 1703 | duplicate$ is.multiple.pages 1704 | { 1705 | bbl.pages swap$ 1706 | n.dashify 1707 | } 1708 | { 1709 | bbl.page swap$ 1710 | } 1711 | if$ 1712 | tie.or.space.prefix 1713 | "pages" bibinfo.check 1714 | * * 1715 | cap.status.std 1716 | } 1717 | if$ 1718 | } 1719 | 1720 | 1721 | 1722 | %% technical report number 1723 | 1724 | FUNCTION {format.tech.report.number} 1725 | { number "number" bibinfo.check 1726 | this.to.prev.status 1727 | this.status.std 1728 | cap.status.std 1729 | type duplicate$ empty$ 1730 | { pop$ 1731 | bbl.techrep 1732 | } 1733 | { skip$ } 1734 | if$ 1735 | "type" bibinfo.check 1736 | swap$ duplicate$ empty$ 1737 | { pop$ } 1738 | { tie.or.space.prefix * * } 1739 | if$ 1740 | } 1741 | 1742 | 1743 | 1744 | %% note 1745 | 1746 | FUNCTION {format.note} 1747 | { note empty$ 1748 | { "" } 1749 | { this.to.prev.status 1750 | this.status.std 1751 | punct.period 'this.status.punct := 1752 | note #1 #1 substring$ 1753 | duplicate$ "{" = 1754 | { skip$ } 1755 | { status.cap 1756 | { "u" } 1757 | { "l" } 1758 | if$ 1759 | change.case$ 1760 | } 1761 | if$ 1762 | note #2 global.max$ substring$ * "note" bibinfo.check 1763 | cap.yes 'status.cap := 1764 | } 1765 | if$ 1766 | } 1767 | 1768 | 1769 | 1770 | %% patent 1771 | 1772 | FUNCTION {format.patent.date} 1773 | { this.to.prev.status 1774 | this.status.std 1775 | year empty$ 1776 | { monthfiled duplicate$ empty$ 1777 | { "monthfiled" bibinfo.check pop$ "" } 1778 | { "monthfiled" bibinfo.check } 1779 | if$ 1780 | dayfiled duplicate$ empty$ 1781 | { "dayfiled" bibinfo.check pop$ "" * } 1782 | { "dayfiled" bibinfo.check 1783 | monthfiled empty$ 1784 | { "dayfiled without a monthfiled in " cite$ * warning$ 1785 | * 1786 | } 1787 | { " " swap$ * * } 1788 | if$ 1789 | } 1790 | if$ 1791 | yearfiled empty$ 1792 | { "no year or yearfiled in " cite$ * warning$ } 1793 | { yearfiled "yearfiled" bibinfo.check 1794 | swap$ 1795 | duplicate$ empty$ 1796 | { pop$ } 1797 | { ", " * swap$ * } 1798 | if$ 1799 | } 1800 | if$ 1801 | } 1802 | { month duplicate$ empty$ 1803 | { "month" bibinfo.check pop$ "" } 1804 | { "month" bibinfo.check } 1805 | if$ 1806 | day duplicate$ empty$ 1807 | { "day" bibinfo.check pop$ "" * } 1808 | { "day" bibinfo.check 1809 | month empty$ 1810 | { "day without a month in " cite$ * warning$ 1811 | * 1812 | } 1813 | { " " swap$ * * } 1814 | if$ 1815 | } 1816 | if$ 1817 | year "year" bibinfo.check 1818 | swap$ 1819 | duplicate$ empty$ 1820 | { pop$ } 1821 | { ", " * swap$ * } 1822 | if$ 1823 | } 1824 | if$ 1825 | cap.status.std 1826 | } 1827 | 1828 | FUNCTION {format.patent.nationality.type.number} 1829 | { this.to.prev.status 1830 | this.status.std 1831 | nationality duplicate$ empty$ 1832 | { "nationality" bibinfo.warn pop$ "" } 1833 | { "nationality" bibinfo.check 1834 | duplicate$ "l" change.case$ "united states" = 1835 | { pop$ bbl.patentUS } 1836 | { skip$ } 1837 | if$ 1838 | " " * 1839 | } 1840 | if$ 1841 | type empty$ 1842 | { bbl.patent "type" bibinfo.check } 1843 | { type "type" bibinfo.check } 1844 | if$ 1845 | * 1846 | number duplicate$ empty$ 1847 | { "number" bibinfo.warn pop$ } 1848 | { "number" bibinfo.check 1849 | large.number.separate 1850 | swap$ " " * swap$ * 1851 | } 1852 | if$ 1853 | cap.status.std 1854 | } 1855 | 1856 | 1857 | 1858 | %% standard 1859 | 1860 | FUNCTION {format.organization.institution.standard.type.number} 1861 | { this.to.prev.status 1862 | this.status.std 1863 | organization duplicate$ empty$ 1864 | { pop$ 1865 | institution duplicate$ empty$ 1866 | { "institution" bibinfo.warn } 1867 | { "institution" bibinfo.warn " " * } 1868 | if$ 1869 | } 1870 | { "organization" bibinfo.warn " " * } 1871 | if$ 1872 | type empty$ 1873 | { bbl.standard "type" bibinfo.check } 1874 | { type "type" bibinfo.check } 1875 | if$ 1876 | * 1877 | number duplicate$ empty$ 1878 | { "number" bibinfo.check pop$ } 1879 | { "number" bibinfo.check 1880 | large.number.separate 1881 | swap$ " " * swap$ * 1882 | } 1883 | if$ 1884 | cap.status.std 1885 | } 1886 | 1887 | FUNCTION {format.revision} 1888 | { revision empty$ 1889 | { "" } 1890 | { this.to.prev.status 1891 | this.status.std 1892 | bbl.revision 1893 | revision tie.or.space.prefix 1894 | "revision" bibinfo.check 1895 | * * 1896 | cap.status.std 1897 | } 1898 | if$ 1899 | } 1900 | 1901 | 1902 | %% thesis 1903 | 1904 | FUNCTION {format.master.thesis.type} 1905 | { this.to.prev.status 1906 | this.status.std 1907 | type empty$ 1908 | { 1909 | bbl.mthesis 1910 | } 1911 | { 1912 | type "type" bibinfo.check 1913 | } 1914 | if$ 1915 | cap.status.std 1916 | } 1917 | 1918 | FUNCTION {format.phd.thesis.type} 1919 | { this.to.prev.status 1920 | this.status.std 1921 | type empty$ 1922 | { 1923 | bbl.phdthesis 1924 | } 1925 | { 1926 | type "type" bibinfo.check 1927 | } 1928 | if$ 1929 | cap.status.std 1930 | } 1931 | 1932 | 1933 | 1934 | %% URL 1935 | 1936 | FUNCTION {format.url} 1937 | { url empty$ 1938 | { "" } 1939 | { this.to.prev.status 1940 | this.status.std 1941 | cap.yes 'status.cap := 1942 | name.url.prefix " " * 1943 | "\url{" * url * "}" * 1944 | punct.no 'this.status.punct := 1945 | punct.period 'prev.status.punct := 1946 | space.normal 'this.status.space := 1947 | space.normal 'prev.status.space := 1948 | quote.no 'this.status.quote := 1949 | } 1950 | if$ 1951 | } 1952 | 1953 | 1954 | 1955 | 1956 | %%%%%%%%%%%%%%%%%%%% 1957 | %% ENTRY HANDLERS %% 1958 | %%%%%%%%%%%%%%%%%%%% 1959 | 1960 | 1961 | % Note: In many journals, IEEE (or the authors) tend not to show the number 1962 | % for articles, so the display of the number is controlled here by the 1963 | % switch "is.use.number.for.article" 1964 | FUNCTION {article} 1965 | { std.status.using.comma 1966 | start.entry 1967 | if.url.alt.interword.spacing 1968 | format.authors "author" output.warn 1969 | name.or.dash 1970 | format.article.title "title" output.warn 1971 | format.journal "journal" bibinfo.check "journal" output.warn 1972 | format.volume output 1973 | format.number.if.use.for.article output 1974 | format.pages output 1975 | format.date "year" output.warn 1976 | format.note output 1977 | format.url output 1978 | fin.entry 1979 | if.url.std.interword.spacing 1980 | } 1981 | 1982 | FUNCTION {book} 1983 | { std.status.using.comma 1984 | start.entry 1985 | if.url.alt.interword.spacing 1986 | author empty$ 1987 | { format.editors "author and editor" output.warn } 1988 | { format.authors output.nonnull } 1989 | if$ 1990 | name.or.dash 1991 | format.book.title.edition output 1992 | format.series output 1993 | author empty$ 1994 | { skip$ } 1995 | { format.editors output } 1996 | if$ 1997 | format.address.publisher.date output 1998 | format.volume output 1999 | format.number output 2000 | format.note output 2001 | format.url output 2002 | fin.entry 2003 | if.url.std.interword.spacing 2004 | } 2005 | 2006 | FUNCTION {booklet} 2007 | { std.status.using.comma 2008 | start.entry 2009 | if.url.alt.interword.spacing 2010 | format.authors output 2011 | name.or.dash 2012 | format.article.title "title" output.warn 2013 | format.howpublished "howpublished" bibinfo.check output 2014 | format.organization "organization" bibinfo.check output 2015 | format.address "address" bibinfo.check output 2016 | format.date output 2017 | format.note output 2018 | format.url output 2019 | fin.entry 2020 | if.url.std.interword.spacing 2021 | } 2022 | 2023 | FUNCTION {electronic} 2024 | { std.status.using.period 2025 | start.entry 2026 | if.url.alt.interword.spacing 2027 | format.authors output 2028 | name.or.dash 2029 | format.date.electronic output 2030 | format.article.title.electronic output 2031 | format.howpublished "howpublished" bibinfo.check output 2032 | format.organization "organization" bibinfo.check output 2033 | format.address "address" bibinfo.check output 2034 | format.note output 2035 | format.url output 2036 | fin.entry 2037 | empty.entry.warn 2038 | if.url.std.interword.spacing 2039 | } 2040 | 2041 | FUNCTION {inbook} 2042 | { std.status.using.comma 2043 | start.entry 2044 | if.url.alt.interword.spacing 2045 | author empty$ 2046 | { format.editors "author and editor" output.warn } 2047 | { format.authors output.nonnull } 2048 | if$ 2049 | name.or.dash 2050 | format.book.title.edition output 2051 | format.series output 2052 | format.address.publisher.date output 2053 | format.volume output 2054 | format.number output 2055 | format.chapter output 2056 | format.pages output 2057 | format.note output 2058 | format.url output 2059 | fin.entry 2060 | if.url.std.interword.spacing 2061 | } 2062 | 2063 | FUNCTION {incollection} 2064 | { std.status.using.comma 2065 | start.entry 2066 | if.url.alt.interword.spacing 2067 | format.authors "author" output.warn 2068 | name.or.dash 2069 | format.article.title "title" output.warn 2070 | format.in.booktitle.edition "booktitle" output.warn 2071 | format.series output 2072 | format.editors output 2073 | format.address.publisher.date.nowarn output 2074 | format.volume output 2075 | format.number output 2076 | format.chapter output 2077 | format.pages output 2078 | format.note output 2079 | format.url output 2080 | fin.entry 2081 | if.url.std.interword.spacing 2082 | } 2083 | 2084 | FUNCTION {inproceedings} 2085 | { std.status.using.comma 2086 | start.entry 2087 | if.url.alt.interword.spacing 2088 | format.authors "author" output.warn 2089 | name.or.dash 2090 | format.article.title "title" output.warn 2091 | format.in.booktitle "booktitle" output.warn 2092 | format.series output 2093 | format.editors output 2094 | format.volume output 2095 | format.number output 2096 | publisher empty$ 2097 | { format.address.organization.date output } 2098 | { format.organization "organization" bibinfo.check output 2099 | format.address.publisher.date output 2100 | } 2101 | if$ 2102 | format.paper output 2103 | format.pages output 2104 | format.note output 2105 | format.url output 2106 | fin.entry 2107 | if.url.std.interword.spacing 2108 | } 2109 | 2110 | FUNCTION {manual} 2111 | { std.status.using.comma 2112 | start.entry 2113 | if.url.alt.interword.spacing 2114 | format.authors output 2115 | name.or.dash 2116 | format.book.title.edition "title" output.warn 2117 | format.howpublished "howpublished" bibinfo.check output 2118 | format.organization "organization" bibinfo.check output 2119 | format.address "address" bibinfo.check output 2120 | format.date output 2121 | format.note output 2122 | format.url output 2123 | fin.entry 2124 | if.url.std.interword.spacing 2125 | } 2126 | 2127 | FUNCTION {mastersthesis} 2128 | { std.status.using.comma 2129 | start.entry 2130 | if.url.alt.interword.spacing 2131 | format.authors "author" output.warn 2132 | name.or.dash 2133 | format.article.title "title" output.warn 2134 | format.master.thesis.type output.nonnull 2135 | format.school "school" bibinfo.warn output 2136 | format.address "address" bibinfo.check output 2137 | format.date "year" output.warn 2138 | format.note output 2139 | format.url output 2140 | fin.entry 2141 | if.url.std.interword.spacing 2142 | } 2143 | 2144 | FUNCTION {misc} 2145 | { std.status.using.comma 2146 | start.entry 2147 | if.url.alt.interword.spacing 2148 | format.authors output 2149 | name.or.dash 2150 | format.article.title output 2151 | format.howpublished "howpublished" bibinfo.check output 2152 | format.organization "organization" bibinfo.check output 2153 | format.address "address" bibinfo.check output 2154 | format.pages output 2155 | format.date output 2156 | format.note output 2157 | format.url output 2158 | fin.entry 2159 | empty.entry.warn 2160 | if.url.std.interword.spacing 2161 | } 2162 | 2163 | FUNCTION {patent} 2164 | { std.status.using.comma 2165 | start.entry 2166 | if.url.alt.interword.spacing 2167 | format.authors output 2168 | name.or.dash 2169 | format.article.title output 2170 | format.patent.nationality.type.number output 2171 | format.patent.date output 2172 | format.note output 2173 | format.url output 2174 | fin.entry 2175 | empty.entry.warn 2176 | if.url.std.interword.spacing 2177 | } 2178 | 2179 | FUNCTION {periodical} 2180 | { std.status.using.comma 2181 | start.entry 2182 | if.url.alt.interword.spacing 2183 | format.editors output 2184 | name.or.dash 2185 | format.book.title "title" output.warn 2186 | format.series output 2187 | format.volume output 2188 | format.number output 2189 | format.organization "organization" bibinfo.check output 2190 | format.date "year" output.warn 2191 | format.note output 2192 | format.url output 2193 | fin.entry 2194 | if.url.std.interword.spacing 2195 | } 2196 | 2197 | FUNCTION {phdthesis} 2198 | { std.status.using.comma 2199 | start.entry 2200 | if.url.alt.interword.spacing 2201 | format.authors "author" output.warn 2202 | name.or.dash 2203 | format.article.title "title" output.warn 2204 | format.phd.thesis.type output.nonnull 2205 | format.school "school" bibinfo.warn output 2206 | format.address "address" bibinfo.check output 2207 | format.date "year" output.warn 2208 | format.note output 2209 | format.url output 2210 | fin.entry 2211 | if.url.std.interword.spacing 2212 | } 2213 | 2214 | FUNCTION {proceedings} 2215 | { std.status.using.comma 2216 | start.entry 2217 | if.url.alt.interword.spacing 2218 | format.editors output 2219 | name.or.dash 2220 | format.book.title "title" output.warn 2221 | format.series output 2222 | format.volume output 2223 | format.number output 2224 | publisher empty$ 2225 | { format.address.organization.date output } 2226 | { format.organization "organization" bibinfo.check output 2227 | format.address.publisher.date output 2228 | } 2229 | if$ 2230 | format.note output 2231 | format.url output 2232 | fin.entry 2233 | if.url.std.interword.spacing 2234 | } 2235 | 2236 | FUNCTION {standard} 2237 | { std.status.using.comma 2238 | start.entry 2239 | if.url.alt.interword.spacing 2240 | format.authors output 2241 | name.or.dash 2242 | format.book.title "title" output.warn 2243 | format.howpublished "howpublished" bibinfo.check output 2244 | format.organization.institution.standard.type.number output 2245 | format.revision output 2246 | format.date output 2247 | format.note output 2248 | format.url output 2249 | fin.entry 2250 | if.url.std.interword.spacing 2251 | } 2252 | 2253 | FUNCTION {techreport} 2254 | { std.status.using.comma 2255 | start.entry 2256 | if.url.alt.interword.spacing 2257 | format.authors "author" output.warn 2258 | name.or.dash 2259 | format.article.title "title" output.warn 2260 | format.howpublished "howpublished" bibinfo.check output 2261 | format.institution "institution" bibinfo.warn output 2262 | format.address "address" bibinfo.check output 2263 | format.tech.report.number output.nonnull 2264 | format.date "year" output.warn 2265 | format.note output 2266 | format.url output 2267 | fin.entry 2268 | if.url.std.interword.spacing 2269 | } 2270 | 2271 | FUNCTION {unpublished} 2272 | { std.status.using.comma 2273 | start.entry 2274 | if.url.alt.interword.spacing 2275 | format.authors "author" output.warn 2276 | name.or.dash 2277 | format.article.title "title" output.warn 2278 | format.date output 2279 | format.note "note" output.warn 2280 | format.url output 2281 | fin.entry 2282 | if.url.std.interword.spacing 2283 | } 2284 | 2285 | 2286 | % The special entry type which provides the user interface to the 2287 | % BST controls 2288 | FUNCTION {IEEEtranBSTCTL} 2289 | { is.print.banners.to.terminal 2290 | { "** IEEEtran BST control entry " quote$ * cite$ * quote$ * " detected." * 2291 | top$ 2292 | } 2293 | { skip$ } 2294 | if$ 2295 | CTLuse_article_number 2296 | empty$ 2297 | { skip$ } 2298 | { CTLuse_article_number 2299 | yes.no.to.int 2300 | 'is.use.number.for.article := 2301 | } 2302 | if$ 2303 | CTLuse_paper 2304 | empty$ 2305 | { skip$ } 2306 | { CTLuse_paper 2307 | yes.no.to.int 2308 | 'is.use.paper := 2309 | } 2310 | if$ 2311 | CTLuse_forced_etal 2312 | empty$ 2313 | { skip$ } 2314 | { CTLuse_forced_etal 2315 | yes.no.to.int 2316 | 'is.forced.et.al := 2317 | } 2318 | if$ 2319 | CTLmax_names_forced_etal 2320 | empty$ 2321 | { skip$ } 2322 | { CTLmax_names_forced_etal 2323 | string.to.integer 2324 | 'max.num.names.before.forced.et.al := 2325 | } 2326 | if$ 2327 | CTLnames_show_etal 2328 | empty$ 2329 | { skip$ } 2330 | { CTLnames_show_etal 2331 | string.to.integer 2332 | 'num.names.shown.with.forced.et.al := 2333 | } 2334 | if$ 2335 | CTLuse_alt_spacing 2336 | empty$ 2337 | { skip$ } 2338 | { CTLuse_alt_spacing 2339 | yes.no.to.int 2340 | 'is.use.alt.interword.spacing := 2341 | } 2342 | if$ 2343 | CTLalt_stretch_factor 2344 | empty$ 2345 | { skip$ } 2346 | { CTLalt_stretch_factor 2347 | 'ALTinterwordstretchfactor := 2348 | "\renewcommand{\BIBentryALTinterwordstretchfactor}{" 2349 | ALTinterwordstretchfactor * "}" * 2350 | write$ newline$ 2351 | } 2352 | if$ 2353 | CTLdash_repeated_names 2354 | empty$ 2355 | { skip$ } 2356 | { CTLdash_repeated_names 2357 | yes.no.to.int 2358 | 'is.dash.repeated.names := 2359 | } 2360 | if$ 2361 | CTLname_format_string 2362 | empty$ 2363 | { skip$ } 2364 | { CTLname_format_string 2365 | 'name.format.string := 2366 | } 2367 | if$ 2368 | CTLname_latex_cmd 2369 | empty$ 2370 | { skip$ } 2371 | { CTLname_latex_cmd 2372 | 'name.latex.cmd := 2373 | } 2374 | if$ 2375 | CTLname_url_prefix 2376 | missing$ 2377 | { skip$ } 2378 | { CTLname_url_prefix 2379 | 'name.url.prefix := 2380 | } 2381 | if$ 2382 | 2383 | 2384 | num.names.shown.with.forced.et.al max.num.names.before.forced.et.al > 2385 | { "CTLnames_show_etal cannot be greater than CTLmax_names_forced_etal in " cite$ * warning$ 2386 | max.num.names.before.forced.et.al 'num.names.shown.with.forced.et.al := 2387 | } 2388 | { skip$ } 2389 | if$ 2390 | } 2391 | 2392 | 2393 | %%%%%%%%%%%%%%%%%%% 2394 | %% ENTRY ALIASES %% 2395 | %%%%%%%%%%%%%%%%%%% 2396 | FUNCTION {conference}{inproceedings} 2397 | FUNCTION {online}{electronic} 2398 | FUNCTION {internet}{electronic} 2399 | FUNCTION {webpage}{electronic} 2400 | FUNCTION {www}{electronic} 2401 | FUNCTION {default.type}{misc} 2402 | 2403 | 2404 | 2405 | %%%%%%%%%%%%%%%%%% 2406 | %% MAIN PROGRAM %% 2407 | %%%%%%%%%%%%%%%%%% 2408 | 2409 | READ 2410 | 2411 | EXECUTE {initialize.controls} 2412 | EXECUTE {initialize.status.constants} 2413 | EXECUTE {banner.message} 2414 | 2415 | EXECUTE {initialize.longest.label} 2416 | ITERATE {longest.label.pass} 2417 | 2418 | EXECUTE {begin.bib} 2419 | ITERATE {call.type$} 2420 | EXECUTE {end.bib} 2421 | 2422 | EXECUTE{completed.message} 2423 | 2424 | 2425 | %% That's all folks, mds. 2426 | -------------------------------------------------------------------------------- /nsfc.sty: -------------------------------------------------------------------------------- 1 | % ------------------------------------------------- 2 | % Modified from latex template of IEEE CVPR 3 | % ------------------------------------------------- 4 | 5 | \PassOptionsToPackage{quiet}{fontspec} 6 | \RequirePackage[UTF8]{ctex} 7 | 8 | \RequirePackage{enumitem} 9 | \setenumerate[1]{itemsep=0pt,parsep=0pt,topsep=5pt} 10 | \setitemize[1]{itemsep=0pt,parsep=0pt,topsep=5pt} 11 | 12 | \RequirePackage{times} 13 | \RequirePackage{graphicx} 14 | \RequirePackage{amsmath} 15 | \RequirePackage{amssymb} 16 | \RequirePackage{overpic} 17 | \RequirePackage{xcolor} 18 | \RequirePackage[pagebackref=false,breaklinks=true,colorlinks=true,bookmarks=false,linkcolor=black,citecolor=black,urlcolor=black]{hyperref} 19 | 20 | \RequirePackage[a4paper, left = 2.9cm, right = 2.9cm, top = 2.54cm, bottom = 2.54cm]{geometry} 21 | 22 | \pagestyle{empty} 23 | \thispagestyle{empty} 24 | 25 | \definecolor{MSBlue}{rgb}{0.0,0.44,0.753} 26 | 27 | \newcommand{\nsfClr}[1]{\textcolor[rgb]{0.0,0.44,0.753}{#1}} 28 | \newcommand{\alert}[1]{\nsfClr{\emph{#1}}} 29 | \newcommand{\ContentDes}[1]{ 30 | \setcounter{section}{0} 31 | {\large \bf {\alert{#1}} }% %{\vspace*{12pt} \NsfcNote{#2} }% 32 | } 33 | \setlength{\parskip}{0.5\baselineskip} 34 | 35 | 36 | \def\@maketitle{ %\newpage \null \vskip .01in 37 | \begin{center} {\LARGE\bf\@title\par} \end{center} 38 | } 39 | 40 | 41 | 42 | \usepackage{silence} 43 | \hbadness=10000 \vbadness=10000 \vfuzz=30pt \hfuzz=30pt 44 | \WarningFilter{latex}{Font shape} 45 | 46 | 47 | \newcommand{\NsfcSection}[3]{{\large 48 | \setcounter{section}{#1} 49 | \setcounter{subsection}{0} 50 | \indent \nsfClr{#1. }{\bfseries{\alert{#2}}}{\alert{#3}}% 51 | }} 52 | 53 | 54 | \renewcommand\refname{ 55 | \textcolor{black}{\hskip 2pt \emph{\large 参考文献:}} 56 | } 57 | 58 | \def\cvprsubsection{\@startsection {subsection}{2}{\z@} 59 | {11pt plus 2pt minus 2pt}{6pt} {\bf}} 60 | \def\cvprssubsect#1{\cvprsubsection*{\large #1}} 61 | \def\cvprsubsect#1{\cvprsubsection{\hskip -1em.~#1}} 62 | \def\subsection{\@ifstar\cvprssubsect\cvprsubsect} 63 | 64 | 65 | %%% Make figure placement a little more predictable. 66 | % We trust the user to move figures if this results 67 | % in ugliness. 68 | % Minimize bad page breaks at figures 69 | \renewcommand{\textfraction}{0.01} 70 | \renewcommand{\floatpagefraction}{0.99} 71 | \renewcommand{\topfraction}{0.99} 72 | \renewcommand{\bottomfraction}{0.99} 73 | \renewcommand{\dblfloatpagefraction}{0.99} 74 | \renewcommand{\dbltopfraction}{0.99} 75 | \setcounter{totalnumber}{99} 76 | \setcounter{topnumber}{99} 77 | \setcounter{bottomnumber}{99} 78 | 79 | 80 | % --------------------------------------------------------------- 81 | 82 | 83 | \newcommand{\figref}[1]{图\ref{#1}} 84 | \newcommand{\tabref}[1]{表\ref{#1}} 85 | \newcommand{\equref}[1]{式\ref{#1}} 86 | \newcommand{\secref}[1]{第\ref{#1}节} 87 | 88 | \RequirePackage{silence} 89 | \WarningFilter{latexfont}{Font shape `} 90 | \WarningFilter{latexfont}{Some font shapes were not available,} -------------------------------------------------------------------------------- /prepare/NSFC-Figs.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MCG-NKU/NSFC-LaTex/79d12c9c49ae6a3492204ae76cd4656887c857d0/prepare/NSFC-Figs.pptx -------------------------------------------------------------------------------- /青年.tex: -------------------------------------------------------------------------------- 1 | % https://github.com/MCG-NKU/NSFC-LaTex 2 | % by Ming-Ming Cheng https://mmcheng.net 3 | % 关于VsCode LaTeX的配置 https://www.cnblogs.com/ourweiguan/p/11785660.html 4 | % Windows下Tex Live最新版可以用pdfLatex快速编译和标准模板相似度更高的文档。 5 | 6 | 7 | 8 | \documentclass[12pt]{article} 9 | 10 | 11 | \usepackage{nsfc} 12 | 13 | 14 | %\usepackage{fontspec} 15 | %\usepackage{xcolor} 16 | %\defaultfontfeatures{Ligatures=TeX} 17 | 18 | 19 | 20 | 21 | \newcommand{\addImg}[2][1.0]{\includegraphics[width=#1\linewidth]{#2}} 22 | \newcommand{\cmm}[1]{\textcolor[rgb]{0,0.6,0}{CMM: #1}} 23 | \newcommand{\todo}[1]{{\textcolor{red}{\bf [#1]}}} 24 | \newcommand{\myPara}[1]{\paragraph{#1:}} 25 | \newcommand{\myEmph}[1]{\textbf{\textcolor[rgb]{0,0,0.25}{#1}}} 26 | \newcommand{\mySec}[1]{\vspace{0.15in} \noindent \myEmph{$\square$~#1}} 27 | 28 | \graphicspath{{figures/}} 29 | 30 | 31 | \begin{document} 32 | 33 | 34 | 35 | 36 | %\if 0 37 | \begin{center}\bf\Large ***识别研究 (提交时注释掉) \\ 38 | 39 | Research on target recognition *** 40 | \end{center} 41 | 42 | 43 | 44 | 45 | 46 | \textbf{摘要}: 47 | % 48 | “用……方法(手段)进行……研究,探索/证明……问题, 49 | 对阐明……机制/揭示……规律有重要意义,为……奠定基础/提供……思路 ”。 50 | 作用:画龙点睛。 51 | 效果:引发评议专家兴趣,使其产生探个究竟的好奇心——“他到底要怎么做?” 52 | 摘要字少,但切忌平淡无奇(要勾起评委浓厚兴趣)。 53 | \myEmph{一定要语气坚定,旗帜鲜明,字数有限,资源宝贵,要特别注意重点突出, 54 | 讲明现状、意义、课题主要研究目标、内容、思路和预期结果}。 55 | 56 | 57 | 58 | \textbf{Abstract}: 59 | *** 60 | 61 | 62 | 科学问题属性:聚焦前沿,独辟蹊径 63 | 64 | 65 | 66 | 计算机视觉研究正在经历一个各种检测识别技术大规模进入实际应用的时期。 67 | 然而,如何面对绝大多数实际应用中样本数据不足、场景类别不确定、 68 | 采集数据质量低等现实问题, 69 | 研究不确定环境下小样本目标识别, 70 | 依然是计算机视觉领域的世界级科技前沿问题。 71 | % 72 | 该问题的解决,有望带领计算机视觉技术进入更为广阔的深水区。 73 | 申请人团队拟基于图像场景理解领域内世界前沿的学术成果积累, 74 | 在时效性约束和资源受限条件下,研究不确定性的建模及其诱导的 75 | 鲁棒深度学习技术,开发适应能力强的神经网络技术, 76 | 并利用通用经验知识,推动不确定环境下小样本目标识别理论和方法的突破。 77 | % 78 | 相对于现有工作,本项目拟研究的技术具有鲜明的引领性。 79 | 不同于传统技术尽量避免不确定性, 80 | 该研究计划系统地对不确定性进行建模,并且利用不确定性的特点开发鲁棒的智能算法, 81 | 因而,该项目独辟蹊径,有望引领该领域的国际前沿研究发展。 82 | 83 | 84 | \clearpage 85 | %\fi 86 | 87 | 88 | %%%%%%%%% TITLE 89 | \title{报告正文} 90 | 91 | \maketitle 92 | \thispagestyle{empty} 93 | 94 | %\emph{\large 参照以下提纲撰写,要求内容翔实、清晰,层次分明,标题突出。 95 | %\nsfClr{请勿删除或改动下述提纲标题及括号中的文字。}} 96 | 97 | 98 | \ContentDes{(一)立项依据与研究内容\textnormal{\alert{(建议$8000$字以内)}}:} 99 | 100 | 101 | \NsfcSection{1}{项目的立项依据}{ 102 | (研究意义、国内外研究现状及发展动态分析,需结合科学研究发展趋势来论述科学意义; 103 | 或结合国民经济和社会发展中迫切需要解决的关键科技问题来论述其应用前景。 104 | 附主要参考文献目录);} 105 | 106 | 107 | 108 | 题目是你对评审专家说的第一句话。需要创新、创新、再创新!! 109 | 尽量回答“干什么、对象是什么、用什么方法、解决什么问题”。 110 | 简洁明确,具体清楚。不宜过长,不宜出现过多的关键词,但最好要有新意的关键词出现, 111 | 包含研究视角、方法和研究对象的创新, 112 | 最好能让专家一看到“题目名称”就能基本了解本申请重点要研究的问题。 113 | 忌讳项目名称重复,即使所提出的与以前资助项目研究内容有所不同,甚至有所创新, 114 | 但名称重复很难给人以新意。 115 | \myEmph{建议检索类似课题历年资助情况,避免重复!!} 116 | % 117 | 在选择研究题目(或方向)时,应本着“扬长避短”的原则,尽量结合自己的研究基础; 118 | 缺乏一定科学(研究)基础的“创新”是不成立的,许多情况甚至是“空想”。 119 | 选题最好以问题为导向,不要新以技术、新方法的应用为导向! 120 | 忌盲目追求“学科前沿”和“研究热点”问题。 121 | 122 | 123 | 写本子最难的是\myEmph{想题目}和\myEmph{写摘要}, 124 | 需要广泛快速阅读近几年的文献。 125 | 可以考虑找到一个具体的场景,用场景将本子的研究内容串起来。 126 | 也可以围绕一个关键科学问题,将多个方面的研究内容有机结合起来。 127 | 建议先画两个图:\myEmph{研究内容框架图}和\myEmph{详细技术路线图}。 128 | 有了这两个总蓝图,整个本子写起来会更加的有条理,避免各种混乱和不一致。 129 | % 130 | 为了方便专家快速抓住重点,建议把\myEmph{重点内容标粗}, 131 | 让专家即使只阅读非常少的加粗字体,也可以获得判断本子优劣的足够关键信息。 132 | 133 | 134 | 我在参加基金委重点项目会评之前, 135 | 基金委领导特意给评委们科普了基金委最看重的\myEmph{灵魂六问},请专家们重点关注: 136 | \begin{itemize} 137 | \item 该项目想做什么?请用大同行能够理解的术语表达您的研究目标。 138 | \item 目前的做法有哪些局限性? 139 | \item 您的方法有什么独特性,为什么您认为它会成功? 140 | \item 谁关心该项目取得的成果? 141 | \item 如果您成功了,对该领域有的推动作用是什么? 142 | \item 中期和期末,如何检查该项目计划成功与否? 143 | \end{itemize} 144 | 145 | 在撰写基金的过程中,各部分需要重点阐明 146 | \begin{itemize} 147 | \item 立项依据:为什么做 148 | \item 研究内容:做什么 149 | \item 研究目标:做到什么程度 150 | \item 研究方案:如何做 151 | \item 工作基础等:我能做该项目 152 | \end{itemize} 153 | 154 | 155 | 具体到立项依据,重点阐述清楚: 156 | \myEmph{为什么要做这个课题?重大需求、存在问题、有解决思路。谁会关心该项目取得的成果?} 157 | 让评审者读了申请书以后要有如下感觉: 158 | 这个研究很重要,国内外都在做,但有要害问题没有解决, 159 | 申请人提出了很好的解决途径,思路很独特且合理, 160 | 若沿着这条思路做几个方面的研究,有解决希望。 161 | 162 | 163 | 对基础研究,着重结合国际科学发展趋势,论述项目科学意义对应用基础研究, 164 | 着重结合学科前沿,围绕国民经济和社会发展中的重要科技问题论述其应用前景。 165 | % 166 | 立项依据部分应该包括: 167 | \begin{itemize} 168 | \item 立项意义; 169 | \item 国外同类研究状况; 170 | \item 国内同类研究状况; 171 | \item 本课题组的研究基础和选题的依据。 172 | \end{itemize} 173 | 立项依据论述要简明扼要,有理有据。 174 | 要用准确的学术语言,将问题论述清楚,一般要考虑如下问题: 175 | 1、什么人在研究?研究了些什么?核心科学问题是什么? 176 | 2、人家怎么进行研究?解决了些什么问题?还有什么问题没解决? 177 | 哪些问题是别人想到了的?但没有解决? 178 | 3、你考虑怎么解决?哪些问题是别人还没有想到的?你又是考虑怎么来解决? 179 | 4、如果您成功了,对该领域有什么推动作用? 180 | 181 | 182 | \subsection{研究背景及科学意义} 183 | 184 | \subsubsection{*题目*对**具有重要作用} 185 | 186 | 第一段:主要描述题目的主要工作,解释题目中涉及的术语, 187 | 然后说明输入和输出,说明目前题目的主要工作是如何实现的, 188 | 具有什么样的意义。 189 | 190 | 第二段:说明第一段描述的内容的局限性和不足, 191 | 引出本项目的主要工作。 192 | 193 | 第三段:说明解决上述局限性和不足,有什么实际应用效果。 194 | 195 | 第四段:说明该项目工作对***的重要作用。 196 | 197 | 198 | \subsubsection{*题目*具有挑战性的问题} 199 | 200 | 项目需要那些技术,这些技术的复杂程度,面临的主要问题, 201 | 要使用一些术语来表述,最后要有结论性语言,例如: 202 | 203 | \myEmph{因此,当前***技术很难应用于面向***的研究, 204 | 在***等方面也缺少针对 *** 的专门研究, 205 | 特别是缺乏针对***的有效方法。 206 | 这些局限性限制了***分析技术的发展 。 207 | } 208 | 209 | 210 | \subsubsection{***思想为***题目*研究提供了新途径} 211 | 212 | 一些最新的技术,有利于项目工作的解决。 213 | 最后务必有一段总结的语言,例如 214 | 215 | \myEmph{本项目基于***数据,建立***,利用***表示和分析方法, 216 | 以***为核心,研究***演化规律, 217 | 在理论和技术层面都具有重要的引领和示范作用。} 218 | 219 | 220 | \subsection{***题目*面临的挑战} 221 | 222 | 提出3-4个挑战,分别对应后面的主要研究内容,最后一定要有对挑战的总结描述,例如 223 | 224 | \myEmph{因此,面向****的***,需要对***、***和***进行统一的概念描述与框架建模。 225 | 在此基础上,通过****是一个可行途径。} 226 | 227 | 228 | \subsection{总结} 229 | 230 | 说明课题组具有解决上述挑战的能力,例如: 231 | 232 | \myEmph{综上所述,***,本项目从***出发,面对***等挑战, 233 | 研究***关键科学问题。 234 | 项目拟在以下三方面开展研究:****} 235 | 236 | 237 | 项目组在***具有扎实的研究基础,承担了多项国家和省部级课题, 典型的有:***。 238 | 这些项目的完成,使项目组在***方面积累了丰富的研究经验, 239 | 也为该项目的实施奠定了良好的技术基础。 240 | 241 | 本项目直接面向***国家战略,可以为***等重要应用提供核心技术支撑, 242 | 对推进***的应用和发展具有重要的意义。 243 | 244 | \subsection{国内外相关工作} 245 | 246 | 如果申请人从未在所申请项目的研究领域发表过一篇论文, 247 | 或者申请书中对国内外研究现状阐述不明,不附主要参考文献目录, 248 | 说明申请人在这一研究领域无研究工作基础,不具备实施该项目的研究能力。 249 | 250 | 在相关工作的评述中,应该尽量广泛的包含各方面的先进成果: 251 | 既有国际上顶级的研究,也得有国内最先进的成果。 252 | \myEmph{建议同时包含自己的中文\cite{21SC_WebSegE}和英文\cite{ChengZMHH10}的代表作, 253 | 这些相关的代表作也标明自己在该领域的研究基础。} 254 | 可以引用几个代表性图,形象的展示一些重要的背景知识,方便大同行理解。 255 | 256 | 可以对相关工作进行分组介绍。 257 | 每组介绍之后简单总结一下现有工作和拟研究工作的关系。 258 | \myEmph{现有工作存在那些不足需要进一步研究。 259 | 这些总结性的结论建议粗体强调,方便评审人迅速理解。} 260 | 261 | { 262 | \bibliographystyle{nsfc.bst} 263 | \bibliography{Cmm} 264 | } 265 | 266 | 267 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 268 | \NsfcSection{2}{项目的研究内容、研究目标,以及拟解决的关键科学问题}{ 269 | (此部分为重点阐述内容);} 270 | 271 | \subsection{研究目标} 272 | 273 | 274 | 重点阐述本项目计划\myEmph{做到什么程度}。 275 | 一定要用大同行能够理解的术语来描述。 276 | 277 | 278 | \subsection{研究内容} 279 | 280 | 281 | 重点阐述本项目计划\myEmph{做什么}。 282 | 如\figref{fig:teaser}所示,建议撰写之前仔细画一个主要研究内容的图。 283 | 我通常习惯用PowerPoint作图,做好后导出为pdf格式,既可以保持图片不会文件太大,也可以保证放大后非常清晰。 284 | 幻灯片直接导出的pdf可能存在空白边,可以用WPS中的“页面-剪裁页面”去掉白边。 285 | 作图用的pptx文件我也通常会保存起来,例如这个模版\LaTeX 文件中的“prepare/NSFC-Figs.pptx”。 286 | 如果是大的国基金项目,后续可能涉及答辩。 287 | 答辩时这个图可以用,保留pptx格式也方便到时候做尺寸和布局的调整。 288 | 289 | 290 | \begin{figure}[ht] 291 | \centering 292 | \begin{overpic}[width=0.8\columnwidth]{framework.pdf} 293 | \end{overpic} 294 | \caption{本项目主要研究内容。 295 | }\label{fig:teaser} 296 | \end{figure} 297 | 298 | 299 | 300 | 301 | \subsection{拟解决的关键科学问题} 302 | 303 | 304 | 305 | \NsfcSection{3}{拟采取的研究方案及可行性分析}{ 306 | (包括研究方法、技术路线、实验手段、关键技术等说明);} 307 | 308 | 309 | \subsection{拟采取的技术路线} 310 | 311 | 如图\figref{fig:pipline}所示,建议在具体写技术路线之前,先厘清这个框架图。 312 | 技术路线的框架图通常比研究内容更加饱满,可以更好的展示本项目的研究思路。 313 | 314 | \begin{figure}[ht] 315 | \centering 316 | \begin{overpic}[width=\columnwidth]{pipeline.pdf} 317 | \end{overpic} 318 | \caption{本项目的技术路线。 319 | }\label{fig:pipline} 320 | \end{figure} 321 | 322 | 323 | \subsection{可行性分析} 324 | 325 | 既然国内外相关工作都没能解决你提出的重要问题,为什么你觉得自己有望解决该问题。 326 | 论述的时候通常包括:独特的时机、与众不同的方案、雄厚的相关科研积累等。 327 | 328 | 329 | \NsfcSection{4}{本项目的特色与创新之处;}{} 330 | 331 | 您的方法有什么独特性,为什么您认为它会成功? 332 | 333 | \NsfcSection{5}{年度研究计划及预期研究结果}{ 334 | (包括拟组织的重要学术交流活动、国际合作与交流计划等)。} 335 | 336 | \subsection{年度研究计划} 337 | 338 | 339 | \subsection{预期研究成果} 340 | 341 | 项目各阶段,特别是中期和期末,如何检查该项目计划成功与否? 342 | 343 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 344 | \ContentDes{(二)研究基础与工作条件} 345 | 346 | 347 | \NsfcSection{1}{研究基础}{ 348 | (与本项目相关的研究工作积累和已取得的研究工作成绩);} 349 | 350 | 以我本人的第一个国基金项目的\myEmph{申请原文为例},通过高度精炼的语言, 351 | 在2页左右的篇幅中快速讲清楚:1)大部分申请人没有的特色优势是什么; 352 | 2)特色工作和拟研究工作的联系得清晰。 353 | 354 | 申请人在与本项目相关的研究工作中有着丰富的积累,并取得了国际领先的科研成果, 355 | 发表\myEmph{10余篇CCF A类}国际期刊及会议论文(ACM TOG 4篇,IEEE TPAMI 2篇, 356 | IEEE CVPR 3篇,IEEE ICCV 2篇,IEEE TVCG 2篇), 357 | \myEmph{论文Google Scholar他引1600+次,一作论文单篇最高他引700+次}。 358 | 这些研究基础主要包括3个方面: 359 | 360 | 361 | \subsection{图像的智能理解与新一代交互方面} 362 | 363 | \begin{figure}[ht] 364 | \centering 365 | \addImg[1]{figures/work.jpg} 366 | \caption{图像智能理解与交互关键技术。} 367 | \label{fig:interaction} 368 | \end{figure} 369 | 370 | 对图像中的物体对象进行智能分析,从而实现基于语音、简单笔画等自然直观操作方式的图像编辑, 371 | 是计算机图形学中的重要课题。 372 | 如\figref{fig:interaction}所示,在该领域, 373 | 申请人提出了基于图像场景物体的编辑技术 374 | (ACM TOG 2010 \cite{ChengZMHH10},申请人为一作), 375 | 基于语音控制的图像分析技术 376 | (ACM TOG 2014 \cite{cheng2014imagespirit},申请人为一作), 377 | 基于草图和网络图像的图像合成技术 378 | (ACM TOG 2009 \cite{cheng2014imagespirit},申请人为二作)。 379 | 其中,图像合成技术于2010年被法国政府参与组织的国际互联网行业论坛评选为 380 | “全球互联网数字媒体领域十大创新性发明之一”并在法国参议院颁奖, 381 | 成果介绍视频浏览百万次以上,并被英国《每日邮报》、 382 | 德国《明镜周刊》等多家著名国际媒体撰文报道。 383 | 英国《每日邮报》对该工作的评价为“An image manipulation tool built by a group 384 | of Chinese students has taken the internet by storm”。 385 | 该工作被科技部 \cite{sketch2PhotoMost} 386 | \myEmph{作为973计划成功案例}予以报道(信息领域仅列出这一个案例)。 387 | 申请人在该领域的CCF A类国际期刊ACM TOG(4篇)和IEEE TVCG(2篇)上发表多篇论文。 388 | 389 | \subsection{显著性物体检测方面} 390 | 391 | \begin{figure}[ht] 392 | \centering 393 | \addImg[1]{figures/sal.jpg} 394 | \caption{视觉显著性物体检测与分割算法及其应用。} 395 | \label{fig:salobj} 396 | \end{figure} 397 | 398 | 申请人提出了一种基于全局对比度分析的图像视觉显著性区域检测算法。 399 | 通过对图像区域间的全局对比度和空间相关性进行建模, 400 | 该算法能够快速有效地检测并分割图像中的视觉显著性区域。 401 | 在国际上现有最大的公开测试集上,该方法的检测结果优于已有方法, 402 | 显著性区域分割结果的准确性从之前最好结果的正确率75\%、 403 | 召回率83\% 提升到了正确率90\%、召回率90\% 。 404 | 该成果自2011年在IEEE CVPR上发表之后(申请人为一作),源代码下载量2000余次, 405 | 论文\myEmph{Google Scholar他引700+次}(其期刊版本被IEEE TPAMI 2015录用)。 406 | 基于该工作的若干扩展性工作在IEEE ICCV 2013(申请人为一作), 407 | 和SCI期刊The Visual Computer 2014(申请人为一作)上发表。 408 | 409 | 410 | \subsection{基于视觉注意机制的候选物体生成方面} 411 | 412 | \begin{figure}[ht] 413 | \centering 414 | \addImg[.8]{figures/Objectness.jpg} 415 | \caption{图像中候选物体(object proposal)生成的快速机制。} 416 | \label{fig:objectness} 417 | \end{figure} 418 | 419 | 物体检测是计算机视觉领域最重要的核心问题。 420 | 传统物体检测技术大多基于滑动窗口机制,非常耗时。 421 | 近年来,通过对图像进行预分析,从而提取相对少量的图像窗口作为候选物体, 422 | 并对这些候选物体进行分类从而达到检测目的的机制逐渐兴起。 423 | 虽然这一机制可以极大地加速后续物体检测过程, 424 | 并且通过使用强分类器提高检测正确率,但是现有方法比较耗时。 425 | 申请人根据不同物体类别图像都具有封闭轮廓这一特性, 426 | 提出了一种简单有效的方法解决这一问题。 427 | 相对与该领域内已有代表性方法,新方法的计算效率提升了1000倍以上, 428 | 并能得到更高的检测率。 429 | \figref{fig:objectness}所示工作被IEEE CVPR 2014录用为Oral 论文 430 | (录取率5\%,申请人为一作)。 431 | 相关代码公开后一个月内下载量突破2000次。 432 | 论文发表半年左右时间,已经被多个国际著名学者在论文或者大会报告中引用, 433 | 包括:IEEE TPAMI主编 Forsyth教授、 434 | 加州大学伯克利分校的 Malik教授(IEEE Fellow和ACM Fellow)、 435 | 牛津大学 Vedaldi副教授(IEEE TPAMI Associate Editor)、 436 | 瑞士联邦工学院的Gool教授等。 437 | 申请人也因为这方面的工作被英国皇家学会院士Andrew Zisserman教授、 438 | 剑桥大学Roberto Cipolla教授、新加坡国立大学颜水城教授等十余位著名学者邀请, 439 | 分别去他们的研究组做报告。 440 | 441 | 442 | \subsection{研究工作获奖} 443 | 444 | 445 | \begin{figure}[ht] 446 | \centering 447 | \addImg[.8]{figures/awards.jpg} 448 | \caption{图像中候选物体(object proposal)生成的快速机制。} 449 | \label{fig:award} 450 | \end{figure} 451 | 452 | 申请人在图像分析与编辑方面的初步工作获得了多项重要奖励, 453 | 包括:Google PhD Fellowship (2010年亚洲地区共2人获奖), 454 | 北京市优秀博士论文(同年度清华大学56个系共有7人获得该奖项), 455 | 英国皇家学会Newton International Fellowship提名,教育部自然科学奖一等奖, 456 | IBM PhD fellowship,北京市优秀博士毕业生,教育部博士研究生学术新人奖等奖项。 457 | 这些初步研究中取得的成果为本项目取得进一步的创新性成果打下了坚实的基础。 458 | 459 | 460 | \NsfcSection{2}{工作条件}{ 461 | (包括已具备的实验条件,尚缺少的实验条件和拟解决的途径, 462 | 包括利用国家实验室、 463 | 全国重点实验室和部门重点实验室等研究基地的计划与落实情况);} 464 | 465 | 466 | \myPara{申请平台概况} 467 | 南开大学计算机学科在计算机视觉与计算机图形学领域具有非常扎实的研究基础。 468 | 作为教育部直属重点大学,南开大学是国内学科门类最齐全的综合性、研究型大学之一。 469 | 在计算机视觉与图形学方向上, 470 | 南开大学计算机学院拥有计算机与控制工程国家级虚拟仿真实验教学中心、 471 | 可信行为智能算法与系统教育部工程研究中心、和天津市视觉计算与智能感知重点实验室 472 | 等一系列优良研究平台。 473 | 计算机视觉与图形学团队现拥有一批先进的高性能GPU服务器集群(包含Tesla A40, Tesla V100, RTX 3090等高端GPU共计900多块)。 474 | % 475 | 为本项目的研发提供强有力的计算环境。 476 | 南开大学为计算机视觉与图形学团队提供了1200平米的科研用房。 477 | 这些良好的配套支持将为项目的顺利开展提供优良的工作条件。 478 | 479 | 480 | \myPara{科研团队介绍} 481 | 482 | 申请人所在的南开大学计算机视觉与图形学团队 483 | 由国家杰出青年基金获得者程明明教授带领, 484 | 包含国家级“四青”人才5人。 485 | % 486 | 近五年,团队承担国家自然科学基金重点项目、国家重点研发计划课题、 487 | 国防科技创新重点项目等重点重大项目10余项; 488 | 在相关领域的 SCI 一区/CCF A 类顶级国际期刊和会议上发表学术论文100余篇, 489 | 其中 TPAMI论文 40余篇,ESI高被引论文30余篇; 490 | 获得教育部自然科学一等奖、中国图象图形学学会自然科学一等奖、 491 | 吴文俊人工智能自然科学二等奖等多项奖励。 492 | 493 | 494 | \myPara{国内外合作与学术交流情况} 495 | 496 | 南开大学计算机视觉与图形学团队有着丰富的国内外学术合作与交流基础。 497 | 近年来,团队与计算机视觉最高奖Marr奖得主、英国皇家学会院士、 498 | 牛津大学Philip Torr教授团队, 499 | 计算机视觉最高奖Marr奖得主、加州大学圣迭戈分校的Zhuowen Tu教授团队, 500 | 和清华大学胡事民教授团队合作开展了多项具有影响力的学术研究, 501 | 并共同发表相关学术论文。 502 | 团队成员受邀担任IEEE TPAMI, IEEE TIP, IEEE CVPR, ICCV等本领域 503 | 多个顶级期刊和会议的编委或领域主席。 504 | 团队成员作为主要组织者承办了VALSE 2022 (3000余人现场参会),2023 (5000余人现场参会), 505 | 和PRCV 2020,2024 (1000多人现场参会) 506 | 等多个国内大型学术会议。 507 | % 508 | 与这些国内外相关研究团队开展密切合作与交流的经验也将为项目的成功 509 | 进行起到重要的促进作用。 510 | 511 | 申请人所申报的项目将依托于南开大学计算机视觉与图形学团队开展。 512 | 现有优越的实验条件可以充分满足项目研发需求。 513 | 项目团队将继续加强国际交流与合作, 514 | 以创新性的高水平学术成果为研究目标。 515 | 516 | 517 | \NsfcSection{3}{正在承担的与本项目相关的科研项目情况}{ 518 | (申请人正在承担的与本项目相关的科研项目情况,包括国家自然科学基金 519 | 的项目和国家其他科技计划项目,要注明项目的资助机构、项目类别、 520 | 批准号、项目名称、获资助金额、起止年月、与本项目的关系及负责 521 | 的内容等);} 522 | 523 | 正在承担的项目 524 | 525 | \NsfcSection{4}{完成国家自然科学基金项目情况}{ 526 | (对申请人负责的前一个已资助期满的科学基金项目(项目名称及批准号)完成情况、后续研究进 527 | 展及与本申请项目的关系加以详细说明。另附该项目的研究工作总结 528 | 摘要(限500字)和相关成果详细目录)。} 529 | 530 | 已完成的国家自然科学基金 531 | 532 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 533 | \ContentDes{(三) 其他需要说明的情况} 534 | 535 | 536 | 537 | \NsfcSection{1}{}{申请人同年申请不同类型的国家自然科学基金项目情况(列明 538 | 同年申请的其他项目的项目类型、项目名称信息,并说明与本项目之 539 | 间的区别与联系;已收到自然科学基金委不予受理或不予资助决定的, 540 | 无需列出)。} 541 | 542 | 543 | \NsfcSection{2}{}{具有高级专业技术职务(职称)的申请人是否 544 | 存在同年申请或者参与申请国家自然科学基金项目的单位不一致的情 545 | 况;如存在上述情况,列明所涉及人员的姓名,申请或参与申请的其 546 | 他项目的项目类型、项目名称、单位名称、上述人员在该项目中是申 547 | 请人还是参与者,并说明单位不一致原因。} 548 | 549 | 550 | 551 | \NsfcSection{3}{}{具有高级专业技术职务(职称)的申请人是否 552 | 存在与正在承担的国家自然科学基金项目的单位不一致的情况;如存 553 | 在上述情况,列明所涉及人员的姓名,正在承担项目的批准号、项目 554 | 类型、项目名称、单位名称、起止年月,并说明单位不一致原因。} 555 | 556 | 557 | \NsfcSection{4}{}{同年以不同专业技术职务(职称)申请或参与申请科学基金项 558 | 目的情况(应详细说明原因)。} 559 | 560 | \NsfcSection{5}{}{其他。} 561 | 562 | 无 563 | 564 | 565 | \end{document} 566 | -------------------------------------------------------------------------------- /面上.tex: -------------------------------------------------------------------------------- 1 | % https://github.com/MCG-NKU/NSFC-LaTex 2 | % by Ming-Ming Cheng https://mmcheng.net 3 | % 关于VsCode LaTeX的配置 https://www.cnblogs.com/ourweiguan/p/11785660.html 4 | % Windows下Tex Live最新版可以用pdfLatex快速编译和标准模板相似度更高的文档。 5 | 6 | 7 | 8 | \documentclass[12pt]{article} 9 | 10 | 11 | \usepackage{nsfc} 12 | 13 | 14 | %\usepackage{fontspec} 15 | %\usepackage{xcolor} 16 | %\defaultfontfeatures{Ligatures=TeX} 17 | 18 | 19 | 20 | 21 | \newcommand{\addImg}[2][1.0]{\includegraphics[width=#1\linewidth]{#2}} 22 | \newcommand{\cmm}[1]{\textcolor[rgb]{0,0.6,0}{CMM: #1}} 23 | \newcommand{\todo}[1]{{\textcolor{red}{\bf [#1]}}} 24 | \newcommand{\myPara}[1]{\paragraph{#1:}} 25 | \newcommand{\myEmph}[1]{\textbf{\textcolor[rgb]{0,0,0.25}{#1}}} 26 | \newcommand{\mySec}[1]{\vspace{0.15in} \noindent \myEmph{$\square$~#1}} 27 | 28 | \graphicspath{{figures/}} 29 | 30 | 31 | \begin{document} 32 | 33 | 34 | 35 | 36 | %\if 0 37 | \begin{center}\bf\Large ***识别研究 (提交时注释掉) \\ 38 | 39 | Research on target recognition *** 40 | \end{center} 41 | 42 | 43 | 44 | 45 | 46 | \textbf{摘要}: 47 | % 48 | “用……方法(手段)进行……研究,探索/证明……问题, 49 | 对阐明……机制/揭示……规律有重要意义,为……奠定基础/提供……思路 ”。 50 | 作用:画龙点睛。 51 | 效果:引发评议专家兴趣,使其产生探个究竟的好奇心——“他到底要怎么做?” 52 | 摘要字少,但切忌平淡无奇(要勾起评委浓厚兴趣)。 53 | \myEmph{一定要语气坚定,旗帜鲜明,字数有限,资源宝贵,要特别注意重点突出, 54 | 讲明现状、意义、课题主要研究目标、内容、思路和预期结果}。 55 | 56 | 57 | 58 | \textbf{Abstract}: 59 | *** 60 | 61 | 62 | 科学问题属性:聚焦前沿,独辟蹊径 63 | 64 | 65 | 66 | 计算机视觉研究正在经历一个各种检测识别技术大规模进入实际应用的时期。 67 | 然而,如何面对绝大多数实际应用中样本数据不足、场景类别不确定、 68 | 采集数据质量低等现实问题, 69 | 研究不确定环境下小样本目标识别, 70 | 依然是计算机视觉领域的世界级科技前沿问题。 71 | % 72 | 该问题的解决,有望带领计算机视觉技术进入更为广阔的深水区。 73 | 申请人团队拟基于图像场景理解领域内世界前沿的学术成果积累, 74 | 在时效性约束和资源受限条件下,研究不确定性的建模及其诱导的 75 | 鲁棒深度学习技术,开发适应能力强的神经网络技术, 76 | 并利用通用经验知识,推动不确定环境下小样本目标识别理论和方法的突破。 77 | % 78 | 相对于现有工作,本项目拟研究的技术具有鲜明的引领性。 79 | 不同于传统技术尽量避免不确定性, 80 | 该研究计划系统地对不确定性进行建模,并且利用不确定性的特点开发鲁棒的智能算法, 81 | 因而,该项目独辟蹊径,有望引领该领域的国际前沿研究发展。 82 | 83 | 84 | \clearpage 85 | %\fi 86 | 87 | 88 | %%%%%%%%% TITLE 89 | \title{报告正文} 90 | 91 | \maketitle 92 | \thispagestyle{empty} 93 | 94 | \emph{\large 参照以下提纲撰写,要求内容翔实、清晰,层次分明,标题突出。 95 | \nsfClr{请勿删除或改动下述提纲标题及括号中的文字。} 96 | } 97 | 98 | 99 | \ContentDes{(一)立项依据与研究内容(建议$8000$字以下):} 100 | 101 | 102 | \NsfcSection{1}{项目的立项依据}{ 103 | (研究意义、国内外研究现状及发展动态分析,需结合科学研究发展趋势来论述科学意义; 104 | 或结合国民经济和社会发展中迫切需要解决的关键科技问题来论述其应用前景。 105 | 附主要参考文献目录);} 106 | 107 | 108 | 109 | 题目是你对评审专家说的第一句话。需要创新、创新、再创新!! 110 | 尽量回答“干什么、对象是什么、用什么方法、解决什么问题”。 111 | 简洁明确,具体清楚。不宜过长,不宜出现过多的关键词,但最好要有新意的关键词出现, 112 | 包含研究视角、方法和研究对象的创新, 113 | 最好能让专家一看到“题目名称”就能基本了解本申请重点要研究的问题。 114 | 忌讳项目名称重复,即使所提出的与以前资助项目研究内容有所不同,甚至有所创新, 115 | 但名称重复很难给人以新意。 116 | \myEmph{建议检索类似课题历年资助情况,避免重复!!} 117 | % 118 | 在选择研究题目(或方向)时,应本着“扬长避短”的原则,尽量结合自己的研究基础; 119 | 缺乏一定科学(研究)基础的“创新”是不成立的,许多情况甚至是“空想”。 120 | 选题最好以问题为导向,不要新以技术、新方法的应用为导向! 121 | 忌盲目追求“学科前沿”和“研究热点”问题。 122 | 123 | 124 | 写本子最难的是\myEmph{想题目}和\myEmph{写摘要}, 125 | 需要广泛快速阅读近几年的文献。 126 | 可以考虑找到一个具体的场景,用场景将本子的研究内容串起来。 127 | 也可以围绕一个关键科学问题,将多个方面的研究内容有机结合起来。 128 | 建议先画两个图:\myEmph{研究内容框架图}和\myEmph{详细技术路线图}。 129 | 有了这两个总蓝图,整个本子写起来会更加的有条理,避免各种混乱和不一致。 130 | % 131 | 为了方便专家快速抓住重点,建议把\myEmph{重点内容标粗}, 132 | 让专家即使只阅读非常少的加粗字体,也可以获得判断本子优劣的足够关键信息。 133 | 134 | 135 | 我在参加基金委重点项目会评之前, 136 | 基金委领导特意给评委们科普了基金委最看重的\myEmph{灵魂六问},请专家们重点关注: 137 | \begin{itemize} 138 | \item 该项目想做什么?请用大同行能够理解的术语表达您的研究目标。 139 | \item 目前的做法有哪些局限性? 140 | \item 您的方法有什么独特性,为什么您认为它会成功? 141 | \item 谁关心该项目取得的成果? 142 | \item 如果您成功了,对该领域有的推动作用是什么? 143 | \item 中期和期末,如何检查该项目计划成功与否? 144 | \end{itemize} 145 | 146 | 在撰写基金的过程中,各部分需要重点阐明 147 | \begin{itemize} 148 | \item 立项依据:为什么做 149 | \item 研究内容:做什么 150 | \item 研究目标:做到什么程度 151 | \item 研究方案:如何做 152 | \item 工作基础等:我能做该项目 153 | \end{itemize} 154 | 155 | 156 | 具体到立项依据,重点阐述清楚: 157 | \myEmph{为什么要做这个课题?重大需求、存在问题、有解决思路。谁会关心该项目取得的成果?} 158 | 让评审者读了申请书以后要有如下感觉: 159 | 这个研究很重要,国内外都在做,但有要害问题没有解决, 160 | 申请人提出了很好的解决途径,思路很独特且合理, 161 | 若沿着这条思路做几个方面的研究,有解决希望。 162 | 163 | 164 | 对基础研究,着重结合国际科学发展趋势,论述项目科学意义对应用基础研究, 165 | 着重结合学科前沿,围绕国民经济和社会发展中的重要科技问题论述其应用前景。 166 | % 167 | 立项依据部分应该包括: 168 | \begin{itemize} 169 | \item 立项意义; 170 | \item 国外同类研究状况; 171 | \item 国内同类研究状况; 172 | \item 本课题组的研究基础和选题的依据。 173 | \end{itemize} 174 | 立项依据论述要简明扼要,有理有据。 175 | 要用准确的学术语言,将问题论述清楚,一般要考虑如下问题: 176 | 1、什么人在研究?研究了些什么?核心科学问题是什么? 177 | 2、人家怎么进行研究?解决了些什么问题?还有什么问题没解决? 178 | 哪些问题是别人想到了的?但没有解决? 179 | 3、你考虑怎么解决?哪些问题是别人还没有想到的?你又是考虑怎么来解决? 180 | 4、如果您成功了,对该领域有什么推动作用? 181 | 182 | 183 | \subsection{研究背景及科学意义} 184 | 185 | \subsubsection{*题目*对**具有重要作用} 186 | 187 | 第一段:主要描述题目的主要工作,解释题目中涉及的术语, 188 | 然后说明输入和输出,说明目前题目的主要工作是如何实现的, 189 | 具有什么样的意义。 190 | 191 | 第二段:说明第一段描述的内容的局限性和不足, 192 | 引出本项目的主要工作。 193 | 194 | 第三段:说明解决上述局限性和不足,有什么实际应用效果。 195 | 196 | 第四段:说明该项目工作对***的重要作用。 197 | 198 | 199 | \subsubsection{*题目*具有挑战性的问题} 200 | 201 | 项目需要那些技术,这些技术的复杂程度,面临的主要问题, 202 | 要使用一些术语来表述,最后要有结论性语言,例如: 203 | 204 | \myEmph{因此,当前***技术很难应用于面向***的研究, 205 | 在***等方面也缺少针对 *** 的专门研究, 206 | 特别是缺乏针对***的有效方法。 207 | 这些局限性限制了***分析技术的发展 。 208 | } 209 | 210 | 211 | \subsubsection{***思想为***题目*研究提供了新途径} 212 | 213 | 一些最新的技术,有利于项目工作的解决。 214 | 最后务必有一段总结的语言,例如 215 | 216 | \myEmph{本项目基于***数据,建立***,利用***表示和分析方法, 217 | 以***为核心,研究***演化规律, 218 | 在理论和技术层面都具有重要的引领和示范作用。} 219 | 220 | 221 | \subsection{***题目*面临的挑战} 222 | 223 | 提出3-4个挑战,分别对应后面的主要研究内容,最后一定要有对挑战的总结描述,例如 224 | 225 | \myEmph{因此,面向****的***,需要对***、***和***进行统一的概念描述与框架建模。 226 | 在此基础上,通过****是一个可行途径。} 227 | 228 | 229 | \subsection{总结} 230 | 231 | 说明课题组具有解决上述挑战的能力,例如: 232 | 233 | \myEmph{综上所述,***,本项目从***出发,面对***等挑战, 234 | 研究***关键科学问题。 235 | 项目拟在以下三方面开展研究:****} 236 | 237 | 238 | 项目组在***具有扎实的研究基础,承担了多项国家和省部级课题, 典型的有:***。 239 | 这些项目的完成,使项目组在***方面积累了丰富的研究经验, 240 | 也为该项目的实施奠定了良好的技术基础。 241 | 242 | 本项目直接面向***国家战略,可以为***等重要应用提供核心技术支撑, 243 | 对推进***的应用和发展具有重要的意义。 244 | 245 | \subsection{国内外相关工作} 246 | 247 | 如果申请人从未在所申请项目的研究领域发表过一篇论文, 248 | 或者申请书中对国内外研究现状阐述不明,不附主要参考文献目录, 249 | 说明申请人在这一研究领域无研究工作基础,不具备实施该项目的研究能力。 250 | 251 | 在相关工作的评述中,应该尽量广泛的包含各方面的先进成果: 252 | 既有国际上顶级的研究,也得有国内最先进的成果。 253 | \myEmph{建议同时包含自己的中文\cite{21SC_WebSegE}和英文\cite{ChengZMHH10}的代表作, 254 | 这些相关的代表作也标明自己在该领域的研究基础。} 255 | 可以引用几个代表性图,形象的展示一些重要的背景知识,方便大同行理解。 256 | 257 | 可以对相关工作进行分组介绍。 258 | 每组介绍之后简单总结一下现有工作和拟研究工作的关系。 259 | \myEmph{现有工作存在那些不足需要进一步研究。 260 | 这些总结性的结论建议粗体强调,方便评审人迅速理解。} 261 | 262 | { 263 | \bibliographystyle{nsfc.bst} 264 | \bibliography{Cmm} 265 | } 266 | 267 | 268 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 269 | \NsfcSection{2}{项目的研究内容、研究目标,以及拟解决的关键科学问题}{ 270 | (此部分为重点阐述内容);} 271 | 272 | \subsection{研究目标} 273 | 274 | 275 | 重点阐述本项目计划\myEmph{做到什么程度}。 276 | 一定要用大同行能够理解的术语来描述。 277 | 278 | 279 | \subsection{研究内容} 280 | 281 | 282 | 重点阐述本项目计划\myEmph{做什么}。 283 | 如\figref{fig:teaser}所示,建议撰写之前仔细画一个主要研究内容的图。 284 | 我通常习惯用PowerPoint作图,做好后导出为pdf格式,既可以保持图片不会文件太大,也可以保证放大后非常清晰。 285 | 幻灯片直接导出的pdf可能存在空白边,可以用WPS中的“页面-剪裁页面”去掉白边。 286 | 作图用的pptx文件我也通常会保存起来,例如这个模版\LaTeX 文件中的“prepare/NSFC-Figs.pptx”。 287 | 如果是大的国基金项目,后续可能涉及答辩。 288 | 答辩时这个图可以用,保留pptx格式也方便到时候做尺寸和布局的调整。 289 | 290 | 291 | \begin{figure}[ht] 292 | \centering 293 | \begin{overpic}[width=0.8\columnwidth]{framework.pdf} 294 | \end{overpic} 295 | \caption{本项目主要研究内容。 296 | }\label{fig:teaser} 297 | \end{figure} 298 | 299 | 300 | 301 | 302 | \subsection{拟解决的关键科学问题} 303 | 304 | 305 | 306 | \NsfcSection{3}{拟采取的研究方案及可行性分析}{ 307 | (包括研究方法、技术路线、实验手段、关键技术等说明);} 308 | 309 | 310 | \subsection{拟采取的技术路线} 311 | 312 | 如图\figref{fig:pipline}所示,建议在具体写技术路线之前,先厘清这个框架图。 313 | 技术路线的框架图通常比研究内容更加饱满,可以更好的展示本项目的研究思路。 314 | 315 | \begin{figure}[ht] 316 | \centering 317 | \begin{overpic}[width=\columnwidth]{pipeline.pdf} 318 | \end{overpic} 319 | \caption{本项目的技术路线。 320 | }\label{fig:pipline} 321 | \end{figure} 322 | 323 | 324 | \subsection{可行性分析} 325 | 326 | 既然国内外相关工作都没能解决你提出的重要问题,为什么你觉得自己有望解决该问题。 327 | 论述的时候通常包括:独特的时机、与众不同的方案、雄厚的相关科研积累等。 328 | 329 | 330 | \NsfcSection{4}{本项目的特色与创新之处;}{} 331 | 332 | 您的方法有什么独特性,为什么您认为它会成功? 333 | 334 | \NsfcSection{5}{年度研究计划及预期研究结果}{ 335 | (包括拟组织的重要学术交流活动、国际合作与交流计划等)。} 336 | 337 | \subsection{年度研究计划} 338 | 339 | 340 | \subsection{预期研究成果} 341 | 342 | 项目各阶段,特别是中期和期末,如何检查该项目计划成功与否? 343 | 344 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 345 | \ContentDes{(二)研究基础与工作条件} 346 | 347 | 348 | \NsfcSection{1}{研究基础}{ 349 | (与本项目相关的研究工作积累和已取得的研究工作成绩);} 350 | 351 | 以我本人的第一个国基金项目的\myEmph{申请原文为例},通过高度精炼的语言, 352 | 在2页左右的篇幅中快速讲清楚:1)大部分申请人没有的特色优势是什么; 353 | 2)特色工作和拟研究工作的联系得清晰。 354 | 355 | 申请人在与本项目相关的研究工作中有着丰富的积累,并取得了国际领先的科研成果, 356 | 发表\myEmph{10余篇CCF A类}国际期刊及会议论文(ACM TOG 4篇,IEEE TPAMI 2篇, 357 | IEEE CVPR 3篇,IEEE ICCV 2篇,IEEE TVCG 2篇), 358 | \myEmph{论文Google Scholar他引1600+次,一作论文单篇最高他引700+次}。 359 | 这些研究基础主要包括3个方面: 360 | 361 | 362 | \subsection{图像的智能理解与新一代交互方面} 363 | 364 | \begin{figure}[ht] 365 | \centering 366 | \addImg[1]{figures/work.jpg} 367 | \caption{图像智能理解与交互关键技术。} 368 | \label{fig:interaction} 369 | \end{figure} 370 | 371 | 对图像中的物体对象进行智能分析,从而实现基于语音、简单笔画等自然直观操作方式的图像编辑, 372 | 是计算机图形学中的重要课题。 373 | 如\figref{fig:interaction}所示,在该领域, 374 | 申请人提出了基于图像场景物体的编辑技术 375 | (ACM TOG 2010 \cite{ChengZMHH10},申请人为一作), 376 | 基于语音控制的图像分析技术 377 | (ACM TOG 2014 \cite{cheng2014imagespirit},申请人为一作), 378 | 基于草图和网络图像的图像合成技术 379 | (ACM TOG 2009 \cite{cheng2014imagespirit},申请人为二作)。 380 | 其中,图像合成技术于2010年被法国政府参与组织的国际互联网行业论坛评选为 381 | “全球互联网数字媒体领域十大创新性发明之一”并在法国参议院颁奖, 382 | 成果介绍视频浏览百万次以上,并被英国《每日邮报》、 383 | 德国《明镜周刊》等多家著名国际媒体撰文报道。 384 | 英国《每日邮报》对该工作的评价为“An image manipulation tool built by a group 385 | of Chinese students has taken the internet by storm”。 386 | 该工作被科技部 \cite{sketch2PhotoMost} 387 | \myEmph{作为973计划成功案例}予以报道(信息领域仅列出这一个案例)。 388 | 申请人在该领域的CCF A类国际期刊ACM TOG(4篇)和IEEE TVCG(2篇)上发表多篇论文。 389 | 390 | \subsection{显著性物体检测方面} 391 | 392 | \begin{figure}[ht] 393 | \centering 394 | \addImg[1]{figures/sal.jpg} 395 | \caption{视觉显著性物体检测与分割算法及其应用。} 396 | \label{fig:salobj} 397 | \end{figure} 398 | 399 | 申请人提出了一种基于全局对比度分析的图像视觉显著性区域检测算法。 400 | 通过对图像区域间的全局对比度和空间相关性进行建模, 401 | 该算法能够快速有效地检测并分割图像中的视觉显著性区域。 402 | 在国际上现有最大的公开测试集上,该方法的检测结果优于已有方法, 403 | 显著性区域分割结果的准确性从之前最好结果的正确率75\%、 404 | 召回率83\% 提升到了正确率90\%、召回率90\% 。 405 | 该成果自2011年在IEEE CVPR上发表之后(申请人为一作),源代码下载量2000余次, 406 | 论文\myEmph{Google Scholar他引700+次}(其期刊版本被IEEE TPAMI 2015录用)。 407 | 基于该工作的若干扩展性工作在IEEE ICCV 2013(申请人为一作), 408 | 和SCI期刊The Visual Computer 2014(申请人为一作)上发表。 409 | 410 | 411 | \subsection{基于视觉注意机制的候选物体生成方面} 412 | 413 | \begin{figure}[ht] 414 | \centering 415 | \addImg[.8]{figures/Objectness.jpg} 416 | \caption{图像中候选物体(object proposal)生成的快速机制。} 417 | \label{fig:objectness} 418 | \end{figure} 419 | 420 | 物体检测是计算机视觉领域最重要的核心问题。 421 | 传统物体检测技术大多基于滑动窗口机制,非常耗时。 422 | 近年来,通过对图像进行预分析,从而提取相对少量的图像窗口作为候选物体, 423 | 并对这些候选物体进行分类从而达到检测目的的机制逐渐兴起。 424 | 虽然这一机制可以极大地加速后续物体检测过程, 425 | 并且通过使用强分类器提高检测正确率,但是现有方法比较耗时。 426 | 申请人根据不同物体类别图像都具有封闭轮廓这一特性, 427 | 提出了一种简单有效的方法解决这一问题。 428 | 相对与该领域内已有代表性方法,新方法的计算效率提升了1000倍以上, 429 | 并能得到更高的检测率。 430 | \figref{fig:objectness}所示工作被IEEE CVPR 2014录用为Oral 论文 431 | (录取率5\%,申请人为一作)。 432 | 相关代码公开后一个月内下载量突破2000次。 433 | 论文发表半年左右时间,已经被多个国际著名学者在论文或者大会报告中引用, 434 | 包括:IEEE TPAMI主编 Forsyth教授、 435 | 加州大学伯克利分校的 Malik教授(IEEE Fellow和ACM Fellow)、 436 | 牛津大学 Vedaldi副教授(IEEE TPAMI Associate Editor)、 437 | 瑞士联邦工学院的Gool教授等。 438 | 申请人也因为这方面的工作被英国皇家学会院士Andrew Zisserman教授、 439 | 剑桥大学Roberto Cipolla教授、新加坡国立大学颜水城教授等十余位著名学者邀请, 440 | 分别去他们的研究组做报告。 441 | 442 | 443 | \subsection{研究工作获奖} 444 | 445 | 446 | \begin{figure}[ht] 447 | \centering 448 | \addImg[.8]{figures/awards.jpg} 449 | \caption{图像中候选物体(object proposal)生成的快速机制。} 450 | \label{fig:award} 451 | \end{figure} 452 | 453 | 申请人在图像分析与编辑方面的初步工作获得了多项重要奖励, 454 | 包括:Google PhD Fellowship (2010年亚洲地区共2人获奖), 455 | 北京市优秀博士论文(同年度清华大学56个系共有7人获得该奖项), 456 | 英国皇家学会Newton International Fellowship提名,教育部自然科学奖一等奖, 457 | IBM PhD fellowship,北京市优秀博士毕业生,教育部博士研究生学术新人奖等奖项。 458 | 这些初步研究中取得的成果为本项目取得进一步的创新性成果打下了坚实的基础。 459 | 460 | 461 | \NsfcSection{2}{工作条件}{ 462 | (包括已具备的实验条件,尚缺少的实验条件和拟解决的途径, 463 | 包括利用国家实验室、 464 | 全国重点实验室和部门重点实验室等研究基地的计划与落实情况);} 465 | 466 | 467 | \myPara{申请平台概况} 468 | 南开大学计算机学科在计算机视觉与计算机图形学领域具有非常扎实的研究基础。 469 | 作为教育部直属重点大学,南开大学是国内学科门类最齐全的综合性、研究型大学之一。 470 | 在计算机视觉与图形学方向上, 471 | 南开大学计算机学院拥有计算机与控制工程国家级虚拟仿真实验教学中心、 472 | 可信行为智能算法与系统教育部工程研究中心、和天津市视觉计算与智能感知重点实验室 473 | 等一系列优良研究平台。 474 | 计算机视觉与图形学团队现拥有一批先进的高性能GPU服务器集群(包含Tesla A40, Tesla V100, RTX 3090等高端GPU共计900多块)。 475 | % 476 | 为本项目的研发提供强有力的计算环境。 477 | 南开大学为计算机视觉与图形学团队提供了1200平米的科研用房。 478 | 这些良好的配套支持将为项目的顺利开展提供优良的工作条件。 479 | 480 | 481 | \myPara{科研团队介绍} 482 | 483 | 申请人所在的南开大学计算机视觉与图形学团队 484 | 由国家杰出青年基金获得者程明明教授带领, 485 | 包含国家级“四青”人才5人。 486 | % 487 | 近五年,团队承担国家自然科学基金重点项目、国家重点研发计划课题、 488 | 国防科技创新重点项目等重点重大项目10余项; 489 | 在相关领域的 SCI 一区/CCF A 类顶级国际期刊和会议上发表学术论文100余篇, 490 | 其中 TPAMI论文 40余篇,ESI高被引论文30余篇; 491 | 获得教育部自然科学一等奖、中国图象图形学学会自然科学一等奖、 492 | 吴文俊人工智能自然科学二等奖等多项奖励。 493 | 494 | 495 | \myPara{国内外合作与学术交流情况} 496 | 497 | 南开大学计算机视觉与图形学团队有着丰富的国内外学术合作与交流基础。 498 | 近年来,团队与计算机视觉最高奖Marr奖得主、英国皇家学会院士、 499 | 牛津大学Philip Torr教授团队, 500 | 计算机视觉最高奖Marr奖得主、加州大学圣迭戈分校的Zhuowen Tu教授团队, 501 | 和清华大学胡事民教授团队合作开展了多项具有影响力的学术研究, 502 | 并共同发表相关学术论文。 503 | 团队成员受邀担任IEEE TPAMI, IEEE TIP, IEEE CVPR, ICCV等本领域 504 | 多个顶级期刊和会议的编委或领域主席。 505 | 团队成员作为主要组织者承办了VALSE 2022 (3000余人现场参会),2023 (5000余人现场参会), 506 | 和PRCV 2020,2024 (1000多人现场参会) 507 | 等多个国内大型学术会议。 508 | % 509 | 与这些国内外相关研究团队开展密切合作与交流的经验也将为项目的成功 510 | 进行起到重要的促进作用。 511 | 512 | 申请人所申报的项目将依托于南开大学计算机视觉与图形学团队开展。 513 | 现有优越的实验条件可以充分满足项目研发需求。 514 | 项目团队将继续加强国际交流与合作, 515 | 以创新性的高水平学术成果为研究目标。 516 | 517 | 518 | \NsfcSection{3}{正在承担的与本项目相关的科研项目情况}{ 519 | (申请人和主要参与 520 | 者正在承担的与本项目相关的科研项目情况,包括国家自然科学基金 521 | 的项目和国家其他科技计划项目,要注明项目的资助机构、项目类别、 522 | 批准号、项目名称、获资助金额、起止年月、与本项目的关系及负责 523 | 的内容等);} 524 | 525 | 正在承担的项目 526 | 527 | \NsfcSection{4}{完成国家自然科学基金项目情况}{ 528 | (对申请人负责的前一个已资助期满的科学基金项目(项目名称及批准号)完成情况、后续研究进 529 | 展及与本申请项目的关系加以详细说明。另附该项目的研究工作总结 530 | 摘要(限500字)和相关成果详细目录)。} 531 | 532 | 已完成的国家自然科学基金 533 | 534 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 535 | \ContentDes{(三) 其他需要说明的情况} 536 | 537 | 538 | 539 | \NsfcSection{1}{}{申请人同年申请不同类型的国家自然科学基金项目情况(列明 540 | 同年申请的其他项目的项目类型、项目名称信息,并说明与本项目之 541 | 间的区别与联系;已收到自然科学基金委不予受理或不予资助决定的, 542 | 无需列出)。} 543 | 544 | 545 | \NsfcSection{2}{}{具有高级专业技术职务(职称)的申请人或者主要参与者是否 546 | 存在同年申请或者参与申请国家自然科学基金项目的单位不一致的情 547 | 况;如存在上述情况,列明所涉及人员的姓名,申请或参与申请的其 548 | 他项目的项目类型、项目名称、单位名称、上述人员在该项目中是申 549 | 请人还是参与者,并说明单位不一致原因。} 550 | 551 | 552 | 553 | \NsfcSection{3}{}{具有高级专业技术职务(职称)的申请人或者主要参与者是否 554 | 存在与正在承担的国家自然科学基金项目的单位不一致的情况;如存 555 | 在上述情况,列明所涉及人员的姓名,正在承担项目的批准号、项目 556 | 类型、项目名称、单位名称、起止年月,并说明单位不一致原因。} 557 | 558 | 559 | \NsfcSection{4}{}{同年以不同专业技术职务(职称)申请或参与申请科学基金项 560 | 目的情况(应详细说明原因)。} 561 | 562 | \NsfcSection{5}{}{其他。} 563 | 564 | 无 565 | 566 | 567 | \end{document} 568 | --------------------------------------------------------------------------------