├── neurips_2025.pdf ├── chinese_doc.md ├── README.md ├── Reference.bib ├── neurips_2025.sty ├── neurips_2025.tex └── Ref.bst /neurips_2025.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NeuroDong/Bibtex_for_NeurIPS2025/HEAD/neurips_2025.pdf -------------------------------------------------------------------------------- /chinese_doc.md: -------------------------------------------------------------------------------- 1 | [英文](https://github.com/NeuroDong/Bibtex_for_NeurIPS2025/blob/main/README.md)| 中文 2 | 3 | # Bibtex_for_NeurIPS2025 4 | 为NeurIPS的latex模板提供.bst文件,以便于实现满足官方要求的Bibtex。 效果见:[neurips_2025.pdf](https://github.com/NeuroDong/Bibtex_for_NeurIPS2025/blob/main/neurips_2025.pdf) 5 | # 停止更新 6 | 由于 NeurIPS 支持任何一种引用格式(例如 plainnat、abbrvnat、unsrtnat 和 IEEEtran),此存储库停止更新。请谨慎使用。 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | English| [Chinese](https://github.com/NeuroDong/Bibtex_for_NeurIPS2025/blob/main/chinese_doc.md) 2 | 3 | # Bibtex_for_NeurIPS2025 4 | Provide .bst files for NeurIPS latex template to facilitate Bibtex that meets official requirements. See the effect: [neurips_2025.pdf](https://github.com/NeuroDong/Bibtex_for_NeurIPS2025/blob/main/neurips_2025.pdf) 5 | 6 | # Stop Updating 7 | Since NeurIPS supports any citation style (e.g., plainnat, abbrvnat, unsrtnat, and IEEEtran), this repository is no longer updated. Please use it with caution. 8 | -------------------------------------------------------------------------------- /Reference.bib: -------------------------------------------------------------------------------- 1 | 2 | @Article{LeCun2015, 3 | author={LeCun, Yann 4 | and Bengio, Yoshua 5 | and Hinton, Geoffrey}, 6 | title={Deep learning}, 7 | journal={Nature}, 8 | year={2015}, 9 | month={May}, 10 | day={01}, 11 | volume={521}, 12 | number={7553}, 13 | pages={436-444}, 14 | abstract={Deep learning allows computational models that are composed of multiple processing layers to learn representations of data with multiple levels of abstraction. These methods have dramatically improved the state-of-the-art in speech recognition, visual object recognition, object detection and many other domains such as drug discovery and genomics. Deep learning discovers intricate structure in large data sets by using the backpropagation algorithm to indicate how a machine should change its internal parameters that are used to compute the representation in each layer from the representation in the previous layer. Deep convolutional nets have brought about breakthroughs in processing images, video, speech and audio, whereas recurrent nets have shone light on sequential data such as text and speech.}, 15 | issn={1476-4687}, 16 | doi={10.1038/nature14539}, 17 | url={https://doi.org/10.1038/nature14539} 18 | } 19 | 20 | @inproceedings{NIPS1994_24896ee4, 21 | author = {Alexander, Jay and Mozer, Michael C}, 22 | booktitle = {Advances in Neural Information Processing Systems}, 23 | editor = {G. Tesauro and David S. Touretzky and Todd K. Leen}, 24 | pages = {609--616}, 25 | publisher = {MIT Press}, 26 | title = {Template-Based Algorithms for Connectionist Rule Extraction}, 27 | url = {https://proceedings.neurips.cc/paper_files/paper/1994/file/24896ee4c6526356cc127852413ea3b4-Paper.pdf}, 28 | volume = {7}, 29 | year = {1995}, 30 | address = {Cambridge, MA} 31 | } 32 | 33 | @book{bower2012book, 34 | title={The Book of GENESIS: Exploring Realistic Neural Models with the GEneral NEural SImulation System}, 35 | author={James M. Bower and Beeman, D.}, 36 | isbn={9781461216346}, 37 | lccn={97033270}, 38 | url={https://books.google.co.jp/books?id=f4PTBwAAQBAJ}, 39 | year={1995}, 40 | publisher={TELOS/Springer--Verlag}, 41 | address = {New York} 42 | } 43 | 44 | 45 | 46 | @article {Hasselmo5249, 47 | author = {Hasselmo, Michael E and Schnell, E and Barkai, E}, 48 | title = {Dynamics of learning and recall at excitatory recurrent synapses and cholinergic modulation in rat hippocampal region CA3}, 49 | volume = {15}, 50 | number = {7}, 51 | pages = {5249--5262}, 52 | year = {1995}, 53 | doi = {10.1523/JNEUROSCI.15-07-05249.1995}, 54 | publisher = {Society for Neuroscience}, 55 | abstract = {Hippocampal region CA3 contains strong recurrent excitation mediated by synapses of the longitudinal association fibers. These recurrent excitatory connections may play a dominant role in determining the information processing characteristics of this region. However, they result in feedback dynamics that may cause both runaway excitatory activity and runaway synaptic modification. Previous models of recurrent excitation have prevented unbounded activity using biologically unrealistic techniques. Here, the activation of feedback inhibition is shown to prevent unbounded activity, allowing stable activity states during recall and learning. In the model, cholinergic suppression of synaptic transmission at excitatory feedback synapses is shown to determine the extent to which activity depends upon new features of the afferent input versus components of previously stored representations. Experimental work in brain slice preparations of region CA3 demonstrates the cholinergic suppression of synaptic transmission in stratum radiatum, which contains synapses of the longitudinal association fibers.}, 56 | issn = {0270-6474}, 57 | URL = {https://www.jneurosci.org/content/15/7/5249}, 58 | eprint = {https://www.jneurosci.org/content/15/7/5249.full.pdf}, 59 | journal = {Journal of Neuroscience} 60 | } 61 | -------------------------------------------------------------------------------- /neurips_2025.sty: -------------------------------------------------------------------------------- 1 | % partial rewrite of the LaTeX2e package for submissions to the 2 | % Conference on Neural Information Processing Systems (NeurIPS): 3 | % 4 | % - uses more LaTeX conventions 5 | % - line numbers at submission time replaced with aligned numbers from 6 | % lineno package 7 | % - \nipsfinalcopy replaced with [final] package option 8 | % - automatically loads times package for authors 9 | % - loads natbib automatically; this can be suppressed with the 10 | % [nonatbib] package option 11 | % - adds foot line to first page identifying the conference 12 | % - adds preprint option for submission to e.g. arXiv 13 | % - conference acronym modified 14 | % 15 | % Roman Garnett (garnett@wustl.edu) and the many authors of 16 | % nips15submit_e.sty, including MK and drstrip@sandia 17 | % 18 | % last revision: March 2024 19 | 20 | \NeedsTeXFormat{LaTeX2e} 21 | \ProvidesPackage{neurips_2025}[2025/03/28 NeurIPS 2025 submission/camera-ready style file] 22 | 23 | % declare final option, which creates camera-ready copy 24 | \newif\if@neuripsfinal\@neuripsfinalfalse 25 | \DeclareOption{final}{ 26 | \@neuripsfinaltrue 27 | } 28 | 29 | % declare nonatbib option, which does not load natbib in case of 30 | % package clash (users can pass options to natbib via 31 | % \PassOptionsToPackage) 32 | \newif\if@natbib\@natbibtrue 33 | \DeclareOption{nonatbib}{ 34 | \@natbibfalse 35 | } 36 | 37 | % declare preprint option, which creates a preprint version ready for 38 | % upload to, e.g., arXiv 39 | \newif\if@preprint\@preprintfalse 40 | \DeclareOption{preprint}{ 41 | \@preprinttrue 42 | } 43 | 44 | \ProcessOptions\relax 45 | 46 | % determine whether this is an anonymized submission 47 | \newif\if@submission\@submissiontrue 48 | \if@neuripsfinal\@submissionfalse\fi 49 | \if@preprint\@submissionfalse\fi 50 | 51 | % fonts 52 | \renewcommand{\rmdefault}{ptm} 53 | \renewcommand{\sfdefault}{phv} 54 | 55 | % change this every year for notice string at bottom 56 | \newcommand{\@neuripsordinal}{39th} 57 | \newcommand{\@neuripsyear}{2025} 58 | \newcommand{\@neuripslocation}{Vancouver} 59 | 60 | % acknowledgments 61 | \usepackage{environ} 62 | \newcommand{\acksection}{\section*{Acknowledgments and Disclosure of Funding}} 63 | \NewEnviron{ack}{% 64 | \acksection 65 | \BODY 66 | } 67 | 68 | 69 | % load natbib unless told otherwise 70 | \if@natbib 71 | \RequirePackage{natbib} 72 | \fi 73 | 74 | % set page geometry 75 | \usepackage[verbose=true,letterpaper]{geometry} 76 | \AtBeginDocument{ 77 | \newgeometry{ 78 | textheight=9in, 79 | textwidth=5.5in, 80 | top=1in, 81 | headheight=12pt, 82 | headsep=25pt, 83 | footskip=30pt 84 | } 85 | \@ifpackageloaded{fullpage} 86 | {\PackageWarning{neurips_2024}{fullpage package not allowed! Overwriting formatting.}} 87 | {} 88 | } 89 | 90 | \widowpenalty=10000 91 | \clubpenalty=10000 92 | \flushbottom 93 | \sloppy 94 | 95 | 96 | % font sizes with reduced leading 97 | \renewcommand{\normalsize}{% 98 | \@setfontsize\normalsize\@xpt\@xipt 99 | \abovedisplayskip 7\p@ \@plus 2\p@ \@minus 5\p@ 100 | \abovedisplayshortskip \z@ \@plus 3\p@ 101 | \belowdisplayskip \abovedisplayskip 102 | \belowdisplayshortskip 4\p@ \@plus 3\p@ \@minus 3\p@ 103 | } 104 | \normalsize 105 | \renewcommand{\small}{% 106 | \@setfontsize\small\@ixpt\@xpt 107 | \abovedisplayskip 6\p@ \@plus 1.5\p@ \@minus 4\p@ 108 | \abovedisplayshortskip \z@ \@plus 2\p@ 109 | \belowdisplayskip \abovedisplayskip 110 | \belowdisplayshortskip 3\p@ \@plus 2\p@ \@minus 2\p@ 111 | } 112 | \renewcommand{\footnotesize}{\@setfontsize\footnotesize\@ixpt\@xpt} 113 | \renewcommand{\scriptsize}{\@setfontsize\scriptsize\@viipt\@viiipt} 114 | \renewcommand{\tiny}{\@setfontsize\tiny\@vipt\@viipt} 115 | \renewcommand{\large}{\@setfontsize\large\@xiipt{14}} 116 | \renewcommand{\Large}{\@setfontsize\Large\@xivpt{16}} 117 | \renewcommand{\LARGE}{\@setfontsize\LARGE\@xviipt{20}} 118 | \renewcommand{\huge}{\@setfontsize\huge\@xxpt{23}} 119 | \renewcommand{\Huge}{\@setfontsize\Huge\@xxvpt{28}} 120 | 121 | % sections with less space 122 | \providecommand{\section}{} 123 | \renewcommand{\section}{% 124 | \@startsection{section}{1}{\z@}% 125 | {-2.0ex \@plus -0.5ex \@minus -0.2ex}% 126 | { 1.5ex \@plus 0.3ex \@minus 0.2ex}% 127 | {\large\bf\raggedright}% 128 | } 129 | \providecommand{\subsection}{} 130 | \renewcommand{\subsection}{% 131 | \@startsection{subsection}{2}{\z@}% 132 | {-1.8ex \@plus -0.5ex \@minus -0.2ex}% 133 | { 0.8ex \@plus 0.2ex}% 134 | {\normalsize\bf\raggedright}% 135 | } 136 | \providecommand{\subsubsection}{} 137 | \renewcommand{\subsubsection}{% 138 | \@startsection{subsubsection}{3}{\z@}% 139 | {-1.5ex \@plus -0.5ex \@minus -0.2ex}% 140 | { 0.5ex \@plus 0.2ex}% 141 | {\normalsize\bf\raggedright}% 142 | } 143 | \providecommand{\paragraph}{} 144 | \renewcommand{\paragraph}{% 145 | \@startsection{paragraph}{4}{\z@}% 146 | {1.5ex \@plus 0.5ex \@minus 0.2ex}% 147 | {-1em}% 148 | {\normalsize\bf}% 149 | } 150 | \providecommand{\subparagraph}{} 151 | \renewcommand{\subparagraph}{% 152 | \@startsection{subparagraph}{5}{\z@}% 153 | {1.5ex \@plus 0.5ex \@minus 0.2ex}% 154 | {-1em}% 155 | {\normalsize\bf}% 156 | } 157 | \providecommand{\subsubsubsection}{} 158 | \renewcommand{\subsubsubsection}{% 159 | \vskip5pt{\noindent\normalsize\rm\raggedright}% 160 | } 161 | 162 | % float placement 163 | \renewcommand{\topfraction }{0.85} 164 | \renewcommand{\bottomfraction }{0.4} 165 | \renewcommand{\textfraction }{0.1} 166 | \renewcommand{\floatpagefraction}{0.7} 167 | 168 | \newlength{\@neuripsabovecaptionskip}\setlength{\@neuripsabovecaptionskip}{7\p@} 169 | \newlength{\@neuripsbelowcaptionskip}\setlength{\@neuripsbelowcaptionskip}{\z@} 170 | 171 | \setlength{\abovecaptionskip}{\@neuripsabovecaptionskip} 172 | \setlength{\belowcaptionskip}{\@neuripsbelowcaptionskip} 173 | 174 | % swap above/belowcaptionskip lengths for tables 175 | \renewenvironment{table} 176 | {\setlength{\abovecaptionskip}{\@neuripsbelowcaptionskip}% 177 | \setlength{\belowcaptionskip}{\@neuripsabovecaptionskip}% 178 | \@float{table}} 179 | {\end@float} 180 | 181 | % footnote formatting 182 | \setlength{\footnotesep }{6.65\p@} 183 | \setlength{\skip\footins}{9\p@ \@plus 4\p@ \@minus 2\p@} 184 | \renewcommand{\footnoterule}{\kern-3\p@ \hrule width 12pc \kern 2.6\p@} 185 | \setcounter{footnote}{0} 186 | 187 | % paragraph formatting 188 | \setlength{\parindent}{\z@} 189 | \setlength{\parskip }{5.5\p@} 190 | 191 | % list formatting 192 | \setlength{\topsep }{4\p@ \@plus 1\p@ \@minus 2\p@} 193 | \setlength{\partopsep }{1\p@ \@plus 0.5\p@ \@minus 0.5\p@} 194 | \setlength{\itemsep }{2\p@ \@plus 1\p@ \@minus 0.5\p@} 195 | \setlength{\parsep }{2\p@ \@plus 1\p@ \@minus 0.5\p@} 196 | \setlength{\leftmargin }{3pc} 197 | \setlength{\leftmargini }{\leftmargin} 198 | \setlength{\leftmarginii }{2em} 199 | \setlength{\leftmarginiii}{1.5em} 200 | \setlength{\leftmarginiv }{1.0em} 201 | \setlength{\leftmarginv }{0.5em} 202 | \def\@listi {\leftmargin\leftmargini} 203 | \def\@listii {\leftmargin\leftmarginii 204 | \labelwidth\leftmarginii 205 | \advance\labelwidth-\labelsep 206 | \topsep 2\p@ \@plus 1\p@ \@minus 0.5\p@ 207 | \parsep 1\p@ \@plus 0.5\p@ \@minus 0.5\p@ 208 | \itemsep \parsep} 209 | \def\@listiii{\leftmargin\leftmarginiii 210 | \labelwidth\leftmarginiii 211 | \advance\labelwidth-\labelsep 212 | \topsep 1\p@ \@plus 0.5\p@ \@minus 0.5\p@ 213 | \parsep \z@ 214 | \partopsep 0.5\p@ \@plus 0\p@ \@minus 0.5\p@ 215 | \itemsep \topsep} 216 | \def\@listiv {\leftmargin\leftmarginiv 217 | \labelwidth\leftmarginiv 218 | \advance\labelwidth-\labelsep} 219 | \def\@listv {\leftmargin\leftmarginv 220 | \labelwidth\leftmarginv 221 | \advance\labelwidth-\labelsep} 222 | \def\@listvi {\leftmargin\leftmarginvi 223 | \labelwidth\leftmarginvi 224 | \advance\labelwidth-\labelsep} 225 | 226 | % create title 227 | \providecommand{\maketitle}{} 228 | \renewcommand{\maketitle}{% 229 | \par 230 | \begingroup 231 | \renewcommand{\thefootnote}{\fnsymbol{footnote}} 232 | % for perfect author name centering 233 | \renewcommand{\@makefnmark}{\hbox to \z@{$^{\@thefnmark}$\hss}} 234 | % The footnote-mark was overlapping the footnote-text, 235 | % added the following to fix this problem (MK) 236 | \long\def\@makefntext##1{% 237 | \parindent 1em\noindent 238 | \hbox to 1.8em{\hss $\m@th ^{\@thefnmark}$}##1 239 | } 240 | \thispagestyle{empty} 241 | \@maketitle 242 | \@thanks 243 | \@notice 244 | \endgroup 245 | \let\maketitle\relax 246 | \let\thanks\relax 247 | } 248 | 249 | % rules for title box at top of first page 250 | \newcommand{\@toptitlebar}{ 251 | \hrule height 4\p@ 252 | \vskip 0.25in 253 | \vskip -\parskip% 254 | } 255 | \newcommand{\@bottomtitlebar}{ 256 | \vskip 0.29in 257 | \vskip -\parskip 258 | \hrule height 1\p@ 259 | \vskip 0.09in% 260 | } 261 | 262 | % create title (includes both anonymized and non-anonymized versions) 263 | \providecommand{\@maketitle}{} 264 | \renewcommand{\@maketitle}{% 265 | \vbox{% 266 | \hsize\textwidth 267 | \linewidth\hsize 268 | \vskip 0.1in 269 | \@toptitlebar 270 | \centering 271 | {\LARGE\bf \@title\par} 272 | \@bottomtitlebar 273 | \if@submission 274 | \begin{tabular}[t]{c}\bf\rule{\z@}{24\p@} 275 | Anonymous Author(s) \\ 276 | Affiliation \\ 277 | Address \\ 278 | \texttt{email} \\ 279 | \end{tabular}% 280 | \else 281 | \def\And{% 282 | \end{tabular}\hfil\linebreak[0]\hfil% 283 | \begin{tabular}[t]{c}\bf\rule{\z@}{24\p@}\ignorespaces% 284 | } 285 | \def\AND{% 286 | \end{tabular}\hfil\linebreak[4]\hfil% 287 | \begin{tabular}[t]{c}\bf\rule{\z@}{24\p@}\ignorespaces% 288 | } 289 | \begin{tabular}[t]{c}\bf\rule{\z@}{24\p@}\@author\end{tabular}% 290 | \fi 291 | \vskip 0.3in \@minus 0.1in 292 | } 293 | } 294 | 295 | % add conference notice to bottom of first page 296 | \newcommand{\ftype@noticebox}{8} 297 | \newcommand{\@notice}{% 298 | % give a bit of extra room back to authors on first page 299 | \enlargethispage{2\baselineskip}% 300 | \@float{noticebox}[b]% 301 | \footnotesize\@noticestring% 302 | \end@float% 303 | } 304 | 305 | % abstract styling 306 | \renewenvironment{abstract}% 307 | {% 308 | \vskip 0.075in% 309 | \centerline% 310 | {\large\bf Abstract}% 311 | \vspace{0.5ex}% 312 | \begin{quote}% 313 | } 314 | { 315 | \par% 316 | \end{quote}% 317 | \vskip 1ex% 318 | } 319 | 320 | % For the paper checklist 321 | \newcommand{\answerYes}[1][]{\textcolor{blue}{[Yes] #1}} 322 | \newcommand{\answerNo}[1][]{\textcolor{orange}{[No] #1}} 323 | \newcommand{\answerNA}[1][]{\textcolor{gray}{[NA] #1}} 324 | \newcommand{\answerTODO}[1][]{\textcolor{red}{\bf [TODO]}} 325 | \newcommand{\justificationTODO}[1][]{\textcolor{red}{\bf [TODO]}} 326 | 327 | % handle tweaks for camera-ready copy vs. submission copy 328 | \if@preprint 329 | \newcommand{\@noticestring}{% 330 | Preprint. Under review.% 331 | } 332 | \else 333 | \if@neuripsfinal 334 | \newcommand{\@noticestring}{% 335 | \@neuripsordinal\/ Conference on Neural Information Processing Systems 336 | (NeurIPS \@neuripsyear).%, \@neuripslocation.% 337 | } 338 | \else 339 | \newcommand{\@noticestring}{% 340 | Submitted to \@neuripsordinal\/ Conference on Neural Information 341 | Processing Systems (NeurIPS \@neuripsyear). Do not distribute.% 342 | } 343 | 344 | % hide the acknowledgements 345 | \NewEnviron{hide}{} 346 | \let\ack\hide 347 | \let\endack\endhide 348 | 349 | % line numbers for submission 350 | \RequirePackage{lineno} 351 | \linenumbers 352 | 353 | % fix incompatibilities between lineno and amsmath, if required, by 354 | % transparently wrapping linenomath environments around amsmath 355 | % environments 356 | \AtBeginDocument{% 357 | \@ifpackageloaded{amsmath}{% 358 | \newcommand*\patchAmsMathEnvironmentForLineno[1]{% 359 | \expandafter\let\csname old#1\expandafter\endcsname\csname #1\endcsname 360 | \expandafter\let\csname oldend#1\expandafter\endcsname\csname end#1\endcsname 361 | \renewenvironment{#1}% 362 | {\linenomath\csname old#1\endcsname}% 363 | {\csname oldend#1\endcsname\endlinenomath}% 364 | }% 365 | \newcommand*\patchBothAmsMathEnvironmentsForLineno[1]{% 366 | \patchAmsMathEnvironmentForLineno{#1}% 367 | \patchAmsMathEnvironmentForLineno{#1*}% 368 | }% 369 | \patchBothAmsMathEnvironmentsForLineno{equation}% 370 | \patchBothAmsMathEnvironmentsForLineno{align}% 371 | \patchBothAmsMathEnvironmentsForLineno{flalign}% 372 | \patchBothAmsMathEnvironmentsForLineno{alignat}% 373 | \patchBothAmsMathEnvironmentsForLineno{gather}% 374 | \patchBothAmsMathEnvironmentsForLineno{multline}% 375 | } 376 | {} 377 | } 378 | \fi 379 | \fi 380 | 381 | 382 | \endinput 383 | -------------------------------------------------------------------------------- /neurips_2025.tex: -------------------------------------------------------------------------------- 1 | \documentclass{article} 2 | 3 | 4 | % if you need to pass options to natbib, use, e.g.: 5 | \PassOptionsToPackage{numbers, compress}{natbib} 6 | % before loading neurips_2025 7 | 8 | 9 | % ready for submission 10 | %\usepackage{neurips_2025} 11 | 12 | 13 | % to compile a preprint version, e.g., for submission to arXiv, add add the 14 | % [preprint] option: 15 | % \usepackage[preprint]{neurips_2025} 16 | 17 | 18 | % to compile a camera-ready version, add the [final] option, e.g.: 19 | \usepackage[final]{neurips_2025} 20 | 21 | 22 | % to avoid loading the natbib package, add option nonatbib: 23 | % \usepackage[nonatbib]{neurips_2025} 24 | 25 | 26 | \usepackage[utf8]{inputenc} % allow utf-8 input 27 | \usepackage[T1]{fontenc} % use 8-bit T1 fonts 28 | \usepackage{hyperref} % hyperlinks 29 | \usepackage{url} % simple URL typesetting 30 | \usepackage{booktabs} % professional-quality tables 31 | \usepackage{amsfonts} % blackboard math symbols 32 | \usepackage{nicefrac} % compact symbols for 1/2, etc. 33 | \usepackage{microtype} % microtypography 34 | \usepackage{xcolor} % colors 35 | \usepackage{xpatch} 36 | 37 | \usepackage{xpatch} 38 | \makeatletter 39 | \xapptocmd{\NAT@bibsetnum}{\setlength{\leftmargin}{0pt}\setlength{\itemindent}{\labelwidth}\addtolength{\itemindent}{\labelsep}}{}{} 40 | \makeatother 41 | 42 | \title{Your Title} 43 | 44 | 45 | % The \author macro works with any number of authors. There are two commands 46 | % used to separate the names and addresses of multiple authors: \And and \AND. 47 | % 48 | % Using \And between authors leaves it to LaTeX to determine where to break the 49 | % lines. Using \AND forces a line break at that point. So, if LaTeX puts 3 of 4 50 | % authors names on the first line, and the last on the second line, try using 51 | % \AND instead of \And before the third author name. 52 | 53 | 54 | \author{% 55 | David S.~Hippocampus\thanks{Use footnote for providing further information 56 | about author (webpage, alternative address)---\emph{not} for acknowledging 57 | funding agencies.} \\ 58 | Department of Computer Science\\ 59 | Cranberry-Lemon University\\ 60 | Pittsburgh, PA 15213 \\ 61 | \texttt{hippo@cs.cranberry-lemon.edu} \\ 62 | % examples of more authors 63 | % \And 64 | % Coauthor \\ 65 | % Affiliation \\ 66 | % Address \\ 67 | % \texttt{email} \\ 68 | % \AND 69 | % Coauthor \\ 70 | % Affiliation \\ 71 | % Address \\ 72 | % \texttt{email} \\ 73 | % \And 74 | % Coauthor \\ 75 | % Affiliation \\ 76 | % Address \\ 77 | % \texttt{email} \\ 78 | % \And 79 | % Coauthor \\ 80 | % Affiliation \\ 81 | % Address \\ 82 | % \texttt{email} \\ 83 | } 84 | 85 | 86 | \begin{document} 87 | 88 | 89 | \maketitle 90 | 91 | 92 | \begin{abstract} 93 | Pass. 94 | \end{abstract} 95 | 96 | 97 | \section{Introduction} 98 | %Deep learning classifiers have achieved great success in pattern recognition tasks in numerous fields \citet{LeCun2015}. 99 | 100 | Citations of inproceedings \cite{NIPS1994_24896ee4}. 101 | 102 | Citations of book \cite{bower2012book}. 103 | 104 | Citations of article \citep{Hasselmo5249}. 105 | 106 | 107 | \bibliographystyle{Ref} %plainnat,abbrvnat,unsrtnat 108 | \small 109 | \bibliography{Reference} 110 | \normalsize 111 | 112 | \section*{References} 113 | 114 | { 115 | \small 116 | 117 | 118 | [1] Alexander, J.A.\ \& Mozer, M.C.\ (1995) Template-based algorithms for 119 | connectionist rule extraction. In G.\ Tesauro, D.S.\ Touretzky and T.K.\ Leen 120 | (eds.), {\it Advances in Neural Information Processing Systems 7}, 121 | pp.\ 609--616. Cambridge, MA: MIT Press. 122 | 123 | 124 | [2] Bower, J.M.\ \& Beeman, D.\ (1995) {\it The Book of GENESIS: Exploring 125 | Realistic Neural Models with the GEneral NEural SImulation System.} New York: 126 | TELOS/Springer--Verlag. 127 | 128 | 129 | [3] Hasselmo, M.E., Schnell, E.\ \& Barkai, E.\ (1995) Dynamics of learning and 130 | recall at excitatory recurrent synapses and cholinergic modulation in rat 131 | hippocampal region CA3. {\it Journal of Neuroscience} {\bf 15}(7):5249-5262. 132 | } 133 | 134 | 135 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 136 | 137 | \appendix 138 | 139 | \section{Appendix / supplemental material} 140 | 141 | 142 | Optionally include supplemental material (complete proofs, additional experiments and plots) in appendix. 143 | All such materials \textbf{SHOULD be included in the main submission.} 144 | 145 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 146 | 147 | \newpage 148 | \section*{NeurIPS Paper Checklist} 149 | 150 | %%% BEGIN INSTRUCTIONS %%% 151 | The checklist is designed to encourage best practices for responsible machine learning research, addressing issues of reproducibility, transparency, research ethics, and societal impact. Do not remove the checklist: {\bf The papers not including the checklist will be desk rejected.} The checklist should follow the references and follow the (optional) supplemental material. The checklist does NOT count towards the page 152 | limit. 153 | 154 | Please read the checklist guidelines carefully for information on how to answer these questions. For each question in the checklist: 155 | \begin{itemize} 156 | \item You should answer \answerYes{}, \answerNo{}, or \answerNA{}. 157 | \item \answerNA{} means either that the question is Not Applicable for that particular paper or the relevant information is Not Available. 158 | \item Please provide a short (1–2 sentence) justification right after your answer (even for NA). 159 | % \item {\bf The papers not including the checklist will be desk rejected.} 160 | \end{itemize} 161 | 162 | {\bf The checklist answers are an integral part of your paper submission.} They are visible to the reviewers, area chairs, senior area chairs, and ethics reviewers. You will be asked to also include it (after eventual revisions) with the final version of your paper, and its final version will be published with the paper. 163 | 164 | The reviewers of your paper will be asked to use the checklist as one of the factors in their evaluation. While "\answerYes{}" is generally preferable to "\answerNo{}", it is perfectly acceptable to answer "\answerNo{}" provided a proper justification is given (e.g., "error bars are not reported because it would be too computationally expensive" or "we were unable to find the license for the dataset we used"). In general, answering "\answerNo{}" or "\answerNA{}" is not grounds for rejection. While the questions are phrased in a binary way, we acknowledge that the true answer is often more nuanced, so please just use your best judgment and write a justification to elaborate. All supporting evidence can appear either in the main paper or the supplemental material, provided in appendix. If you answer \answerYes{} to a question, in the justification please point to the section(s) where related material for the question can be found. 165 | 166 | IMPORTANT, please: 167 | \begin{itemize} 168 | \item {\bf Delete this instruction block, but keep the section heading ``NeurIPS paper checklist"}, 169 | \item {\bf Keep the checklist subsection headings, questions/answers and guidelines below.} 170 | \item {\bf Do not modify the questions and only use the provided macros for your answers}. 171 | \end{itemize} 172 | 173 | 174 | %%% END INSTRUCTIONS %%% 175 | 176 | 177 | \begin{enumerate} 178 | 179 | \item {\bf Claims} 180 | \item[] Question: Do the main claims made in the abstract and introduction accurately reflect the paper's contributions and scope? 181 | \item[] Answer: \answerTODO{} % Replace by \answerYes{}, \answerNo{}, or \answerNA{}. 182 | \item[] Justification: \justificationTODO{} 183 | \item[] Guidelines: 184 | \begin{itemize} 185 | \item The answer NA means that the abstract and introduction do not include the claims made in the paper. 186 | \item The abstract and/or introduction should clearly state the claims made, including the contributions made in the paper and important assumptions and limitations. A No or NA answer to this question will not be perceived well by the reviewers. 187 | \item The claims made should match theoretical and experimental results, and reflect how much the results can be expected to generalize to other settings. 188 | \item It is fine to include aspirational goals as motivation as long as it is clear that these goals are not attained by the paper. 189 | \end{itemize} 190 | 191 | \item {\bf Limitations} 192 | \item[] Question: Does the paper discuss the limitations of the work performed by the authors? 193 | \item[] Answer: \answerTODO{} % Replace by \answerYes{}, \answerNo{}, or \answerNA{}. 194 | \item[] Justification: \justificationTODO{} 195 | \item[] Guidelines: 196 | \begin{itemize} 197 | \item The answer NA means that the paper has no limitation while the answer No means that the paper has limitations, but those are not discussed in the paper. 198 | \item The authors are encouraged to create a separate "Limitations" section in their paper. 199 | \item The paper should point out any strong assumptions and how robust the results are to violations of these assumptions (e.g., independence assumptions, noiseless settings, model well-specification, asymptotic approximations only holding locally). The authors should reflect on how these assumptions might be violated in practice and what the implications would be. 200 | \item The authors should reflect on the scope of the claims made, e.g., if the approach was only tested on a few datasets or with a few runs. In general, empirical results often depend on implicit assumptions, which should be articulated. 201 | \item The authors should reflect on the factors that influence the performance of the approach. For example, a facial recognition algorithm may perform poorly when image resolution is low or images are taken in low lighting. Or a speech-to-text system might not be used reliably to provide closed captions for online lectures because it fails to handle technical jargon. 202 | \item The authors should discuss the computational efficiency of the proposed algorithms and how they scale with dataset size. 203 | \item If applicable, the authors should discuss possible limitations of their approach to address problems of privacy and fairness. 204 | \item While the authors might fear that complete honesty about limitations might be used by reviewers as grounds for rejection, a worse outcome might be that reviewers discover limitations that aren't acknowledged in the paper. The authors should use their best judgment and recognize that individual actions in favor of transparency play an important role in developing norms that preserve the integrity of the community. Reviewers will be specifically instructed to not penalize honesty concerning limitations. 205 | \end{itemize} 206 | 207 | \item {\bf Theory Assumptions and Proofs} 208 | \item[] Question: For each theoretical result, does the paper provide the full set of assumptions and a complete (and correct) proof? 209 | \item[] Answer: \answerTODO{} % Replace by \answerYes{}, \answerNo{}, or \answerNA{}. 210 | \item[] Justification: \justificationTODO{} 211 | \item[] Guidelines: 212 | \begin{itemize} 213 | \item The answer NA means that the paper does not include theoretical results. 214 | \item All the theorems, formulas, and proofs in the paper should be numbered and cross-referenced. 215 | \item All assumptions should be clearly stated or referenced in the statement of any theorems. 216 | \item The proofs can either appear in the main paper or the supplemental material, but if they appear in the supplemental material, the authors are encouraged to provide a short proof sketch to provide intuition. 217 | \item Inversely, any informal proof provided in the core of the paper should be complemented by formal proofs provided in appendix or supplemental material. 218 | \item Theorems and Lemmas that the proof relies upon should be properly referenced. 219 | \end{itemize} 220 | 221 | \item {\bf Experimental Result Reproducibility} 222 | \item[] Question: Does the paper fully disclose all the information needed to reproduce the main experimental results of the paper to the extent that it affects the main claims and/or conclusions of the paper (regardless of whether the code and data are provided or not)? 223 | \item[] Answer: \answerTODO{} % Replace by \answerYes{}, \answerNo{}, or \answerNA{}. 224 | \item[] Justification: \justificationTODO{} 225 | \item[] Guidelines: 226 | \begin{itemize} 227 | \item The answer NA means that the paper does not include experiments. 228 | \item If the paper includes experiments, a No answer to this question will not be perceived well by the reviewers: Making the paper reproducible is important, regardless of whether the code and data are provided or not. 229 | \item If the contribution is a dataset and/or model, the authors should describe the steps taken to make their results reproducible or verifiable. 230 | \item Depending on the contribution, reproducibility can be accomplished in various ways. For example, if the contribution is a novel architecture, describing the architecture fully might suffice, or if the contribution is a specific model and empirical evaluation, it may be necessary to either make it possible for others to replicate the model with the same dataset, or provide access to the model. In general. releasing code and data is often one good way to accomplish this, but reproducibility can also be provided via detailed instructions for how to replicate the results, access to a hosted model (e.g., in the case of a large language model), releasing of a model checkpoint, or other means that are appropriate to the research performed. 231 | \item While NeurIPS does not require releasing code, the conference does require all submissions to provide some reasonable avenue for reproducibility, which may depend on the nature of the contribution. For example 232 | \begin{enumerate} 233 | \item If the contribution is primarily a new algorithm, the paper should make it clear how to reproduce that algorithm. 234 | \item If the contribution is primarily a new model architecture, the paper should describe the architecture clearly and fully. 235 | \item If the contribution is a new model (e.g., a large language model), then there should either be a way to access this model for reproducing the results or a way to reproduce the model (e.g., with an open-source dataset or instructions for how to construct the dataset). 236 | \item We recognize that reproducibility may be tricky in some cases, in which case authors are welcome to describe the particular way they provide for reproducibility. In the case of closed-source models, it may be that access to the model is limited in some way (e.g., to registered users), but it should be possible for other researchers to have some path to reproducing or verifying the results. 237 | \end{enumerate} 238 | \end{itemize} 239 | 240 | 241 | \item {\bf Open access to data and code} 242 | \item[] Question: Does the paper provide open access to the data and code, with sufficient instructions to faithfully reproduce the main experimental results, as described in supplemental material? 243 | \item[] Answer: \answerTODO{} % Replace by \answerYes{}, \answerNo{}, or \answerNA{}. 244 | \item[] Justification: \justificationTODO{} 245 | \item[] Guidelines: 246 | \begin{itemize} 247 | \item The answer NA means that paper does not include experiments requiring code. 248 | \item Please see the NeurIPS code and data submission guidelines (\url{https://nips.cc/public/guides/CodeSubmissionPolicy}) for more details. 249 | \item While we encourage the release of code and data, we understand that this might not be possible, so “No” is an acceptable answer. Papers cannot be rejected simply for not including code, unless this is central to the contribution (e.g., for a new open-source benchmark). 250 | \item The instructions should contain the exact command and environment needed to run to reproduce the results. See the NeurIPS code and data submission guidelines (\url{https://nips.cc/public/guides/CodeSubmissionPolicy}) for more details. 251 | \item The authors should provide instructions on data access and preparation, including how to access the raw data, preprocessed data, intermediate data, and generated data, etc. 252 | \item The authors should provide scripts to reproduce all experimental results for the new proposed method and baselines. If only a subset of experiments are reproducible, they should state which ones are omitted from the script and why. 253 | \item At submission time, to preserve anonymity, the authors should release anonymized versions (if applicable). 254 | \item Providing as much information as possible in supplemental material (appended to the paper) is recommended, but including URLs to data and code is permitted. 255 | \end{itemize} 256 | 257 | 258 | \item {\bf Experimental Setting/Details} 259 | \item[] Question: Does the paper specify all the training and test details (e.g., data splits, hyperparameters, how they were chosen, type of optimizer, etc.) necessary to understand the results? 260 | \item[] Answer: \answerTODO{} % Replace by \answerYes{}, \answerNo{}, or \answerNA{}. 261 | \item[] Justification: \justificationTODO{} 262 | \item[] Guidelines: 263 | \begin{itemize} 264 | \item The answer NA means that the paper does not include experiments. 265 | \item The experimental setting should be presented in the core of the paper to a level of detail that is necessary to appreciate the results and make sense of them. 266 | \item The full details can be provided either with the code, in appendix, or as supplemental material. 267 | \end{itemize} 268 | 269 | \item {\bf Experiment Statistical Significance} 270 | \item[] Question: Does the paper report error bars suitably and correctly defined or other appropriate information about the statistical significance of the experiments? 271 | \item[] Answer: \answerTODO{} % Replace by \answerYes{}, \answerNo{}, or \answerNA{}. 272 | \item[] Justification: \justificationTODO{} 273 | \item[] Guidelines: 274 | \begin{itemize} 275 | \item The answer NA means that the paper does not include experiments. 276 | \item The authors should answer "Yes" if the results are accompanied by error bars, confidence intervals, or statistical significance tests, at least for the experiments that support the main claims of the paper. 277 | \item The factors of variability that the error bars are capturing should be clearly stated (for example, train/test split, initialization, random drawing of some parameter, or overall run with given experimental conditions). 278 | \item The method for calculating the error bars should be explained (closed form formula, call to a library function, bootstrap, etc.) 279 | \item The assumptions made should be given (e.g., Normally distributed errors). 280 | \item It should be clear whether the error bar is the standard deviation or the standard error of the mean. 281 | \item It is OK to report 1-sigma error bars, but one should state it. The authors should preferably report a 2-sigma error bar than state that they have a 96\% CI, if the hypothesis of Normality of errors is not verified. 282 | \item For asymmetric distributions, the authors should be careful not to show in tables or figures symmetric error bars that would yield results that are out of range (e.g. negative error rates). 283 | \item If error bars are reported in tables or plots, The authors should explain in the text how they were calculated and reference the corresponding figures or tables in the text. 284 | \end{itemize} 285 | 286 | \item {\bf Experiments Compute Resources} 287 | \item[] Question: For each experiment, does the paper provide sufficient information on the computer resources (type of compute workers, memory, time of execution) needed to reproduce the experiments? 288 | \item[] Answer: \answerTODO{} % Replace by \answerYes{}, \answerNo{}, or \answerNA{}. 289 | \item[] Justification: \justificationTODO{} 290 | \item[] Guidelines: 291 | \begin{itemize} 292 | \item The answer NA means that the paper does not include experiments. 293 | \item The paper should indicate the type of compute workers CPU or GPU, internal cluster, or cloud provider, including relevant memory and storage. 294 | \item The paper should provide the amount of compute required for each of the individual experimental runs as well as estimate the total compute. 295 | \item The paper should disclose whether the full research project required more compute than the experiments reported in the paper (e.g., preliminary or failed experiments that didn't make it into the paper). 296 | \end{itemize} 297 | 298 | \item {\bf Code Of Ethics} 299 | \item[] Question: Does the research conducted in the paper conform, in every respect, with the NeurIPS Code of Ethics \url{https://neurips.cc/public/EthicsGuidelines}? 300 | \item[] Answer: \answerTODO{} % Replace by \answerYes{}, \answerNo{}, or \answerNA{}. 301 | \item[] Justification: \justificationTODO{} 302 | \item[] Guidelines: 303 | \begin{itemize} 304 | \item The answer NA means that the authors have not reviewed the NeurIPS Code of Ethics. 305 | \item If the authors answer No, they should explain the special circumstances that require a deviation from the Code of Ethics. 306 | \item The authors should make sure to preserve anonymity (e.g., if there is a special consideration due to laws or regulations in their jurisdiction). 307 | \end{itemize} 308 | 309 | 310 | \item {\bf Broader Impacts} 311 | \item[] Question: Does the paper discuss both potential positive societal impacts and negative societal impacts of the work performed? 312 | \item[] Answer: \answerTODO{} % Replace by \answerYes{}, \answerNo{}, or \answerNA{}. 313 | \item[] Justification: \justificationTODO{} 314 | \item[] Guidelines: 315 | \begin{itemize} 316 | \item The answer NA means that there is no societal impact of the work performed. 317 | \item If the authors answer NA or No, they should explain why their work has no societal impact or why the paper does not address societal impact. 318 | \item Examples of negative societal impacts include potential malicious or unintended uses (e.g., disinformation, generating fake profiles, surveillance), fairness considerations (e.g., deployment of technologies that could make decisions that unfairly impact specific groups), privacy considerations, and security considerations. 319 | \item The conference expects that many papers will be foundational research and not tied to particular applications, let alone deployments. However, if there is a direct path to any negative applications, the authors should point it out. For example, it is legitimate to point out that an improvement in the quality of generative models could be used to generate deepfakes for disinformation. On the other hand, it is not needed to point out that a generic algorithm for optimizing neural networks could enable people to train models that generate Deepfakes faster. 320 | \item The authors should consider possible harms that could arise when the technology is being used as intended and functioning correctly, harms that could arise when the technology is being used as intended but gives incorrect results, and harms following from (intentional or unintentional) misuse of the technology. 321 | \item If there are negative societal impacts, the authors could also discuss possible mitigation strategies (e.g., gated release of models, providing defenses in addition to attacks, mechanisms for monitoring misuse, mechanisms to monitor how a system learns from feedback over time, improving the efficiency and accessibility of ML). 322 | \end{itemize} 323 | 324 | \item {\bf Safeguards} 325 | \item[] Question: Does the paper describe safeguards that have been put in place for responsible release of data or models that have a high risk for misuse (e.g., pretrained language models, image generators, or scraped datasets)? 326 | \item[] Answer: \answerTODO{} % Replace by \answerYes{}, \answerNo{}, or \answerNA{}. 327 | \item[] Justification: \justificationTODO{} 328 | \item[] Guidelines: 329 | \begin{itemize} 330 | \item The answer NA means that the paper poses no such risks. 331 | \item Released models that have a high risk for misuse or dual-use should be released with necessary safeguards to allow for controlled use of the model, for example by requiring that users adhere to usage guidelines or restrictions to access the model or implementing safety filters. 332 | \item Datasets that have been scraped from the Internet could pose safety risks. The authors should describe how they avoided releasing unsafe images. 333 | \item We recognize that providing effective safeguards is challenging, and many papers do not require this, but we encourage authors to take this into account and make a best faith effort. 334 | \end{itemize} 335 | 336 | \item {\bf Licenses for existing assets} 337 | \item[] Question: Are the creators or original owners of assets (e.g., code, data, models), used in the paper, properly credited and are the license and terms of use explicitly mentioned and properly respected? 338 | \item[] Answer: \answerTODO{} % Replace by \answerYes{}, \answerNo{}, or \answerNA{}. 339 | \item[] Justification: \justificationTODO{} 340 | \item[] Guidelines: 341 | \begin{itemize} 342 | \item The answer NA means that the paper does not use existing assets. 343 | \item The authors should cite the original paper that produced the code package or dataset. 344 | \item The authors should state which version of the asset is used and, if possible, include a URL. 345 | \item The name of the license (e.g., CC-BY 4.0) should be included for each asset. 346 | \item For scraped data from a particular source (e.g., website), the copyright and terms of service of that source should be provided. 347 | \item If assets are released, the license, copyright information, and terms of use in the package should be provided. For popular datasets, \url{paperswithcode.com/datasets} has curated licenses for some datasets. Their licensing guide can help determine the license of a dataset. 348 | \item For existing datasets that are re-packaged, both the original license and the license of the derived asset (if it has changed) should be provided. 349 | \item If this information is not available online, the authors are encouraged to reach out to the asset's creators. 350 | \end{itemize} 351 | 352 | \item {\bf New Assets} 353 | \item[] Question: Are new assets introduced in the paper well documented and is the documentation provided alongside the assets? 354 | \item[] Answer: \answerTODO{} % Replace by \answerYes{}, \answerNo{}, or \answerNA{}. 355 | \item[] Justification: \justificationTODO{} 356 | \item[] Guidelines: 357 | \begin{itemize} 358 | \item The answer NA means that the paper does not release new assets. 359 | \item Researchers should communicate the details of the dataset/code/model as part of their submissions via structured templates. This includes details about training, license, limitations, etc. 360 | \item The paper should discuss whether and how consent was obtained from people whose asset is used. 361 | \item At submission time, remember to anonymize your assets (if applicable). You can either create an anonymized URL or include an anonymized zip file. 362 | \end{itemize} 363 | 364 | \item {\bf Crowdsourcing and Research with Human Subjects} 365 | \item[] Question: For crowdsourcing experiments and research with human subjects, does the paper include the full text of instructions given to participants and screenshots, if applicable, as well as details about compensation (if any)? 366 | \item[] Answer: \answerTODO{} % Replace by \answerYes{}, \answerNo{}, or \answerNA{}. 367 | \item[] Justification: \justificationTODO{} 368 | \item[] Guidelines: 369 | \begin{itemize} 370 | \item The answer NA means that the paper does not involve crowdsourcing nor research with human subjects. 371 | \item Including this information in the supplemental material is fine, but if the main contribution of the paper involves human subjects, then as much detail as possible should be included in the main paper. 372 | \item According to the NeurIPS Code of Ethics, workers involved in data collection, curation, or other labor should be paid at least the minimum wage in the country of the data collector. 373 | \end{itemize} 374 | 375 | \item {\bf Institutional Review Board (IRB) Approvals or Equivalent for Research with Human Subjects} 376 | \item[] Question: Does the paper describe potential risks incurred by study participants, whether such risks were disclosed to the subjects, and whether Institutional Review Board (IRB) approvals (or an equivalent approval/review based on the requirements of your country or institution) were obtained? 377 | \item[] Answer: \answerTODO{} % Replace by \answerYes{}, \answerNo{}, or \answerNA{}. 378 | \item[] Justification: \justificationTODO{} 379 | \item[] Guidelines: 380 | \begin{itemize} 381 | \item The answer NA means that the paper does not involve crowdsourcing nor research with human subjects. 382 | \item Depending on the country in which research is conducted, IRB approval (or equivalent) may be required for any human subjects research. If you obtained IRB approval, you should clearly state this in the paper. 383 | \item We recognize that the procedures for this may vary significantly between institutions and locations, and we expect authors to adhere to the NeurIPS Code of Ethics and the guidelines for their institution. 384 | \item For initial submissions, do not include any information that would break anonymity (if applicable), such as the institution conducting the review. 385 | \end{itemize} 386 | 387 | \end{enumerate} 388 | 389 | 390 | \end{document} -------------------------------------------------------------------------------- /Ref.bst: -------------------------------------------------------------------------------- 1 | %% File: `abbrvnat.bst' 2 | %% A modification of `abbrv.bst' for use with natbib package 3 | %% 4 | %% Copyright 1993-2007 Patrick W Daly 5 | %% Max-Planck-Institut f\"ur Sonnensystemforschung 6 | %% Max-Planck-Str. 2 7 | %% D-37191 Katlenburg-Lindau 8 | %% Germany 9 | %% E-mail: daly@mps.mpg.de 10 | %% 11 | %% This program can be redistributed and/or modified under the terms 12 | %% of the LaTeX Project Public License Distributed from CTAN 13 | %% archives in directory macros/latex/base/lppl.txt; either 14 | %% version 1 of the License, or any later version. 15 | %% 16 | % Version and source file information: 17 | % \ProvidesFile{natbst.mbs}[2007/11/26 1.93 (PWD)] 18 | % 19 | % BibTeX `plainnat' family 20 | % version 0.99b for BibTeX versions 0.99a or later, 21 | % for LaTeX versions 2.09 and 2e. 22 | % 23 | % For use with the `natbib.sty' package; emulates the corresponding 24 | % member of the `plain' family, but with author-year citations. 25 | % 26 | % With version 6.0 of `natbib.sty', it may also be used for numerical 27 | % citations, while retaining the commands \citeauthor, \citefullauthor, 28 | % and \citeyear to print the corresponding information. 29 | % 30 | % For version 7.0 of `natbib.sty', the KEY field replaces missing 31 | % authors/editors, and the date is left blank in \bibitem. 32 | % 33 | % Includes field EID for the sequence/citation number of electronic journals 34 | % which is used instead of page numbers. 35 | % 36 | % Includes fields ISBN and ISSN. 37 | % 38 | % Includes field URL for Internet addresses. 39 | % 40 | % Includes field DOI for Digital Object Idenfifiers. 41 | % 42 | % Works best with the url.sty package of Donald Arseneau. 43 | % 44 | % Works with identical authors and year are further sorted by 45 | % citation key, to preserve any natural sequence. 46 | % 47 | ENTRY 48 | { address 49 | author 50 | booktitle 51 | chapter 52 | doi 53 | eid 54 | edition 55 | editor 56 | howpublished 57 | institution 58 | isbn 59 | issn 60 | journal 61 | key 62 | month 63 | note 64 | number 65 | organization 66 | pages 67 | publisher 68 | school 69 | series 70 | title 71 | type 72 | url 73 | volume 74 | year 75 | } 76 | {} 77 | { label extra.label sort.label short.list } 78 | 79 | INTEGERS { output.state before.all mid.sentence after.sentence after.block } 80 | 81 | FUNCTION {init.state.consts} 82 | { #0 'before.all := 83 | #1 'mid.sentence := 84 | #2 'after.sentence := 85 | #3 'after.block := 86 | } 87 | 88 | STRINGS { s t } 89 | 90 | FUNCTION {output.nonnull} 91 | { 's := 92 | output.state mid.sentence = 93 | { ", " * write$ } 94 | { output.state after.block = 95 | { add.period$ write$ 96 | newline$ 97 | "\newblock " write$ 98 | } 99 | { output.state before.all = 100 | 'write$ 101 | { add.period$ " " * write$ } 102 | if$ 103 | } 104 | if$ 105 | mid.sentence 'output.state := 106 | } 107 | if$ 108 | s 109 | } 110 | 111 | FUNCTION {output} 112 | { duplicate$ empty$ 113 | 'pop$ 114 | 'output.nonnull 115 | if$ 116 | } 117 | 118 | FUNCTION {output.check} 119 | { 't := 120 | duplicate$ empty$ 121 | { pop$ "empty " t * " in " * cite$ * warning$ } 122 | 'output.nonnull 123 | if$ 124 | } 125 | 126 | FUNCTION {fin.entry} 127 | { add.period$ 128 | write$ 129 | newline$ 130 | } 131 | 132 | FUNCTION {new.block} 133 | { output.state before.all = 134 | 'skip$ 135 | { after.block 'output.state := } 136 | if$ 137 | } 138 | 139 | FUNCTION {new.sentence} 140 | { output.state after.block = 141 | 'skip$ 142 | { output.state before.all = 143 | 'skip$ 144 | { after.sentence 'output.state := } 145 | if$ 146 | } 147 | if$ 148 | } 149 | 150 | FUNCTION {not} 151 | { { #0 } 152 | { #1 } 153 | if$ 154 | } 155 | 156 | FUNCTION {and} 157 | { 'skip$ 158 | { pop$ #0 } 159 | if$ 160 | } 161 | 162 | FUNCTION {or} 163 | { { pop$ #1 } 164 | 'skip$ 165 | if$ 166 | } 167 | 168 | FUNCTION {new.block.checka} 169 | { empty$ 170 | 'skip$ 171 | 'new.block 172 | if$ 173 | } 174 | 175 | FUNCTION {new.block.checkb} 176 | { empty$ 177 | swap$ empty$ 178 | and 179 | 'skip$ 180 | 'new.block 181 | if$ 182 | } 183 | 184 | FUNCTION {new.sentence.checka} 185 | { empty$ 186 | 'skip$ 187 | 'new.sentence 188 | if$ 189 | } 190 | 191 | FUNCTION {new.sentence.checkb} 192 | { empty$ 193 | swap$ empty$ 194 | and 195 | 'skip$ 196 | 'new.sentence 197 | if$ 198 | } 199 | 200 | FUNCTION {field.or.null} 201 | { duplicate$ empty$ 202 | { pop$ "" } 203 | 'skip$ 204 | if$ 205 | } 206 | 207 | FUNCTION {emphasize} 208 | { duplicate$ empty$ 209 | { pop$ "" } 210 | { "\emph{" swap$ * "}" * } 211 | if$ 212 | } 213 | 214 | INTEGERS { nameptr namesleft numnames } 215 | 216 | FUNCTION {format.names} 217 | { 's := 218 | #1 'nameptr := 219 | s num.names$ 'numnames := 220 | numnames 'namesleft := 221 | { namesleft #0 > } 222 | % Formerly { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := 223 | { s nameptr "{ll~}{, f.}" format.name$ 't := 224 | nameptr #1 > 225 | { namesleft #1 > 226 | { ", " * t * } 227 | { numnames #2 > 228 | { "," * } 229 | 'skip$ 230 | if$ 231 | t "others" = 232 | { " et~al." * } 233 | { " \& " * t *} 234 | if$ 235 | } 236 | if$ 237 | } 238 | 't 239 | if$ 240 | nameptr #1 + 'nameptr := 241 | namesleft #1 - 'namesleft := 242 | } 243 | while$ 244 | } 245 | 246 | FUNCTION {format.editorNames} 247 | { 's := 248 | #1 'nameptr := 249 | s num.names$ 'numnames := 250 | numnames 'namesleft := 251 | { namesleft #0 > } 252 | Formerly { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := 253 | %{ s nameptr "{ll~}{, f.}" format.name$ 't := 254 | nameptr #1 > 255 | { namesleft #1 > 256 | { ", " * t * } 257 | { numnames #2 > 258 | { "," * } 259 | 'skip$ 260 | if$ 261 | t "others" = 262 | { " et~al." * } 263 | { " and " * t *} 264 | if$ 265 | } 266 | if$ 267 | } 268 | 't 269 | if$ 270 | nameptr #1 + 'nameptr := 271 | namesleft #1 - 'namesleft := 272 | } 273 | while$ 274 | } 275 | 276 | FUNCTION {format.key} 277 | { empty$ 278 | { key field.or.null } 279 | { "" } 280 | if$ 281 | } 282 | 283 | FUNCTION {format.authors} 284 | { author empty$ 285 | { "" } 286 | { author format.names } 287 | if$ 288 | } 289 | 290 | FUNCTION {format.editors} 291 | { editor empty$ 292 | { "" } 293 | { editor format.editorNames 294 | editor num.names$ #1 > 295 | { ", (eds.)" * } 296 | { ", editor" * } 297 | if$ 298 | } 299 | if$ 300 | } 301 | 302 | FUNCTION {format.isbn} 303 | { isbn empty$ 304 | { "" } 305 | % { new.block "ISBN " isbn * } 306 | { "" } 307 | if$ 308 | } 309 | 310 | FUNCTION {format.issn} 311 | { issn empty$ 312 | { "" } 313 | % { new.block "ISSN " issn * } 314 | { "" } 315 | if$ 316 | } 317 | 318 | FUNCTION {format.url} 319 | { url empty$ 320 | { "" } 321 | % { new.block "URL \url{" url * "}" * } 322 | { "" } 323 | if$ 324 | } 325 | 326 | FUNCTION {format.doi} 327 | { doi empty$ 328 | { "" } 329 | % { new.block "\doi{" doi * "}" * } 330 | { "" } 331 | if$ 332 | } 333 | 334 | FUNCTION {format.title} 335 | { title empty$ 336 | { "" } 337 | { title "t" change.case$ } 338 | if$ 339 | } 340 | 341 | FUNCTION {format.full.names} 342 | {'s := 343 | #1 'nameptr := 344 | s num.names$ 'numnames := 345 | numnames 'namesleft := 346 | { namesleft #0 > } 347 | { s nameptr 348 | "{vv~}{ll}" format.name$ 't := 349 | nameptr #1 > 350 | { 351 | namesleft #1 > 352 | { ", " * t * } 353 | { 354 | numnames #2 > 355 | { "," * } 356 | 'skip$ 357 | if$ 358 | t "others" = 359 | { " et~al." * } 360 | { " and " * t * } 361 | if$ 362 | } 363 | if$ 364 | } 365 | 't 366 | if$ 367 | nameptr #1 + 'nameptr := 368 | namesleft #1 - 'namesleft := 369 | } 370 | while$ 371 | } 372 | 373 | FUNCTION {author.editor.full} 374 | { author empty$ 375 | { editor empty$ 376 | { "" } 377 | { editor format.full.names } 378 | if$ 379 | } 380 | { author format.full.names } 381 | if$ 382 | } 383 | 384 | FUNCTION {author.full} 385 | { author empty$ 386 | { "" } 387 | { author format.full.names } 388 | if$ 389 | } 390 | 391 | FUNCTION {editor.full} 392 | { editor empty$ 393 | { "" } 394 | { editor format.full.names } 395 | if$ 396 | } 397 | 398 | FUNCTION {make.full.names} 399 | { type$ "book" = 400 | type$ "inbook" = 401 | or 402 | 'author.editor.full 403 | { type$ "proceedings" = 404 | 'editor.full 405 | 'author.full 406 | if$ 407 | } 408 | if$ 409 | } 410 | 411 | FUNCTION {output.bibitem} 412 | { newline$ 413 | "\bibitem[" write$ 414 | label write$ 415 | ")" make.full.names duplicate$ short.list = 416 | { pop$ } 417 | { * } 418 | if$ 419 | "]{" * write$ 420 | cite$ write$ 421 | "}" write$ 422 | newline$ 423 | "" 424 | before.all 'output.state := 425 | } 426 | 427 | FUNCTION {n.dashify} 428 | { 't := 429 | "" 430 | { t empty$ not } 431 | { t #1 #1 substring$ "-" = 432 | { t #1 #2 substring$ "--" = not 433 | { "--" * 434 | t #2 global.max$ substring$ 't := 435 | } 436 | { { t #1 #1 substring$ "-" = } 437 | { "-" * 438 | t #2 global.max$ substring$ 't := 439 | } 440 | while$ 441 | } 442 | if$ 443 | } 444 | { t #1 #1 substring$ * 445 | t #2 global.max$ substring$ 't := 446 | } 447 | if$ 448 | } 449 | while$ 450 | } 451 | 452 | FUNCTION {format.date} 453 | { year duplicate$ empty$ 454 | { "empty year in " cite$ * warning$ 455 | pop$ "" } 456 | 'skip$ 457 | if$ 458 | %% CR: Leave out months. 459 | % month empty$ 460 | % 'skip$ 461 | % { month 462 | % " " * swap$ * 463 | % } 464 | % if$ 465 | extra.label 466 | } 467 | 468 | FUNCTION {format.btitle} 469 | { title emphasize 470 | } 471 | 472 | FUNCTION {tie.or.space.connect} 473 | { duplicate$ text.length$ #3 < 474 | { "~" } 475 | { " " } 476 | if$ 477 | swap$ * * 478 | } 479 | 480 | FUNCTION {either.or.check} 481 | { empty$ 482 | 'pop$ 483 | { "can't use both " swap$ * " fields in " * cite$ * warning$ } 484 | if$ 485 | } 486 | 487 | FUNCTION {format.bvolume} 488 | { volume empty$ 489 | { "" } 490 | %% CR: Don't show "volume 1234 of LNCS" etc. 491 | % { "volume" volume tie.or.space.connect 492 | % series empty$ 493 | % 'skip$ 494 | % { " of " * series emphasize * } 495 | % if$ 496 | % "volume and number" number either.or.check 497 | % } 498 | { volume emphasize } 499 | if$ 500 | } 501 | 502 | FUNCTION {format.number.series} 503 | { volume empty$ 504 | { number empty$ 505 | %% CR: Leave out series information. 506 | % { series field.or.null } 507 | { "" } 508 | { output.state mid.sentence = 509 | { "number" } 510 | { "Number" } 511 | if$ 512 | number tie.or.space.connect 513 | series empty$ 514 | { "there's a number but no series in " cite$ * warning$ } 515 | { " in " * series * } 516 | if$ 517 | } 518 | if$ 519 | } 520 | { "" } 521 | if$ 522 | } 523 | 524 | FUNCTION {format.edition} 525 | { edition empty$ 526 | { "" } 527 | { output.state mid.sentence = 528 | { edition "l" change.case$ " edition" * } 529 | { edition "t" change.case$ " edition" * } 530 | if$ 531 | } 532 | if$ 533 | } 534 | 535 | INTEGERS { multiresult } 536 | 537 | FUNCTION {multi.page.check} 538 | { 't := 539 | #0 'multiresult := 540 | { multiresult not 541 | t empty$ not 542 | and 543 | } 544 | { t #1 #1 substring$ 545 | duplicate$ "-" = 546 | swap$ duplicate$ "," = 547 | swap$ "+" = 548 | or or 549 | { #1 'multiresult := } 550 | { t #2 global.max$ substring$ 't := } 551 | if$ 552 | } 553 | while$ 554 | multiresult 555 | } 556 | 557 | FUNCTION {format.pages} 558 | { pages empty$ 559 | { "" } 560 | { pages multi.page.check 561 | { "pages" pages n.dashify tie.or.space.connect } 562 | { "page" pages tie.or.space.connect } 563 | if$ 564 | } 565 | if$ 566 | } 567 | 568 | FUNCTION {format.eid} 569 | { eid empty$ 570 | { "" } 571 | { "art." eid tie.or.space.connect } 572 | if$ 573 | } 574 | 575 | FUNCTION {embolden} 576 | { duplicate$ empty$ 577 | { pop$ "" } 578 | { "{\bfseries " swap$ * "}" * } 579 | if$ 580 | } 581 | 582 | FUNCTION {format.vol.num.pages} 583 | { volume embolden field.or.null 584 | 585 | number empty$ 586 | 'skip$ 587 | { "\penalty0 (" number * ")" * * 588 | volume empty$ 589 | { "there's a number but no volume in " cite$ * warning$ } 590 | 'skip$ 591 | if$ 592 | } 593 | if$ 594 | 595 | pages empty$ 596 | 'skip$ 597 | { duplicate$ empty$ 598 | { pop$ format.pages } 599 | { ":\penalty0 " * pages n.dashify * } 600 | if$ 601 | } 602 | if$ 603 | } 604 | 605 | FUNCTION {format.vol.num.eid} 606 | { volume field.or.null 607 | number empty$ 608 | 'skip$ 609 | { "\penalty0 (" number * ")" * * 610 | volume empty$ 611 | { "there's a number but no volume in " cite$ * warning$ } 612 | 'skip$ 613 | if$ 614 | } 615 | if$ 616 | eid empty$ 617 | 'skip$ 618 | { duplicate$ empty$ 619 | { pop$ format.eid } 620 | { ":\penalty0 " * eid * } 621 | if$ 622 | } 623 | if$ 624 | } 625 | 626 | FUNCTION {format.chapter.pages} 627 | { chapter empty$ 628 | 'format.pages 629 | { type empty$ 630 | { "chapter" } 631 | { type "l" change.case$ } 632 | if$ 633 | chapter tie.or.space.connect 634 | pages empty$ 635 | 'skip$ 636 | { ", " * format.pages * } 637 | if$ 638 | } 639 | if$ 640 | } 641 | 642 | FUNCTION {format.in.ed.booktitle} 643 | { booktitle empty$ 644 | { "" } 645 | %% CR: Leave out editors even if the information is available. 646 | % { editor empty$ 647 | % { "In " booktitle emphasize * } 648 | % { "In " format.editors * ", " * booktitle emphasize * } 649 | % if$ 650 | % } 651 | { booktitle emphasize } 652 | if$ 653 | } 654 | 655 | FUNCTION {empty.misc.check} 656 | { author empty$ title empty$ howpublished empty$ 657 | month empty$ year empty$ note empty$ 658 | and and and and and 659 | key empty$ not and 660 | { "all relevant fields are empty in " cite$ * warning$ } 661 | 'skip$ 662 | if$ 663 | } 664 | 665 | FUNCTION {format.thesis.type} 666 | { type empty$ 667 | 'skip$ 668 | { pop$ 669 | type "t" change.case$ 670 | } 671 | if$ 672 | } 673 | 674 | FUNCTION {format.tr.number} 675 | { type empty$ 676 | { "Technical Report" } 677 | 'type 678 | if$ 679 | number empty$ 680 | { "t" change.case$ } 681 | { number tie.or.space.connect } 682 | if$ 683 | } 684 | 685 | FUNCTION {format.article.crossref} 686 | { key empty$ 687 | { journal empty$ 688 | { "need key or journal for " cite$ * " to crossref " * crossref * 689 | warning$ 690 | "" 691 | } 692 | { "In \emph{" journal * "}" * } 693 | if$ 694 | } 695 | { "In " } 696 | if$ 697 | " \citet{" * crossref * "}" * 698 | } 699 | 700 | FUNCTION {format.book.crossref} 701 | { volume empty$ 702 | { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ 703 | "In " 704 | } 705 | { "Volume" volume tie.or.space.connect 706 | " of " * 707 | } 708 | if$ 709 | editor empty$ 710 | editor field.or.null author field.or.null = 711 | or 712 | { key empty$ 713 | { series empty$ 714 | { "need editor, key, or series for " cite$ * " to crossref " * 715 | crossref * warning$ 716 | "" * 717 | } 718 | { "\emph{" * series * "}" * } 719 | if$ 720 | } 721 | 'skip$ 722 | if$ 723 | } 724 | 'skip$ 725 | if$ 726 | " \citet{" * crossref * "}" * 727 | } 728 | 729 | FUNCTION {format.incoll.inproc.crossref} 730 | { editor empty$ 731 | editor field.or.null author field.or.null = 732 | or 733 | { key empty$ 734 | { booktitle empty$ 735 | { "need editor, key, or booktitle for " cite$ * " to crossref " * 736 | crossref * warning$ 737 | "" 738 | } 739 | { "In \emph{" booktitle * "}" * } 740 | if$ 741 | } 742 | { "In " } 743 | if$ 744 | } 745 | { "In " } 746 | if$ 747 | " \citet{" * crossref * "}" * 748 | } 749 | 750 | FUNCTION {article} 751 | { output.bibitem 752 | format.authors "author" output.check 753 | author format.key output 754 | new.block 755 | " (" * write$ 756 | format.date "year" output.check 757 | ") " * write$ 758 | new.block 759 | format.title "title" output.check 760 | new.block 761 | crossref missing$ 762 | { journal emphasize "journal" output.check 763 | " " * write$ 764 | eid empty$ 765 | { format.vol.num.pages output } 766 | { format.vol.num.eid output } 767 | if$ 768 | } 769 | { format.article.crossref output.nonnull 770 | eid empty$ 771 | { format.pages output } 772 | { format.eid output } 773 | if$ 774 | } 775 | if$ 776 | format.issn output 777 | format.doi output 778 | format.url output 779 | new.block 780 | note output 781 | fin.entry 782 | } 783 | 784 | FUNCTION {book} 785 | { output.bibitem 786 | author empty$ 787 | { format.editors "author and editor" output.check 788 | editor format.key output 789 | } 790 | { format.authors output.nonnull 791 | crossref missing$ 792 | { "author and editor" editor either.or.check } 793 | 'skip$ 794 | if$ 795 | } 796 | if$ 797 | " (" * write$ 798 | format.date "year" output.check 799 | ") " * write$ 800 | new.block 801 | format.btitle "title" output.check 802 | crossref missing$ 803 | { format.bvolume output 804 | new.block 805 | format.number.series output 806 | address output.nonnull 807 | ": " * write$ 808 | "" * write$ 809 | publisher output 810 | } 811 | { new.block 812 | format.book.crossref output.nonnull 813 | } 814 | if$ 815 | format.edition output 816 | format.isbn output 817 | format.doi output 818 | format.url output 819 | new.block 820 | note output 821 | fin.entry 822 | } 823 | 824 | FUNCTION {booklet} 825 | { output.bibitem 826 | format.authors output 827 | author format.key output 828 | new.block 829 | format.title "title" output.check 830 | howpublished address new.block.checkb 831 | howpublished output 832 | address output 833 | format.date output 834 | format.isbn output 835 | format.doi output 836 | format.url output 837 | new.block 838 | note output 839 | fin.entry 840 | } 841 | 842 | FUNCTION {inbook} 843 | { output.bibitem 844 | author empty$ 845 | { format.editors "author and editor" output.check 846 | editor format.key output 847 | } 848 | { format.authors output.nonnull 849 | crossref missing$ 850 | { "author and editor" editor either.or.check } 851 | 'skip$ 852 | if$ 853 | } 854 | if$ 855 | new.block 856 | format.btitle "title" output.check 857 | crossref missing$ 858 | { format.bvolume output 859 | format.chapter.pages "chapter and pages" output.check 860 | new.block 861 | format.number.series output 862 | new.sentence 863 | publisher "publisher" output.check 864 | address output 865 | } 866 | { format.chapter.pages "chapter and pages" output.check 867 | new.block 868 | format.book.crossref output.nonnull 869 | } 870 | if$ 871 | format.edition output 872 | format.date "year" output.check 873 | format.isbn output 874 | format.doi output 875 | format.url output 876 | new.block 877 | note output 878 | fin.entry 879 | } 880 | 881 | FUNCTION {incollection} 882 | { output.bibitem 883 | format.authors "author" output.check 884 | author format.key output 885 | new.block 886 | format.title "title" output.check 887 | new.block 888 | crossref missing$ 889 | { format.in.ed.booktitle "booktitle" output.check 890 | format.bvolume output 891 | format.number.series output 892 | format.chapter.pages output 893 | new.sentence 894 | publisher "publisher" output.check 895 | address output 896 | format.edition output 897 | format.date "year" output.check 898 | } 899 | { format.incoll.inproc.crossref output.nonnull 900 | format.chapter.pages output 901 | } 902 | if$ 903 | format.isbn output 904 | format.doi output 905 | format.url output 906 | new.block 907 | note output 908 | fin.entry 909 | } 910 | 911 | FUNCTION {format.InproceedingPages} 912 | { 913 | 914 | pages empty$ 915 | 'skip$ 916 | { duplicate$ empty$ 917 | { pop$ format.pages } 918 | { "pp. \penalty0 " * pages n.dashify * } 919 | if$ 920 | } 921 | if$ 922 | } 923 | 924 | FUNCTION {inproceedings} 925 | { output.bibitem 926 | format.authors "author" output.check 927 | author format.key output 928 | new.block 929 | " (" * write$ 930 | format.date "year" output.check 931 | ") " * write$ 932 | format.title "title" output.check 933 | new.block 934 | ". In " * write$ 935 | format.editors "editor" output.check 936 | new.block 937 | "," * write$ 938 | crossref missing$ 939 | { format.in.ed.booktitle "booktitle" output.check 940 | " " * write$ 941 | format.bvolume output 942 | ", " * 943 | new.block 944 | format.InproceedingPages output 945 | address empty$ 946 | { organization publisher new.sentence.checkb 947 | organization output 948 | publisher output 949 | } 950 | { address output.nonnull 951 | ": " * write$ 952 | "" * write$ 953 | organization output 954 | publisher output 955 | } 956 | if$ 957 | } 958 | { format.incoll.inproc.crossref output.nonnull 959 | format.pages output 960 | } 961 | if$ 962 | format.isbn output 963 | format.doi output 964 | format.url output 965 | new.block 966 | note output 967 | fin.entry 968 | } 969 | 970 | FUNCTION {conference} { inproceedings } 971 | 972 | FUNCTION {manual} 973 | { output.bibitem 974 | format.authors output 975 | author format.key output 976 | new.block 977 | format.btitle "title" output.check 978 | organization address new.block.checkb 979 | organization output 980 | address output 981 | format.edition output 982 | format.date output 983 | format.url output 984 | new.block 985 | note output 986 | fin.entry 987 | } 988 | 989 | FUNCTION {mastersthesis} 990 | { output.bibitem 991 | format.authors "author" output.check 992 | author format.key output 993 | new.block 994 | format.title "title" output.check 995 | new.block 996 | "Master's thesis" format.thesis.type output.nonnull 997 | school "school" output.check 998 | address output 999 | format.date "year" output.check 1000 | format.url output 1001 | new.block 1002 | note output 1003 | fin.entry 1004 | } 1005 | 1006 | FUNCTION {misc} 1007 | { output.bibitem 1008 | format.authors output 1009 | author format.key output 1010 | title howpublished new.block.checkb 1011 | format.title output 1012 | howpublished new.block.checka 1013 | howpublished output 1014 | format.date output 1015 | format.issn output 1016 | format.url output 1017 | new.block 1018 | note output 1019 | fin.entry 1020 | empty.misc.check 1021 | } 1022 | 1023 | FUNCTION {phdthesis} 1024 | { output.bibitem 1025 | format.authors "author" output.check 1026 | author format.key output 1027 | new.block 1028 | format.btitle "title" output.check 1029 | new.block 1030 | "PhD thesis" format.thesis.type output.nonnull 1031 | school "school" output.check 1032 | address output 1033 | format.date "year" output.check 1034 | format.url output 1035 | new.block 1036 | note output 1037 | fin.entry 1038 | } 1039 | 1040 | FUNCTION {proceedings} 1041 | { output.bibitem 1042 | format.editors output 1043 | editor format.key output 1044 | new.block 1045 | format.btitle "title" output.check 1046 | format.bvolume output 1047 | format.number.series output 1048 | address output 1049 | format.date "year" output.check 1050 | new.sentence 1051 | organization output 1052 | publisher output 1053 | format.isbn output 1054 | format.doi output 1055 | format.url output 1056 | new.block 1057 | note output 1058 | fin.entry 1059 | } 1060 | 1061 | FUNCTION {techreport} 1062 | { output.bibitem 1063 | format.authors "author" output.check 1064 | author format.key output 1065 | new.block 1066 | format.title "title" output.check 1067 | new.block 1068 | format.tr.number output.nonnull 1069 | institution "institution" output.check 1070 | address output 1071 | format.date "year" output.check 1072 | format.url output 1073 | new.block 1074 | note output 1075 | fin.entry 1076 | } 1077 | 1078 | FUNCTION {unpublished} 1079 | { output.bibitem 1080 | format.authors "author" output.check 1081 | author format.key output 1082 | new.block 1083 | format.title "title" output.check 1084 | new.block 1085 | note "note" output.check 1086 | format.date output 1087 | format.url output 1088 | fin.entry 1089 | } 1090 | 1091 | FUNCTION {default.type} { misc } 1092 | 1093 | 1094 | MACRO {jan} {"Jan."} 1095 | 1096 | MACRO {feb} {"Feb."} 1097 | 1098 | MACRO {mar} {"Mar."} 1099 | 1100 | MACRO {apr} {"Apr."} 1101 | 1102 | MACRO {may} {"May"} 1103 | 1104 | MACRO {jun} {"June"} 1105 | 1106 | MACRO {jul} {"July"} 1107 | 1108 | MACRO {aug} {"Aug."} 1109 | 1110 | MACRO {sep} {"Sept."} 1111 | 1112 | MACRO {oct} {"Oct."} 1113 | 1114 | MACRO {nov} {"Nov."} 1115 | 1116 | MACRO {dec} {"Dec."} 1117 | 1118 | 1119 | 1120 | MACRO {acmcs} {"ACM Comput. Surv."} 1121 | 1122 | MACRO {acta} {"Acta Inf."} 1123 | 1124 | MACRO {cacm} {"Commun. ACM"} 1125 | 1126 | MACRO {ibmjrd} {"IBM J. Res. Dev."} 1127 | 1128 | MACRO {ibmsj} {"IBM Syst.~J."} 1129 | 1130 | MACRO {ieeese} {"IEEE Trans. Softw. Eng."} 1131 | 1132 | MACRO {ieeetc} {"IEEE Trans. Comput."} 1133 | 1134 | MACRO {ieeetcad} 1135 | {"IEEE Trans. Comput.-Aided Design Integrated Circuits"} 1136 | 1137 | MACRO {ipl} {"Inf. Process. Lett."} 1138 | 1139 | MACRO {jacm} {"J.~ACM"} 1140 | 1141 | MACRO {jcss} {"J.~Comput. Syst. Sci."} 1142 | 1143 | MACRO {scp} {"Sci. Comput. Programming"} 1144 | 1145 | MACRO {sicomp} {"SIAM J. Comput."} 1146 | 1147 | MACRO {tocs} {"ACM Trans. Comput. Syst."} 1148 | 1149 | MACRO {tods} {"ACM Trans. Database Syst."} 1150 | 1151 | MACRO {tog} {"ACM Trans. Gr."} 1152 | 1153 | MACRO {toms} {"ACM Trans. Math. Softw."} 1154 | 1155 | MACRO {toois} {"ACM Trans. Office Inf. Syst."} 1156 | 1157 | MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."} 1158 | 1159 | MACRO {tcs} {"Theoretical Comput. Sci."} 1160 | 1161 | 1162 | READ 1163 | 1164 | FUNCTION {sortify} 1165 | { purify$ 1166 | "l" change.case$ 1167 | } 1168 | 1169 | INTEGERS { len } 1170 | 1171 | FUNCTION {chop.word} 1172 | { 's := 1173 | 'len := 1174 | s #1 len substring$ = 1175 | { s len #1 + global.max$ substring$ } 1176 | 's 1177 | if$ 1178 | } 1179 | 1180 | FUNCTION {format.lab.names} 1181 | { 's := 1182 | s #1 "{vv~}{ll}" format.name$ 1183 | s num.names$ duplicate$ 1184 | #2 > 1185 | { pop$ " et~al." * } 1186 | { #2 < 1187 | 'skip$ 1188 | { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = 1189 | { " et~al." * } 1190 | { " and " * s #2 "{vv~}{ll}" format.name$ * } 1191 | if$ 1192 | } 1193 | if$ 1194 | } 1195 | if$ 1196 | } 1197 | 1198 | FUNCTION {author.key.label} 1199 | { author empty$ 1200 | { key empty$ 1201 | { cite$ #1 #3 substring$ } 1202 | 'key 1203 | if$ 1204 | } 1205 | { author format.lab.names } 1206 | if$ 1207 | } 1208 | 1209 | FUNCTION {author.editor.key.label} 1210 | { author empty$ 1211 | { editor empty$ 1212 | { key empty$ 1213 | { cite$ #1 #3 substring$ } 1214 | 'key 1215 | if$ 1216 | } 1217 | { editor format.lab.names } 1218 | if$ 1219 | } 1220 | { author format.lab.names } 1221 | if$ 1222 | } 1223 | 1224 | FUNCTION {author.key.organization.label} 1225 | { author empty$ 1226 | { key empty$ 1227 | { organization empty$ 1228 | { cite$ #1 #3 substring$ } 1229 | { "The " #4 organization chop.word #3 text.prefix$ } 1230 | if$ 1231 | } 1232 | 'key 1233 | if$ 1234 | } 1235 | { author format.lab.names } 1236 | if$ 1237 | } 1238 | 1239 | FUNCTION {editor.key.organization.label} 1240 | { editor empty$ 1241 | { key empty$ 1242 | { organization empty$ 1243 | { cite$ #1 #3 substring$ } 1244 | { "The " #4 organization chop.word #3 text.prefix$ } 1245 | if$ 1246 | } 1247 | 'key 1248 | if$ 1249 | } 1250 | { editor format.lab.names } 1251 | if$ 1252 | } 1253 | 1254 | FUNCTION {calc.short.authors} 1255 | { type$ "book" = 1256 | type$ "inbook" = 1257 | or 1258 | 'author.editor.key.label 1259 | { type$ "proceedings" = 1260 | 'editor.key.organization.label 1261 | { type$ "manual" = 1262 | 'author.key.organization.label 1263 | 'author.key.label 1264 | if$ 1265 | } 1266 | if$ 1267 | } 1268 | if$ 1269 | 'short.list := 1270 | } 1271 | 1272 | FUNCTION {calc.label} 1273 | { calc.short.authors 1274 | short.list 1275 | "(" 1276 | * 1277 | year duplicate$ empty$ 1278 | short.list key field.or.null = or 1279 | { pop$ "" } 1280 | 'skip$ 1281 | if$ 1282 | * 1283 | 'label := 1284 | } 1285 | 1286 | FUNCTION {sort.format.names} 1287 | { 's := 1288 | #1 'nameptr := 1289 | "" 1290 | s num.names$ 'numnames := 1291 | numnames 'namesleft := 1292 | { namesleft #0 > } 1293 | { 1294 | s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := 1295 | nameptr #1 > 1296 | { 1297 | " " * 1298 | namesleft #1 = t "others" = and 1299 | { "zzzzz" * } 1300 | { numnames #2 > nameptr #2 = and 1301 | { "zz" * year field.or.null * " " * } 1302 | 'skip$ 1303 | if$ 1304 | t sortify * 1305 | } 1306 | if$ 1307 | } 1308 | { t sortify * } 1309 | if$ 1310 | nameptr #1 + 'nameptr := 1311 | namesleft #1 - 'namesleft := 1312 | } 1313 | while$ 1314 | } 1315 | 1316 | FUNCTION {sort.format.title} 1317 | { 't := 1318 | "A " #2 1319 | "An " #3 1320 | "The " #4 t chop.word 1321 | chop.word 1322 | chop.word 1323 | sortify 1324 | #1 global.max$ substring$ 1325 | } 1326 | 1327 | FUNCTION {author.sort} 1328 | { author empty$ 1329 | { key empty$ 1330 | { "to sort, need author or key in " cite$ * warning$ 1331 | "" 1332 | } 1333 | { key sortify } 1334 | if$ 1335 | } 1336 | { author sort.format.names } 1337 | if$ 1338 | } 1339 | 1340 | FUNCTION {author.editor.sort} 1341 | { author empty$ 1342 | { editor empty$ 1343 | { key empty$ 1344 | { "to sort, need author, editor, or key in " cite$ * warning$ 1345 | "" 1346 | } 1347 | { key sortify } 1348 | if$ 1349 | } 1350 | { editor sort.format.names } 1351 | if$ 1352 | } 1353 | { author sort.format.names } 1354 | if$ 1355 | } 1356 | 1357 | FUNCTION {author.organization.sort} 1358 | { author empty$ 1359 | { organization empty$ 1360 | { key empty$ 1361 | { "to sort, need author, organization, or key in " cite$ * warning$ 1362 | "" 1363 | } 1364 | { key sortify } 1365 | if$ 1366 | } 1367 | { "The " #4 organization chop.word sortify } 1368 | if$ 1369 | } 1370 | { author sort.format.names } 1371 | if$ 1372 | } 1373 | 1374 | FUNCTION {editor.organization.sort} 1375 | { editor empty$ 1376 | { organization empty$ 1377 | { key empty$ 1378 | { "to sort, need editor, organization, or key in " cite$ * warning$ 1379 | "" 1380 | } 1381 | { key sortify } 1382 | if$ 1383 | } 1384 | { "The " #4 organization chop.word sortify } 1385 | if$ 1386 | } 1387 | { editor sort.format.names } 1388 | if$ 1389 | } 1390 | 1391 | 1392 | FUNCTION {presort} 1393 | { calc.label 1394 | label sortify 1395 | " " 1396 | * 1397 | type$ "book" = 1398 | type$ "inbook" = 1399 | or 1400 | 'author.editor.sort 1401 | { type$ "proceedings" = 1402 | 'editor.organization.sort 1403 | { type$ "manual" = 1404 | 'author.organization.sort 1405 | 'author.sort 1406 | if$ 1407 | } 1408 | if$ 1409 | } 1410 | if$ 1411 | " " 1412 | * 1413 | year field.or.null sortify 1414 | * 1415 | " " 1416 | * 1417 | cite$ 1418 | * 1419 | #1 entry.max$ substring$ 1420 | 'sort.label := 1421 | sort.label * 1422 | #1 entry.max$ substring$ 1423 | 'sort.key$ := 1424 | } 1425 | 1426 | ITERATE {presort} 1427 | 1428 | SORT 1429 | 1430 | STRINGS { longest.label last.label next.extra } 1431 | 1432 | INTEGERS { longest.label.width last.extra.num number.label } 1433 | 1434 | FUNCTION {initialize.longest.label} 1435 | { "" 'longest.label := 1436 | #0 int.to.chr$ 'last.label := 1437 | "" 'next.extra := 1438 | #0 'longest.label.width := 1439 | #0 'last.extra.num := 1440 | #0 'number.label := 1441 | } 1442 | 1443 | FUNCTION {forward.pass} 1444 | { last.label label = 1445 | { last.extra.num #1 + 'last.extra.num := 1446 | last.extra.num int.to.chr$ 'extra.label := 1447 | } 1448 | { "a" chr.to.int$ 'last.extra.num := 1449 | "" 'extra.label := 1450 | label 'last.label := 1451 | } 1452 | if$ 1453 | number.label #1 + 'number.label := 1454 | } 1455 | 1456 | FUNCTION {reverse.pass} 1457 | { next.extra "b" = 1458 | { "a" 'extra.label := } 1459 | 'skip$ 1460 | if$ 1461 | extra.label 'next.extra := 1462 | extra.label 1463 | duplicate$ empty$ 1464 | 'skip$ 1465 | { "{\natexlab{" swap$ * "}}" * } 1466 | if$ 1467 | 'extra.label := 1468 | label extra.label * 'label := 1469 | } 1470 | 1471 | EXECUTE {initialize.longest.label} 1472 | 1473 | ITERATE {forward.pass} 1474 | 1475 | REVERSE {reverse.pass} 1476 | 1477 | FUNCTION {bib.sort.order} 1478 | { sort.label 'sort.key$ := 1479 | } 1480 | 1481 | ITERATE {bib.sort.order} 1482 | 1483 | SORT 1484 | 1485 | FUNCTION {begin.bib} 1486 | { preamble$ empty$ 1487 | 'skip$ 1488 | { preamble$ write$ newline$ } 1489 | if$ 1490 | "\begin{thebibliography}{" number.label int.to.str$ * "}" * 1491 | write$ newline$ 1492 | "\providecommand{\natexlab}[1]{#1}" 1493 | write$ newline$ 1494 | "\providecommand{\url}[1]{\texttt{#1}}" 1495 | write$ newline$ 1496 | "\expandafter\ifx\csname urlstyle\endcsname\relax" 1497 | write$ newline$ 1498 | " \providecommand{\doi}[1]{doi: #1}\else" 1499 | write$ newline$ 1500 | " \providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi" 1501 | write$ newline$ 1502 | } 1503 | 1504 | EXECUTE {begin.bib} 1505 | 1506 | EXECUTE {init.state.consts} 1507 | 1508 | ITERATE {call.type$} 1509 | 1510 | FUNCTION {end.bib} 1511 | { newline$ 1512 | "\end{thebibliography}" write$ newline$ 1513 | } 1514 | 1515 | EXECUTE {end.bib} --------------------------------------------------------------------------------